基于MATLAB的16QAM通信系统的仿真Word文件下载.docx

上传人:b****5 文档编号:19899351 上传时间:2023-01-12 格式:DOCX 页数:15 大小:225.88KB
下载 相关 举报
基于MATLAB的16QAM通信系统的仿真Word文件下载.docx_第1页
第1页 / 共15页
基于MATLAB的16QAM通信系统的仿真Word文件下载.docx_第2页
第2页 / 共15页
基于MATLAB的16QAM通信系统的仿真Word文件下载.docx_第3页
第3页 / 共15页
基于MATLAB的16QAM通信系统的仿真Word文件下载.docx_第4页
第4页 / 共15页
基于MATLAB的16QAM通信系统的仿真Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于MATLAB的16QAM通信系统的仿真Word文件下载.docx

《基于MATLAB的16QAM通信系统的仿真Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的16QAM通信系统的仿真Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

基于MATLAB的16QAM通信系统的仿真Word文件下载.docx

样点数目越多,其传输效率越高。

但并不是样点数目越多越好,随着样点数目的增加,QAM系统的误码率会逐渐增大,所以在对可靠性要求较高的环境,不能使用较多样点数目的QAM。

对于4QAM,当两路信号幅度相等时,其产生、解调、性能及相位矢量均与4PSK相同。

a4QAM星座图b16QAM星座图

QAM采用格雷编码,采用格雷码的好处在于相邻相位所代表的两个比特只有一位不同,由于因相位误差造成错判至相邻相位上的概率最大,故这样编码使之仅造成一个比

特误码的概率最大。

下图以16QAM为例,显示了编码:

16QAM编码

2.26QAM调制解调原理

16QAM是两路4ASK信号的叠加,其演变方式可以有以下两种:

(1)正交调幅法,由两路独立的正交4ASK信号叠加而成;

图3-3正交调幅

(2)复合相移法,由两路独立的QPSK信号叠加而成。

图中虚线大圆上的4个大黑点表示第一个QPSK信号矢量的位置,在这4个位置上可以叠加上第二个QPSK矢量,后者的位置用虚线小圆上的4个小黑点表示。

复合相移法

在QAM体制中,信号的振幅和相位作为两个独立的参量同时受到调制。

这种信号的一个码元可以表示为

Sk(t)=Akcos(ω0t+θk)kT<

t≤(k+1)T式3-1

式中,k取整数;

Ak和k分别可以取多个离散值。

上式可以展开为

Sk(t)=Akcosθkcosω0t—Aksinθksinω0t式3-2

令Xk=AkcosθkYk=-Aksinθk

则信号表示式变为

Sk(t)=Xkcosω0t+Yksinω0t式3-3

Xk和Yk也是可以取多个离散值的变量。

从上式看出,k(t)可以看作是两个正交的振幅键控信号之和。

本课题采用了正交调幅法。

在发送端调制器中串/并变换使得信息速率为Rb的输入二进制信号分成两个速率为Rb/2的二进制信号,2/4电平转换将每个速率为Rb/2的二进制信号变为速率为Rb/8的电平信号,然后分别与两个正交载波相乘,再相加后即得16QAM信号。

正交调制原理框图

解调是调制的逆过程,在接收端解调器中可以采用正交的相干解调方法。

接受到的信号分两路进入两个正交的载波的相干解调器,再分别进入判决器形成L进制信号并输出二进制信号,最后经并/串变换后得到基带信号。

下图为16QAM解调框图:

相干解调原理框图

2.3MQAM调制介绍及本仿真程序的几点说明

MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的

16个信号点的调制。

为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。

为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。

2.4仿真结果图

2.5QAM性能分析

16QAM抗噪声性能仿真:

对于QAM,可以看成是由两个相互正交且独立的多电平ASK信号叠加而成。

因此,利用多电平误码率的分析方法,可得到M进制QAM的误码率为[1]:

(4.1)

式中,

,Eb为每码元能量,n0为噪声单边功率谱密度。

通过调整高斯白噪声信道的信噪比snr(Eb/No),可以得到如图5-2所示的误码率图:

图4-9QAM信号误码率分析

可见16QAM信号的误码率随着信噪比的增大而逐渐减小,这与理论分析是完全一致的

16QAM信号与其它调制信号的性能比较:

(1)16QAM和16PSK

星座图中相邻点欧氏距离直接代表这噪声容限的大小。

按最大振幅相等,画出16QAM信号和16PSK信号的星座图。

