通信原理课程设计QPSK信号的调制解调.docx

上传人:b****3 文档编号:10275522 上传时间:2023-05-24 格式:DOCX 页数:15 大小:108.66KB
下载 相关 举报
通信原理课程设计QPSK信号的调制解调.docx_第1页
第1页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第2页
第2页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第3页
第3页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第4页
第4页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第5页
第5页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第6页
第6页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第7页
第7页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第8页
第8页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第9页
第9页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第10页
第10页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第11页
第11页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第12页
第12页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第13页
第13页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第14页
第14页 / 共15页
通信原理课程设计QPSK信号的调制解调.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

通信原理课程设计QPSK信号的调制解调.docx

《通信原理课程设计QPSK信号的调制解调.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计QPSK信号的调制解调.docx(15页珍藏版)》请在冰点文库上搜索。

通信原理课程设计QPSK信号的调制解调.docx

通信原理课程设计QPSK信号的调制解调

一、QPSK信号的调制解调

一、题目要求

利用matlab软件设计并仿真下面的无线通信系统

要求:

1、输入信号为比特流形式,比特速率通常为100kbps数量级。

2、载波频率自定。

通常为MHz数量级。

3、信道为多径信道(仿真中2径即可),信道中噪声为加性高斯白噪声。

4、信噪比自行设定。

5、画出图中各点波形。

6、画出系统误码率与接收端信噪比SNR的关系(蒙特卡洛仿真)。

7、在给定信噪比的情况下,分析多径延时大小对系统性能有没有影响?

画出系统误码率与多径时延大小之间的关系。

 

二、设计思路

1、利用matlab随机函数产生随机0、1的数字信号,频率为100kbps,变成极性码,把得到的数字信号分成两路进行正交调制。

2、载波频率选择为1Mhz,进行调制,即每个码元由10个正弦波调制,每个码元选取100个点表示,即抽样频率为10Mhz。

3、相乘调制后得到的两路信号相加得到的信号,通过天线发送出去。

4、在无线信道中会有高斯白噪声和信号的多径(仿真中2径)时延产生影响。

5、接收端接收到信号后,进行带通滤波,采用巴特沃斯滤波器,将带外噪声滤掉。

6、对信号进行解调,分别乘以cos和sin两路本地载波,得到的结果用低通滤波器滤波,得到解调的信号。

7、对解调得到的信号判决,大于零为+1,小于零为-1,传给信宿。

8、对比判决后的信号和原始极性码,求出误码率。

9、改变在无线信道中加入的高斯白噪声和信号的信噪比,从-19dB到10Db,分别对应的误码率,画出曲线。

10、改变多径(二径)时延,从一个dt到20dt,分别对应的误码率,画出曲线。

三、模块设计

1、发送端产生1000个随机0、1数字信号,并按照奇偶分成两路,a点波形

%%%%%%%%%%%%%%%%%%朱尤祥09通信三班090610131%%%%%%%%%%%%%%%%%%%

%f=100000,信号频率100kbps;fc=1000000 ;载频1Mhz

clearall

num=1000 ;%取num个抽样点

n=100 ;%每个间隔取n个点,来恢复波形和延时

f=100000 ;

fc=1000000 ;

dt=1/f/n ;%时间间隔即为每个码元宽度除以n

t=0 :

dt (1/f*num-dt) ;%总码元时间

N=length(t) ;%长度

t1=0 :

dt (1/f*num/2-dt) ;%串并转换,时间减半

m=1 ;%延时

t2=0 :

dt (1/f*num/2+(m-1)*dt) ;%串并之后,延时m

forrecycle=1 :

10

data=randint(1,num,2) ;%num个抽样点

datanrz=data.*2-1 ;%变成极性码

%串并转换,将奇偶位分开

idata=datanrz(1:

2(num-1));%奇

qdata=datanrz(2:

2:

num);%偶

ich=zeros(1,num*n/2);%初始化波形信号

fori=1:

num/2

ich((i-1)*n+1:

i*n)=idata(i);

end

figure

(1)

subplot(121)

plot(t1,ich);axis([0,1/f*num/2,-1.5,1.5]);title(‘数字信源的一路信号,奇数’);

forii=1:

N/2

a(ii)=cos(2*pi*fc*t(ii));

end

idata1=ich.*a;%奇数位的抽样值与cos函数相乘得到其中的一路信号

qch=zeros(1,num*n/2);

forj=1:

num/2

qch((j-1)*n+1:

j*n)=qdata(j);

end

subplot(122)

plot(t1,qch);axis([0,1/f*num/2,-1.5,1.5]);title(‘数字信源的另一路信号,偶数’);

