File Exchange

image thumbnail

Wimax-ofdm-MIMO (alamouti) model

version 1.0 (40.5 KB) by

wimax model

3.90909
22 Ratings

10 Downloads

Updated

No License

model to the fixed wimax physical layer including adaptive coding and adaptive modulation and can tarsmit on ofdm or MIMO ofdm

Comments and Ratings (39)

I like your contribution to MATLAB Society. Thanks a lot. Can you please share documentation of this work? It will give more insight to me .
Contact Info:
shambhunirahul@gmail.com

sir, i got 3 warning while debugging it.....will u please help to correct it......
thx

lee kanth

EXCELLENT work sir,
i am studying u r project can u please give me some thesis of this particular project , it would help me a lot to understand lot more,
i am a student from india,
please send me to leekanth@gmail.com
thanking u

Hakan

Hakan (view profile)

hi there I need a amtlab code for mimo- ofdm system thanks

syed Haq

i m always getting 0 BER can anyone help me out with this and does anyone has the descriptiosn of this model

syed Haq

can anyone help me with this model as m facing loads of errors while debugging this model

Raaaghavan

hai sir its great,can you help me regarding the code for zeroforcing,mmse and Soft parallel interference cancellation algorithm in mimo ofdm(for cancelling spatial multiplexing interference).You can also mail me sir,my id is ramakokilam@yahoo.com

umesh hajare

dus s

doesnt work ... with the same error...

samir s

