▲基于16PSK调制解调+Turbo编译码通信链路matlab误码率仿真

目录

1. 16PSK调制原理

2. 16PSK解调原理

3.Turbo编译码

4.MATLAB程序构架

5.仿真结果

6.完整程序下载


1. 16PSK调制原理

       在数字调制中,我们将二进制数字序列映射到信号的幅度、相位或频率等参数上。对于16PSK调制,我们主要是将二进制数据映射到信号的相位上。       

      16PSK将每4位二进制数据映射为8PSK星座图中的一个相位点,16PSK星座图通常将圆周等分为16个相位区间,每个区间对应一个唯一的4位二进制码。假设输入的比特序列为b0b1b2b3,则对应的16PSK符号的相位取值如下:

然后,将这些相位调制到载波上,得到已调信号​s(t),其数学表达式为:

       其中​Es​是每个符号的能量,​Ts​是符号周期,​ωc​是载波角频率。这种调制方式在频域上表现为将基带信号频谱搬移到载波频率附近,从而实现信号在信道中的有效传输。

2. 16PSK解调原理

16PSK解调的目标是从接收到的已调信号中还原出原始的二进制数据。一般采用相干解调方法,其原理基于信号的相位相干性。首先,对接收到的信号​r(t)与本地载波​cos(ωc​t)和​sin(ωc​t)进行相干解调,得到两个分量​I(t)和​Q(t):

        然后,对​I(t)和​Q(t)进行采样和判决。通过计算​I和​Q的幅度和相位,根据事先设定的相位判决门限,确定接收到的符号的相位。例如,若​I和​Q经过计算得到的相位在​[0,8π​)范围内,则判决接收到的符号对应的二进制数据为 0000 。再通过映射关系的逆变换得到原始的二进制数据。相干解调要求本地载波与接收信号载波同频同相,否则会引入相位误差,影响解调性能。在实际应用中,常采用锁相环(PLL)等技术来实现载波同步。

3.Turbo编译码

Turbo编码的具体流程如下:

1.信息序列输入:长度为N的信息序列u = [u₁, u₂, ..., uₙ]

2.第一路RSC编码:生成信息位u和第一组校验位x₁

3.交织处理:信息序列u经过交织器得到交织序列u'

4.第二路RSC编码:对交织序列u'生成第二组校验位x₂'

5.系统位与校验位组合:

系统位:直接使用原始信息序列u

校验位:通常采用删余方式组合x₁和x₂',形成最终校验序列

6.编码输出:系统位和校验位共同组成Turbo码码字

Turbo编码器的基本结构如图1所示:

Turbo译码器主要包括如下几个结构:两个分量译码器模块,交织器模块,解交织器模块以及硬判决模块。

       Turbo码的译码使用了迭代译码。利用EXIT图实现对迭代译码过程的跟踪,从而估计迭代译码的收敛性。利用EXIT图还可以预测实现一定性能要求时所必须的迭代译码次数。它为分析迭代译码过程和迭代译码方案的设计提供了有力的工具。

4.MATLAB程序构架

整个程序,我们采用如下的流程图实现:

5.仿真结果

6.完整程序下载

完整可运行代码,博主已上传至CSDN,使用版本为matlab2022a/matlab2024b:

(本程序包含程序操作步骤视频)

https://download.csdn.net/download/ccsss22/91184971

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值