forjj=1:

N/2

b(jj)=sin(2*pi*fc*t(jj)) ;

end

qdata1=qch.*b ;%偶数位的抽样值与sin函数相乘得到其中的另一路信号

1

2、载波频率为1Mhz,为b点的波形(放大后)

figure

(2)

carrier=cos(2*pi*fc*t1) ;

plot(t1,carrier) ;title(‘fc=1Mhz的载波’) ;

2

3、将两路信号相加,得到发送端发送的信号,即c点波形(放大后)

s=idata1+qdata1 ;%将奇偶相加

figure(3)

plot(t1,s),title(‘调制信号,即是两路合并发送的信号’)

3

4、在信道中加入了高斯白噪声和由于二径时延信号的合成,直射波的幅度取0.7,反射波的幅度取0.3。

%%%%%%%%%%信道的二径与噪声之后接收到得信号x1%%%%%%%%%%%%%%%

a1=0.7 ;%直射波的衰减

a2=0.3 ;%反射波的衰减

%%%%%%%%%时延m*dt

s1=a1*[szeros(1,m)] ;

s2=a2*[zeros(1,m)s] ;

x=s1+s2 ;%二径引起的变化

x1=awgn(x,10)%叠加高斯白噪声,信噪比SNR为10dB

figure(4)

plot(t2,x1) ;title(‘在多径和高斯信道下的接收波形’)

4

5、用巴特沃斯带通滤波器对接收端得到的信号进行滤波,滤掉带外噪声。

%%%%%%%%%%%%%%%%%接收端的带通滤波器x2%%%%%%%%%%%%%%%%

w1=2*dt*(fc-f) ;

w2=2*dt*(fc+f) ;

[c,d]=butter(4,[w1,w2],’bandpass’) ;%4阶butterworth滤波器

x2=filter(c,d,x1) ;

figure(5)

plot(t2,x2) ;title(‘信号通过带通滤波器’) ;

5

6、解调信号并低通滤波

%%%%%%%%%%%%%%%%%信号的解调%%%%%%%%%%%%%%%%

w=2*dt*f ;

[p,q]=butter(4,w,’low’) ;%4阶butterworth低通滤波器

%%%%%%%%%%%%%%%%%%%

x3=cos(2*pi*fc*t2).*x2 ;%乘以载波

x4=filter(p,q,x3) ;

figure(6)

subplot(121)

plot(t2,x4) ;axis([0,1/f*num/2,-1,1]) ;title(‘QPSK解调并经过滤波得到的一路信号’)

%%%%%%%%%%%%%%%%%%%

x5=sin(2*pi*fc*t2).*x2 ;%乘以与之前正交的载波,解调另一半码元串

x6=filter(p,q,x5) ;

subplot(122)

plot(t2,x6) ;axis([0,1/f*num/2,-1,1]) ;title(‘QPSK解调并经过滤波得到的另一路信号’)

6

%%%%%%%%%%%%%%%%%系统的误码率%%%%%%%%%%%%%%%

decoder_i=zeros(1,(num/2));%初始化奇

decoder_q=zeros(1,(num/2));%初始化偶

forg=1:

num/2

decoder_i(g)=x4((n+1)+(g-1)*n);%对奇数列采样

end

forh=1:

num/2

decoder_q(h)=x6((n+1)+(h-1)*n);%对偶数列采样

end

%采样后进行并串转换

decoder=zeros(1,num);

decoder(1:

2(num-1))=decoder_i;

decoder(2:

2:

num)=decoder_q;

%把抽样得到的decoder转化为极性码

forij=1:

num

if(decoder(ij)>0)

decoder(ij)=1;

else

decoder(ij)=-1;

end

end

%比较decoder和datanrz,求误码率

correct_code=0;%正确接收的码元

forij=1:

num

if(decoder(ij)==datanrz(ij))

correct_code=correct_code+1;

end

end

mistake_code=num-correct_code;%误码

error_rate(recycle)=mistake_code/num;%误码率

end

miscode=mean(error_rate);

通过每次仿真1000个码元,循环10次,共10000个码元,取平均值,得到miscode为

7、改变信道中信号与高斯白噪声的信噪比,从-19dB到10dB,分别对应着不用的误码率,画出曲线。

%%%%%%%%%%%%%%%%%%系统的误码率与接收端信噪比SNR的关系%%%%%%%%%%%%%%%%%%

SNR=-20;%初值-19dB

errorrate=zeros(1,30);%初始化对应的误码率

fortimes=1:

30

SNR=SNR+1;

x1=awgn(x,SNR)%叠加高斯白噪声,信噪比SNR

