【仿真测试】基于FPGA的2ASK扩频通信链路实现,包含帧同步,定时点,扩频伪码同步,信道,误码统计

目录

1.引言

2.算法仿真效果

3.算法涉及理论知识概要

[3.1 扩频](#3.1 扩频)

[3.2 插入导频](#3.2 插入导频)

[3.3 2ASK调制](#3.3 2ASK调制)

[3.4 解调](#3.4 解调)

[3.5 帧同步](#3.5 帧同步)

[3.6 基于相关峰的定时点提取](#3.6 基于相关峰的定时点提取)

[3.7 采样判决](#3.7 采样判决)

[3.8 解扩](#3.8 解扩)

4.Verilog核心接口

5.参考文献

6.完整算法代码文件获得


1.引言

基于FPGA的2ASK通信链路实现,系统包括2ASK调制模块,2ASK相干解调模块,AWGN信道模块,误码统计模块,数据源模块,基于相关峰提取的帧同步和定时点提取模块,扩频解扩等。

2.算法仿真效果

vivado2022.2测试

设置SNR=-5db

设置SNR=0db

设置SNR=15db

局部放大:

3.算法涉及理论知识概要

整体系统结构如下所示:

3.1 扩频

用伪随机码(伪码)c(k)(周期为N,c(k)∈{+1,−1} )扩展信号带宽,实现抗干扰。扩频后信号

3.2 插入导频

插入已知导频序列p(t) ,用于接收端帧同步。导频序列为PN序列,插在数据帧的前面。

3.3 2ASK调制

2ASK调制是一种数字调制解调技术,它是基于ASK调制的一种数字调制方式。ASK调制是一种模拟调制方式,它是通过改变载波的振幅来传输数字信号。 2ASK调制的原理是将数字信号转换为二进制码,然后将二进制码与载波信号相乘,得到调制信号。调制后信号:

用载波幅度表示二进制信息,1对应载波,0对应无载波。

3.4 解调

与载波做相干解调,恢复基带信号。解调输出:

经低通滤波后得基带数据的包络。

3.5 帧同步

在数字通信中,信息通常是以帧为单位进行组织和传输的。帧同步的目的是确定每一帧的起始位置,以便接收端能够正确地解调出每帧中的数据。

设发送的帧结构为:帧同步码 + 信息码元序列 。帧同步码是具有特定规律的码序列,用于接收端识别帧的起始。

帧同步的过程就是在接收序列中寻找与帧同步码匹配的位置,一旦找到匹配位置,就确定了帧的起始位置,后续的码元就可以按照帧结构进行正确的划分和处理。

3.6 基于相关峰的定时点提取

在接收信号中,通过寻找与本地已知序列(如训练序列或导频序列)的相关峰来确定定时点。具体来说,将接收信号与本地序列进行相关运算,当两者的相位和时间对齐时,相关值会出现峰值,这个峰值点对应的位置就是最佳的定时点,用于确定信号的采样时刻,以保证后续信号处理的准确性。

3.7 采样判决

在确定了定时点后,对接收信号进行采样,将采样值与预设的判决门限进行比较,根据比较结果确定接收信号的电平值,从而恢复出原始的二进制比特流。

3.8 解扩

用与发射端同步的伪码压缩带宽,恢复原始数据。伪码同步后,解扩输出:

在本课题中,伪码同步采用的是伪码峰值判决的方法,当出现峰值时,说明此时伪码同步。

4.Verilog核心接口

整个程序构架如下:

系统RTL结构如下:

5.参考文献

1程晓畅,苏绍景,王跃科,等.伪随机码超声扩频测距系统设计与算法J.测试技术学报, 2007, 21(1):5.DOI:10.3969/j.issn.1671-7449.2007.01.016.

2杜勇.数字调制解调技术的MATLAB与FPGA实现M.电子工业出版社,2014.

6.完整算法代码文件获得

完整程序见博客首页左侧或者打开本文底部GZH名片

(V关注后回复码:X113)

(或者回复:ASK扩频)

V

相关推荐
FPGA小迷弟11 小时前
FPGA 与卫星:从星载硬件到在轨智能的完整技术解析
fpga开发·架构·fpga·1024程序员节·无线电
NamoAmitabha12811 小时前
CPU 内部结构是什么?---deepseek
fpga开发
abc light12 小时前
ARM 裸机开发(6)——时钟树与定时器
arm开发·单片机·fpga开发
156082072191 天前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot1 天前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長1 天前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟1 天前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav1 天前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
szxinmai主板定制专家1 天前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡1 天前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范