1、移动通信原理课程设计报告一、题目描述仿真一:M=1,选定BPSK调制,AWGN和瑞利信道下的误符号率性能曲线(横坐标为符号信噪比Es/N0),并与相应的理论曲线比较。仿真二:对2发1收的STBC-MIMO系统(Alamouti空时码),分析2发射天线分别受到独立瑞利信道下的误码率性能曲线,并与相同条件下单天线曲线进行对比分析。二、系统设置系统设置如下表所示:调制方式 收发天线 数 信道条件 编码方式系统一 一发一收 高斯信道 无仿真一系统二 一发一收 瑞利信道 无仿真二 系统三BPSK二发一收 瑞利信道 Alamouti空时码三、仿真代码3.1算法说明1、信号产生:利用Matlab中的随机整数
2、随机数产生函数randi.2、调制方法的实现:不同的调制方式对应唯一的一个星座图;通过输入序列找出星座图上的对应位置,即可输出调制结果。3、信道模拟实现方法:AWGN信道用MATLAB自带函数randn实现,对应平均噪声功率为零;瑞利信道用randn+j*randn,对应平均噪声功率为零。4、误码率性能曲线:发射信号序列长度设定130比特,仿真4000次,使信噪比在0,30每隔2取值,求平均误比特率。5、收发系统的实现方法:对于单发单收的模型,只需将发送信号加噪声信号即为接收信号;对于二发一收的模型,因为发射天线是相互独立的,所以每根发射天线的接收信号与单发单收模型的接收信号计算方法相同,最后
3、采用最大比合并得到接收信号。6、调制方式:BPSK7、编码和译码方法:二发一收空时编码,最大似然译码。8、误码率的计算:错误比特数/传输的总比特数。3.2仿真代码代码一:调制函数functionmod_symbols,sym_table,M=modulator(bitseq,b)N_bits=length(bitseq);if b=1 %BPSK调制sym_table=exp(1i*0,-pi);sym_table=sym_table(1 0+1);inp=bitseq;mod_symbols=sym_table(inp+1);M=2;elseif b=2 %QPSK调制sym_table=e
4、xp(1i*pi/4*-3 3 1 -1);sym_table=sym_table(0 1 3 2+1);inp=reshape(bitseq,b,N_bits/b);mod_symbols=sym_table(2 1*inp+1);M=4;elseif b=3 %8PSK调制sym_table=exp(1i*pi/4*0:7);sym_table=sym_table(0 1 3 2 6 7 5 4+1);inp=reshape(bitseq,b,N_bits/b);mod_symbols=sym_table(4 2 1*inp+1);M=8;elseif b=4 %16QAM调制m=0;sq
5、10=sqrt(10);for k=-3:2:3for l=-3:2:2m=m+1;sym_table(m)=(k+1i*l)/sq10;endendsym_table=sym_table(.0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10+1);inp=reshape(bitseq,b,N_bits/b);mod_symbols=sym_table(8 4 2 1*inp+1);M=16;elseerror(unimplemented modulation);end代码二:单发单收系统在高斯信道和瑞利信道下的仿真clear allL_frame=130; N_pac
6、ket=4000; b=1; % Set to 1/2/3/4 for BPSK/QPSK/8PSK/16QAMSNRdBs=0:2:30; sq2=sqrt(2);NT=1; NR=1;% SISOfor i_SNR=1:length(SNRdBs)SNRdB=SNRdBs(i_SNR); sigma=sqrt(0.5/(10(SNRdB/10);for i_packet=1:N_packetsymbol_data=randi(0 1,L_frame*b,NT);temp,sym_tab,P=modulator(symbol_data.,b);X=temp.; % frlg=length(X
7、), X为调制后的信号序列Hr = (randn(L_frame,1)+1i*randn(L_frame,1)/sq2 ;%Rayleigh Channel,见原理说明6.1Ha=randn(L_frame,1); %AWGN channelZ1=0;R1=Hr.*X+ sigma*(randn(L_frame,1)+1i*randn(L_frame,1);Z1=Z1+R1.*conj(Hr);R2=X+sigma*Ha;for m=1:P d1(:,m)=abs(Z1-sym_tab(m).2; %最大似然译码d2(:,m)=abs(R2-sym_tab(m).2;endy1,i1 = mi
8、n(d1,2); Xd=sym_tab(i1).;y2,i2=min(d2,2);Xa=sym_tab(i2).;temp1 = X0; temp2 = Xd0;temp3=Xa0;noeb_p1(i_packet)=sum(sum(temp1=temp2);noeb_p2(i_packet)=sum(sum(temp1=temp3);endBER1(i_SNR)=sum(noeb_p1)/(N_packet*L_frame*b);BER2(i_SNR)=sum(noeb_p2)/(N_packet*L_frame*b);SNRw=10(SNRdB/10);BER3(i_SNR)=1/2*er
9、fc(sqrt(SNRw);%theoretical BER in AWGN channelBER4(i_SNR)=1/2*(1-sqrt(SNRw/(1+SNRw);endsemilogy(SNRdBs,BER1,-rx), hold on, axis(SNRdBs(1 end) 1e-6 1e0)semilogy(SNRdBs,BER2,-ro), hold on, axis(SNRdBs(1 end) 1e-6 1e0)semilogy(SNRdBs,BER3,-), hold on, axis(SNRdBs(1 end) 1e-6 1e0)semilogy(SNRdBs,BER4,-g
10、*), hold on, axis(SNRdBs(1 end) 1e-6 1e0)title(BER perfoemancde of AWGN and Rayleigh channel), xlabel(SNRdB), ylabel(BER) grid on, set(gca,fontsize,9)legend(Rayleigh practice,AWGN practice,AWGN theoretical,Rayleigh theoretical)代码三:二发一收系统空时编码仿真算法流程图:%Alamounti_scheme.mclear;N_frame=130;N_packets=4000
11、;NT=2;NR=1; %two transmitter and one reciever diversityb=2;SNRdbs=0:2:30;sq_NT=sqrt(NT);sq2=sqrt(2);for i_SNR=1:length(SNRdbs)SNRdb=SNRdbs(i_SNR);sigma=sqrt(0.5/(10(SNRdb/10);for i_packet=1:N_packetsmsg_symbol=randi(0 1,N_frame*b,NT);tx_bits=msg_symbol.;tmp=;tmp1=;for i=1:NTtmp1,sym_tab,P=modulator(
12、tx_bits(i,:),b);tmp=tmp;tmp1;endX=tmp.;%pay attention to the matrix dimension%space-time codingX1=X;X2=-conj(X(:,2) conj(X(:,1);%channel known by receiverfor n=1:NTHr(n,:,:)=(randn(N_frame,NT)+1i*randn(N_frame,NT)/sq2;endH=reshape(Hr(n,:,:),N_frame,NT);%receive signalR1=sum(H.*X1,2)/sq_NT+sigma*(ran
13、dn(N_frame,1)+1i*randn(N_frame,1);R2=sum(H.*X2,2)/sq_NT+sigma*(randn(N_frame,1)+1i*randn(N_frame,1);%MLD decoder,见原理6.2说明Z1=R1.*conj(H(:,1)+conj(R2).*H(:,2);Z2=R1.*conj(H(:,2)-conj(R2).*H(:,1);for m=1:Pd1(:,m)=abs(sum(Z1,2)-sym_tab(m).2;d2(:,m)=abs(sum(Z2,2)-sym_tab(m).2;endy1,i1=min(d1,2);S1d=sym_t
14、ab(i1).;clear d1y2,i2=min(d2,2);S2d=sym_tab(i2).;clear d2Xd=S1d S2d;tmp1=X0;tmp2=Xd0;noeb_p(i_packet)=sum(sum(tmp1=tmp2);endBER(i_SNR)=sum(noeb_p)/(N_packets*N_frame*b);endsemilogy(SNRdbs,BER,-);axis(SNRdbs(1 end) 1e-6 1e0)grid on, hold onxlabel(SNRdb),ylabel(BER);四、仿真图图(1)图(2)五、仿真分析5.1 题目一:由图(1)AWG
15、N 和瑞利信道下的误符号率性能曲线与相应的理论曲线基本重合,且 AWGN 性能强于瑞利信道。理论上,BPSK 在 AWGN 中的误比特率公式:)2(0NEQPsBPSK 在瑞利信道中的误比特率公式: )1(2P5.2 题目二:由图(2)二发一收的 STBC-MIMO 系统(Alamouti 空时码) ,两个发射天线分别受到独立瑞利信道下的误码率性能曲线,其系统性能好于相同条件下单发单收系统。分集增益决定了曲线的斜率,分集增益越大的 MIMO系统的误码性能越好。对于两条曲线有交点的说明:虽然我们得到空时分组码的编码增益为 2,也就是说误码性能曲线不会产生偏移。但是我们可以从仿真图中看到,两条的曲
16、线间有垂直偏移。这是因为在仿真过程中我们把发射天线的总功率归一化,总的发射功率相同,每根发射天线的发射功率平均分配,也就是说发射天线数越大,每根发射天线上分配的功率就越小。所以对于 1发 1收和 2发 1收的系统来说 2发 1收的系统每个天线的发射功率是1发 1收的 1半,这样,2 发 1收系统从每个发射天线上发射出去的信号之间的欧氏距离就减小了,从而减小了编码增益。所以曲线在垂直上有偏移。六、相关原理说明6.1 瑞利信道的模拟说明无线信道传播环境中的接收信号可以认为是来自无穷多个散射体的信号总和。根据中心极限定理,可以用一个高斯随机变量来表示接收信号。而NLOS环境中接收信号的PDF服从瑞利
17、分布,无线信道可用一个复高斯随机变量 表示, 其中是21jW21,零均值,方差为 的独立同分布的高斯随机变量。令 表示复高斯随机变量 ,2X2jW其幅度为 。 是瑞利随机变量,其 PDF为1WXX,2)(xXef其中 。)(22E用Matlab产生瑞利随机变量 :先通过Matlab内置函数randn产生均值为0,方差为1的两个高斯随机变量 和 。瑞利随机变量为 ,其中1Z2 21Z)1,0(1N,一旦通过内置函数“randn”产生 和 ,就可以由 产)1,0(2NZ 12 2ZX生平均功率为 的瑞利随机变量 。因此,瑞利信道可用randn+j*randn模2XEX拟。6.2 空时编码的最大似然译码在 Alamouti 方案中,两个连续的符号按照以下的空时码字矩阵编码:。*12x对空时编码方案进行最大似然信号检测。假设信道增益 和 在两个连续的符1ht2号周期内不变: 11222shtT令 和 分别表示 和 时刻的接收信号,那么接受信号可以表示为1y2tsT121*22yhxz其中 和 分别为 和 时刻的噪声。对第二个接受信号去复共轭,得到下面的矩1z2tsT阵向量表达式: 121*2 2yhxz在两边同时乘以信道矩阵的埃米特转置,可以得到输入输出关系: 211 2 2xyz其中 *112*2yh*112*2zz