【04解调&滤波器】CPFSK调制解调的MATLAB与FPGA实现(Altera/Quartus/Verilog&VHDL)

FPGA实现CPFSK解调及滤波器设计
本文介绍了使用非相干解调方法实现CPFSK解调的步骤,并详细阐述了如何在Quartus环境中设计并生成滤波器系数,包括通过filterDesigner工具自定义滤波器参数,以及将系数导出到文本文件中。此外,还讲解了如何利用Megawizard Plugin Manager调用FIR核,设置滤波器参数,量化系数位宽,并最终将滤波器核集成到FPGA解调程序中。

本篇内容:
1.cpfsk解调方法。
2.如何生成滤波器系数?
3.如何调用fir核?

1.cpfsk解调方法。
本设计采用非相干解调的方式,解调思路如下:
在这里插入图片描述
2.如何生成滤波器系数?
想要生成滤波器系数,可以在 命令行窗口 输入 filterDesigner 并回车,在右侧界面中进行自定义设计,
在这里插入图片描述
下图是我随意设计了一个滤出8.75kHz信号的带通滤波器,设置好参数后,点击下方设计滤波器,点击上方 幅值响应 小图标,查看设计效果,
在这里插入图片描述
选择 文件 - 导出,
在这里插入图片描述
然后会生成下图这样一个文件,我会把这些系数(分子)存到txt文件中(根据quartus13.1版本的要求,一行一个;根据quartus新版本fir2的要求要用逗号隔开),到时候就可以直接用了。
可以看到滤波器长度很长,用到fpga上肯定会消耗很多资源,可以通过增加过渡带、减少位宽等等方式来解决,可以多尝试。
在这里插入图片描述

另外,滤波器的系数还可以通过编程生成,这里我参考了杜勇老师的代码,更改了基本参数、阶数为60阶、系数位宽为12位。输出三个文本文件和幅频响应图。
在这里插入图片描述

3.如何调用fir核?
点击Tools-megawizard plug in manager ,选择create a new,点击next。
搜索fir,选中fir,选择语言,选择保存位置(默认工程文件夹下,应该也可以建立一个子文件夹)输入名字bpf01(自己随便起),点击next,稍稍等一会。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值