[c,d]=butter(4,[w1,w2],’bandpass’);%4阶butterworth滤波器

x2=filter(c,d,x1);

x3=cos(2*pi*fc*t2).*x2;%乘以载波

x4=filter(p,q,x3) ;

x5=sin(2*pi*fc*t2).*x2 ;%乘以与之前正交的载波,解调另一半码元串

x6=filter(p,q,x5) ;

decoder_i=zeros(1,(num/2));%初始化奇

decoder_q=zeros(1,(num/2));%初始化偶

forg=1:

num/2

decoder_i(g)=x4((n+1)+(g-1)*n);

end

forh=1:

num/2

decoder_q(h)=x6((n+1)+(h-1)*n);

end%抽样后进行并串转换

decoder=zeros(1,num);

decoder(1:

2(num-1))=decoder_i;

decoder(2:

2:

num)=decoder_q;%把抽样得到的decoder转化为极性码,与原始的信号进行比较,求误码率

forij=1:

num

if(decoder(ij)>0)

decoder(ij)=1;

else

decoder(ij)=-1;

end

end%转换为极性码

correct_code=0;%正确接收的码元

forij=1:

num

if(decoder(ij)==datanrz(ij))

correct_code=correct_code+1;

end

end

mistake_code=num-correct_code;%误码

error_rate=mistake_code/num;%误码率

errorrate(times)=error_rate;

end

figure(7)

plot([-19:

10],errorrate);title(‘系统的误码率与接收端信噪比SNR的关系’);

xlabel(‘接收端信噪比SNR/dB’) ;ylabel(‘系统的误码率’) ;

7

从图中可以直观的看出随着在无线信道中加入的高斯白噪声的大小(通过改变awgn函数中的信噪比来实现),误码率也在改变;总体趋势是,接收端信噪比越高,解调得到的信号的误码率就越低,反之,接收端信噪比越低,误码率就会越高。

这个结果也符合正常规律。

8、改变由二径的时延差,从单位dt到20dt,分别对应误码率,画出曲线。

%%%%%%%%%%%%%%%%系统误码率与多径时延大小之间的关系%%%%%%%%%%%%%%%%

%延时m*dt

m=0 ;

fortimes=1 :

20

m=m+1 ;

t3=0 :

dt (1/f*num/2+(m-1)*dt) ;

s1=a1*[szeros(1,m)] ;

s2=a2*[zeros(1,m)s] ;

x=s1+s2 ;%二径引起的变化

x1=awgn(x,10)%叠加高斯白噪声,信噪比SNR为10dB

[c,d]=butter(4,[w1,w2],’bandpass’) ;%4阶butterworth滤波器

x2=filter(c,d,x1) ;

x3=cos(2*pi*fc*t3).*x2 ;%乘以载波

x4=filter(p,q,x3) ;

x5=sin(2*pi*fc*t3).*x2 ;%乘以与之前正交的载波,解调另一半码元串

x6=filter(p,q,x5) ;

decoder_i=zeros(1,(num/2));%初始化奇

decoder_q=zeros(1,(num/2));%初始化偶

forg=1:

num/2

decoder_i(g)=x4((n)+(g-1)*n);

end

forh=1:

num/2

decoder_q(h)=x6((n)+(h-1)*n);

end%抽样后进行并串转换

decoder=zeros(1,num);

decoder(1:

2(num-1))=decoder_i;

decoder(2:

2:

num)=decoder_q;%把抽样得到的decoder转化为极性码,与原始的信号进行比较,求误码率

forij=1:

num

if(decoder(ij)>0)

decoder(ij)=1;

else

decoder(ij)=-1;

end

end%转换为极性码

correct_code=0;%正确接收的码元

forij=1:

num

if(decoder(ij)==datanrz(ij))

correct_code=correct_code+1;

end

end

mistake_code=num-correct_code;%误码

error_rate=mistake_code/num;%误码率

errorrate(times)=error_rate;

end

figure(8)

plot([1:

20],errorrate(1:

20));title(‘系统误码率与多径时延大小之间的关系’);

xlabel(‘多径时延’) ;ylabel(‘系统误码率’) ;

8

可以看出在一定的范围内随着时延的增加,误码率也在增加,但在时延继续增加会出现误码率变低,并且随着抽样率存在一定范围的周期性.

四、心得体会

通过本次matlab仿真QPSK调制通信系统,不但让我对matlab的掌握更深一步,学习了更多的函数;而且对QPSK调制有更加深入的了解,以及整个通信系统的结构。

在QPSK整个系统的设计过程中,让我认识到,要想更加深入的学习理解知识,就必须理论联系实际,提高自己动手编程能力。

 

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2