本篇内容:
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,稍稍等一会。
FPGA实现CPFSK解调及滤波器设计

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

被折叠的 条评论
为什么被折叠?



