-
大小: 45KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-10
- 語言: Matlab
- 標(biāo)簽: Matlab??MIMO??QPSK??Detections??Codedsystem??
資源簡介
在Matlab的平臺上,應(yīng)用QPSK調(diào)制,以及3種不同的探測方法,實(shí)現(xiàn)并模擬了2x2的MIMO功能.

代碼片段和文件信息
%%?SOURCE?CODE?FOR?MIMO?ML?WITH?QPSK?MODULATION?%%
%?----------------------------------------------------------------------------------------------------------------
N?=?10^4;?%?number?of?bits?or?symbols
Eb_N0_dB?=?[0:30];?%?multiple?Eb/N0?values
nTx?=?2;
nRx?=?2;
for?ii?=?1:length(Eb_N0_dB)
????%?Transmitter
????ip?=?rand(1N)>0.5;?%?generating?01?with?equal?probability
????iq?=?randn(1N)>0.5;
????s?=?2*ip-1;?%?QPSK?modulation
????sq?=?-2*iq+1;
????s?=?s-1i*sq;?
????sMod?=?kron(sones(nRx1));?%?
????sMod?=?reshape(sMod[nRxnTxN/nTx]);?%?grouping?in?[nRxnTxN/NTx?]?matrix
????h?=?1/sqrt(2)*[randn(nRxnTxN/nTx)?+?1i*randn(nRxnTxN/nTx)];?%?Rayleigh?channel
????n?=?1/sqrt(2)*[randn(nRxN/nTx)?+?1i*randn(nRxN/nTx)];?%?white?gaussian?noise
????%?Channel?and?noise?Noise?addition
????y?=?squeeze(sum(h.*sMod2))?+?10^(-Eb_N0_dB(ii)/20)*n;
????%?Maximum?Likelihood?Receiver
????%?----------------------------
????%?if?[s1?s2?]?=?[-1-1?-1-1]
????sHat1?=?[-1-1i?-1-1i];
????sHat1?=?repmat(sHat1[1?N/2]);
????sHat1Mod?=?kron(sHat1ones(nRx1));
????sHat1Mod?=?reshape(sHat1Mod[nRxnTxN/nTx]);
????zHat1?=?squeeze(sum(h.*sHat1Mod2))?;
????J1?=?sum(abs(y?-?zHat1)1);
????
??????%?if?[s1?s2?]?=?[-1?-1?-1?1]
????sHat2?=?[-1-1i?-1+1i];
????sHat2?=?repmat(sHat2[1?N/2]);
????sHat2Mod?=?kron(sHat2ones(nRx1));
????sHat2Mod?=?reshape(sHat2Mod[nRxnTxN/nTx]);
????zHat2?=?squeeze(sum(h.*sHat2Mod2))?;
????J2?=?sum(abs(y?-?zHat2)1);
????
?????%?if?[s1?s2?]?=?[-1?-1?1?-1]
????sHat3?=?[-1-1i?1-1i];
????sHat3?=?repmat(sHat3[1?N/2]);
????sHat3Mod?=?kron(sHat3ones(nRx1));
????sHat3Mod?=?reshape(sHat3Mod[nRxnTxN/nTx]);
????zHat3?=?squeeze(sum(h.*sHat3Mod2))?;
????J3?=?sum(abs(y?-?zHat3)1);
????
?????%?if?[s1?s2]?=?[-1?-1?1?1]
????sHat4?=?[-1-1i?1+1i];
????sHat4?=?repmat(sHat4[1?N/2]);
????sHat4Mod?=?kron(sHat4ones(nRx1));
????sHat4Mod?=?reshape(sHat4Mod[nRxnTxN/nTx]);
????zHat4?=?squeeze(sum(h.*sHat4Mod2))?;
????J4?=?sum(abs(y?-?zHat4)1);
????
????%?if?[s1?s2?]?=?[-1?1?-1?-1]
????sHat5?=?[-1+1i?-1-1i];
????sHat5?=?repmat(sHat5[1?N/2]);
????sHat5Mod?=?kron(sHat5ones(nRx1));
????sHat5Mod?=?reshape(sHat5Mod[nRxnTxN/nTx]);
????zHat5?=?squeeze(sum(h.*sHat5Mod2))?;
????J5?=?sum(abs(y?-?zHat5)1);
????
?????%?if?[s1?s2]?=?[-1?1?-1?1]
????sHat6?=?[-1+1i?-1+1i];
????sHat6?=?repmat(sHat6[1?N/2]);
????sHat6Mod?=?kron(sHat6ones(nRx1));
????sHat6Mod?=?reshape(sHat6Mod[nRxnTxN/nTx]);
????zHat6?=?squeeze(sum(h.*sHat6Mod2))?;
????J6?=?sum(abs(y?-?zHat6)1);
????
?????%?if?[s1?s2?]?=?[-1?1?1?-1]
????sHat7?=?[-1+1i?1-1i];
????sHat7?=?repmat(sHat7[1?N/2]);
????sHat7Mod?=?kron(sHat7ones(nRx1));
????sHat7Mod?=?reshape(sHat7Mod[nRxnTxN/nTx]);
????zHat7?=?squeeze(sum(h.*sHat7Mod2))?;
????J7?=?sum(abs(y?-?zHat7)1);
????
????%?if?[s1?s2]?=?[-1?1?1?1]
????sHat8?=?[-1+1i?1+1i];
????sHat8?=?repmat(sHat8[1?N/2]);
????sHat8Mod?=?kron(sHat
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????12277??2013-04-15?04:51??Project_2\Comparison_cZF_ZF_BER.fig
?????文件???????6945??2013-04-15?04:43??Project_2\ML_BER.fig
?????文件???????6579??2013-04-15?04:30??Project_2\ML_QPSK_MIMO.m
?????文件???????6988??2013-04-15?04:44??Project_2\MMSE_BER.fig
?????文件???????2656??2013-04-15?04:34??Project_2\MMSE_QPSK_MIMO.m
?????文件???????7041??2013-04-15?04:53??Project_2\ZF_Coded_BER.fig
?????文件???????4795??2013-04-15?04:39??Project_2\ZF_Coded_QPSK_MIMO.m
?????文件???????2602??2013-04-15?04:52??Project_2\ZF_QPSK_MIMO.m
?????文件???????7001??2013-04-15?04:43??Project_2\ZF_Uncoded_BER.fig
?????目錄??????????0??2013-04-15?04:53??Project_2
-----------?---------??----------?-----??----
????????????????56884????????????????????10
- 上一篇:模糊控制simuli
nk - 下一篇:ODCSK正交差分混沌鍵控的matlab仿真
評論
共有 條評論