西电B测——基于simulink的2PSK和2DPSK调制解调系统实现

本文档详细介绍了使用Simulink进行2PSK和2DPSK调制解调系统的仿真过程,包括系统组成、参数设置、信号分析和误码率曲线绘制。通过对比,展示了2PSK在抗噪声性能上的优势,并提供了实验的Simulink模型和报告下载链接,便于学习和研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是学校的B级测试实验,仅供学习交流使用

误码率曲线绘制需要用到bertool工具:

bertool工具教程:

通信专业Simulink---画误码率曲线(使用bertool工具)_Enpiyahh的博客-优快云博客_simulink误码率曲线

报告和仿真文件下载链接:

链接:https://pan.baidu.com/s/1Fo5ixtqQpegDMYFd15cctA?pwd=FCNN 
提取码:FCNN

一.仿真目的

1. 了解通信系统的组成、工作原理、信号传输、变换过程;

2. 掌握通信系统的设计方法与参数设置原则;

3. 掌握使用Simulink软件仿真通信系统的方法。

二.任务:

利用SystemView或Simulink实现2PSK/2DPSK调制解调系统。

三.要求:

1.码元速率9.6k;

2.观察调制信号和已调信号的频谱;

3.计算信号的传输效率;

4.观察2PSK中的相位模糊现象,并解释2DPSK是如何克服这种相位模糊问题的;

5.比较二者的抗噪声性能。

四.实验原理:

(1)2PSK调制与解调

2PSK 即二进制相移键控。这是一种用载波相位表示输入信号信息的调制技术。移相键控分为绝对移相和相对移相两种。以未调载波的相位作为基准的相位调制叫作绝对移相。以二进制调相为例,取码元为“1”时,调制后载波与未调载波同相;取码元为“0”时,调制后载波与未调载波反相;“1”和“0”时调制后载波相位差 180°。

相应的信号波形的示例如下:

图1  2PSK信号时域波形

2PSK信号调制原理图如下:

图2  2PSK信号调制原理框图

2PSK信号相干解调原理图如下所示:

图3  2PSK信号相干解调原理框图

(2)2DPSK调制与解调

    2DPSK方式是用前后相邻码元的载波相对相位变化来表示数字信息的。

2DPSK 信号调制器原理图如下所示:

图4  2DPSK调制框图

2DPSK 信号的解调有两种解调方式,一种是差分相干解调,另一种是相干解调——码变换法。后者又称为极性比较——码变换法。

相干解调法:对 2DPSK 信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。

图5  2DPSK解调框图

2PSK系统组成框图:

参数计算:

    基带信号频率:f基带= 9.6kHz    载波频率:f载波= 5×9.6 = 48kHz

    采样频率:Fs = 10*5*9.6 = 480kHz,码元周期:Ts = 1/9.6 = 0.104ms

    低通滤波器频率设置:fpass= 10kHz, fstop= 19.2kHz

    带通滤波器频率设置:fstop1= 2×9.6=19.2kHz, fpass1= 4.5×9.6=43.2kHz

                      fpass2= 5.5×9.6=52.8kHz, fstop2=8×9.6=76.8kHz

    已调信号带宽:B = 2×RB = 2×9.6 = 19.2kHz

各模块参数设置:

    Bernoulli Binary模块:

    载波模块:

    频谱分析仪模块(基带):

    采样频率变换模块:

    极性变换模块:

    高斯白噪声信道模块:

    带通滤波器模块:

    低通滤波器模块:

    零阶保持器模块:

    relay模块:

    误码计算模块:

    由于存在滤波器,系统会有延时,这里设置2个单位延时,这样误码模块才会正确统计。

   

2DPSK系统组成框图:

模块参数设置:

相比2PSK模块只是增加了了差分编码和译码,模块增加了延时器和异或门

延时器模块:

异或门模块:

总的系统模块:

六.仿真结果及分析

2PSK

基带输入信号和解调信号:

可以看到输出信号比原信号延迟了2Ts,这是由于系统两个滤波器导致的

调制信号波形:

可以看到在基带信号变化时,已调信号有180°的相位跳变。

解调部分波形:

可以看到经过高斯白噪声(SNR =0dB)后,2PSK信号存在明显变化。

经过乘法器后可以看到信号已经有基带信号的大致样子

经过低通滤波器滤除高频分量后,信号明显平滑

经过抽样判决后,信号恢复了基带方波信号。

基带信号功率谱:

由于fs = 9600Hz,那么第一个凹陷的位置就应该在fs处,频谱仪显示是9.625kHz,符合理论

载波信号频谱:

可以看到载波的频谱是单一分量f = 48.02kHz,和理论的48kHz相差不大。

已调信号频谱:

可以看到已调信号的功率谱是以f = 48.125kHz为中心的,带宽为(57.656-48.125 )×2=19.02kHz 和理论的19.2kHz相差不大。

