1、 2DPSK调制与解调的数字通信系统软件仿真一、 实验内容1、设计系统整体框图及数学模型; 2、产生离散二进制信源,进行信道编码(汉明码),产生2DPSK信号; 3、加入信道噪声(高斯白噪声); 4、2DPSK信号相干解调,信道解码; 5、系统性能分析(信号波形、频谱,白噪声的波形、频谱,信道编解码带来的系统误码率性能增益,误码率与理论曲线对比等)。二、实验原理2DPSK的调制原理在传输信号中,2PSK信号具有较好的误码率性能。但是,在2PSK信号的载波恢复过程中存在着180度的相位模糊,即恢复的本地载波与所需的相干载波可能同相也可能反相,这种相位关系的不确定性将会造成解调出的数字基带信号与发
2、送出的数字基带信号正好相反,即“1”变为“0”,“0”变为“1”,判决器输出输出数字信号全部出错。为了克服此缺点提出二进制差分相移键控(2DPSK)方式。2DPSK信号的产生方法是先对二进制数字基带信号进行差分编码,即把表示数字信息序列的绝对码变换成相对码,然后再根据相对码进行绝对调相,从而变成二进制差分相移键控信号。2DPSK信号调制器原理框图如图2-1所示。2DPSK的解调原理2DPSK的解调方法分为两种:一种是相干解调加码反变换即极性比较法,另一种是差分相干解调即相位比较法。这里采用的是第一种其解调原理是:对2DPSK信号进行相干解调,恢复出相对码,再经码反变换器变换为绝对码从而恢复出发
3、送的二进制数字信息。在解调过程中,由于载波相位模糊性的影响,使得解调出的相对码也可能是“1”和“0”倒置,但经差分译码得到的绝对码不会发生任何倒置的现象,从而解决了载波相位模糊带来的问题。2DPSK的相干解调原理框图如图2-3所示三、仿真设计四、实验结果&分析讨论实验仿真结果: 分析:通过仿真得到的误符号率和误比特率曲线与理论曲线相比差别挺大,比如在理论曲线中在信噪比为12dB时的误符号率和误比特率可达到10-7数量级而在实际仿真中这一数据在10-410-5之间。可能的原因如下:仿真的码元数有点少,本次仿真中仿真的码元数为10万个,从曲线中可以看出在信噪比为9dB的时候,曲线开始变差,从前面的
4、仿真来看跟仿真的码元数少有关系;另一方面,我们产生的是伪随机基带信号,可能带有一定的周期性,在一定程度上影响了误符号率和误比特率与信噪比的关系。程序源代码产生基带信号及码变换:function Coded_Signal=CodeSignal(n,Num_Unit,Signal,bitRate) M=2;%二进制 N=7;%(7,4)Hamming码 m=3; DeCodeSignal =; DeCodeSignal(1) = 0; CodeSignal=encode(Signal,N,N-m); %Hamming编码 CodeSignal=reshape(CodeSignal.,log2(M)
5、,n*N/log2(M).; Signal=reshape(Signal.,log2(M),n*(N-m)/log2(M).; bit2=; for i=1:length(Signal) if Signal(i)=0 bit3=zeros(1,Num_Unit); else bit3=ones(1,Num_Unit); end bit2=bit2,bit3; end figure(1) subplot(3,1,1) plot(bit2); title(基带信号),grid on; axis(0,Num_Unit*(length(Signal)-4),-1.5,1.5); Lenth_Of_Co
6、Sign = length ( CodeSignal );%-%绝对码 -相对码%- DeCodeSignal(1)=0+CodeSignal(1); if DeCodeSignal(1)=2 DeCodeSignal(1)=0; else DeCodeSignal(1)=DeCodeSignal(1); end for ww=2:Lenth_Of_CoSign DeCodeSignal(ww)=DeCodeSignal(ww-1)+CodeSignal(ww); if DeCodeSignal(ww)=2 DeCodeSignal(ww)=0; else DeCodeSignal(ww)=D
7、eCodeSignal(ww); end end Coded_Signal = DeCodeSignal;%-%产生基带信号%- SignalOrign=; for i=1:Lenth_Of_CoSign if CodeSignal(i)=0 SignalOrign1=zeros(1,Num_Unit); else SignalOrign1=ones(1,Num_Unit); end SignalOrign=SignalOrign,SignalOrign1; end subplot(3,1,2) plot(SignalOrign); title(编码后基带信号),grid on; axis(0
8、,Num_Unit*Lenth_Of_CoSign,-1.5,1.5); subplot(3,1,3) %plot(abs(fft(SignalOrign); P,F=t2f(SignalOrign,Num_Unit*bitRate); plot(F,P) title(基带信号频谱);end2DPSK调制:function Moduled_coSignal=Modu2DPSK(coSignal,bitRate,Freq_Carrier,N) t=linspace(0,1/bitRate,N); c1=sin(2*pi*t*Freq_Carrier); c2=sin(2*pi*t*Freq_Ca
9、rrier + pi); Moduled_coSignal=; for ii=1:length(coSignal) if coSignal(ii)=1 Moduled_coSignal = Moduled_coSignal,c1; else Moduled_coSignal = Moduled_coSignal,c2; end end figure(9) P2,F2=t2f(Moduled_coSignal,bitRate*N); plot(F2,P2) title(调制后频谱) %figure(2) % 画调制图 %plot(1:length(transmittedSignal),trans
10、mittedSignal);title(Modulation of BPSK);grid on; %figure(3)%画频谱图 %m=0:length(Moduled_Signal)-1; %F=fft(Moduled_Signal); %plot(m,abs(real(F),title(BPSK_frequency-domain analysis real); %grid on;Endfunction P, f= t2f(s, fs) % s代表输入信号,S代表s的频谱,fs是采样频率N= length(s); %样点总数T= 1/fs*N; %观察时间f= -N/2:(N/2-1)/T;
11、 % 频率采样点tmp1= fft(s)/fs;tmp2= N*ifft(s)/fs;S(1:N/2)= tmp2(N/2+1: -1:2);S(N/2+1:N)= tmp1(1:N/2);P = abs(S).2./T;Endfunction Signal= SignalSet(n,Num_Unit,bitRate)Signal = randint(n,4,2);end编码:function coSignalAndNoise=InforChannel(Moduled_coSignal,ebno,Num_Unit,bitRate,Freq_Carrier,n,conumbits,numbits
12、) Eb =(1/conumbits)*sum(Moduled_coSignal.2); EbNo = 10.(ebno./10); No = Eb./EbNo; nstdv = sqrt(No./2); k = 1; Noise(k,:) = nstdv.*randn(1,length(Moduled_coSignal); coSignalAndNoise(k,:) = Noise(k,:)+Moduled_coSignal; figure(2) subplot(3,1,1) plot(Moduled_coSignal); title(已调信号),grid on;% axis(0,Num_U
13、nit*Lenth_Of_CoSign,-2.5,2.5); subplot(3,1,2) plot(1:length(Noise),Noise),grid on; title(噪声);% axis(0 Num_Unit*Lenth_Of_CoSign 0 400); subplot(3,1,3) plot(1:length(coSignalAndNoise),coSignalAndNoise),grid on; title(加噪声的已调信号);% axis(0 Num_Unit*Lenth_Of_CoSign 0 400); figure(11) subplot(311) p3,f3=t2f
14、(coSignalAndNoise,Num_Unit*bitRate); plot(f3,p3) t=linspace(0,(7*n)/bitRate,7*n*Num_Unit);% 7bits 700份 wp=2*pi*Freq_Carrier*0.9 2*pi*Freq_Carrier*1.1;ws=2*pi*Freq_Carrier*0.8 2*pi*Freq_Carrier*1.2;Rp=1;Rs=2; N,wc=buttord(wp,ws,Rp,Rs,s); B,A=butter(N,wc,s); H,W=freqz(B,A); H=tf(B,A); coSignalAndNoise
15、,t1=lsim(H,coSignalAndNoise,t); p4,f4=t2f(coSignalAndNoise,Num_Unit*bitRate); subplot(313) plot(f4,p4);title(通过带通后的频谱)end相干解调:function Demoduled_coSignal=demo2DPSK(coSignalAndNoise,bitRate,Freq_Carrier,n,Num_Unit) t=linspace(0,7/bitRate,7*Num_Unit);% 7bits 700份 c=sin(2*pi*t*Freq_Carrier); Carrier=;
16、for i=1:n Carrier=Carrier,c; end % SignalAndNoise % Carrier0 coSignalAndNoise=coSignalAndNoise; Demoduled_coSignal0=coSignalAndNoise.*Carrier; %乘同频同相sin figure(8) p,f=t2f(Demoduled_coSignal0,bitRate*Num_Unit); plot(f,p); title(相干输出波形频谱); figure(3) subplot(3,1,1) plot(1:length(Carrier),Carrier);grid
17、on; title(同频同相载波波形)% axis(0,Num_Unit*Lenth_Of_CoSign,-2.5,2.5); subplot(3,1,2) plot(1:length(Demoduled_coSignal0),Demoduled_coSignal0),grid on; title(相干输出波形);% axis(0 Num_Unit*Lenth_Of_CoSign 0 400);% axis(0 Num_Unit*Lenth_Of_CoSign 0 400); % figure(8) %相干输出波形 % plot(signal2);grid on; % figure(10);p
18、lot(abs(fft(signal2);低通滤波器 : wp=2*pi*Freq_Carrier*0.1;ws=2*pi*Freq_Carrier*0.11;Rp=1;Rs=4; N,wc=buttord(wp,ws,Rp,Rs,s); B,A=butter(N,wc,s); H,W=freqz(B,A); H=tf(B,A); t=linspace(0,(7*n)/bitRate,7*n*Num_Unit);% 7bits 700份 Demoduled_coSignal1,t1=lsim(H,Demoduled_coSignal0,t); subplot(3,1,3) plot(1:len
19、gth(Demoduled_coSignal1),Demoduled_coSignal1),grid on; title(低通滤波输出波形); % figure(4)% plot(W,abs(H); % title(低通滤波器幅频特性) % xlabel(相对频率);ylabel(幅频);抽样判决: LL=Num_Unit; i=LL+LL/2; x=1; while (i=length(Demoduled_coSignal1)-6*LL) if Demoduled_coSignal1(i) 接收信号波形%- bit=; for i=1:length(cosign_result1) if co
20、sign_result1(i)=0 bit1=zeros(1,Num_Unit); else bit1=ones(1,Num_Unit); end bit=bit,bit1; end figure(5)%二进制接收信号波形 subplot(2,1,1) plot(bit);title(接收信号波形);grid on; axis(0,Num_Unit*length(cosign_result1),-1.5,1.5);%-%译码%- cosign_result1=reshape(cosign_result1.,7,n-1); cosign_result1=cosign_result1.; cosi
21、gn_result2=decode(cosign_result1,7,4); %译码 cosign_result2=reshape(cosign_result2.,1,(n-1)*4).; Demoduled_coSignal=cosign_result2; bit1=; for i=1:length(Demoduled_coSignal) if Demoduled_coSignal(i)=0 bit2=zeros(1,Num_Unit); else bit2=ones(1,Num_Unit); end bit1=bit1,bit2; end subplot(2,1,2) plot(bit1)
22、;title(译码后波形);grid on; axis(0,Num_Unit*length(Demoduled_coSignal),-1.5,1.5); endfunction transmittedSignal=bpskModu(signal,bitRate,fc,N) k=0; t=linspace(0,1/bitRate,N); c1=sin(2*pi*t*fc + k*pi); % c2=sin(2*pi*t*fc + pi); transmittedSignal=; for i=1:length(signal) c1=sin(2*pi*t*fc + k*pi); if signal(
23、i)=1 k=1; transmittedSignal = transmittedSignal,c1; else transmittedSignal = transmittedSignal,c1; end endfigure(2) % 画调制图plot(1:length(transmittedSignal),transmittedSignal);title(Modulation of BPSK);grid on;figure(3)%画频谱图m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F),ti
24、tle(BPSK_frequency-domain analysis real);grid on;end主程序:close allclear alln=25000;%二进制码组 每组4位M=2;%二进制N=7;%(7,4)Hamming码m=3;Freq_Carrier=50000;%载波频率bitRate=5000;%信息频率Num_Unit=100;%码宽EbN0=-6:18; %信噪比,E/N0indx = 1;coNumbits = 7*n;Numbits = 4*n;%while(indxlength(EbN0)for indx=1:length(EbN0)Signal=Signal
25、Set(n,Num_Unit,bitRate);Coded_Signal=CodeSignal(n,Num_Unit,Signal,bitRate);%生成二进制代码Moduled_coSignal=Modu2DPSK(Coded_Signal,bitRate,Freq_Carrier,Num_Unit);%对编码信号进行调制并进行频谱分析coSignalAndNoise=InforChannel(Moduled_coSignal,EbN0(indx),Num_Unit,bitRate,Freq_Carrier,n,coNumbits,Numbits);%加信道噪声Demoduled_coSi
26、gnal=demo2DPSK(coSignalAndNoise,bitRate,Freq_Carrier,n,Num_Unit);%编码信号解调Signal=reshape(Signal.,log2(M),n*(N-m)/log2(M).; Signal=Signal(1:(length(Signal)-4);errorcode coBER(indx)=biterr(Signal,Demoduled_coSignal);endfigure(6)semilogy(EbN0,coBER,-ro) %画出BER和SNR随SNR变化的曲线legend(BER,coBER)title(QPSK在AWGN
27、信道下的性能)xlabel(信噪比(dB))ylabel(误符号率和误比特率)%axis(-6 18 10.(-10) 0)心得体会本次课程设计在刚开始的过程中无从下手,手忙脚乱,时间又紧。通过这次课程设计我们能够比较系统的了解理论知识,掌握了2DPSK调制解调的工作原理及2DPSK调制解调系统的工作过程,学会了使用仿真软件Matlab,并学会通过应用软件仿真来实现某些通信系统的设计,对以后的学习和工作都起到了一定的作用,加强了动手能力和学业技能。课程设计主要是我们理论知识的延伸,它的目的主要是要在设计中发现问题,并且自己要能找到解决问题的方案,形成一种独立的意识。我们还能从设计中检验我们所学
28、的理论知识到底有多少,巩固我们已经学会的,不断学习我们所遗漏的新知识,把这门课学的扎实。当然在做课程设计的过程中总会出现各种问题,在这种情况下我们都会努力寻求最佳路径解决问题,无形间提高了我们的动手,动脑能力,并且同学之间还能相互探讨问题,研究解决方案,增进大家的团队意识。总的来说,这次课程设计让我们收获颇多,不仅让我们更深一步理解书本的知识,提高我们分析问题和解决问题的能力,而且让我们体会到团队的重要性参考文献:1. 樊昌信,张甫翊,徐炳祥,吴成柯.通信原理(第5版),国防工业大学出版社,20012. 李建新,现代通信系统分析与仿真MATLAB通信工具箱M,西安电子科技大学出版社,2002.3. 邓华,MATLAB通信仿真及应用实例详解出M,人民邮电出版社4. 李宗豪.基本通信原理M.北京:北京邮电大学出版社,2006:3839.
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922