MQAM在瑞利信道下的性能仿真.docx
《MQAM在瑞利信道下的性能仿真.docx》由会员分享,可在线阅读,更多相关《MQAM在瑞利信道下的性能仿真.docx(10页珍藏版)》请在冰豆网上搜索。
![MQAM在瑞利信道下的性能仿真.docx](https://file1.bdocx.com/fileroot1/2022-12/7/cecf24bb-a415-4835-9bc9-b42f1c4184c7/cecf24bb-a415-4835-9bc9-b42f1c4184c71.gif)
MQAM在瑞利信道下的性能仿真
课程设计(II)
通信系统仿真
MQAM在瑞利信道下的性能仿直
1、课程设计目的
(1)了解MQAM多进制幅度调制技术原理
(2)在MATLAB环境下编程实现调制、解调过程
(3)在MATLAB环境下仿真不同MQAM的误码率,并绘制曲线
(4)比较16QAM误比特率在理论和实际条件下的误差
2、课程设计内容
本课题在MATLAB环境下,进行多进制调制在瑞利信道下进行信号传输的仿真实验,传输信号在发送端进行MQAM调制,并分析在不同的多进制调制下,信号在瑞利信道下的性能,并比较。
3、设计与实现过程
3.1设计思想和设计流程
首先进行系统的分析的设计,整个设计分为如下几个部分:
随机序列的产生,序列的串并和并串转换,16QAM调制,星座图的绘制,16QAM解调,加入噪声,误码率的测量及绘图。
MQAM信号由2个独立的基带波形对2个相互正交的同频载波进行调制而构成,利用其在同一带宽内频谱正交的性质来实现两路并行的数字信息传输。
调制后的信号经信道传输,由于信道的非理想特性,MQAM信号会发生频
率选择性衰减/码间干扰、相位旋转以及受各种噪声的影响,这部分影响都包含在信道模型中。
数字通信中数据采用二进制数表示,星座点的个数是2的幕。
常见的MQAM形式有16-QAM、64-QAM、256-QAM等。
星座的点数越多,符号能够传输的数据量就越大。
但是,如果在星座图的平均能量保持不变的情况下增加星座点,基
于星座图聚类的方法成为了数字幅相调制信号识别的重要方法之一。
会使星座点
之间的距离变小,进而导致误码率上升。
因此高阶星座图的可靠性比低阶要差。
3.1.1调制器
串并转换单元、IQ分路单元及调制混频器组成了MQAM系统的调制器。
将串行数据转换成并行数据是通过串并转换完成的;IQ分路主要的作用是检测调制的要求,调制混频器的作用是把I、Q两路信号混频及合成,最终形成调制信号输出。
MQAM的调制方式有两种:
正交调幅法和复合相移法。
本次仿真针对
16QAM,采用正交调幅法
3.1.2解调器
瑞利分布是一个均值为0,方差为c2的平稳窄带高斯过程,其包络的一维分布是瑞利分布。
瑞利分布是最常见的用于描述平坦衰落信号接收包络或独立多径分量接受包络统计时变特性的一种分布类型。
两个正交高斯噪声信号之和的包络服从瑞利分布。
把接收到的信号通过正交相干解调法解调,将接收的信号分成两路,一路与
coset相乘,另一路与sinCt相乘。
然后再经过低通滤波器来滤除掉乘法器产生出的高频分量,获得原先的信号。
低通滤波器输出可以通过抽样判决恢复出原电平信号。
然后再经过并/串变换得到原数据。
3.2调制、解调框图
正交调制原理框图
相干解调原理框图
3.3实现过程
331
clearall;
clc;
echooff;
closeall;
N=10000;%设定码元数量
fb=1;%基带信号频率
fs=32;%抽样频率
fc=4;%载波频率,为便于观察已调信号,我们把载波频率设的较低
Kbase=2;%Kbase=1,不经基带成形滤波,直接调制;Kbase=2,基带经成形滤波器滤波后,再进行调制
info=random_binary(N);%产生二进制信号序列
[y,l,Q]=qam(info,Kbase,fs,fb,fc);%对基带信号进行16QAM调制
y1=y;
y2=y;%备份信号,供后续仿真用
T=length(info)/fb;
m=fs/fb;
nn=length(info);
dt=1/fs;
t=O:
dt:
T-dt;
subplot(211);
%便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况
%由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10
plot(t(1:
1000),y(1:
1000),t(1:
1000),l(1:
1000),t(1:
1000),Q(
1:
1000),[035],[00],'b:
');
title('已调信号(In:
red,Qn:
green)');
%傅里叶变换,求出已调信号的频谱
n=length(y);
y=fft(y)/n;
y=abs(y(1:
fix(n/2)))*2;
q=find(y<1e-04);
y(q)=1e-04;
y=20*log10(y);
f1=m/n;
f=0:
f1:
(length(y)-1)*f1;
subplot(223);
plot(f,y,'r');
gridon;
title('已调信号频谱');
xlabel('f/fb');%画出16QAM调制方式对应的星座图
subplot(224);
constel(y1,fs,fb,fc);
title('星座图');
SNR_in_dB=8:
2:
24;%AWG信道信噪比
forj=1:
length(SNR_in_dB)
y_add_noise=awgn(y2,SNR」n_dB(j));%加入不同强度的高斯白噪声
y_output=qamdet(y_add_noise,fs,fb,fc);%对已调信号进行解调
numoferr=0;
end;
fori=1:
N
if(y_output(i)~=info(i)),
numoferr=numoferr+1;
end;end;
Pe(j)=numoferr/N;%统计误码率end;figure;
semilogy(SNR_in_dB,Pe,'red-');
gridon;
xlabel('SNRindB');
ylabel('Pe');
title('16QAM调制在不同信道噪声强度下的误码率’);
332
%QAM_BER.m
functionvarargout=QAM_BER(SNRs)
%AWG信道的误码率
y=10.A(SNRs/10);
BER=zeros(2,length(SNRs));
figurel=figure;
*(2人(k-1)
forb=[4]%b=偶数;M=16,64,256……
floor(i*2A(k-1)/l+1/2))...
*erfc((2*i+1)*sqrt(3*log2(I*J)*y/(IA2+JA2-2)));
end
Pl_k=Pl_k/I;
PI=PI+Pl_k;
end
forl=1:
log2(J)
PJ_l=zeros(size(y));
forj=0:
(1-2:
A(-l))*J-1
PJ_l=PJ_l+(-1)A(floor(j*2A(l-l)/j))*(2A(l-l)
floor(j*2A(l-1)/J+1/2))...
*erfc((2*j+1)*sqrt(3*log2(l*J)*y/(|A2+JA2-2)));
end
PJ_l=PJ_l/J;
PJ=PJ+PJ_l;
end
BER(b-1,:
)=(PI+PJ)/log2(I*J);
end
%Plottheresults
line_h=semilogy(SNRs,BER);
gridon
ylim([1e-0061]);
xlim([min(SNRs)max(SNRs)]);
end
%zys_2.m
clc
closeall
clearall
SNRs=-4:
28;
disp('Plottheoreticalcurves')
[h_fig,h_lines]=QAM_BER_Curves(SNRs);disp('RunMonteCarloSimulations')
%Createplace-holderplots
QAM_BER=zeros(2,length(SNRs));
holdon
simLines=semilogy(SNRs,QAM_BER,'*');
3.3.3
clc
closeall
clearall
M=16;%16QAM言号k=log2(M);
n=3e4;
x=randint(n,1);
xsym=bi2de(reshape(x,k,length(x)/k).','left-msb');
y=qammod(xsym,M);
ytx=y;
EbNo=-5:
0.5:
10;
fori=1:
length(EbNo)%加噪声
snr=(i-1)*0.5-5+10*log10(k);
ynoisy=awgn(ytx,snr,'measured');%高斯白噪声
yrx=ynoisy;
zsym=qamdemod(yrx,M);%16qam调制
z=de2bi(zsym,'left-msb');
z=reshape(z.',prod(size(z)),1);
[number(i),Pe(i)]=biterr(x,z);%误码率分析
end
pelilun=(1/k)*3/2*erfc(sqrt(k*0.1*(10.A(EbNo/10))));%理论误码率
semilogy(EbNo,Pe,'bs-','LineWidth',1);%仿真误码率作图
holdon;
semilogy(EbNo,pelilun,'ms-','LineWidth',1);%理论误码率作图
gridon
legend('仿真16QAM误码率','•理论16QAM误码率');%标注
xlabel('SNNR/dB')
ylabel('误码率Pe')
title('16QAM误码率分析')
4、结论
由3.3.1仿真:
□Br
□B
04-
□2
%0103D4OE07DB09
06
已调信号频谱
由3.3.2仿真得:
M巴6
M
ii
00
□
□
o
o
电
■
o
■1
M=32
10°
10-1
TTlTTiflTTWTTlzTzTTTT
r
050h20
10
10°
10
10-2
1Q
r!
==!
!
==!
h=^==n==^==H==e==£h==e===n=h==!
M=8,16
10^
10
10^
3.3.3仿真得:
10
16QAM误码率分析
:
二二二;…一S—仿真160AMK码率
―匸—理i^16QAM误码率
332通过改变程序:
“forb=[3]
M=2Ab;”
中b的值,可得MQAM误码率理论值和仿真图像。
仿真图像列出
8QAM,16QAM,32QAM的误码率图像。
通过仿真和图像得:
1.)经过调制后,映射电平有四种,分别为-1.5;0.5;0.5;1.5
2.)已调信号频谱主要集中在4fb
3.)进制数越大,调制产生误码率越大
4.)16QAM理论图像与仿真图像基本相符。