以99阶FIR低通滤波器为例,学习使用matlabfdatool工具箱设计滤波器,并将滤波器系数导出到.coe文件,联合Vivado进行FPGAFIR滤波器设计。

本文滤波器参数为:低通FIR滤波器窗函数设计,采用布莱克曼窗99阶抽样频率32MHz通带频率1.5MHz使用窗函数时截止频率不需要设定,根据选定的窗函数和阶数决定截止频率

1. 打开matlab

2.命令行输入fdatool,回车,打开fdatool滤波器设计工具箱

打开后的初始界面如下:
1处选定滤波器类型(低通、高通、带通、带阻);
2处选择要设计IIR(无限冲激响应)滤波器还是FIR(有限冲击响应)滤波器,并且选择使用哪种方法设计对应的滤波器
3处设计滤波器的阶数,一般阶数越多滤波效果越好,但是系数对应的也越多,在FPGA硬件实现的时候会占用更多的资源,设计时要综合考虑;

3.设计所需滤波器

低通(Lowpass)FIR滤波器,窗函数设计(Window),采用布莱克曼窗(Blackman),99阶(会有100个系数,这个是固定的,N阶FIR需要N+1个系数),抽样频率32MHz通带频率1.5MHz,使用窗函数时截止频率不需要设定,选定的窗函数和阶数已经限定了截止频率。

按照上图设定参数后,点击Design Filter。

设计完成后,黄色框内显示幅频响应曲线,可以看到,使用Fs=32MHz的抽样频率,显示的频率为0~Fs/2即0-16MHz的幅频响应,大概在2MHz左右幅度下降为原来的-60dB以下,换算成幅度即1/1000以下(-60dB=20log(1/1000))。

4.参数量化

使用16位的滤波器参数,定点数表示。
点击左侧第三个框,进行参数量化,在FPGA中计算浮点数是很麻烦的事情,并且浮点数的操作在射频输出时会影响功放性能,此处设置为定点数(一般都是设为定点数处理,设成浮点数可以试一下,是无法导出为Xilinx设计所需的.coe文件)。这里进行量化时就会引入量化误差,位数越少误差越大,但是位数越多在FPGA硬件中所需的资源也越多,设计中也是需要综合考虑,此处选择16位定点数量化(Fixed-point)。

5.导出参数

(1)导出参数到matlab

回到设计界面(不回去也不影响导出参数,此处为了更方便观看滤波器的参数),再点击 Export,即可导出参数到 matlab,导出一个名为 Num 的数组,名字可以自己修改,在命令行输入 Num 再回车即可观察系数。

(2)导出参数到Xilinx的存储文件(.coe文件)

点击 Targets -> XILINX Coeffient(.coe) File,

导出的参数共有 100 个,可以发现这样设计出来的时对称结构的FIR滤波器,第一个参数和第 100 个参数一样,第 2 个和第 99 个一样,依次对应。

作者:FPGA探索者