Doesnt work ....gives error.....
tack Trace:
[0] simulink.dll:int __cdecl GetParamInfoArrayForSetParam(struct slBlock_tag const *,char const *,struct slParamInfo_tag * *,int *)(0x00cdb014, 0x00cdb010, 1, 0x7c351e08) + 3 bytes
[1] simulink.dll:_set_block_param(0, 0x7a433d70 "NumInputs", 0x7a4363e0, 1) + 349 bytes
[2] simulink.dll:int __cdecl mdl_lex(void)(0x79fd404f "èL&", 0x00cdb27f "wimax.mdl", 0, 0) + 4754 bytes
[3] simulink.dll:void __cdecl parse_mdl_file(void)(0, 0x00cdb248 "d:\profiles\qfb876\desktop\aa\wi..", 0, 0) + 5 bytes
[4] simulink.dll:_sl_LoadBlockDiagramModel(0x00cdb248 "d:\profiles\qfb876\desktop\aa\wi..", 0, 0x133f7af0, 0x133f7af4 "d:\profiles\qfb876\desktop\aa\wi..") + 87 bytes
[5] simulink.dll:struct slErrMsg_tag * __cdecl sluLoadModel(char const *,bool,struct slBlockDiagram_tag * *)(0x133f7af4 "d:\profiles\qfb876\desktop\aa\wi..", 1, 0x00cdb7b0, 0x133f7af0) + 154 bytes
[6] simulink.dll:struct slErrMsg_tag * __cdecl OpenSystemOpenMdlFile(struct OpenSystemRec *)(0x1092c660, 0xffffffff, 0, 1) + 30 bytes
[7] simulink.dll:void __cdecl matl_open_system(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(0, 0x00cdba6c, 1, 0x00cdbacc) + 285 bytes
[8] m_dispatcher.dll:public: virtual void __thiscall Mfh_builtin<struct mxArray_tag>::dispatch_mf(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdba6c, 1, 0x00cdbacc) + 55 bytes
[9] m_dispatcher.dll:public: virtual void __thiscall Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdba6c, 1, 0x00cdbacc) + 200 bytes
[10] m_interpreter.dll:_inDispatchFromStack(426, 0x012e7f1c "open_system", 0, 1) + 891 bytes
[11] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x012e7f1c "open_system", 426, 0, 1) + 111 bytes
[12] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 86, 13, 0) + 2282 bytes
[13] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 86, 10, 0) + 272 bytes
[14] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x1080ed50, 0, 1, 1) + 773 bytes
[15] m_interpreter.dll:_inWordsj(0, 0x00cdc770, 1, 0x00cdc804) + 441 bytes
[16] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cdc770, 1, 0x00cdc804) + 158 bytes
[17] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cdc770, 1) + 28 bytes
[18] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdc770, 1, 0x00cdc804) + 26 bytes
[19] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdc770, 1, 0x00cdc804) + 273 bytes
[20] m_interpreter.dll:_inCallFcn(0, 0x00cdc770, 1, 0x00cdc804) + 104 bytes
[21] m_interpreter.dll:_inFullFevalFcn(0, 0x00cdc770, 2, 0x00cdc800) + 289 bytes
[22] m_dispatcher.dll:public: virtual void __thiscall Mfh_builtin<struct mxArray_tag>::dispatch_mf(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdc770, 2, 0x00cdc800) + 55 bytes
[23] m_dispatcher.dll:public: virtual void __thiscall Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdc770, 2, 0x00cdc800) + 200 bytes
[24] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(0, 0x00cdc770, 2, 0x00cdc800) + 105 bytes
[25] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(0, 1, 0x013c6390, 0) + 840 bytes
[26] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int *,int)(0x10cab070, 0, 1, 0x013c6390) + 148 bytes
[27] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,struct _accelBytecode *,int *,enum inMarshalType *)(0x10e7be50, 0x00cdce14, 0x011feb40, 0x00cdce0c) + 108 bytes
[28] m_interpreter.dll:int __cdecl accelExec(struct _accelBytecode *,enum inMarshalType *)(0x011feb40, 0x00cdce8c, 0, 0) + 18462 bytes
[29] m_interpreter.dll:_inExecuteHotSegment(0x00cdcec0, 0x00cdcf90, 0x00cdcf40, 0) + 1542 bytes
[30] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 1162, 127, 0) + 365 bytes
[31] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 1162, 55, 0) + 272 bytes
[32] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x10983190, 0, 1, 1) + 773 bytes
[33] m_interpreter.dll:_inWordsj(0, 0x00cdd9e0, 1, 0x00cdda70) + 441 bytes
[34] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cdd9e0, 1, 0x00cdda70) + 158 bytes
[35] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cdd9e0, 1) + 28 bytes
[36] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdd9e0, 1, 0x00cdda70) + 26 bytes
[37] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdd9e0, 1, 0x00cdda70) + 273 bytes
[38] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(0, 0x00cdd9e0, 1, 0x00cdda70) + 246 bytes
[39] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(0, 1, 0x013c5f10, 0) + 840 bytes
[40] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int *,int)(0x10c986a0, 0, 1, 0x013c5f10) + 148 bytes
[41] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,struct _accelBytecode *,int *,enum inMarshalType *)(0x10d55170, 0x00cde084, 0x011fcc90, 0x00cde07c) + 108 bytes
[42] m_interpreter.dll:int __cdecl accelExec(struct _accelBytecode *,enum inMarshalType *)(0x011fcc90, 0x00cde0fc, 0, 0) + 18462 bytes
[43] m_interpreter.dll:_inExecuteHotSegment(0x00cde130, 0x00cde200, 0x00cde1b0, 0) + 1542 bytes
[44] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 1510, 140, 0) + 365 bytes
[45] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 1510, 35, 0) + 272 bytes
[46] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x10997ba0, 0, 2, 2) + 773 bytes
[47] m_interpreter.dll:_inWordsj(0, 0x00cde71c, 2, 0x00cde77c) + 441 bytes
[48] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cde71c, 2, 0x00cde77c) + 158 bytes
[49] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cde71c, 2) + 28 bytes
[50] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde71c, 2, 0x00cde77c) + 26 bytes
[51] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde71c, 2, 0x00cde77c) + 273 bytes
[52] m_interpreter.dll:_inDispatchFromStack(482, 0x10e051d4 "uiopen", 0, 2) + 891 bytes
[53] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x10e051d4 "uiopen", 482, 0, 2) + 111 bytes
[54] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(2, 0, 0, 0) + 2411 bytes
[55] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(2, 0, 0, 0) + 272 bytes
[56] m_interpreter.dll:_inInterPcode(2, 0x7876f2d8, 0, 0) + 69 bytes
[57] m_interpreter.dll:enum inExecutionStatus __cdecl in_local_call_eval_function(int *,struct _pcodeheader *,int *,struct mxArray_tag * * const,enum inDebugCheck)(0x00cdf2c8, 0x00cdf3bc, 2, 0x10973010 "uiopen('D:\Profiles\QFB876\Deskt..") + 162 bytes
[58] m_interpreter.dll:$L72592(0x7876f2d8, 0x10973010 "uiopen('D:\Profiles\QFB876\Deskt..", 82, 0) + 196 bytes
[59] m_interpreter.dll:enum inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype(char const *,int *,enum inDebugCheck)(0, 2, 1, 0x00cdf44c "ôôÍ") + 86 bytes
[60] m_interpreter.dll:_inEvalCmdNoEnd(0x10973010 "uiopen('D:\Profiles\QFB876\Deskt..", 0x00cdf4e4, 0x00cdf4a0, 0x014b23d0) + 16 bytes
[61] bridge.dll:_mnParser(0x7c80b6a1, 0x014b23d0, 0, 0) + 431 bytes
[62] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(271242, 0x4d5c3a43, 0x414c5441, 0x625c3742) + 87 bytes
[63] MATLAB.exe:0x00401d2f(4194304, 0, 271242, 0x014b23d0)
[64] MATLAB.exe:0x00403e45(3670065, 3276855, 0x7ffdd000, 0x8054ad38)
[65] kernel32.dll:0x7c816fd7(0x00403cc0 "jth(U@", 0, 0, 1249438)