设其最大振幅为AM,则16PSK信号的相邻矢量端点的欧氏距离等于

式4-1

而16QAM信号的相邻点欧氏距离等于

式4-2

d2和d1的比值就代表这两种体制的噪声容限之比。

AM

d2

d1

图4-10欧氏距离

按上两式计算,d2超过d1约1.57dB。

但是,这时是在最大功率(振幅)相等的条件下比较的,没有考虑这两种体制的平均功率差别。

16PSK信号的平均功率(振幅)就等于其最大功率(振幅)。

而16QAM信号,在等概率出现条件下,可以计算出其最大功率和平均功率之比等于1.8倍,即2.55dB。

因此,在平均功率相等条件下,16QAM比16PSK信号的噪声容限大4.12dB。

(2)16QAM与2DPSK和64QAM

这里我们设计一个2DPSK调制和解调系统和一个64QAM调制和解调系统的仿真模型,以观察其与16QAM信号的抗噪声性能,并对它们的误码率进行比较。

在取相同的码元速率和载波速率的情况下,设计2DPSK调制解调系统。

这里我们采用的是差分相干解调的方法,所以并不需要做载波恢复。

解调部分的滤波器同样采用了贝塞尔函数低通滤波器,且判决模块简单如下所示。

这样在高斯白噪声信道处调整信噪比,得到如图4-3所示的误码率图。

图4-1116QAM与16DPSK误码率曲线图

从仿真过程看,在相同信噪比的条件下,其误码率介于64QAM和2DPSK之间,也就是说,系统在同等噪声条件下,16QAM的抗噪声性能是相当优越的。

【结束语】

本文研究的重点是对基于MATLAB的16QAM调制解调系统进行设计与仿真,得到以下的结论。

1.对16QAM调制解调系统基本原理进行了较为深入地理解与分析,并且根据其原理编制了仿真程序。

2.较为熟悉地掌握了MATLAB软件在通信系统设计与仿真的基本步骤与方法。

3.利用MATLAB实现了16QAM调制与解调系统的设计,实现与仿真,并得到相应的调制解调波形,发现解调信号波形与输入信号波形存在一定时延,所以该系统的实时性有不足,但并不影响对误码率的检测,以及系统能够的抗噪声性能。

4.对16QAM调制解调系统的抗噪声性能进行分析,通过仿真得到了16QAM系统的误码率曲线,曲线趋势与理论曲线基本一致。

5.从仿真过程看,在相同信噪比的条件下,16QAM的加性白噪声的功率远大于2DPSK的加性白噪声的功率,故16QAM调制解调系统一般工作在大信噪比的环境下,其误码率将很小,也就是说,两个系统在同等噪声条件下,16QAM的抗噪声性能是相当优越的

附源程序代码:

 

main_plot.m

clear;

clc;

echooff;

closeall;

N=10000;

%设定码元数量

fb=1;

%基带信号频率

fs=32;

%抽样频率

fc=4;

%载波频率,为便于观察已调信号,我们把载波频率设的较低

Kbase=2;

%Kbase=1,不经基带成形滤波,直接调制;

%Kbase=2,基带经成形滤波器滤波后,再进行调制

info=random_binary(N);

%产生二进制信号序列

