采用MQAM调制的数字通信系统的MATLAB仿真Word文档下载推荐.docx
- 文档编号:19974396
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:17
- 大小:762.84KB
采用MQAM调制的数字通信系统的MATLAB仿真Word文档下载推荐.docx
《采用MQAM调制的数字通信系统的MATLAB仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《采用MQAM调制的数字通信系统的MATLAB仿真Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
(2)使用格雷码对数据进行映射。
(3)使用MQAM举行调制,M选自8、16、32、64、128、256。
(4)选择合适的升余弦参数,使用升余弦对基带信号举行滤波。
(5)在解调端,进行滤波、MQAM的解调、格雷码逆映射、纠错解码。
(6)改变信噪比,分析系统性能。
2MQAM调制解调
2.1MQAM介绍
MQAM(MultipleQuadratureAmplitudeModulation)多进制正交幅度调制。
4相相位键控信号其实也是一种二电平正交振幅键控。
如果将二电平振幅键控进一步发展为多电平(例如4、8、16电平等)正交振幅键控,显然可以获得更高的频谱利用率。
这种方式具有很高的频谱利用率,在调制进制数较高时,信号矢量集的分布也较合理,同时实现起来也较方便。
当前在SDH数字微波、LMDS等大容量数字微波通信系统中广泛使用的64QAM、128QAM等均属于这种调制方式。
目前QAM最高已达到1024QAM。
样点数目越多,其传输效率越高。
但并不是样点数目越多越好,随着样点数目的增加,QAM系统的误码率会逐渐增大,所以在对可靠性要求较高的环境,不能使用较多样点数目的QAM。
对于4QAM,当两路信号幅度相等时,其产生、解调、性能及相位矢量均与4PSK相同。
图2.14QAM星座图图2.216QAM星座图
QAM采用格雷编码,采用格雷码的好处在于相邻相位所代表的两个比特只有一位不同,由于因相位误差造成错判至相邻相位上的概率最大,故这样编码使之仅造成一个比特误码的概率最大。
下图以16QAM为例,显示了编码:
图2.316QAM编码
2.2MQAM调制原理
正交幅度调制(QAM)是由两个正交载波的多电平振幅键控信号叠加而成的,在同样的符号速率下能够提供更高的比特传输速率,而不影响传输的可靠性。
在高速的无线传输系统中,MQAM是一类基本的调制方式,在实际中常用16-QAM及64QAM这两种QAM调制技术。
MQAM信号的矢量表达式为:
即将其表示为两个归一化正交基函数f1与f2的线性组合。
其中:
系数为
式中的Eg为发送滤波器冲激响应tg(t)的脉冲能量。
2.3MQAM解调原理
在高斯白噪声的环境下,MQAM信号的最佳解调框图如下:
图2.4MQAM信号的最佳解调框图
将接收的到的信号采取正交相干解调的方法解调,将接收的信号分成两路,一路与
相乘,另一路与
相乘。
然后经过低通滤波器(积分电路)滤除乘法器产生的高频分量,获得有用信号。
低通滤波器输出通过抽样判决可恢复出电平信号。
然后经过并/串变换得到恢复数据。
矩形MQAM信号的最佳接收误符号率与MASK的性能一样。
将MQAM和MPSK及MASK进行比较,可以得到以下结论:
三者频带利用率都相同,但是在相同的信噪比下,MPSK和MQAM的误符号率都小于MASK;
且在M>
8的情况下,MQAM的误符号率小于MPSK的误符号率。
3MQAM设计内容介绍
MQAM是一种基本的相位-幅度联合调制方式。
研究这种基本的数字调制信号的性能可以帮助学生理解数字通信的基本特点。
本次课程设计,选择符合要求的技术,如信道纠错编码可以是分组码或者卷积码,M必须选择数字8、16、32、64、128、256中的至少3个,以分析各种M下的QAM系统性能。
应用MATLAB进行仿真,仿真采用蒙特卡罗模型。
仿真基本框图是:
图2.1MQAM通信系统的基本框图
信号源:
基本的二进制数据流。
信道编码:
可以选择分组码、卷积码等。
调制:
MQAM,M必须选择数字8、16、32、64、128、256中至少3个。
在调制前使用格雷码进行映射。
信道:
信号经过调制以后,通过信道。
信道可以选择高斯加性白噪声信道、多径瑞利(Rayleigh)衰落信道、莱斯(Rician)衰落信道等。
设置不同的信道信噪比,对系统进行仿真,分析不同信噪比情况下的系统性能。
解调:
根据调制方式,选择对应的解调方式。
译码:
根据信道编码方式,选择对应的信道译码方式。
性能分析:
信号经过调制、信道、解调过程。
在接收端,将得到的数据与原始信号源数据比较,得到在特定信噪比下的误码率。
改变系统信噪比,从而得到系统的误码率曲线图。
4设计流程
(1)根据选择的调制信号形式,确定仿真框图。
(2)设置模型中各模块的具体参数。
(3)编写m文件。
在程序中依次改变信噪比,得到在特定信噪比下的误码率。
信噪比范围是可以是-50dB~50dB之间,步长为5dB。
(4)根据得到的误码率数据,绘出误码率-信噪比曲线图。
(5)对所设计的系统进行修改。
并同理论数据进行比较。
5调试仿真
5.1分组信道编码、高斯白噪声信道下的16QAM数字调制方式
程序:
%产生二进制整数流
M=16;
%调制的数
k=log2(M);
n=3e4;
%数据流长度
nsamp=1;
%采样率
data=randint(n,1);
%产生随机二进制数据流
figure;
%绘出前40个点的柱状图
stem(x(1:
40),'
filled'
);
%选择向量中1到40的数据
title('
Randombinarynumber'
%标题(随机二进制数)
xlabel('
Binaryvalue'
%横坐标(二进制的值)
ylabel('
BitNumber'
%纵坐标(比特数)
图1随机产生的前四十个二进制数字信号
%定义滤波参数
nsamp=4;
filtorder=40;
%滤波次顺序
delay=filtorder/(nsamp*2);
%时延
rolloff=0.25;
%滚降系数
rrcfilter=rcosine(1,nsamp,'
fir/sqrt'
rolloff,delay);
%升余弦平方根滤波
%产生一个新窗体
impz(rrcfilter,1);
%数字滤波器冲激响应(制作根余弦滤波器)
图2信号经过格雷映射之后形成的十进制数值图
%分组码纠错编码
genmat=[[101;
011;
010],eye(3)];
bianma=encode(x,6,3,'
linear'
genmat);
%姓名编码
%准备调制,格雷码映射
mapping=[0132457612131514891110].'
;
%绘图
xsym=bi2de(reshape(bianma,k,length(bianma)/k).'
'
left-msb'
%前几行代码
xsym=mapping(xsym+1);
stem(xsym(1:
10),'
%选择向量中1到10的值
Randomsymbols'
%标题(随机符号)
Thevalueofthesymbol'
%横坐标(符号的值)
IntegralQuantity'
%纵坐标(整数值)
图3随机符号
%进行16QAM调制
y=qammod(xsym,M,pi/4);
%进行平方根升余弦滤波(旋转45度)
ytx=rcosflt(y,1,nsamp,'
filter'
rrcfilter);
%yi表示传送的符号
eyediagram(ytx(1:
2000),nsamp*2);
%生成眼图
图4滤波后无噪信号的眼图
%加入高斯白噪声
EbNo=10;
%比特信噪比
snr=EbNo+10*log10(k)-10*log10(nsamp);
ynoisy=awgn(ytx,snr,'
measured'
%yn表示加入高斯白噪声的传送信号
%滤波
yrx=rcosflt(ynoisy,1,nsamp,'
Fs/filter'
yrx=downsample(yrx,nsamp);
%欠采样函数
yrx=yrx(2*delay+1:
end-2*delay);
%产生分布图
h=scatterplot(sqrt(nsamp)*ynoisy(1:
nsamp*5e3),nsamp,0,'
r.'
holdon;
scatterplot(yrx(1:
5e3),1,0,'
y.'
h);
Receivingsignalfiltering'
%标题(接收信号滤波)
legend('
Beforefiltering'
Afterfiltering'
axis([-55-55]);
holdoff;
图5信号通过高斯滤波前后接收信号比较分布图
%可以看到信号在经过滤波器之后码间距离增大、性能提高。
%16QAM解调
niyings=qamdemod(yrx,M);
%格雷码逆映射(相邻两位之间相差一位)
[dummydemapping]=sort(mapping);
%sort对mapping排序,排序结果存在dummy中,并把dummy中的数值在mapping中的索引给出,存在demapping中
demapping=demapping-1;
niyings=demapping(niyings+1);
l=de2bi(niyings,'
%进制转换
l=reshape(l.'
prod(size(l)),1);
%分组码纠错解码
l=decode(l,6,3,'
%产生一个新窗体
stem(l(1:
RandomBits'
BitIndex'
%横坐标(比特数)
BinaryValue'
%纵坐标(二进制的值)
图6终端接收端得到的信号
%计算BER
[errors,error_rate]=biterr(x,l)
errors=25
error_rate=8.3333e-004
5.2使用(M=16、32、64、126)MQAM进行数字仿真
Mvec=[163264128];
%vec(向量误差修正)
EbNovec=[0:
2:
20];
number_of_errors=zeros(length(Mvec),length(EbNovec));
bit_error_rate=zeros(length(Mvec),length(EbNovec));
foridxM=1:
length(Mvec)
foridxEbNo=1:
length(EbNovec)
M=Mvec(idxM);
n=4.2e4;
x=randint(n,1);
Msize=Mvec(idxM);
mapping=zeros(Msize);
xx=0:
Msize-1;
yy=bitshift(xx,-1);
mapping=bitxor(xx,yy);
xsym=bi2de(reshape(bianma,k,length(bianma)/k).'
xsym=mapping(xsym+1);
y=qammod(xsym,M);
%进行平方跟升余弦滤波
EbNo=EbNovec(idxEbNo);
%Eb(信号平均能量),No(单边噪声功率谱密度)
yrx=ynoisy;
zsym=qamdemod(yrx,M);
%格雷码逆映射
zsym=demapping(zsym+1);
z=de2bi(zsym,'
z=reshape(z.'
prod(size(z)),1);
z=decode(z,6,3,'
[number_of_errors(idxM,idxEbNo),bit_error_rate(idxM,idxEbNo)]=...
biterr(x,z);
end
markerchoice='
.*oP'
plotsym=[markerchoice(idxM)'
-'
];
semilogy(EbNovec,bit_error_rate(idxM,:
),plotsym);
drawnow;
不同M值的M-QAM'
EbNo(dB)'
ylabel('
误码率'
M=16'
M=32'
M=64'
M=128'
Location'
SouthWest'
图7不同调制系数的误码率
clearall;
Mvec=[16];
EbNovec=[0:
1.6:
15]
number_of_errors=zeros(length(Mvec),length(EbNovec));
bit_error_rate=zeros(length(Mvec),length(EbNovec));
code=encode(x,6,3,'
foridxM=1:
foridxEbNo=1:
M=Mvec(idxM)
a=log2(M);
Msize=Mvec(idxM);
mapping=zeros(Msize);
mapping=bitxor(xx,yy);
xs=bi2de(reshape(code,a,length(code)/a).'
xs=mapping(xs+1);
y=qammod(xs,M);
yj=rcosflt(y,1,nsamp,'
EbNo=EbNovec(idxEbNo);
snr=EbNo+10*log10(a)-10*log10(nsamp);
yn=awgn(yj,snr,'
yf=yn
yf=rcosflt(yn,1,nsamp,'
yf=downsample(yf,nsamp);
yf=yf(2*delay+1:
zs=qamdemod(yf,M);
zs=demapping(zs+1);
z=de2bi(zs,'
end
markerchoice='
o.'
];
end
xs=bi2de(reshape(x,a,length(x)/a).'
xs=mapping(xs+1);
%加入高斯白噪声
yrx=yn;
*o.'
Whetherthereisnocodingchartlinecomparison.'
%标题(有误编码图线比较)
signal-to-noiseratio'
%横坐标(信噪比)
errorrate'
%误码率
Thereisacodetimegraph.'
Thereisnocodetimegraph.'
%(图例‘编码时图像’,‘无编码时图像’)
图8有编码信道和无编码信道信噪比—误码率曲线比较
由此可见有信道编码比无信道编码的误码率时低,所以在信号传输中可以通过对信号进行分组编码以提高信号的传输效率。
6总结
根据以上数据和图可以得出以下结论:
(1)信噪比与误码率成反比,信噪比增加误码率就降低。
(2)M值越小,误码率越小。
(3)有编码的信道比无编码的信道的误码率要低。
7心得体会
这次的综合课程设计让我对数字通信系统有了进一步的认识。
由于自身专业素养和知识储备不足,对于代码和程序的功能的认识比较浅薄,所以在前期学习准备和正是运行代码使出现了很多问题。
但是在同学和老师的帮助下顺利完成。
利用MATLAB2016对MQAM调制系统进行仿真,实现通过编码减少误码率,M值与误码率成正比,信噪比喻误码率成反比。
在滤波接受信号前,我将图像旋转了45度,以检测在不同形态下进行解调工作,对于终端接受信号是否有干扰,事实上接收解码后的信号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采用 MQAM 调制 数字通信 系统 MATLAB 仿真