-
大小: 45KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-06-10
- 语言: Matlab
- 标签: Matlab MIMO QPSK Detections Codedsystem
资源简介
在Matlab的平台上,应用QPSK调制,以及3种不同的探测方法,实现并模拟了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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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仿真
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论