基于MATLAB的DPSK通信系统仿真_第1页
基于MATLAB的DPSK通信系统仿真_第2页
基于MATLAB的DPSK通信系统仿真_第3页
基于MATLAB的DPSK通信系统仿真_第4页
基于MATLAB的DPSK通信系统仿真_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信原理课程实验报告基于MATLAB的DPSK通信系统仿真 院系: 班级: 学号: 姓名: 教师: 2012年12月7日目录1 设计题目······································

2、3;·················32 设计要求·······························

3、83;························33 设计原理························&#

4、183;·······························3 3.1 DPSK调制················&#

5、183;···································3 3.2 DPSK解调············&#

6、183;·······································44 设计流程·········&

7、#183;··············································55 代码实现··

8、··················································

9、····5 5.1 基带信号的获取············································

10、;···5 5.2 差分编码·············································&

11、#183;·······6 5.3 DPSK调制········································&

12、#183;··········7 5.4 AWGN信道·····································&

13、#183;·············8 5.5 限噪处理··································

14、83;··················8 5.6 差分相干解调·····························

15、83;···················9 5.4 AWGN信道····························

16、83;·····················11 5.7 功率谱密度图的绘制6 测试结果·························

17、;······························12 6.1 调制解调正确性的测试·················

18、·······················12 6.2 系统抗噪性能的测试························&#

19、183;·················147 总结·······························&#

20、183;····························178 心得体会····················

21、···································17附:完整代码·············

22、3;·······································181 设计题目 用MATLAB仿真DPSK通信系统2 设计要求 基本参数如下:1) Fc=1800Hz2) Rb=1200bp

23、s3) 考虑加入AWGN信道,Eb/N0=20dB4) 自定义一小段信息序列 结果要求:1) 绘制各阶段信号波形2) 绘制信号的PSD3 设计原理 二进制差分相移键控常简称为二相相对调相,记为2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是只本码元初相与前一码元初相之差。3.1 DPSK调制 DPSK方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。例如,假设相位值用相位偏移表示(定义为本码元初相与前一码元初相只差),并设=数字信息1=0数字信息0则数字信息序列与2DPSK信号的码元相位关系可举例表示如如下:数

24、字信息: 0 0 1 1 1 0 0 1 0 12DPSK信号相位: 0 0 0 0 0 0 或 0 0 0 0 0画出的2PSK及DPSK信号的波形如图3-1所示。图3-1 2PSK及2DPSK信号的波形2DPSK的产生基本类似于2PSK,只是调制信号需要经过码型变换,将绝对码变为相对码。2DPSK产生的原理框图如图2-2所示1,图(a)为模拟调制法,图(b)为键控法。 (a) 模拟调制法 (b) 键控法图3-2 2DPSK信号的调制原理图从上面分析可见,无论接收信号是2DPSK还是2PSK信号,单从接收端看是区分不开的。因此2DPSK信号的功率谱密度和2PSK信号的功率谱密度是完全一样的。

25、3.2 DPSK解调 DPSK信号可以采用相干解调法(极性比较法)和差分相干解调法(相位比较法)。本次设计采用差分相干解调法,图3-3为差分相干解调法原理图。差分相干解调法的思想是直接比较前后码元的相位差。由于此时的解调已同时完成了码变换作业,故无需另加码变换器。由于这种解调方法又无需专门的相干载波,故事一种比较实用的方法。图3-3 2DPSK差分相干解调解调原理图4 设计流程 设计流程如下框图所示,箭头上的信号表示实际传递的信号名称。 bn dn mod modz 差分编码 DPSK调制 AWGN信道 BPF 对比 r Bn mt demod 抽样判决 LPF 延时相乘 差分相干解调5 代码

