1、word文档整理分享2ASK、2FSK、2PSK数字调制系统的Matlab实现及性能分析与比较引言:数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性.必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。根据控制载波参量大的不同,数字调制有调幅(ASK),调频(FSK),调相(PSK)三种基本形式.Matlab用于仿真,分析和修改,还可以应用图形界面功能GUI能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab对数字系统进行仿真。
2、通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能()及影响性能的因素,从而便于改进系统,获得更佳的传输性能。 关键词:数字。系统。 性能. ASK。 FSK。 PSK. Matlab. 仿真.一.数字调制与解调原理1。1 2ASK(1)2ASK2ASK就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号1时,传输载波;当调制的数字信号为0”时,不传输载波。公式为:1。2 2FSK2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不
3、多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号.公式如下:1。3 2PSK2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者表示数据1或者0,每种相位与之一一对应。二数字调制技术的仿真实现本课程设计需要借助MATLAB的M文件编程功能,对2ASK.。2PSK。2FSK进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。1.2ASK代码主函数close allclear alln=16;fc=1000000; bitRate=1000000;N=50;noise=ti;noise
4、=10;signal=source(n,N); 生成二进制代码transmittedSignal=askModu(signal,bitRate,fc,N);调制后信号signal1=gussian(transmittedSignal,noise);加噪声configueSignal=demoASK(signal1,bitRate,fc,n,N);source代码function sendSignal=source(n,N) sendSignal=randint(1,n) bit=;for i=1:length(sendSignal) if sendSignal(i)=0 bit1=zeros(
5、1,N);else bit1=ones(1,N);end bit=bit,bit1;end figure(1) plot(1:length(bit),bit),title(transmitting of binary),grid on; axis(0,Nlength(sendSignal),-2,2);endaskModu代码function transmittedSignal=askModu(signal,bitRate,fc,N)signal为输入信号,bitrate为bit速率,fc调制信号频率,N signal=0 0 1 0 1 1 0 1; bitRate=1000000;% fc
6、=1000000;% N=32; t=linspace(0,1/bitRate,N); c=sin(2*pi*tfc); transmittedSignal=;for i=1:length(signal) transmittedSignal=transmittedSignal,signal(i)c;endfigure(2) %画调制图plot(1:length(transmittedSignal),transmittedSignal);title(Modulation of ASK);gridon;figure(3)画频谱实部m=0:length(transmittedSignal)1;F=f
7、ft(transmittedSignal);plot(m,abs(real(F)),title(ASK_frequencydomain analysis real);grid on;figure(4) 画频谱虚部plot(m,imag(F);title(ASK_frequency-domain analysis imag);grid on;endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2if(signal1(ki)=signal2(ki)) rights=r
8、ights+1;else wrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);enddemoASK代码function bitstream=demoASK(receivedSignal,bitRate,fc,n,N) load num signal1=receivedSignal; signal2=abs(signal1); signal3=filter(num1,1,signal2); %LPF, IN=fix(length(num1)/2); bitstream=; LL=fc/bitRate*N; i=IN+LL/2;while (i
9、=length(signal3) bitstream=bitstream,signal3(i)=0.5; i=i+LL;end figure(6) subplot(3,1,1); %接收波形 plot(1:length(signal1),signal1);title(Wave of receiving terminal(including noise);grid on; subplot(3,1,2);接收整流后波形 plot(1:length(signal2),signal2);title(Wave of commutate);grid on; subplot(3,1,3);包络检波波形 pl
10、ot(1:length(signal3),signal3);title(Wave of LPF);grid on; bit=;for i=1:length(bitstream)if bitstream(i)=0 bit1=zeros(1,N);else bit1=ones(1,N);end bit=bit,bit1;end figure(7)%解调后的二进制波形 plot(bit),title(binary of receiving terminal),grid on; axis(0,Nlength(bitstream),2。5,2.5);endgussian代码 加高斯白噪声function
11、 signal=gussian(transmittedSignal,noise) signal=sqrt(2)transmittedSignal; signal=awgn(signal,noise); figure(5) plot(1:length(signal),signal); title(Wave including noise),grid on;end/ fsk主函数代码close allclear alln=16;二进制代码长度f1=18000000;%频率1f2=6000000;%频率2bitRate=1000000;%bit速率N=50;%码元宽度%noise=ti;noise=
12、10;家性噪声大小signal=source(n,N);产生二进制代码transmittedSignal=fskModu(signal,bitRate,f1,f2,N);调制signal1=gussian(transmittedSignal,noise);加噪声configueSignal=demoFSK(signal1,bitRate,f1,f2,N);%解调source代码二进制信号产生函数function sendSignal=source(n,N) sendSignal=randint(1,n) bit=;for i=1:length(sendSignal)if sendSignal(
13、i)=0 bit1=zeros(1,N);else bit1=ones(1,N);end bit=bit,bit1;end figure(1) plot(bit),title(transmitting of binary),grid on; axis(0,Nlength(sendSignal),-2.5,2。5);endfskModu代码频率调制函数function transmittedSignal=fskModu(signal,bitRate,f1,f2,N) t=linspace(0,1/bitRate,N); c1=sin(2*pit*f1);调制信号1 c2=sin(2*pi*tf2
14、);%调制信号2 transmittedSignal=;for i=1:length(signal)%调制if signal(i)=1 transmittedSignal=transmittedSignal,c1;else transmittedSignal=transmittedSignal,c2;endendfigure(2) %画调制后波形图plot(1:length(transmittedSignal),transmittedSignal);title(Modulation of FSK);grid on;figure(3) 画调制后频谱图m=0:length(transmittedS
15、ignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F)),title(ASK_frequency-domain analysis real);grid on;enddemoFSK代码function bitstream=demoFSK(receivedSignal,bitRate,f1,f2,N) load num signal1=receivedSignal; signal2=filter(gaotong,1,signal1); 通过HPF,得到高通分量 signal3=abs(signal2); %整流 signal3=filter(low
16、pass,1,signal3);%通过低通,形成包络 bitstream=; IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2); %延迟时间 bitstream1=; LL=N; 每个bit的抽样点数 i=IN1 +LL/2;while (i=length(signal3) %判决 bitstream1=bitstream1,signal3(i)=0。5; i=i+LL;end bitstream1 figure(5) subplot(3,1,1); plot(1:length(signal1),signal1);title(Wave of r
17、eceiving terminal(including noise);grid on; subplot(3,1,2); plot(1:length(signal2),signal2);title(After Passing HPF);grid on; subplot(3,1,3); plot(1:length(signal3),signal3);title(After Passing LPF);grid on; signal4=filter(daitong,1,signal1); 通过BPF得到低频分量 signal5=abs(signal4); %整流 signal5=filter(lowp
18、ass,1,signal5); 通过LPF,形成包络 IN2=fix(length(lowpass)/2)+fix(length(daitong)/2); 延迟时间 bitstream2=; LL=N; %每个bit的的抽样点数 i=IN2 +LL/2;while (ibitstream2(i) bitstream(i)=1;else bitstream(i)=0;endend bitstream bit=; 接收端波形for i=1:length(bitstream)if bitstream(i)=0 bit1=zeros(1,N);else bit1=ones(1,N);end bit=b
19、it,bit1;end figure(7) plot(bit),title(binary of receiving terminal),grid on; axis(0,Nlength(bitstream),2。5,2。5); endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s2if(signal1(ki)=signal2(ki)) rights=rights+1;else wrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+r
20、ights);endgussian代码function signal=gussian(transmittedSignal,noise) signal=sqrt(2)transmittedSignal; signal=awgn(signal,noise); figure(4) plot(1:length(signal),signal),title(Adding Noise); grid on;end2psk主函数代码close allclear alln=16;二进制码长fc=1000000;载波频率bitRate=1000000;信息频率N=50;码宽noise=10;%信道加性噪声大小sig
21、nal=source(n,N);%生成二进制代码transmittedSignal=bpskModu(signal,bitRate,fc,N);对信号进行调制并进行频%谱分析signal1=gussian(transmittedSignal,noise)%加信道噪声configueSignal=demoBPSK(signal1,bitRate,fc,n,N);信号解调source代码function sendSignal=source(n,N) sendSignal=randint(1,n) bit=;for i=1:length(sendSignal)if sendSignal(i)=0 b
22、it1=zeros(1,N);else bit1=ones(1,N);end bit=bit,bit1;end figure(1) plot(bit),title(transmitting of binary),grid on; axis(0,Nlength(sendSignal),-2。5,2。5);endbpskModu代码function transmittedSignal=bpskModu(signal,bitRate,fc,N) t=linspace(0,1/bitRate,N); c1=sin(2*pit*fc); c2=sin(2pitfc + pi); transmittedS
23、ignal=;for i=1:length(signal)if signal(i)=1 transmittedSignal=transmittedSignal,c1;else transmittedSignal=transmittedSignal,c2;endendfigure(2) %画调制图plot(1:length(transmittedSignal),transmittedSignal);title(Modulation of BPSK);grid on;figure(3)画频谱图m=0:length(transmittedSignal)1;F=fft(transmittedSigna
24、l);plot(m,abs(real(F)),title(BPSK_frequency-domain analysis real);grid on;endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s2if(signal1(ki)=signal2(ki) rights=rights+1;else wrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);enddemoBPSK代码function bitstream=d
25、emoBPSK(receivedSignal,bitRate,fc,n,N) load num读取num存储的低通滤波用的数据 signal1=receivedSignal; t=linspace(0,1/bitRate,N); c=sin(2pitfc); signal=;for i=1:n signal=signal,c;end signal2=signal1.signal; %乘同频同相sin signal3=filter(num1,1,signal2); LPF,包络检波3 IN=fix(length(num1)/2); 延迟时间 bitstream=; LL=fc/bitRateN;
26、 i=IN+LL/2;while (i=length(signal3) 判决 bitstream=bitstream,signal3(i)=0; i=i+LL;end figure(5) subplot(3,1,1);画接收的包含噪声的波形 plot(1:length(signal1),signal1);title(Wave of receiving terminal(including noise);grid on; subplot(3,1,2);%相干解调波形 plot(1:length(signal2),signal2);title(After Multipling sin Fuctio
27、n);grid on; subplot(3,1,3);包络检波波形 plot(1:length(signal3),signal3);title(Wave of LPF);grid on; bit=;for i=1:length(bitstream)if bitstream(i)=0 bit1=zeros(1,N);else bit1=ones(1,N);end bit=bit,bit1;end figure(6)二进制接收信号波形 plot(bit);title(binary of receiving terminal);grid on; axis(0,N*length(bitstream),
28、2.5,2。5);endgussian代码function signal=gussian(transmittedSignal,noise) signal=sqrt(2)*transmittedSignal; signal=awgn(signal,noise); figure(4) plot(1:length(signal),signal),grid on; title(Adding noise)end三种调制方式的性能比较:load PeRate;load PeRatep;%补偿误差fpeask(15)=1e-3;fpefsk(9)=1e-3;fpepsk(24)=0。002;fpepsk(2
29、6)=1e3;figure(1)semilogy(-6:length(fpeask)7,fpeask,-6:length(fpefsk)-7,fpefsk,-30:length(fpepsk)-31,fpepsk),grid on;title(Analysis Of Bit Error Rate);legend(ASK,FSK,PSK);xlabel(r/dB);ylabel(Pe);figure(2)semilogy(6:length(fpefsk)-7,fpeask);grid on;title(Bit Error Rate Of ASK);xlabel(r/dB);ylabel(PeAS
30、K);figure(3)semilogy(-6:length(fpefsk)-7,fpefsk);grid on;title(Bit Error Rate Of FSK);xlabel(r/dB);ylabel(PeFSK);figure(4)semilogy(16:length(fpepsk)-17,fpepsk);grid on;title(Bit Error Rate Of PSK);axis(-16,10,1e3,1);xlabel(r/dB);ylabel(PePSK);三程序与调制解调波形3。1 2ASK波形1随机信号产生2ASK信号调制3信号噪声附加4接受信号解调5解调出的基带信
31、号3。2FSK1随机信号产生2FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号3。3PSK1随机信号产生2FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号3。4误码率分析1。2ASK误码率分析2。2FSK误码率分析3.2PSK误码率分析4性能比较4课程设计心得体会经过紧张而有辛苦的一周的通信原理课程设计,当辛苦的汗水换来的是成功的喜悦时,感觉自己又完成了对自己的一个新的超越,这大大增加了我的自信心,也是对自己的能力的肯定.但更重要的时课程设计是理论与实践的结合,在此过程中可谓收获颇丰,这一点远比结果重要,不仅提高了分析问题和解决问题的能力,坦白说在此过程中困难重重首先是
32、对matlab的重新认识,5。参考文献1樊昌信。 通信原理(第6版)。国防工业出版社,2006,092 黎洪松. 数字通信原理。西安电子系科技大学出版社,2005,073 任嘉伟.数字频带通信系统计算机仿真J。电脑知识与技术,2008,074 吕跃广 通信系统仿真。电子工业出版社,2010。035席在芳等 基于SIMULINK 的现代通信系统仿真分析J.系统仿真学报 2006,18(10)6孙学军等。 通信原理 电子工业出版社,2001年7宫锦文. 通信原理实验指导书 电子工业出版社,2007年8孙学军等。 通信原理 电子工业出版社,2001年9季飞。 通信系统仿真与建模 电子工业出版社,20
33、07年10刘卫国。 MATLAB程序设计教程 中国水利水电出版社,2005年11 张德丰。 MATLAB通信工程仿真 机械工业出版社,20010年一 课程设计任务1、 系统建模2、 确定仿真算法3、 建立仿真模型4、 设计仿真程序5、 运行仿真程序6、 输出仿真结果并进行分析1。2 课程设计目的通信系统的计算机仿真是利用计算机对所研究的通信系统结构、功能和行为进行动态模拟, 本设计要求利用MATLAB程序的运行来模拟通信系统的动态工作过程。加强学生对通信系统专业知识的理解和掌握,训练并提高其在通信系统建模、通信系统设计、资料文献查阅、通信系统仿真、通信系统性能分析等方面的能力。1。3 课程设计要求运用matlab的M文件编程实现2ASK。2PSK.2FSK调制解调过程,并输出调制后的波形,比较其误码率,并分析比较其调制效果。 参考资料
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100