采用2DPSK调制的数字通信系统仿真设计.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
采用2DPSK调制的数字通信系统仿真设计

采用 2DPSK 调制的数字通信系统仿真设计 差分编码移相2DPSK在数字通信系统中是一种重要的调制方式,其抗噪性能和信道频带利用率均优于移幅键控(ASK)和移频键控(FSK),因而在实际的数据传输系统中得到广泛的应用。采用 2DPSK 调制的数字通信系统系统整体框图如图 图1 系统整体框图 1、信道编码(汉明码) 汉明码是一种能纠一位错的线性分组码,由于它的编译码简单,在数据通信和计算机存储系统中广泛应用。设原代码的码长为 k比特,附加纠错编码部分为r比特,当码字长度n = 2 r -1,r=n-k,r = 1 ,2 …时就称这种线性分组码为汉明码。其基本原理是,将信息码元与监督码元通过线性方程式联系起来,每一个监督位被编在传输码字的特定比特位置上。 2、2DPSK信号的调制 2DPSK假设相位值用相位偏移表示 △φ=π→数字信息1 △φ=0→数字信息0 则数字信息序列与2DPSK信号的码元相位关系可举例表示如如下: 数字信息: 0 0 1 1 1 0 0 1 0 1 2DPSK信号相位:0 0 0 π 0 π π π 0 0 π 或 π π π 0 π 0 0 0 π π 0 画出的2PSK及DPSK信号的波形如图2-1所示。 图2 2PSK及2DPSK信号的波形 2DPSK的产生基本类似于2PSK,只是调制信号需要经过码型变换,将绝对码变为相对码。2DPSK产生的原理框图如图2-2所示[1],图(a)为模拟调制法,图(b)为键控法。 (a)模拟调制法 (b)键控法 图3 2DPSK信号的调制原理图 3、信道噪声 信道噪声能够干扰通信效果,降低通信的可靠性。在通信系统的理论分析中常常用到的噪声有:白噪声,高斯噪声,高斯型白噪声,窄带高斯噪声,正弦信号加窄带高斯噪声。仿真中加入信道的噪声为高斯白噪声。所谓高斯白噪声指幅度分布服从高斯分布,功率谱密度又是均匀分布的。 4的解调 4为相干解调法,解调器原理图和解调过程各点时间波形如图4和5所示。其解调原理是:先对2DPSK信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。在解调过程中,若相干载波产生180o相位模糊,解调出的相对码将产生倒置现象,但是经过码反变换器后,输出的绝对码不会发生任何倒置现象,从而解决了载波相位模糊的问题。 图4 相干解调法解调器原理图 图5 解调过程各点时间波形 二、程序源代码 clear; t0=0.15; ts=0.001; fc=200; snr=10; fs=1/ts; df=0.2; t=[ts:ts:t0]; snr_lin=10^(snr/10); y=[]; nm=length(t); %生成2DPSK bn=[];bn(1)=1;%bn是差分码,设bn的第一个符号为1 for i=1:10 x=rand; if x=0.5 m(i)=1; else m(i)=0; end bn(i+1)=xor(m(i),bn(i)); for j=1:15 l=(i-1)*15+j; c(l)=cos(2*pi*fc*t(l)); c1(l)=cos(2*pi*fc*t(l)+pi); if m(i)==1; mi(l)=1; else mi(l)=0; end if bn(i+1)==1; bn1(l)=1; y(l)=c(l); else bn1(l)=0; y(l)=c1(l); end end end %加噪声 signal_power=spower(y(1:length(t))); % power in modulated signal noise_power=signal_power/snr_lin; % compute noise power noise_std=sqrt(noise_power); % compute noise standard deviation noise=noise_std*randn(1,length(y)); % generate noise r=y+noise;

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档