目录
1. 16PSK调制原理
在数字调制中,我们将二进制数字序列映射到信号的幅度、相位或频率等参数上。对于16PSK调制,我们主要是将二进制数据映射到信号的相位上。
16PSK将每4位二进制数据映射为8PSK星座图中的一个相位点,16PSK星座图通常将圆周等分为16个相位区间,每个区间对应一个唯一的4位二进制码。假设输入的比特序列为b0b1b2b3,则对应的16PSK符号的相位取值如下:
然后,将这些相位调制到载波上,得到已调信号s(t),其数学表达式为:
其中Es是每个符号的能量,Ts是符号周期,ωc是载波角频率。这种调制方式在频域上表现为将基带信号频谱搬移到载波频率附近,从而实现信号在信道中的有效传输。
2. 16PSK解调原理
16PSK解调的目标是从接收到的已调信号中还原出原始的二进制数据。一般采用相干解调方法,其原理基于信号的相位相干性。首先,对接收到的信号r(t)与本地载波cos(ωct)和sin(ωct)进行相干解调,得到两个分量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