news 2026/5/26 7:20:37

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【仿真测试】基于FPGA的2FSK扩频通信链路实现,包含帧同步,定时点,扩频伪码同步,信道,误码统计

目录

1.引言

2.算法仿真效果

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

3.1 扩频

3.2 插入导频

3.3 2FSK调制

3.4 2FSK解调

3.5 帧同步

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

3.7 采样判决

3.8 解扩

4.Verilog核心接口

5.参考文献

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


1.引言

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

2.算法仿真效果

vivado2022.2测试

设置SNR=15db

设置SNR=3db

设置SNR=-5db

局部放大:

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

整体系统结构如下所示:

3.1 扩频

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

3.2 插入导频

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

3.32FSK调制

在二进制频移键控中,幅度恒定不变的载波信号的频率随着输入码流的变化而切换(称为高音和低音,代表二进制的1 和0)。产生FSK 信号最简单的方法是根据输入的数据比特是0还是1,在两个独立的振荡器中切换。采用这种方法产生的波形在切换的时刻相位是不连续的,因此这种FSK 信号称为不连续FSK 信号。由于相位的不连续会造频谱扩展,这种FSK 的调制方式在传统的通信设备中采用较多。随着数字处理技术的不断发展,越来越多地采用连继相位FSK调制技术。目前较常用产生FSK 信号的方法是,首先产生FSK 基带信号,利用基带信号对单一载波振荡器进行频率调制。相位连续的FSK信号的功率谱密度函数最终按照频率偏移的负四次幂衰落。如果相位不连续,功率谱密度函数按照频率偏移的负二次幂衰落。

在二进制频移键控(2FSK)中,当传送“1”码时对应于载波频率,传送“0”码时对应于载波频率。 2FSK信号波形可看作两个2ASK信号波形的合成,下图是相位连续的2FSK信号波形。

3.4 2FSK解调

FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。

FSK:频移键控是利用两个不同频率f1和f2的振荡源来代表信号1和0,用数字信号的1和0去控制两个独立的振荡源交替输出。对二进制的频移键控调制方式,其有效带宽为B=2xF+2Fb,xF是二进制基带信号的带宽也是FSK信号的最大频偏,由于数字信号的带宽即Fb值大,所以二进制频移键控的信号带宽B较大,频带利用率小。

3.5 帧同步

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

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

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

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

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

3.7 采样判决

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

3.8 解扩

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

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

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.

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

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

(V关注后回复码:X115

(或者回复:FSK扩频

V

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 11:00:12

YimMenu防崩溃机制实战指南:8大防护策略让GTA V稳定性提升300%

YimMenu防崩溃机制实战指南:8大防护策略让GTA V稳定性提升300% 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending…

作者头像 李华
网站建设 2026/5/20 19:23:56

Markdown Here写作效率革命:从零到精通的终极指南

Markdown Here写作效率革命:从零到精通的终极指南 【免费下载链接】markdown-here Google Chrome, Firefox, and Thunderbird extension that lets you write email in Markdown and render it before sending. 项目地址: https://gitcode.com/gh_mirrors/ma/mark…

作者头像 李华
网站建设 2026/5/21 11:58:55

BiliTools跨平台B站资源下载工具:2026年最新操作手册

BiliTools跨平台B站资源下载工具:2026年最新操作手册 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliT…

作者头像 李华
网站建设 2026/5/21 11:26:31

fwupd 是什么

fwupd 是 Linux 系统上一个专门用于更新设备固件的开源守护进程。简单说,它让你的Ubuntu系统能够像更新软件一样,方便、安全地更新电脑硬件的“驱动程序”。为了方便你快速了解,fwupd 可以管理的设备类型很广泛,下面是一些常见的例…

作者头像 李华
网站建设 2026/5/21 10:53:14

Unsloth量化!IBM Granite 4.0微模型多语言实测

Unsloth量化!IBM Granite 4.0微模型多语言实测 【免费下载链接】granite-4.0-h-micro-base-unsloth-bnb-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/granite-4.0-h-micro-base-unsloth-bnb-4bit 导语:IBM Granite 4.0微模型&…

作者头像 李华
网站建设 2026/5/23 14:58:45

网易云音乐无损下载完整攻略:轻松获取高品质音乐收藏

网易云音乐无损下载完整攻略:轻松获取高品质音乐收藏 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 想要永久保存网易云音乐中的心爱歌曲吗?这款网易云音乐无损解析工具让你轻松下载高品…

作者头像 李华