26、实现5.1 基带信号的获取 利用MATLAB自带函数randint 产生定长度的二进制随机序列sign,为了将sign转换为单极性NRZ信号,要对sign的每个随机码进行T点增样,最后得到基带数字信号bn代码实现如下:% 初始参量定义 %fc=1800; %载波频率Rb=1200; %基带数据传输速率Tb=1/Rb;T=50; %每个Tb内进行的增样点数M=8; %原始码字序列的长度N=9; %差分码字序列的长度sign=randint(1,M); %产生长度为M的随机二进制序列SNR=20; %信噪比% 对sign进行T点增样后的基带数字信号 %bn=; for n=1:M if sign(

27、n)=0; F=zeros(1,T); else F=ones(1,T); end bn=bn,F;end绘图5.2 差分编码 设差分码cfm(二进制序列),差分编码原理为cfmn = bn xor cfmn-1 例如,如果 sign= 1 0 0 1 0 0 1 1 ,那么cfm=1 0 0 0 1 1 1 0 1 ; 同时,还要对得到的差分码cfm进行T点增样,得到差分信号dn(单极性NRZ信号)。代码实现如下:% 差分编码得到差分码cfm %cfm=;cfm(1)=1; %设cfm的初值为1for i=1:M cfm(i+1)=xor(sign(i),cfm(i);end % 对cfm进

28、行T点增样 %dn=; %差分信号for n=1:N; if cfm(n)=0; A=zeros(1,T); %每个symbol进行T点增样 else A=ones(1,T); end dn=dn A; end绘图5.3 DPSK调制 DPSK调制由于PSK调制的主要原因是DPSK调制解决了“不确定性反相”问题,即DPSK信号通过相邻时隙载波相位的变化与否来“携带”信息。 在代码实现这一步的过程中,我假设了一个相邻时隙相位差变量delta,易知,当sign的一个码字为1时,delta=pi,否则delta=0.通过delta就能反映前后时隙的载波相位变化,进而实现DPSK调制。代码实现如下:%

29、 DPSK调制 %t=Tb/T:Tb/T:Tb; %对Tb=1/Rb间隔进行T点划分mod=cos(2*fc*pi*t); %调制后的信号delta=0; %相位差for n=1:M if sign(n)=1; delta=delta+pi; else delta=delta; end c2=cos(2*fc*pi*t+delta); mod=mod c2; end绘图5.4 AWGN信道 利用MATLAB自带函数awgn实现对已调信号mod进行加噪处理。代码实现如下:% 调制信号过高斯白噪声的信道 %modz=awgn(mod,SNR); %过AWGN信道绘图5.5 限噪处理 利用MATLA

30、B自带函数fir1构造FIR I型 带通滤波器,使其对准信号频带,让信号几乎无失真通过,同时抑制带外噪声,此处取BPF的通带宽度为2*Rb,中心频率为fc。(由于设计的是数字滤波器,所以不要忘记对频率进行归一化处理) 值得注意的是,由于设计的滤波器是100阶,所以通过BPF后的信号会有出现接近于一个symbol宽度的时延。所以在信号modz接入BPF前,要对其进行一个拓宽处理,对modz最后一个symbol进行复制,得到modz_broad,再接入到BPF上。 同时,不要忘记对从BPF出来的信号r0进行截取,因为r0的第一个symbol是滤波器时延带来的。代码实现如下:% BPF %modz_

31、broad=modz modz(N-1)*T+1:N*T);fs=Rb*T;hBPF=fir1(100,2*pi*fc-Rb fc+Rb/fs);r0=filter(hBPF,1,modz_broad);r=r0(T+1:(N+1)*T); %对r0进行截取绘图5.6 差分相干解调 差分相干解调的核心思想是比较两个相邻时隙上信号的相位,从而直接还原出信号Bn,分为三步:(1) 延时相乘代码实现如下:% 延时相乘 %r_shift=r(T+1:N*T);demod=;for i=1:M*T; a=r_shift(i) .* r(i); demod=demod a;end绘图(2) LPF 利用M

32、ATLAB自带函数fir1构造FIR I型 低通滤波器,此处取LPF的通带宽度为Rb。 同BPF一样,由于设计的滤波器是100阶,所以通过LPF后的信号会有出现接近于一个symbol宽度的时延。所以要对信号demod接入LPF前,进行拓宽处理,得到demod_broad,再接入到LPF上。 同样,不要忘记对从LPF出来的信号mt0进行截取,因为mt0的第一个symbol是滤波器时延带来的。 代码实现如下:% LPF %demod_broad=demod demod(M-1)*T+1:M*T)hLPF=fir1(100,2*pi*Rb/fs);mt0=filter(hLPF,1,demod_br

33、oad);mt=mt0(T+1:(M+1)*T); %对mt0进行截取绘图(3) 抽样判决 实现思想:对mt一个symbol的T个采样点进行求和,如果sum大于0,则Bn对应这个symbol内的所有点的值为1,反之为0.代码实现如下:% 抽样判决 %Bn=zeros(1,M*T); for i=1:M; if sum( mt( (i-1)*T+1 :i*T ) ) > 0; Bn(i-1)*T+1:i*T)=0; else Bn(i-1)*T+1:i*T)=1; endend绘图 从上图可知,最终经DPSK通信系统调制解调后得到的信号Bn与一开始的基带数字信号bn完全一致。5.7 功率谱

