当前位置: 首页 > news >正文

▲基于FPGA的4FSK调制解调系统verilog实现

目录

1.本系统整体构架

2.各个模块基本原理

2.1 4FSK调制

2.2 相干解调

3.仿真结果

4.完整程序下载


1.本系统整体构架

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

2.各个模块基本原理

2.1 4FSK调制

4FSK(四进制频移键控) 是一种通过4 个不同载波频率传输数字信息的调制技术,每个符号携带2比特数据(00, 01, 10, 11)。它继承了2FSK恒包络、抗衰落、实现简单的优点,同时频谱效率提升一倍,广泛用于低速。将2比特分为一组(四进制符号),每组映射到4个独立频率(f0 ,f1,f2,f3)。符号持续时间Ts内发送单一频率正弦波。4FSK调制公式如下:

为最小化频偏误码,通常采用格雷码映射(相邻频率仅1比特不同):

2.2 相干解调

相干解调需要使用与载波同频同相的参考信号。通过将接收到的FSK信号与两个参考信号(频率为f1和f2)分别相乘,然后经过低通滤波器 滤除高频成分,可以得到两个基带信号。通过比较这两个基带信号的幅度或相位差异,可以判断接收到的数字信息是“1”还是“0”。相干解调具有较高的性能,但要求严格的同步和相位匹配。相干检测的具体解调电路是同步检波器。相干解调需要本地产生与发送端同频同相的载波信号。

3.仿真结果

本系统的RTL结构如下图所示:

顶层程序结构如下:

module tops_4FSK(
input i_clk,
input i_rst,
input [1:0]i_x,
input signed[7:0]i_SNR,
output signed[15:0]o_demod,
output signed[15:0]o_demodN,
output signed[31:0]o_fsk_dm1,
output signed[31:0]o_fsk_dm2,
output signed[31:0]o_fsk_dm3,
output signed[31:0]o_fsk_dm4,
output signed[15:0]o_fsk_f1,
output signed[15:0]o_fsk_f2,
output signed[15:0]o_fsk_f3,
output signed[15:0]o_fsk_f4,
output [1:0]o_bits
);

fskmod fskmod_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_x (i_x),
.o_demod (o_demod)
);


awgns awgnsu(
.i_clk (i_clk),
.i_rst (i_rst),
//SNR 5~30
.i_SNR (i_SNR),
.i_din (o_demod),
.o_noise (),
.o_dout (o_demodN)
);

fskdemod fskdemod_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_fsk (o_demodN),
.o_fsk_dm1 (o_fsk_dm1),
.o_fsk_dm2 (o_fsk_dm2),
.o_fsk_dm3 (o_fsk_dm3),
.o_fsk_dm4 (o_fsk_dm4),
.o_fsk_f1 (o_fsk_f1),
.o_fsk_f2 (o_fsk_f2),
.o_fsk_f3 (o_fsk_f3),
.o_fsk_f4 (o_fsk_f4),
.o_bits (o_bits)
);

endmodule

仿真测试结果如下:

4.完整程序下载

完整可运行代码,博主已上传至CSDN,使用版本为Vivado2022.2:

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

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

http://www.jsqmd.com/news/603211/

相关文章:

  • 如何快速掌握HTML5解析:gumbo-parser与Robot Framework自动化测试完美结合终极指南
  • IndexTTS2 V23版本5分钟快速部署:小白也能轻松搭建情感语音合成系统
  • 终极指南:如何实现gumbo-parser跨编译器开发,统一代码风格与宏定义
  • TypeScript在GNOME扩展开发中的终极优势:Pop Shell代码质量深度解析
  • Android Topeka数据模型设计终极指南:Quiz、Category与Player类深度解析
  • 2026海关事务合规咨询服务哪家好 - 品牌排行榜
  • PotPlayer字幕翻译插件终极指南:5分钟实现外语视频无障碍观看
  • AI的jieba分词原理与多模式应用解析
  • 如何快速集成mzt-biz-log:10分钟完成操作日志系统搭建
  • OpCore-Simplify:如何通过四层架构设计实现OpenCore EFI配置的智能化简化
  • JVM深入浅出(6)--- 类文件结构
  • 如何快速开发Git-Absorb自定义吸收策略:完整指南
  • 2026最新珠三角隔音门窗推荐!全国优质隔音门窗制造商权威榜单 - 十大品牌榜
  • 颠覆级开源模型Wan2.2-TI2V-5B:重新定义AI视频创作
  • Hogan.js模板压缩与优化:5个技巧减少资源占用
  • 玩转OurBMC第二十三期:OurBMC之PCIe接口应用(下)——虚拟网卡实战
  • 广西江马新能源科技有限公司:南宁青秀区公园游船销售价格多少 - LYL仔仔
  • 终极指南:如何用Pandoc为build-linux项目生成专业HTML文档
  • django-social-auth架构解析:深入理解认证管道和工作原理
  • 2026最新长三角阳光房生产厂家推荐!国内优质品牌权威榜单发布 - 十大品牌榜
  • 速勘达远程协同:2026 高效协同的刑侦现场精准还原系统公司推荐 - 品牌2026
  • Rails API微服务通信终极指南:构建高性能API应用的完整教程
  • 丝杆疲劳性能检测必看,丝杆疲劳试验机知名厂家,行业标杆品质更放心 - 品牌推荐大师
  • Grimoire 安全机制:Lucia身份验证与用户权限管理
  • 自定义控制的创作自由:SRWE如何掀起窗口分辨率效率革命
  • AppImageLauncher终极指南:3分钟掌握Linux便携应用一键管理
  • 隐私优先:OpenClaw+百川2-13B量化模型本地化医疗数据整理
  • 基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
  • 2026年4月行业内双壁波纹管供应商,双壁波纹管/克拉管/bwfrp纤维编织拉挤管/PVC格栅管,双壁波纹管厂家哪个好 - 品牌推荐师
  • PyWxDump终极指南:从技术探索到法律合规的完整历程