怎么将matlab滤波器系数导出_matlab与FPGA数字信号处理系列(1)——通过matlab工具箱设计FIR数字滤波器...相关推荐

  1. FPGA数字信号处理(十五)多速率FIR滤波器

    该篇是FPGA数字信号处理的第15篇,选题为多速率信号处理系统中用到的多速率FIR滤波器.本文将简单介绍多速率信号处理系统的基本概念,以及使用Quartus和Vivado的IP核设计多速率FIR滤波器 ...

  2. Matlab与FPGA数字信号处理系列——DDS信号发生器——Quartus ii 原理图法利用 ROM 存储波形实现DDS(1)

    MATLAB 与 FPGA无线通信.图像处理.数字信号处理系列 系统框图 基于FPGA的DDS信号发生器系统框图如下图所示,采取查表法. (1)对一个完整周期的波形进行采样,将采样点存在ROM中: ( ...

  3. FPGA数字信号处理(十六)单级CIC滤波器Verilog设计

    该篇是FPGA数字信号处理的第16篇,选题为多速率信号处理系统中常用的CIC滤波器.本文将详细介绍使用Verilog HDL设计单级CIC滤波器的方法.接下来几篇会介绍多级CIC滤波器的Verilog ...

  4. FPGA数字信号处理(20)单级半带(HB)滤波器设计

    本篇是FPGA数字信号处理的第20篇,前面介绍了多速率信号处理系统中用到的多速率FIR滤波器.CIC滤波器,本文将介绍另一种常用的半带滤波器(Half-Band Filter)的相关知识及设计方法.本 ...

  5. MATLAB与FPGA数字信号处理(数字滤波器设计)、数字IC、无线通信、图像处理、信道编码系列

    FPCA.数字IC笔试题系列 不容错过的FPGA/数字IC秋招笔试面试汇总帖(2022届) 1. FPGA.数字IC系列(1)--乐鑫科技2021数字IC提前批笔试 2. FPGA.数字IC系列(2) ...

  6. fir滤波器课程设计matlab,Matlab课程设计---FIR数字滤波器

    Matlab课程设计---FIR数字滤波器 课程设计任务书课程设计任务书 学生姓名学生姓名 xxxxxx 专业班级专业班级 信息信息 xxxxxx 班班 指导教师指导教师 xxxxxx 工作单位工作单 ...

  7. FPGA数字信号处理(二)并行FIR滤波器Verilog设计

    该篇是FPGA数字信号处理的第二篇,选题为DSP系统中极其常用的FIR滤波器.本文将简单介绍FIR滤波器的原理,详细介绍使用Verilog HDL设计并行FIR滤波器的流程和方法.接下来几篇会介绍串行 ...

  8. 用MATLAB设计FIR数字滤波器实验,基于Matlab的FIR数字滤波器设计

    摘要:提出FIR敷字滤波器的设计方案,并基于Matlab实现滤波仿真.通过使用Matlab信号处理工具箱提供的函数,选择适当的窗函数编写程序,其中窗函数按照实际信号的处理需求,参数折中选择.实验获得了 ...

  9. FPGA数字信号处理(21)多级半带(HB)滤波器设计

    本篇是FPGA数字信号处理的第21篇,上一篇介绍了半带滤波器的相关知识以及单级半带滤波器的设计方法.单级半带滤波器只能实现2倍抽取,本文将介绍可实现2^N倍抽取的多级半带滤波器的设计方法. 多级半带滤 ...

最新文章

  1. DBA大牛告诉你,如何让MySQL语句执行加速?
  2. Java之HashMap源码解析1
  3. springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存
  4. 博客园上海俱乐部Windows 7社区发布活动的奖品
  5. 平衡二叉树及其操作实现_平衡二叉树(AVL树)及C语言实现
  6. 构造方法注入和设值注入有什么区别?
  7. qss样式表笔记大全(一):qss名词解析(包含相关示例)
  8. HDU2602Bone Collector 简单0-1背包
  9. CSS相对定位,固定定位,绝对定位实例方法和实例
  10. mysql 重复了更新_MYSql id相同就更新
  11. OpenGL学习笔记一
  12. MAML论文阅读笔记--回归实验
  13. 常用颜色名称与RGB数值对照表
  14. PDF页眉页脚怎么去掉,页眉页脚删除方法
  15. 【BZOJ4049】[Cerc2014] Mountainous landscape(线段树+凸包+二分)
  16. CS5213芯片|HDMI to VGA转换头芯片
  17. 什么是机器人的外部轴?
  18. 菜鸡学Unity 之 了解 Unity 中的五个视图窗口
  19. Android中MotionEvent的来源和ViewRootImpl
  20. 马自达推出首个混合动力车型

热门文章

  1. linux 多线程实现倒计时,Linux用脚本实现“时分秒“倒计时功能
  2. [蓝桥杯][2019年第十届真题]扫地机器人(二分+贪心)
  3. qdu_ACM3月7号组队训练
  4. php长传文件到数据库,php上传文件并存储到mysql数据库的简单示例
  5. themleft模板库_Thymeleaf模板引擎常用总结
  6. python chrome headless_[技巧] chrome headless 爬虫抓取websoket 数据
  7. 远洋整站下载器不能用https_最后下载个喜马拉雅
  8. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](6)
  9. 深度学习之循环神经网络(6)梯度弥散和梯度爆炸
  10. mysql版本 hibernate_Mysql 不同版本 说明