实验四QPSK调制信号经瑞利衰落信道性能.docx
《实验四QPSK调制信号经瑞利衰落信道性能.docx》由会员分享,可在线阅读,更多相关《实验四QPSK调制信号经瑞利衰落信道性能.docx(11页珍藏版)》请在冰豆网上搜索。
实验四QPSK调制信号经瑞利衰落信道性能
实验四QPSK调制信号经瑞利衰落信道性能
一、实验目的
学会用MATLAB实现QPSK调制信号在瑞利衰落信道下系统性能仿真分析。
二、实验原理
在陆地移动通信中,移动台往往受到各种障碍物和其他移动体的影响,以致到达移动台的信号是来自不同传播路径的信号之和。
而描述这样一种信道的常用信道模型便是瑞利衰落信道。
瑞利衰落信道〔Rayleighfadingchannel〕是一种无线电信号传播环境的统计模型。
这种模型假设信号通过无线信道之后,其信号幅度是随机的,表现为“衰落〞特性,并且多径衰落的信号包络服从瑞利分布。
由此,这种多径衰落也称为瑞利衰落。
这一信道模型能够描述由电离层和对流层反射的短波信道,以与建筑物密集的城市环境。
瑞利衰落只适用于从发射机到接收机不存在直射信号的情况,否如此应使用莱斯衰落信道作为信道模型。
假设经反射〔或散射〕到达接收天线的信号为N个幅值和相位均随机的且统计独立的信号之和。
信号振幅为r,相位为
如此其包络概率密度函数为
(r
0)
相位概率密度函数为:
,〔
〕
三、上机实验容
1.验证实验原理中所述的相关程序,CLARK〔ex2.m〕,Jakes(Rayleigh.m)信道模型。
2.验证QPSK调制信号经根升余弦滚降成形滤波之后在瑞利衰落信道下系统误比特和误符号性能,实现参考程序,。
四、方案设计与步骤
1、验证CLARK〔ex2.m〕信道模型
2、验证Jakes(Rayleigh.m)信道模型
3、QPSK调制信号经矩形脉冲成形滤波之后在瑞利衰落信道下系统误比特和误符号性能的验证。
4、QPSK调制信号经根升余弦滚降脉冲成形滤波之后在瑞利衰落信道下系统误比特和误符号性能的验证。
步骤与3根本一样,需要修改的程序如下:
1、把msg_tx=rectpulse(msg_tx,nSamp);
改成msg_tx=rcosflt(msg_tx,fd,fs,'sqrt',0.5,nSamp/2);%换成了根升余弦
2、在QPSK解调msg_gr_demod=pskdemod(msg_rx_down,M);前加上
msg_rx_down=msg_rx_down(nSamp+1:
1:
length(msg_rx_down));%去掉延时保持同步
msg_rx_down1=msg_rx_down1(nSamp+1:
1:
length(msg_rx_down1));
其他不变
五、结果分析
1、CLARK模型的验证
〔2〕Jakes模型的验证
实验分析:
以上程序产生的信道功率为1.
3、QPSK调制信号经矩形脉冲成形滤波之后在瑞利衰落信道下系统误比特和误符号性能的验证。
实验分析:
从上图可以看出,随着SNR的增加,QPSK的BER和SER都降低,并且BER要小于相应的SER,这是与实际情况相符合的,说明仿真结果正确。
4、QPSK调制信号经根升余弦滚降脉冲成形滤波之后在瑞利衰落信道下系统误比特和误符号性能的验证。
四、程序
%ex2
%Fastfadingwithvelocity
N=10;%numberofscatterers
a=0.001*randn(N,1);%creatGaussianamplitudecoefficients
a=a/sum(a.^2);
th=rand(N,1)*2*pi;%createuniformphaseangles
ph=rand(N,1)*2*pi;%createuniformphaseangles
fd=149;%Doppler
%fd=370;%Doppler
tmax=10/fd;
omega=2*pi*fd;%Maximumtime
t=[0:
1000]*tmax/1000;%generatetimeline
X=[zeros(1,length(t))];
Y=[zeros(1,length(t))];
forn=1:
N%generatethesumsforXandY
X=X+a(n)*cos(omega*cos(th(n))*t+ph(n));
Y=Y+a(n)*sin(omega*cos(th(n))*t+ph(n));
end;
r=sqrt(X.^2+Y.^2);%calculatetheRayleighenvelop
rdb=20*log10(r);%CalculatetheenvelopeindBfigure;
plot(t*1000,rdb,'k');xlabel('time/ms');ylabel('envelope');%
axis([065-3010]);
function[h]=rayleigh(fd,t)
%该程序利用改良的jakes模型来产生单径的平坦型瑞利衰落信道
%YahongR.ZhengandChengshanXiao"ImprovedModelsfor
%theGenerationofMultipleUncorrelatedRayleighFadingWaveforms"
%IEEEmuletters,Vol.6,NO.6,JUNE2002
%输入变量说明:
%fd:
信道的最大多普勒频移单位Hz
%t:
信号的抽样时间序列,抽样间隔单位s
%h为输出的瑞利信道函数,是一个时间函数复序列
%假设的入射波数目
N=40;
wm=2*pi*fd;
%每象限的入射波数目即振荡器数目
N0=N/4;
%信道函数的实部
Tc=zeros(1,length(t));
%信道函数的虚部
Ts=zeros(1,length(t));
%归一化功率系数
P_nor=sqrt(1/N0);
%区别个条路径的均匀分布随机相位
theta=2*pi*rand(1,1)-pi;
forii=1:
N0
%第i条入射波的入射角
alfa(ii)=(2*pi*ii-pi+theta)/N;
%对每个子载波而言在(-pi,pi)之间均匀分布的随机相位
fi_tc=2*pi*rand(1,1)-pi;
fi_ts=2*pi*rand(1,1)-pi;
%计算冲激响应函数
Tc=Tc+cos(cos(alfa(ii))*wm*t+fi_tc);
Ts=Ts+cos(sin(alfa(ii))*wm*t+fi_ts);
end;
%乘归一化功率系数得到传输函数
h=P_nor*(Tc+j*Ts);
clearall
snr=-3:
3;%SNR的围
SimulationTime=1;%仿真完毕时间
forii=1:
length(snr)
SNR=snr(ii);%赋值给AWGN信道模块中的SNR
sim('ex11');%运行仿真模型
ber(ii)=BER
(1);%保存本次仿真得到的BER
ser(ii)=SER
(1);%保存本次仿真得到的SER
end
semilogy(snr,ber,'-rs',snr,ser,'-r^',snr,ber1,'-ro',snr,ser1,'-r*')
legend('Rayleigh衰落+AWGN信道BER','Rayleigh衰落+AWGN信道SER','AWGN信道BER','AWGN信道SER')
title('QPSK在AWGN和多径Rayleigh衰落信道下的性能')
xlabel('信噪比〔dB〕')
ylabel('误符号率和误比特率')
〔2〕Jakes模型的验证
clearall;clc;
fd=10;%多普勒频移为10
ts=1/1000;%信道抽样时间间隔
t=0:
ts:
1;%生成时间序列
h1=rayleigh(fd,t);%产生信道数据
[X1,f]=fftseq(h1,ts);
figure
(1)
subplot(2,1,1)
plot(t,10*log10(abs(h1)));
title('fd=10Hz时的信道功率曲线')
xlabel('时间');ylabel('功率')
subplot(2,1,2)
plot(f,fftshift(abs(X1)));
title('DopplerSpectrum')
xlabel('频率');ylabel('功率')
fd=20;%多普勒频移为20
h2=rayleigh(fd,t);%产生信道数据
[X2,f]=fftseq(h2,ts);
figure
(2)
subplot(2,1,1)
plot(t,10*log10(abs(h2)))
xlabel('时间');ylabel('功率')
title('fd=20Hz时的信道功率曲线')
subplot(2,1,2)
plot(f,fftshift(abs(X2)));
title('DopplerSpectrum')
xlabel('频率');ylabel('功率')
3、QPSK调制信号经根生余弦滚降成形滤波之后在瑞利衰落信道下系统误比特和误符号性能的验证。
clearall
nSamp=8;%矩形脉冲的取样点数
numSymb=10000;%每种SNR下的传输的符号数
ts=1/(numSymb*nSamp);
t=(0:
numSymb*nSamp-1)*ts;
M=4;%QPSK的符号类型数
SNR=-3:
3;%SNR的围
grayencod=[0132];%Gray编码格式
forii=1:
length(SNR)
msg=randsrc(1,numSymb,[0:
3]);%产生发送符号
msg_gr=grayencod(msg+1);%进展Gray编码影射
msg_tx=pskmod(msg_gr,M);%QPSK调制
msg_tx=rectpulse(msg_tx,nSamp);%矩形脉冲成形
h=rayleigh(10,t);%生成瑞利衰落
msg_tx1=h.*msg_tx;%信号通过瑞利衰落信道
msg_rx=awgn(msg_tx,SNR(ii));%通过AWGN信道
msg_rx1=awgn(msg_tx1,SNR(ii));
msg_rx_down=intdump(msg_rx,nSamp);%匹配滤波相干解调
msg_rx_down1=intdump(msg_rx1,nSamp);
msg_gr_demod=pskdemod(msg_rx_down,M);%QPSK解调
msg_gr_demod1=pskdemod(msg_rx_down1,M);
[dummygraydecod]=sort(grayencod);graydecod=graydecod-1;
msg_demod=graydecod(msg_gr_demod+1);%Gray编码逆映射
msg_demod1=graydecod(msg_gr_demod1+1);
[errorBitBER(ii)]=biterr(msg,msg_demod,log2(M));%计算AWGN信道BER
[errorBit1BER1(ii)]=biterr(msg,msg_demod1,log2(M));%计算瑞利衰落+AWGN信道BER
[err