sunish n

qori monic

Can you inform me how to run this code?

thanx alot...

Sabah Sewan

Thnx alot ,I'll execute it .. & God Bless You,

Harish Pandey

Can any one inform me how to run this code

Rong Liu

I like this kind of visual simulation.
Thank you! Smart guy!

Meilong Jiang

fgh sxh

michael Shema

Hi. This is a good work. However, the simulation gives the same results in terms of BER when we choose to include either MIMO (Alamouti: 1) or not (SISO: 0) in the system. Can you please clarify this? Thanks

kannan divya

no commants

mikel mikel

sorry, i am usin r2007b

mikel mikel

i get always a ber of 0 (no errors??)

also 3 warning in alamouti blocks

any solution? thanks

Robert Shaw

Friends,

Useful Contents regarding WiMAX OFDM.
http://www.freewimaxinfo.com/ofdm.html

dr ba

comment simuler une chaine wimax-OFDM-MIMO(alamouti)

liu yue

liu yue

Sabah A. Sewan

Salaam to all
Dear...anybody working about Space Time Coding in WiMax or near that field....let us make a research group.
I'm Master student in that field., contact me.

Volker Richter

I really appreciate your work. It is an almost perfect model. But you didn’t configure the Reed-Solomon-Code properly. It is written in the IEEE 802.16 Standard, that the RS-Code is shortened and punctured. It’s not correct to ignore unnecessary redundancy bytes and set them to zero before decoding. You have to use a punctured RS-Code with a properly configured puncture vector. In your configuration bit errors appear, even though no noise is added to the channel.

As you have written in the readme-file, the configuration of the AWGN-Channel comes out of nowhere.

mohamed kinawy

Really i donot have MATLAB R2007a to debug this model on it. but i sure that it work with no problems on R2006b

aniket sawant

Your simulink model is Excellent, But while debugging ( R2007a ) i m getting following errors
1) Input port 1 of 'wimax/ALAMOUTI Transmitter/preamble/FIRST PREAMBLE/symbol 2' is not connected.
2) Output port 2 of 'wimax/ofdm de-assemble' is not connected.
3) Division by zero in 'wimax/ALAMOUTI Receiver/instead of ML detector/Math Function13'.

Please tell me how to remove these errors.

harish pandey

Good Work, But i think I am missing some information. can you please what key you use to calculate BER.

aakif qazi

good information reqired.......

Borja Gullon

Really good work!!

And also quite complet.

nguyen hao quang

good

anahi sanchez

Viet Anh

very good works!

zhiguang wang

It is good work to implement the MIMO. But model looks very much a copy of WiMAX 802.16e Physical Layer posted on the User Community, if this is the case then you need to acknowledge that work while you post your model

mohamed kinawy

Its logical that the model is looklike WiMAX 802.16e model because its the same physical layer and the same standard (802.16).
This model is finished at 1/7/2007 but we late in publishing it.
When we start work at this model we didnot found any models about fixed wimax the only models is for wifi.

mohamed kinawy

this model is finished from 1/7/2007 but we late in publishing it
when we work at this model we didnot founed any models about fixed wimax the only models is for wifi WiMAX 802.16e because its the same physical layer at the sama standard (802.16)
its logical that the model is looklike

Liza Raz

It is good work to implement the MIMO. But model looks very much a copy of WiMAX 802.16e Physical Layer posted on the User Community, if this is the case then you need to acknowledge that work while you post your model

MATLAB Release
MATLAB 7.3 (R2006b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

wimax-mimo.alamouti-ofdm/

wimax-mimo.alamouti-ofdm/