版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 /31MIMO #/31 #/31MIMOMIMOIO1MIMO3.利用估计的11111MIMOMIMOTOC o 1-5 h z HYPERLINK l bookmark0MIMOMIMOMIMOMIMOMIMOIOMIMOMIMO1*1MIMO /31 /31以2D2MIMO为例:r1=H11*S1+H21*S2+n1r2=H12*S1+H22*S2+n2r为接说明:h信道符合Rayleigh衰落。n为信道的高斯白噪声。s为发射信号,收端接收信号。(2)基于导频的信道估计在2D2MIMO信道模型中,导引信号的数量可以是2当导引信号时p1p2=10,r1=H11*P1+H21*P2+n1(
2、po),不考虑噪声的影响r=H*S+H*Sn(p=0),不考虑噪声的影响。2121222+21则有:H11=r1/p1;H12=r2/p1;当导引信号时p1p2=01,ri=H11*P1+H21*P2+ni(P1=0)DOODOOOODr=H*S+H*Sn(p=0),不考虑噪声的影响。2121222+21则有:H21r1/2;H为:H22r2/2;因此,采用导引结构,可以在接收端估计出信道H=H11H12 #/31 #/3121H21 #/31 #/31(3)最大似然检测(MLD)这是理论最优的检测方法,能够完全获得接收分集增益。由估计理论可知,对于Y=HX+Z中的H的估计,最大似然估计方法P
3、(HIY,X),使该代价函数取得最大值的H为最终的估计值: #/31 #/31R=孤引巩呻和玉)本项目主要针对4D4的MIMO系统进行仿真,星座映射图选择QPSK,在接收端采用最大似然检测算法,主要是考察信道估计算法的性能,所以在检测时采 #/31 #/31以充分展示信道估计算法的BER性能。用对发射信号空间进行了穷尽搜索的方法来进行最大似然检测, #/31(4)迫零检测(ZF)迫零检测算法是给接收信号乘以信道矩阵的逆,其他用户对它的的干扰可以消除,但同 #/31 #/31的,也就是说给噪声乘了一个大于1的因子,必然是放大了噪声。1,那么它的逆就是大于时噪声也乘以信道矩阵的逆,一般来说,信道矩
4、阵的系数都小于 #/31 #/31四项目分析 /31图一图二 /31图三图四吕吕吕吕吕吕=吕=吕吕=吕=吕吕=吕吕吕吕吕二吕吕=二吕吕吕吕吕吕吕一吕吕吕吕吕兰吕吕吕吕吕吕吕一吕吕吕吕= /31图六结果分析从结果可以看出,使用MLD检测时,理想信道和估计信道误码率总体趋势一样,但理想信道的误码率比估计信道的误码率要低,说明基于导频进行信道估计在MIMO通信系统是可行的。使用ZF检测时,理想信道和估计信道误码率总体趋势一样,但理想信道的误码率比估计信道的误码率要高,所以一般不建议在基于导频的信道估计中使用ZF检测算法。 /31图七图八结果分析 /31从结果可以看出,使用理想信道时,MLD算法比ZF
5、算法的误码率小,且总体趋势一样,但在高信噪比部分MLD算法误码率比ZF算法的误码率明显低了很多, #/31说明MLD算法全局搜索的性能极佳。 #/31 #/31使用估计信道时,MLD算法和ZF算法的误码率相差不大,其中MLD算法的信 #/31噪比稍低一些。 #/31 #/31大约ZF从运算量和运行时间来看,当1200S,而使用算法,所用时间也长于num=256,loop=1000时,使用ZF算法一共需要时间大约ZF算法。MLD180SDMLD算法的运算量远大于算法一共 #/31 #/31项目总结 #/31 #/31通过本课程的学习,我们知道MIMO将多径无线信道与发射、接收视为一个整体进行优化
6、,从而实现高的通信容量和频谱利用率。这是一种近于最优的空域时域联合的分集和干扰对消处理。而本项目通过建立MIMO通信系统,并基于导频估计出信道H,再利用估计的信道分别进行MLDZero-forcing信号检测, #/31最后应用MATLAB对本系统进行仿真,画图,观察图形,通过仿真结果进行误码 #/31 #/31率分析。从上面进行到的项目过程,我们进一步了解到MIMO系统突出的性能优势,为未来学习4G通信打下基础。 #/31 #/31六参考文献 #/31 /311.樊昌信通信原理北京国防工业出版社20012.魏巍MATLAB信息工程工具箱技术手册北京国防工业出版社20043.陈永春MATLAB
7、M语言高级编程北京清华大学出版社20044.肖扬MIMO多天线无线通信系统北京人民邮电出版社20095.章坚武移动通信陕西西安电子科技大学出版社2003 #/31 /31七、附录%4x4天线MLD检测,理想信道与估计信道的MIMO系统误码率分析%clearall;close;Eb_N0=-10:1:10;tx=4;%发送天线数目%rx=4;%接收天线数目%num=256;loop=1000;%循环次数(100/BER=1000)%SNR_num=length(Eb_N0);%numberofSNRerror=zeros(2,SNR_num);forp=1:SNR_numticforw=1:lo
8、opSig=randint(1,num);%随机产生二进制序列modSig=modBaseBandQPSK(Sig);%QPSK调制%估计信道发送矩阵初始化%transmit_array_estimated=zeros(tx,num/tx/2+tx);transmit_array_estimated(:,1:tx)=eye(tx,tx);transmit_array_estimated(:,tx+1:num/tx/2+tx)=series2array(modSig,tx)./sqrt(tx);%将序列转换为数组,用于送给不同天线,有功率分配%理想信道发送矩阵初始化%transmit_array
9、_ideal=series2array(modSig,tx)./sqrt(tx);%4x4MIMO信道%Channel=zeros(tx,rx,num);forn=1:txform=1:rxChannel(n,m,:)=wgn(1,1,0,complex);endendH=Channel;%通过MIMO理想信道%forn=1:num/tx/2recSig_ideal(:,n)=H(:,:,n)*transmit_array_ideal(:,n);endforn=1:txrecSig_ideal(n,:)=awgn(recSig_ideal(n,:),Eb_N0(p);end%通过MIMO估计信
10、道%forn=1:num/tx/2+txrecSig_estimated(:,n)=H(:,:,n)*transmit_array_estimated(:,n);%信号通过4x4MIMO信道end%加awgn噪声%forn=1:txrecSig_estimated(n,:)=awgn(recSig_estimated(n,:),Eb_N0(p);end%估计信道H_estimated=recSig_estimated(:,1:tx);%信道估计%receive=recsig_estimated(:,tx+i:num/tx/2%t有用信息(去除信道估计用的信息后)%最大似然检测%S_estima
11、ted=MLD1(receive,H_estimated);s_ideai=MLDi(recsig_ideai,H(:,:,num);理想信道%估计信道%将数组转换为序列%x_estimated=conj(s_estimated(:)估计信道x_ideal=conj(S_ideal(:);%理想信道%QPSK解调%demodSig_estimated=demodQPSK(x_estimated);%估计信道%demodSig_ideal=demodQPSK(x_ideal);%理想信道%错误点数%error(i,p)=error(i,p)+iength(find(demodsig_estima
12、ted-sig)=o);%error(2,p)=error(2,p)+iength(find(demodsig_ideai-sig)=o理想信道enderror(:,p)=error(:,p)/ioop/%u误码率tocend%画误码率曲线semilogy(Eb_N0,error(1,:),r*-,Eb_N0,error(2,:),b*-);gridon;titie(4天线,MLD检测,理想信道和估计信道的性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);legend(估计信道误码率曲线,信道误码率曲线);=,ZF检测%4x4天线,理想信道vs估计信道cleara
13、ll;close;Eb_N0=-10:1:10;tx=4;%发送天线数目%rx=4;%接收天线数目%num=256;loop=1000;%循环次数(100/BER=1000)%SNR_num=length(Eb_N0);%numberofSNRBER=zeros(2,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列modSig=modBaseBandQPSK(Sig);%QPSK调制%估计信道发送矩阵初始化%transmit_array_estimated=zeros(tx,num/tx/2+tx);trans
14、mit_array_estimated(:,1:tx)=eye(tx,tx);transmit_array_estimated(:,tx+1:num/tx/2+tx)=series2array(modSig,tx)./sqrt(tx);%将序列转换为数组,用于送给不同天线,有功率分配%理想信道发送矩阵初始化%transmit_array_ideal=series2array(modSig,tx)./sqrt(tx);%4x4MIMO信道%Channel=zeros(tx,rx,num);forn=1:txform=1:rxChannel(n,m,:)=wgn(1,1,0,complex);en
15、dendH=Channel;h=(i/sqrt(2)*H(:,:,num)/(sqio(tx);一化处理%通过MIMO理想信道%forn=1:num/tx/2recSig_ideal(:,n)=H(:,:,n)*transmit_array_ideal(:,n);endforn=1:txrecSig_ideal(n,:)=awgn(recSig_ideal(n,:),Eb_N0(p);end%通过MIMO估计信道%forn=1:num/tx/2+txrecSig_estimated(:,n)=H(:,:,n)*transmit_array_estimated(:,n);%信号通过4x4MIMO
16、信道end%加awgn噪声%forn=1:txrecSig_estimated(n,:)=awgn(recSig_estimated(n,:),Eb_N0(p);end%估计信道H_estimated=recSig_estimated(:,1:tx);%信道估计%receive=recsig_estimated(:,tx+i:num/tx/2%t有用信息(去除信道估计用的信息后)%迫零检测%估计信道%y_estimated=pinv(h)*receive;x_estimated=conj(y_estimated(:);demodSig_estimated_ZF=demodQPSK(x_esti
17、mated);%QPSK解调%理想信道%y_ideal=pinv(h)*recSig_ideal;x_ideal=conj(y_ideal(:);demodSig_ideal_ZF=demodQPSK(x_ideal);%QPSK解调%错误点数%BER(i,p)=BER(i,p)+iength(find(demodSig_estimated_ZF-sig)%o);%BER(2,p)=BER(2,p)+length(find(demodSig_ideal_ZF-Sig)=0);%理想信道%endBER(:,p)=BER(:,p)/loop/num%误码率%tocend%画误码率曲线semilog
18、y(Eb_N0,BER(1,:),r*-,Eb_N0,BER(2,:),b*-);gridon;titie(4天线,zf检测,通过理想信道和估计信道的性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);legend(估计信道误码率曲线,信道误码率曲线);=%ODDO,MLD检测的1X1,2X2,4XC线的MIMO系统误码率曲线比较分析clearall;tx2=2;2%close;tx1=1;%发送天线数目为1%rx1=1;%接收天线数目为1%发送天线数目为rx2=2;%接收天线数目为2%tx3=4;%发送天线数目为4%rx3=4;%接收天线数目为4%Eb_N0=-1
19、0:1:10;num=256;loop=1000;%循环次数%100/BER=1000SNR_num=length(Eb_N0);BER=zeros(3,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%发送信号矩阵初始化%transmit_array1=zeros(tx1,num/tx1/2+tx1);transmit_array1(:,1:tx1)=eye(tx1,tx1);transmit_array2=zeros(tx2,num/t
20、x2/2+tx2);transmit_array2(:,1:tx2)=eye(tx2,tx2);transmit_array3=zeros(tx3,num/tx3/2+tx3);transmit_array3(:,1:tx3)=eye(tx3,tx3);%发送序列转换为数组,用于送给不同天线,有功率分配%transmit_array1(:,tx1+1:num/tx1/2+tx1)=series2array(modSig,tx1)./sqrt(tx1);transmit_array2(:,tx2+1:num/tx2/2+tx2)=series2array(modSig,tx2)./sqrt(tx
21、2);transmit_array3(:,tx3+1:num/tx3/2+tx3)=series2array(modSig,tx3)./sqrt(tx3);%1x1MIMO信道%Channel=zeros(tx1,rx1,num);forn1=1:tx1form1=1:rx1Channel(n1,m1,:)=wgn(1,1,0,complex);endendH1=Channel;%2x2MIMO信道%Channel2=zeros(tx2,rx2,num);forn2=1:tx2form2=1:rx2Channel2(n2,m2,:)=wgn(1,1,0,complex);endendH2=Ch
22、annel2;%4x4MIMO信道%Channel3=zeros(tx3,rx3,num);forn3=1:tx3form3=1:rx3Channel3(n3,m3,:)=wgn(1,1,0,complex);endendH3=Channel3;%信号通过MIMO信道%forn=1:num/tx1/2+tx1recsigi(:,n)=Hi(:,:,n)*transmit_arrayi(:,n)信号通过1x1MIMO信道endforn=1:num/tx2/2+tx2recsig2(:,n)=H2(:,:,n)*transmit_array2(:,n)信号通过2x2MIMO信道endforn=1:
23、num/tx3/2+tx3recSig3(:,n)=H3(:,:,n)*transmit_array3(:,n);end%加awgn噪声%forn=1:tx1%1x1recSig1(n,:)=awgn(recSig1(n,:),Eb_N0(p);endforn=1:tx2%2x2recSig2(n,:)=awgn(recSig2(n,:),Eb_N0(p);endforn=1:tx3recSig3(n,:)=awgn(recSig3(n,:),Eb_N0(p);end%信道估计%H_estimated1=recSig1(:,1:tx1%)1;x1H_estimated2=recSig2(:,1
24、:tx2%)2;x2H_estimated3=recSig3(:,1:tx3%)4;x4%有用信息(去除信道估计用的信息后)%receive1=recSig1(:,tx1+1:num/tx1/2+tx1);receive2=recSig2(:,tx2+1:num/tx2/2+tx2);receive3=recSig3(:,tx3+1:num/tx3/2+tx3);%最大似然检测%S1=MLD1(receive1,H_estimated1);%1x1S2=MLD1(receive2,H_estimated2);%2x2S3=MLD1(receive3,H_estimated3);%4x4%将数组
25、转换为序列%x1=conj(S1(:);x2=conj(S2(:);x3=conj(S3(:);%QPSK解调%demodSig1=demodQPSK(x1);demodSig2=demodQPSK(x2);demodSig3=demodQPSK(x3);BER(1,p)=BER(1,p)+length(find(demodSig1-Sig)=0)%)1;x1错误点数BER(2,p)=BER(2,p)+length(find(demodSig2-Sig)=0)%)2;x2错误点数BER(3,p)=BER(3,p)+length(find(demodSig3-Sig)=0)%)4;x4错误点数e
26、ndBER(:,p)=BER(:,p)/loop/num%误码率%tocend%画误码率曲线%semilogy(Eb_N0,BER(1,:),r*-,Eb_N0,BER(2,:),g*-,Eb_N0,BER(3,:),b*-);gridon;title(计信道,MLD检测,MIMO系统1X1,2X2,4XC天线性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);iegend(ix天线误码率曲线,2口天线误码率曲线,4口天线误码率曲线);=%估计信道,MLD和ZF检测下的4x4天线MIMO系统误码率曲线比较分析%clearall;close;4%tx=4;%发送天线数
27、目为rx=4;%接收天线数目为4%Eb_N0=-10:1:10;num=256;loop=1000;%循环次数%100/BER=1000SNR_num=length(Eb_N0);BER=zeros(2,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%transmit_array=zeros(tx,num/tx/2+tx);transmit_array(:,i:tx)=eye(tx%4X4;天线导频信号%将序列转换为数组,用于送给不同天线
28、,有功率分配%transmit_array(:,tx+1:num/tx/2+tx)=series2array(modSig,tx)./sqrt(tx);%4x4MIMO信道%Channel=zeros(tx,rx,num);forn=1:txform=1:rxChannel(n,m,:)=wgn(1,1,0,complex);endendH=Channel;%信号通过MIMO信道%forn=1:num/tx/2+txrecSig(:,n)=H(:,:,n)*transmit_array(:,n);end%加awgn噪声%forn=1:txrecSig(n,:)=awgn(recSig(n,:)
29、,Eb_N0(p);end%信道估计%H_estimated=recSig(:,1:tx%)4;x4receive=recsig(:,tx+i:num/tx/2+tx有用信息(去除信道估计用的信息后)%最大似然检测%S=MLD1(receive,H_estimated);%4x4x_MLD=conj(S(:);%将数组转换为序列%demodSig_MLD=demodQPSK(x_MLD);%QPSK解调%BER(i,p)=BER(i,p)+iength(find(demodSig_MLD-sig)=o)%错误点数%迫零检测%h=(i/sqrt(2)*H(:,:,num)/(sqcrn(ixm;
30、一化处理y=pinv(h)*receive;x_ZF=conj(y(:);demodSig_ZF=demodQPSK(x_ZF);BER(2,p)=BER(2,p)+iength(find(demodSig_ZF-sig)=o);%endBER(:,p)=BER(:,p)/loop/num%误码率%tocend%画误码率曲线%semilogy(Eb_N0,BER(1,:),r*-,Eb_N0,BER(2,:),g*-);gridon;title(道,MLD和ZF检测下的4X4天线MIMO系统误码率曲线比较分析(11组);xlabel(E_b/N_0(dB);yiabei误码率);iegend(
31、MLD检测天线误码率曲线,zf测天线误码率曲线);=%导频序列估计信道,ZF检测下DMIMO系统1X1,2X2,4X4天线性能比较clearall;close;tx1=1;%发送天线数目为1%rx1=1;%接收天线数目为1%tx2=2;%发送天线数目为2%rx2=2;%接收天线数目为2%tx3=4;%发送天线数目为4%rx3=4;%接收天线数目为4%Eb_N0=-10:1:10;num=256;loop=1000;%循环次数%100/BER=1000SNR_num=length(Eb_N0);BER=zeros(3,SNR_num);forp=1:SNR_numticforw=1:loopSi
32、g=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%transmit_array1=zeros(tx1,num/tx1/2+tx1);TOC o 1-5 h ztransmit_arrayi(:,i:txi)=eye(txi,%iaii;天线导频信号transmit_array2=zeros(tx2,num/tx2/2+tx2);transmit_array2(:,i:tx2)=eye(tx2,%2X2;天线导频信号transmit_array3=zeros(tx3,num/tx3/2+tx3);transmit_ar
33、ray3(:,i:tx3)=eye(tx3,%4D3ffl;天线导频信号%将序列转换为数组,用于送给不同天线,有功率分配%transmit_array1(:,tx1+1:num/tx1/2+tx1)=series2array(modSig,tx1)./sqrt(tx1);transmit_array2(:,tx2+1:num/tx2/2+tx2)=series2array(modSig,tx2)./sqrt(tx2);transmit_array3(:,tx3+1:num/tx3/2+tx3)=series2array(modSig,tx3)./sqrt(tx3);%1x1MIMO信道%Cha
34、nnel=zeros(tx1,rx1,num);forn1=1:tx1form1=1:rx1Channel(n1,m1,:)=wgn(1,1,0,complex);endendH1=Channel;%2x2MIMO信道%Channel2=zeros(tx2,rx2,num);forn2=1:tx2form2=1:rx2Channel2(n2,m2,:)=wgn(1,1,0,complex);endendH2=Channel2;%4x4MIMO信道%Channel3=zeros(tx3,rx3,num);forn3=1:tx3form3=1:rx3Channel3(n3,m3,:)=wgn(1,
35、1,0,complex);endendH3=Channel3;%信号通过MIMO信道%forn=1:num/tx1/2+tx1recsigi(:,n)=Hi(:,:,n)*transmit_arrayi(:,n)信号通过1x1MIMO信道endforn=1:num/tx2/2+tx2recsig2(:,n)=H2(:,:,n)*transmit_array2(:,n)信号通过2x2MIMO信道endforn=1:num/tx3/2+tx3recsig3(:,n)=H3(:,:,n)*transmit_array3(:,n)信号通过4x4MIMO信道end%加awgn噪声%forn=1:tx1%
36、1x1recSig1(n,:)=awgn(recSig1(n,:),Eb_N0(p);endforn=1:tx2%2x2recSig2(n,:)=awgn(recSig2(n,:),Eb_N0(p);endforn=1:tx3%4x4recSig3(n,:)=awgn(recSig3(n,:),Eb_N0(p);end%信道估计%H_estimated1=recSig1(:,1:tx1%)1;x1H_estimated2=recSig2(:,1:tx2%)2;x2H_estimated3=recSig3(:,1:tx3%)4;x4%有用信息(去除信道估计用的信息后)%receive1=recS
37、ig1(:,tx1+1:num/tx1/2+tx1);receive2=recSig2(:,tx2+1:num/tx2/2+tx2);receive3=recSig3(:,tx3+1:num/tx3/2+tx3);%迫零检测%h1=(1/sqrt(2)*H1(:,:,num)/(sqrt(tx1);h2=(1/sqrt(2)*H2(:,:,num)/(sqrt(tx2);h3=(1/sqrt(2)*H3(:,:,num)/(sqrt(tx3);y1=pinv(h1)*receive1;y2=pinv(h2)*receive2;y3=pinv(h3)*receive3;%将数组转换为序列%x1=
38、conj(y1(:);x2=conj(y2(:);x3=conj(y3(:);%QPSK解调%demodSig1=demodQPSK(x1);demodSig2=demodQPSK(x2);demodSig3=demodQPSK(x3);BER(1,p)=BER(1,p)+length(find(demodSig1-Sig)=0)%)1;x1错误点数BER(2,p)=BER(2,p)+length(find(demodSig2-Sig)=0)%)2;x2错误点数BER(3,p)=BER(3,p)+length(find(demodSig3-Sig)=0)%)4;x4错误点数endBER(:,P
39、)=BER(:,P)/lOOP/nU!误码率%tocend%画误码率曲线%semilogy(Eb_N0,BER(1,:),r*-,Eb_N0,BER(2,:),g*-,Eb_N0,BER(3,:),b*-);gridon;title(列估计信道,ZF检测下,MIMO系统1X1,2X2,4X4天线性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);iegend(ix天线误码率曲线,2口天误码率曲线,4X天线误码率曲线);=%理想信道,ZF检测的1X1,2X2,4X4天线的MIMO系统误码率比较%clearall;close; #/31 #/31txi=i;%发送天线数
40、目为1% /31rxi=i;%接收天线数目为1%tx2=2;%发送天线数目为2%rx2=2;%接收天线数目为2%tx3=4;%发送天线数目为4%rx3=4;%接收天线数目为4%Eb_N0=-10:1:10;num=256;loop=1000;%循环次数(100/BER=1000)%SNR_num=length(Eb_N0);error=zeros(3,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%将序列转换为数组,用于送给不同天线,有功
41、率分配%transmit_array1=series2array(modSig,tx1)./sqrt(tx1);transmit_array2=series2array(modSig,tx2)./sqrt(tx2);transmit_array3=series2array(modSig,tx3)./sqrt(tx3);%产生MIMO1x1信道%Channel1=zeros(tx1,rx1,num);forn1=1:tx1form1=1:rx1Channel1(n1,m1,:)=wgn(1,1,0,complex);endendH1=Channel1;h1=(1/sqrt(2)*H1(:,:,n
42、um)/(sqrt(tx1);%产生MIMO2x2信道%Channel2=zeros(tx2,rx2,num);forn2=1:tx2form2=1:rx2Channel2(n2,m2,:)=wgn(1,1,0,complex);endendH2=Channel2;h2=(1/sqrt(2)*H2(:,:,num)/(sqrt(tx2); /31%产生MIMO4x4信道%Channel3=zeros(tx3,rx3,num);forn3=1:tx3form3=1:rx3Channel3(n3,m3,:)=wgn(1,1,0,complex);endendH3=Channel3;h3=(1/sq
43、rt(2)*H3(:,:,num)/(sqrt(tx3);%信号通过MIMO信道%forn=1:num/tx1/2recSig1(:,n)=H1(:,:,n)*transmit_array1(:,n);endforn=1:num/tx2/2recSig2(:,n)=H2(:,:,n)*transmit_array2(:,n);endforn=1:num/tx3/2recSig3(:,n)=H3(:,:,n)*transmit_array3(:,n);end%加噪声%forn=1:tx1recSig1(n,:)=awgn(recSig1(n,:),Eb_N0(p);endforn=1:tx2re
44、cSig2(n,:)=awgn(recSig2(n,:),Eb_N0(p);endforn=1:tx3recSig3(n,:)=awgn(recSig3(n,:),Eb_N0(p);end%迫零检测%y1=pinv(h1)*recSig1;y2=pinv(h2)*recSig2;y3=pinv(h3)*recSig3;%将数组转换为序列%x_ZF1=conj(y1(:);x_ZF2=conj(y2(:);x_ZF3=conj(y3(:);%QPSK解调%demodSig_ZF1=demodQPSK(x_ZF1);demodSig_ZF2=demodQPSK(x_ZF2);demodSig_ZF
45、3=demodQPSK(x_ZF3);%错误点数%error(1,p)=error(1,p)+length(find(demodSig_ZF1-Sig)=0);error(2,p)=error(2,p)+length(find(demodSig_ZF2-Sig)=0);error(3,p)=error(3,p)+length(find(demodSig_ZF3-Sig)=0);enderror(:,p)=error(:,p)/ioop%n误码率%tocend%画误码率曲线%semilogy(Eb_N0,error(1,:),r*-,Eb_N0,error(2,:),g*-,Eb_N0,erro
46、r(3,:),b*-);gridon;title(道下ZF检测,MIMO系统1X1,2X2,4X4线性能(11组);xlabel(E_b/N_0(dB);yiabei误码率);iegend(ix天线误码率曲线,2口天误码率曲线,4xao误码率曲线);=%理想信道MLD的1X1,2X2,4X41线的MIMO系统误码率比较%clearall;close;tX1=1;%发送天线数目为1%rx1=1;%接收天线数目为1%tX2=2;%发送天线数目为2%rX2=2;%接收天线数目为2%tX3=4;%发送天线数目为4%rX3=4;%接收天线数目为4%Eb_N0=-10:1:10;num=256;loop=
47、1000;%循环次数(100/BER=1000)%SNR_num=length(Eb_N0);error=zeros(3,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%将序列转换为数组,用于送给不同天线,有功率分配%transmit_array1=series2array(modSig,tx1)./sqrt(tx1);transmit_array2=series2array(modSig,tx2)./sqrt(tx2);transmit
48、_array3=series2array(modSig,tx3)./sqrt(tx3);%产生MIMO1x1信道%Channel1=zeros(tx1,rx1,num);forn1=1:tx1form1=1:rx1Channel1(n1,m1,:)=wgn(1,1,0,complex);endendH1=Channel1;%产生MIMO2x2信道%Channel2=zeros(tx2,rx2,num);forn2=1:tx2form2=1:rx2Channel2(n2,m2,:)=wgn(1,1,0,complex);endendH2=Channel2;%产生MIMO4x4信道%Channel
49、3=zeros(tx3,rx3,num);forn3=1:tx3form3=1:rx3Channel3(n3,m3,:)=wgn(1,1,0,complex);endendH3=Channel3;%信号通过MIMO信道%forn=1:num/tx1/2recSig1(:,n)=H1(:,:,n)*transmit_array1(:,n);endforn=1:num/tx2/2recSig2(:,n)=H2(:,:,n)*transmit_array2(:,n);endforn=1:num/tx3/2recSig3(:,n)=H3(:,:,n)*transmit_array3(:,n);end%
50、加噪声%forn=1:tx1recSig1(n,:)=awgn(recSig1(n,:),Eb_N0(p);endforn=1:tx2recSig2(n,:)=awgn(recSig2(n,:),Eb_N0(p);endforn=1:tx3recSig3(n,:)=awgn(recSig3(n,:),Eb_N0(p);end%最大似然检测%S1=MLD1(recSig1,H1);S2=MLD1(recSig2,H2);S3=MLD1(recSig3,H3);%将数组转换为序列%x1=conj(S1(:);x2=conj(S2(:);x3=conj(S3(:);%QPSK解调%demodSig1
51、=demodQPSK(x1);demodSig2=demodQPSK(x2);demodSig3=demodQPSK(x3);%错误点数%error(1,p)=error(1,p)+length(find(demodSig1-Sig)=0);error(2,p)=error(2,p)+length(find(demodSig2-Sig)=0);error(3,p)=error(3,p)+length(find(demodSig3-Sig)=0);enderror(:,p)=error(:,p)/ioop/n误码率%tocend%画误码率曲线%semilogy(Eb_N0,error(1,:),
52、r*-,Eb_N0,error(2,:),g*-,Eb_N0,error(3,:),b*-);gridon;titled道,MLD检测,MIMO系统1X1,2X2,4X4天线性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);iegend(ix天线误码率曲线,2x天误码率曲线,4x天线误码率曲线);=%理想信道下,MIMO系统4x4天线MLD检测与ZF检测的性能比较%clearall;close;tx=4;%发送天线数目为4%rx=4;%接收天线数目为4%Eb_N0=-10:1:10;num=256;loop=1000;%循环次数(100/BER=1000)%SNR
53、_num=length(Eb_N0);error=zeros(2,SNR_num);forp=1:SNR_numticforw=1:loopSig=randint(1,num);%随机产生二进制序列%modSig=modBaseBandQPSK(Sig);%QPSK调制%将序列转换为数组,用于送给不同天线,有功率分配%transmit_array=series2array(modSig,tx)./sqrt(tx);%产生MIMO4x4信道%Channel=zeros(tx,rx,num);forn=1:txform=1:rxChannel(n,m,:)=wgn(1,1,0,complex);e
54、ndendH=Channel;h=(i/sqrt(2)*H(:,:,num)/(sqmD(ix)i;一化处理%信号通过MIMO信道%forn=1:num/tx/2recSig(:,n)=H(:,:,n)*transmit_array(:,n);end%加噪声%forn=1:txrecSig(n,:)=awgn(recSig(n,:),Eb_N0(p);end%最大似然检测S=MLD1(recSig,H);%将数组转换为序列%x_MLD=conj(S(:);demodSig_MLD=demodQPSK(x_MLD);%QPSK解调%error(i,p)=error(i,p)+iength(fin
55、d(demodSig_MLD-sig)错误点数;%迫零检测%y=pinv(h)*recSig;%将数组转换为序列%x_ZF=conj(y(:);%QPSK解调%demodSig_ZF=demodQPSK(x_ZF);error(2,p)=error(2,p)+length(find(demodSig_ZF-Sig)=0);enderror(:,p)=error(:,p)/ioop/%u误码率%tocend%画误码率曲线%semilogy(Eb_N0,error(1,:),r*-,Eb_N0,error(2,:),g*-);gridon;title(道下,MIMO系统4x4天线MLD检测与ZF检测的性能比较(11组);xlabel(E_b/N_0(dB);yiabei误码率);legend(MLD检测误码率曲线,ZF测误码率曲线);=functionarray=series2array(series,M)%ThisfunctionisusedtochangeseriesintoarrayL=length(series);array=zeros(M,L/M);form=1:Mforn=1:L/M;array(m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿保健医考试题目及答案
- 2026年高一英语模块四第三章测试卷
- 2026年供应链管理综合测试卷
- 社区消毒培训考核题目与答案
- 2025年乐山市沙湾区医疗卫生辅助岗招募笔试真题
- 物流管理实务操作评估试题及知识点
- 长春嘉诚入职考试试题及答案
- cice剑桥考试试题及答案
- 语文事实对口考试试题及答案
- 人工智能基础与应用知识测试卷
- 2026年大理州国有资本投资运营(集团)有限公司下属公司面向社会公开招聘工作人员(22人)考试模拟试题及答案详解
- 成都石室锦城初一入学数学分班考试真题含答案
- 四年级上册语文课文必背内容
- 2025年浙江省慢阻肺病患者健康服务规范试题
- 电工(考评员、高级考评员)-练习题
- 合同签署确认
- 疼痛患者的心理支持与心理疏导
- JGJ114-2014 钢筋焊接网混凝土结构技术规程
- 怒江水电开发的工程伦理案例分析
- 《邮轮运营管理》5邮轮港口
- YC/T 591-2021烟草行业实验室安全管理要求
评论
0/150
提交评论