目录
✅1.引言
👉2.算法测试效果
💡3.算法涉及理论知识概要
1️⃣3.1 扩频
2️⃣3.2 QPSK映射/逆映射
3️⃣3.3 帧同步
4️⃣3.4 基于相关峰的定时点提取
5️⃣3.5 解扩
❤️4.Verilog核心接口
✨5.参考文献
🔍6.完整算法代码文件获得
✅1.引言
基于FPGA的QPSK通信链路实现,系统包括QPSK调制模块,QPSK软解调模块,AWGN信道 模块,误码统计模块,数据源模块,相关峰提取帧同步和定时点提取模块,扩频解扩等。
👉2.算法测试效果
vivado2022.2测试
设置SNR=15db
设置SNR=5db
设置SNR=-4db
系统RTL结构图如下:
💡3.算法涉及理论知识概要
整体系统结构如下所示:
1️⃣3.1 扩频
用伪随机码(伪码)c(k)(周期为N,c(k)∈{+1,−1} )扩展信号带宽,实现抗干扰。扩频后信号
2️⃣3.2QPSK映射/逆映射
QPSK(正交相移键控)是一种数字通信 调制技术,通过改变载波信号的相位来传输信息。它将输入的二进制比特流每两个比特分为一组,共有4种组合:00、01、11、10。这4种组合分别对应载波的4个相位状态,通常为0°、90°、180°、270°。在复平面上,可以用复数来表示这些相位状态,如00映射为exp (1i * 0)=1,01映射为exp(1i * π/2)=j,11映射为exp (1i * π)=-1,10映射为exp(1i * 3π/2)=-j,从而实现每符号传输 2 比特信息的高效传输。
QPSK逆映射,根据接收信号的相位状态,将其还原为对应的二进制比特组合。例如,若接收到的信号相位对应90°,则逆映射为01,通过这种方式将经过调制的信号恢复为原始的比特流形式,以便进行后续的译码处理。
3️⃣3.3 帧同步
在数字通信 中,信息通常是以帧为单位进行组织和传输的。帧同步的目的是确定每一帧的起始位置,以便接收端能够正确地解调出每帧中的数据。
设发送的帧结构为:帧同步码 + 信息码元序列 。帧同步码是具有特定规律的码序列,用于接收端识别帧的起始。
帧同步的过程就是在接收序列中寻找与帧同步码匹配的位置,一旦找到匹配位置,就确定了帧的起始位置,后续的码元就可以按照帧结构进行正确的划分和处理。
4️⃣3.4 基于相关峰的定时点提取
在接收信号中,通过寻找与本地已知序列(如训练序列或导频序列)的相关峰来确定定时点。具体来说,将接收信号与本地序列进行相关运算,当两者的相位 和时间对齐时,相关值会出现峰值,这个峰值点对应的位置就是最佳的定时点,用于确定信号的采样时刻,以保证后续信号处理的准确性。
在确定了定时点后,对接收信号进行采样,将采样值与预设的判决门限进行比较,根据比较结果确定接收信号的电平值,从而恢复出原始的二进制比特流。
5️⃣3.5 解扩
用与发射端同步的伪码压缩带宽,恢复原始数据。伪码同步后,解扩输出:
在本课题中,伪码同步采用的是伪码峰值判决的方法,当出现峰值时,说明此时伪码同步。
❤️4.Verilog核心接口
程序构架如下:
✨5.参考文献
[1]程晓畅,苏绍景,王跃科,等.伪随机码超声扩频测距系统设计 与算法[J].测试技术学报, 2007, 21(1):5.DOI:10.3969/j.issn.1671-7449.2007.01.016.
[2]张歆,彭纪肖,李国梁.采用FSK调制的直接序列扩频水声通信技术[J].西北工业大学学报, 2007, 25(2):4.DOI:10.3969/j.issn.1000-2758.2007.02.005.0sj5_007m
🔍6.完整算法代码文件获得
完整程序见博客首页左侧或者打开本文底部GZH名片
(V关注后回复码:X134)
V