误码率模块:

这里可以看到系统总共发送了959个码元,出错的有3个,误码率为0.3%

2DPSK

基带部分信号:包含原信号,差分编码信号,接收信号,差分译码信号

可以看到输出信号比原信号延迟了2Ts,和2PSK一样,这也是由于系统两个滤波器导致的

调制信号波形:

可以看到在差差分编码信号变化时,已调信号有180°的相位跳变。

解调部分波形:

可以看到经过高斯白噪声(SNR =0dB)后,2DPSK信号存在明显变化。

经过乘法器后可以看到信号已经有基带信号的大致样子

经过低通滤波器滤除高频分量后,信号明显平滑

经过抽样判决后,信号恢复了基带方波信号。和PSK信号的是一致的

基带信号功率谱:由于是同一个信号源,所以和2PSK一样

载波信号频谱:

可以看到载波的频谱是单一分量f = 48.02kHz,和理论的48kHz相差不大。

已调信号频谱:

可以看到已调信号的功率谱是以f = 47.952kHz为中心的,带宽为(57.590-47.952 )×2=19.276kHz 和理论的19.2kHz相差不大。

误码率模块:

这里可以看到系统总共发送了959个码元,出错的有10个,误码率为1.04%

综合分析:

误码率曲线:

可以看到2PSK的曲线是在2DPSK下面的,说明PSK性能更好

性能比较:

2PSK和2DPSK,在同样接收959个码元的情况下,通过同样信噪比的高斯白噪声信道,2PSK误码率为

0.3%,小于2DPSK的1.04%,2PSK性能更好。

传输效率:

定义:有用的比特信息/实际传输的比特

由于本次实验没有考虑组装成帧发送,所以每一个比特都是有效信息

因此传输效率为100%

补充一下:针对大家用bertool工具的问题,首先这个工具,得先把误码率计算模块的参数导入到工作区,

就是这里改成Workspace,接下来把变量名称改成ErrorVec(其实改成什么都行),主要这个变量名称要让bertool工具知道。

 

之后在bertool工具中,选择Monte Carol,下面有个Ber variable name,这个写成你刚才改的变量名字。

最后修改信道,要测哪个模块,就修改哪个模块的信道和误码率模块,改完了记得改回来。

把信道的mode 改成Eb/No,下面改成EbNo,这样和bertool工具里的EbNo对应起来了。

 

 

### DPSK调制解调工作原理详解 #### 1. 差分相移键控(DPSK)概述 差分相移键控(Differential Phase Shift Keying, DPSK)是一种改进型的相移键控方法,在发送端不直接传送绝对相位信息,而是利用相邻码元之间的相对相位变化表示信息比特。这种方式可以有效克服由于信道特性引起的载波恢复困难问题。 对于二进制差分相移键控(2-DPSK),其基本思想是在每个符号周期内根据前一时刻的状态决定当前输出信号的相位状态[^2]。 #### 2. 编码过程 在编码过程中,输入的数据流被转换成一系列离散的时间间隔内的不同相位角。具体来说: - 当待发的信息为0时,保持上一个已发射符号相同的相位; - 如果要发送的是1,则相对于前面最近的一个符号反转180度相位。 这种机制使得接收方无需精确知道原始载波的具体频率初始相位即可完成数据解析。 #### 3. 解码流程 接收到带有噪声干扰后的射频信号后,先经过下变频处理得到基带信号;接着采用相干检或非相干检的方法估计出各时间片中的瞬时相位值;最后依据前后两个连续样本间的相位差异判断所携带的实际信息位是0还是1。 为了提高抗噪性能并简化实现难度,实际应用中通常会选用非相干方式来进行解调操作。此时不需要重建本地振荡器同步于远端发射源,只需比较相邻两拍间是否存在显著的角度跳变即可作出决策。 ```matlab % MATLAB代码片段用于模拟简单2-DPSK调制/解调过程 function dpsk_demo() % 参数设置 Fs = 8e3; % 采样率 (Hz) Fc = 500; % 载波频率 (Hz) data_in = randi([0 1], 1, 10); % 随机生成试序列 % 进行2-DPSK调制 modulated_signal = pskmod(data_in, 2, pi, 'diff'); t = linspace(0, length(modulated_signal)/Fs, numel(modulated_signal)); carrier_waveform = cos(2*pi*Fc*t); transmitted_signal = real(modulated_signal .* carrier_waveform); figure; subplot(2,1,1), plot(t, transmitted_signal), title('Transmitted Signal') % 假设理想通道无失真传递至接收端... received_signal = transmitted_signal + 0.5 * randn(size(transmitted_signal)); demodulated_data = pskdemod(received_signal ./ carrier_waveform, 2, pi, 'diff'); subplot(2,1,2), stem(demodulated_data), title('Recovered Data Sequence') end ```
评论 70
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值