34、密度图的绘制 采用Welch法绘制DPSK调制信号mod的功率谱密度图(Power spectrum magnitude)。选择适当的窗函数w(n),并再周期图计算前直接加进去,加窗的优点是无论什么样的窗函数均可使谱估计非负。二是在分段时,可使各段之间有重叠,这样会使方差减小。本设计中尝试了三种窗,分别是矩形窗、海明窗和Blacman窗。代码实现如下:% PSD %window=boxcar(100); %矩形窗 window1=hamming(100); %海明窗 window2=blackman(100); %Blackman窗 Nfft=N*T*Rb;noverlap=0; %数据无重叠

35、 range='onesided' %计算单边带功率谱密度Pxx,f=pwelch(mod,window,noverlap,Nfft,fs,range); Pxx1,f=pwelch(mod,window1,noverlap,Nfft,fs,range); Pxx2,f=pwelch(mod,window2,noverlap,Nfft,fs,range); figure(3)subplot(311)plot(f,Pxx);axis(0 5000 0 0.0008);title('rectangular window PSD');xlabel('f/Hz&

36、#39;); subplot(312)plot(f,Pxx1);axis(0 5000 0 0.0006);title('Hamming PSD');xlabel('f/Hz'); subplot(313)plot(f,Pxx2);axis(0 5000 0 0.0006);title('Blackman PSD');xlabel('f/Hz');绘图 从第一幅图即rectangular PSD中可以看出,单边带功率谱密度图的中心频率大致在1800Hz即载波频率处,第一零点大致在600Hz和3000Hz,即fc-Rb和fc+Rb处

37、。6 测试结果6.1 调制解调正确性的测试 在前面我取用了一个特例sign=1 0 0 1 0 0 1 1来说明每一步的正确性。下面利用randint 产生定长度的二进制随机序列sign,多次运行结果都显示最终差分相干解调得出的信号Bn与基带数字信号bn一致,说明此次基于MATLAB设计的DPSK通信系统能够成功实现DPSK信号的调制与解调。某几次运行结果的截图如下:6.2 系统抗噪性能的测试 在前面调制解调正确性的测试中,设定信噪比SNR=20.下面通过检验在不同信噪比值下,系统调制解调的正确性,来简单评定系统的抗噪性能。 SNR=10时,正确解调 SNR=5时,正确解调 SNR=2时,正确

38、解调 SNR=1.5时,有误码出现 所以,可以定性判断该系统的抗噪性能良好。7 总结 经过两周的MATLAB课程设计,我收获多多。总结后主要有一下几点可谈1) 良好编程习惯的培养 我们编程时要有良好的风格,源代码的逻辑简明清晰,易读易懂是好程序的重要标准。我的几点小收获是:标识符命名尽量含义鲜明,适当的注解,注意程序的视觉组织。2) 信息筛查能力的训练 拿到一个课程设计题目后,应该从何下手,如何获取有效资源、筛查信息,是对个人能力的一种考验。经过这次试验后,我认为首先需要把理论知识弄透彻(尤其是课本上的),再阅读别人的设计报告,重复别人所做的工作是一种不错学习方法,但是需要懂得去粗取精,提取有

39、效信息,否则会浪费大量时间。3) 调试思想的建立 这次试验中我被很多问题难住,却常常不知如何下手找出错误,经老师指点后才懂得要按一定方法进行调试纠错,结果这些错误常常是一些拼写错误或符号不对称等小错。明确整体的架构,有针对地进行测试。调试方法多种多样,但调试思想的建立却是最为基础、根本。8 心得体会 课程实验是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。在这两周的时间里我切切实实的学到了许多知识,尤其是提高了在MATLAB中的编程能力。回顾起此次通信原理课程实验,至今我仍感慨颇多,在整整两周的时间里,我的心情和课程