[y,I,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=0:

dt:

T-dt;

subplot(211);

%便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况

%由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10

plot(t(1:

1000),y(1:

1000),t(1:

1000),I(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;

已调信号频谱'

xlabel('

f/fb'

%画出16QAM调制方式对应的星座图

subplot(224);

constel(y1,fs,fb,fc);

title('

星座图'

SNR_in_dB=8:

2:

24;

%AWGN信道信噪比

forj=1:

length(SNR_in_dB)

y_add_noise=awgn(y2,SNR_in_dB(j));

%加入不同强度的高斯白噪声

y_output=qamdet(y_add_noise,fs,fb,fc);

%对已调信号进行解调

numoferr=0;

fori=1:

N

if(y_output(i)~=info(i)),

numoferr=numoferr+1;

end;

Pe(j)=numoferr/N;

%统计误码率

end;

figure;

semilogy(SNR_in_dB,Pe,'

red*-'

xlabel('

SNRindB'

ylabel('

Pe'

16QAM调制在不同信道噪声强度下的误码率'

random_binary.m

%产生二进制信源随机序列

function[info]=random_binary(N)

ifnargin==0,%如果没有输入参数,则指定信息序列为10000个码元

N=10000;

fori=1:

N,

temp=rand;

if(temp<

0.5),

info(i)=0;

%1/2的概率输出为0

else

info(i)=1;

%1/2的概率输出为1

end

qam.m

function[y,I,Q]=qam(x,Kbase,fs,fb,fc);

%

T=length(x)/fb;

m=fs/fb;

nn=length(x);

t=0:

%串/并变换分离出I分量、Q分量,然后再分别进行电平映射

I=x(1:

nn-1);

[I,In]=two2four(I,4*m);

Q=x(2:

nn);

[Q,Qn]=two2four(Q,4*m);

ifKbase==2;

%基带成形滤波

I=bshape(I,fs,fb/4);

Q=bshape(Q,fs,fb/4);

y=I.*cos(2*pi*fc*t)-Q.*sin(2*pi*fc*t);

%调制

qamdet.m

%QAM信号解调

function[xn,x]=qamdet(y,fs,fb,fc);

(length(y)-1)*dt;

I=y.*cos(2*pi*fc*t);

Q=-y.*sin(2*pi*fc*t);

[b,a]=butter(2,2*fb/fs);

%设计巴特沃斯滤波器

I=filtfilt(b,a,I);

Q=filtfilt(b,a,Q);

m=4*fs/fb;

N=length(y)/m;

n=(.6:

1:

N)*m;

n=fix(n);

In=I(n);

Qn=Q(n);

xn=four2two([InQn]);

%I分量Q分量并/串转换,最终恢复成码元序列xn

nn=length(xn);

xn=[xn(1:

nn/2);

xn(nn/2+1:

nn)];

xn=xn(:

xn=xn'

;

bshape.m

%基带升余弦成形滤波器

functiony=bshape(x,fs,fb,N,alfa,delay);

%设置默认参数

ifnargin<

6;

delay=8;

end;

5;

alfa=0.5;

4;

N=16;

end;

b=firrcos(N,fb,2*alfa*fb,fs);

y=filter(b,1,x);

two2four.m

%二进制转换成四进制

function[y,yn]=two2four(x,m);

T=[01;

32];

n=length(x);

ii=1;

n-1;

xi=x(i:

i+1)+1;

yn(ii)=T(xi

(1),xi

(2));

ii=ii+1;

yn=yn-1.5;

y=yn;

m-1;

y=[y;

yn];

y=y(:

)'

%映射电平分别为-1.5;

0.5;

1.5

four2two.m

%四进制转换成二进制

functionxn=four2two(yn);

y=yn;

ymin=min(y);

ymax=max(y);

ymax=max([ymaxabs(ymin)]);

ymin=-abs(ymax);

yn=(y-ymin)*3/(ymax-ymin);

%设置门限电平,判决

I0=find(yn<

0.5);

yn(I0)=zeros(size(I0));

I1=find(yn>

=0.5&

yn<

1.5);

yn(I1)=ones(size(I1));

I2=find(yn>

=1.5&

2.5);

yn(I2)=ones(size(I2))*2;

I3=find(yn>

=2.5);

yn(I3)=ones(size(I3))*3;

%一位四进制码元转换为两位二进制码元

T=[00;

01;

11;

10];

n=length(yn);

n;

xn(i,:

)=T(yn(i)+1,:

xn=xn'

xn=xn(:

constel.m

%画出星座图

functionc=constel(x,fs,fb,fc);

N=length(x);

m=2*fs/fb;

n=fs/fc;

i1=m-n;

i=1;

ph0=(i1-1)*2*pi/n;

whilei<

=N/m;

xi=x(i1:

i1+n-1);

y=2*fft(xi)/n;

c(i)=y

(2);

i=i+1;

i1=i1+m;

%如果无输出,则作图

ifnargout<

1;

cmax=max(abs(c));

ph=(0:

5:

360)*pi/180;

plot(1.414*cos(ph),1.414*sin(ph),'

c'

holdon;

length(c);

ph=ph0-angle(c(i));

a=abs(c(i))/cmax*1.414;

plot(a*cos(ph),a*sin(ph),'

r*'

plot([-1.51.5],[00],'

k:

[00],[-1.51.5],'

holdoff;

axisequal;

axis([-1.51.5-1.51.5]);

通信原理课程设计

——16QAM传输系统设计

学院:

电子与信息工程

专业:

通信工程

姓名:

胡博

学号:

1120119119

指导老师:

罗恒

2014年6月16日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1