基于MATLAB的DPSK通信系统仿真

时间:2022-11-20 19:26:33 作者:壹号 字数:7065字

目录

1 设计题目························································3 2 设计要求························································3 3 设计原理························································3

3.1 DPSK调制····················································3 3.2 DPSK解调····················································4

4 设计流程························································5 5 代码实现························································5

5.1 基带信号的获取···············································5 5.2 差分编码·····················································6 5.3 DPSK调制···················································7 5.4 AWGN信道···················································8 5.5 限噪处理·····················································8 5.6 差分相干解调·················································9 5.4 AWGN信道··················································11 5.7 功率谱密度图的绘制

6 测试结果·······················································12

6.1 调制解调正确性的测试········································12 6.2 系统抗噪性能的测试··········································14

7 总结····························································17 8 心得体会·······················································17 附:完整代码·····················································18

1

1 设计题目

用MATLAB仿真DPSK通信系统

2 设计要求

基本参数如下: 1) Fc=1800Hz 2) Rb=1200bps

3) 考虑加入AWGN信道,Eb/N0=20dB 4) 自定义一小段信息序列 结果要求:

1) 绘制各阶段信号波形 2) 绘制信号的PSD

3 设计原理

二进制差分相移键控常简称为二相相对调相,记为2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是只本码元初相与前一码元初相之差。 3.1 DPSK调制

DPSK方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。例如,假设相位值用相位偏移△φ表示(△φ定义为本码元初相与前一码元初相只差),并设

△φ=π→数字信息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信号的波形如图3-1所示。

2

图3-1 2PSK及2DPSK信号的波形

2DPSK的产生基本类似于2PSK,只是调制信号需要经过码型变换,将绝对码变为相对码。2DPSK产生的原理框图如图2-2所示[1],图(a)为模拟调制法,图(b)为键控法。

(a) 模拟调制法 (b) 键控法

图3-2 2DPSK信号的调制原理图

从上面分析可见,无论接收信号是2DPSK还是2PSK信号,单从接收端看是区分不开的。因此2DPSK信号的功率谱密度和2PSK信号的功率谱密度是完全一样的。 3.2 DPSK解调

DPSK信号可以采用相干解调法(极性比较法)和差分相干解调法(相位比较法)。本次设计采用差分相干解调法,图3-3为差分相干解调法原理图。

差分相干解调法的思想是直接比较前后码元的相位差。由于此时的解调已同时完成了码变换作业,故无需另加码变换器。由于这种解调方法又无需专门的相干载波,故事一种比较实用的方法。

3

图3-3 2DPSK差分相干解调解调原理图

4 设计流程

设计流程如下框图所示,箭头上的信号表示实际传递的信号名称。

bn dn mod modz

差分编码 DPSK调制 AWGN信道 BPF 对比 r Bn mt demod 抽样判决 LPF 延时相乘

差分相干解调

5 代码实现

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

4

if sign(n)==0; F=zeros(1,T); else

F=ones(1,T); end

bn=[bn,F]; end

绘图

5.2 差分编码

设差分码cfm(二进制序列),差分编码原理为cfm[n] = b[n] xor cfm[n-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的初值为1 for i=1:M

cfm(i+1)=xor(sign(i),cfm(i)); end

%%%%%%%%%%%%% 对cfm进行T点增样 %%%%%%%%%%%%%% dn=[]; %差分信号 for n=1:N;

…… 此处隐藏0字 ……

if cfm(n)==0;

A=zeros(1,T); %每个symbol进行T点增样 else

A=ones(1,T); end

dn=[dn A]; end

绘图

5