40、设计的进展起起伏伏,一度怀疑自己的能力开始否定自己,直到最后把每处都弄通了、达到完美了,心情才真正舒畅开来。 但是,我确实学到很多很多的的东西,同时巩固了所学知识。整个设计的过程,可以说得是困难重重,这毕竟算是自己第一次独立完成,在设计的过程中发现了自己的不足之处,对软件不熟悉,动手能力比较欠缺。设计的过程很纠结,调试的过程也很痛苦,但是知识就是在这个过程中学习的,经验也是在这个过程中积累的。经历过困难才会有更多的收获。掌握正确的方法,保持认真的作风和平和的心态,这样才能真正的学到知识。 这次课程实验终于完成了,在设计中遇到了很多问题,多谢李晓峰老师的耐心讲解,从老师的身上我学到了很多实用的知

41、识,也由衷地庆幸自己能遇到这样一位好老师,不仅专业知识扎实,而且品格高尚、谦和有礼,这就是我理想中的好老师。再次感谢李老师。同时,对给予我帮助的同学们也表示忠心的感谢。附:完整代码% DPSK调制解调 % % 初始参量定义 %fc=1800; %载波频率Rb=1200; %基带数据传输速率Tb=1/Rb;T=50; %每个Tb内进行的增样点数M=8; %原始码字序列的长度N=9; %差分码字序列的长度sign=zeros(1,M);sign=randint(1,N); %产生长度为M的随机二进制序列SNR=1.5; %信噪比 % 对sign进行T点增样后的基带数字信号 %bn=; for n=

42、1:M if sign(n)=0; F=zeros(1,T); else F=ones(1,T); end bn=bn,F;end % 差分编码得到差分码cfm %cfm=;cfm(1)=1; %设cfm的初值为1for i=1:M cfm(i+1)=xor(sign(i),cfm(i);end % 对cfm进行T点增样 %dn=; %差分信号for n=1:N; if cfm(n)=0; A=zeros(1,T); %每个symbol进行T点增样 else A=ones(1,T); end dn=dn A; end % DPSK调制 %t=Tb/T:Tb/T:Tb; %对Tb=1/Rb间隔进

43、行T点划分mod=cos(2*fc*pi*t); %调制后的信号delta=0; %相位差for n=1:M if sign(n)=1; delta=delta+pi; else delta=delta; end c2=cos(2*fc*pi*t+delta); mod=mod c2; end % 调制信号过高斯白噪声的信道 %modz=awgn(mod,SNR); %过AWGN信道 % BPF %modz_broad=modz modz(N-1)*T+1:N*T);fs=Rb*T;hBPF=fir1(100,2*pi*fc-Rb fc+Rb/fs);r0=filter(hBPF,1,modz

44、_broad);r=r0(T+1:(N+1)*T); %对r0进行截取 % 延时相乘 %r_shift=r(T+1:N*T);demod=;for i=1:M*T; a=r_shift(i) .* r(i); demod=demod a;end % LPF %demod_broad=demod demod(M-1)*T+1:M*T)hLPF=fir1(100,2*pi*Rb/fs);mt0=filter(hLPF,1,demod_broad);mt=mt0(T+1:(M+1)*T); %对mt0进行截取 % 抽样判决 %Bn=zeros(1,M*T); for i=1:M; if sum( m

45、t( (i-1)*T+1 :i*T ) ) > 0; Bn(i-1)*T+1:i*T)=0; else Bn(i-1)*T+1:i*T)=1; endend % 画图 % figure(1) %figure(1);subplot(3,3,1);plot(bn);grid on;axis(0 T*N -2 2);title('基带数字信号bn'); figure(1);subplot(3,3,2);plot(dn);grid on;axis(0 T*N -2 2);title('差分信号dn'); figure(1);subplot(3,3,3);plot(mod);grid on;axis(0 T*N -2 2);title('DPSK调制信号mod'); figure(1);subplot(3,3,4);plot(modz);grid onaxis(0 T*N -2 2);title('过AWGN信道后的modz信号'); figure(1);subplot(3,3,5);plot(r);grid onaxis(0 T*N -2 2);title('过BPF后的信号r') figure(1);subplot(3,3,6);plot(demod);grid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论