1 简介

对于FIR滤波器的理论部分,在本系列博客中不做论述,或许在后续更新的文章中会对其理论进行讨论。

本文为该系列博客的第一篇文章,将以最简单直观的方式让初学者体会到FIR滤波器的作用,采用最傻瓜的方式讲解FIR滤波器的设计与应用。

同时本系列博客将讲解多种FIR滤波器的设计方式,本篇文章就先讲解其中一种。   本系列博客涉及的工具将包括ISE,matlab、system genarator、moslesim、VIVADO等。

2 信号的混叠

滤波器顾名思义就是将不需要的信号滤除掉,留下需要的信号。 在做这个直观的实验之前,讲解一下信号的实验的思路和方案,如下图:

产生有用信号和无用信号进行混频  -> 信号通过滤波器 ->滤除无用信号 ,这就是本次实验的方案与思路。

2.1 0.5Mhz有用信号源

首先,使用ISE和Modlesim搭建一个产生0.5Mhz正弦波的信号源,信号源由XILINX DDS IP核制作的,并仿真如图:

0.5Mhz信号源工程图

0.5Mhz信号源仿真图

2.2  2Mhz无用信号源

与0.5Mhz信号源是相同的,只是频率不同罢了,这里给出工程图和仿真图:

2Mhz信号源工程图

2Mhz信号源工程图

2.3 信号混叠

使用数字合成技术将0.5Mhz与1Mhz的信号进行混频,得到一个混频信号,这里给出工程图和仿真图:

混频信号源工程图

混频信号源仿真图

这样就把两个频率的信号混叠在一起了,这样就模拟了一个实际使用过程中含有干扰的信号,接下来目标就是设计滤波器把无用信号率除掉,留下有用信号。

2 滤波器设计

2.1 使用FDATOOL设计滤波器

使用MATLAB中携带的FDATOOL工具设计滤波器,并将参数导入XILINX FIR 滤波器IP核是一种比较常用的方式,如下图给出FDATOOL设计截图:

FDATOOL参数设计图

导出XILINX FIR IP核需要的参数

这样就完成了FIR滤波器的设计,在设计界面上可以看出FIR滤波器的幅频特性。

2.2 FIR滤波器的验证

2.1节中已完成了滤波器的设计与参数导出,本节就搭建工程验证滤波器设计的正确性,这里给出工程图和仿真图:

FIR滤波器验证工程截图

工程中包含了2节中的混频信号源、FIR滤波器,其中FIR滤波器中导入了2.1节中设计的滤波器参数。

FIR滤波器验证工程仿真截图

仿真图中将所有信号进行了排列对比,仿真图从上至下排列依次是 0.5Mhz信号、2Mhz信号、混频信号、FIR滤波器输出信号,可以看出混频信号经过FIR滤波器以后其中2Mhz的频率成分被滤除掉了,只剩下0.5Mh的频率成分,证明滤波器的设计是成功的。

本篇博客讲解了一种最为直观简单的方式来了解和使用FIR滤波器,在一些简单的应用中是可以采用的,但是这种方式存在很多缺点,比如仿真时也是只能从modlesim中信号的时域去进行分析,其实这是远远不够的,接下来的文章将更加结合matlab的应用来完成FIR滤波器的设计。

本篇博客为粉丝准备了工程源码视频教程哦!视频课程中手把手教学建立工程、设计滤波器等展露更多细节,如图:

不要急着跑,干货在后面,下一篇文章传送门在此:

  

                                          使用system generator建立FIR滤波器

本系列博客对应的工程源码视频教程传送门在此,点击下方链接一:

基于FPGA的FIR滤波器(FDATOOLISE).rar-嵌入式文档类资源-CSDN下载

FIR_01 基于FPGA的FIR滤波器 (FDATOOL ISE ) 第一篇:初步认识和应用相关推荐

  1. 基于fpga的fir滤波器设计,通过matlab代码设计滤波器参数,最终通过fpga实现

    基于fpga的fir滤波器设计,通过matlab代码设计滤波器参数,最终通过fpga实现,modelsim仿真,最后在开发板上实现,两路adc采集的掺杂高频信号经过低通滤波器之后,由dac输出,由si ...

  2. 基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现

    书接上回 三.并行结构的FPGA实现 设计实例 1.matlab参数与数据 2.使用Verilog编写并行结构的FIR滤波器 3.使用matlab将产生的程序进行仿真验证 三.并行结构的FPGA实现 ...

  3. 基于FPGA的FIR滤波器的实现(2)—采用kaiserord fir2 firpm函数设计

    文章目录 前言 一.使用kaiserord设计 二.使用fir2设计 fir2函数设计实例 三.使用firpm函数设计 kaiserord & firpm函数的设计实例 前言 本篇文章继续使用 ...

  4. 数字信号处理相关4(FPGA实现FIR滤波器)

    来自:https://blog.csdn.net/u014783685/article/details/74466107 1.FIR滤波器总体设计 本设计是基于FPGA实现一个8阶的FIR数字低通滤波 ...

  5. fir滤波器等纹波matlab,基于Matlab的FIR滤波器设计与实现

    基于Matlab的FIR滤波器设计与实现 一.摘要 前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见"基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成&quo ...

  6. 【 FPGA 】FIR滤波器的采样速率与系统时钟速率不同时的资源消耗分析

    目录 MATLAB操作 Vivado操作 MATLAB操作 在matlab中命令窗口中输入:filterDesigner,设计如下参数的带通滤波器: 在左侧第三个功能设置:Set quantizati ...

  7. 【 FPGA 】FIR滤波器目录

    国庆七天的假期过完了,这短时间我一直在放松,本来想花两天时间把导师让我查看的Xilinx官方数据手册之FIR滤波器相关内容看完,可之后的实践过程发现我好像小看这部分内容在FPGA设计中的分量了,细节很 ...

  8. 【 FPGA 】FIR 滤波器结构和优化(二)之系数填充(Coefficient Padding)

    赛灵思官方文档中在讲乘累加器(MAC)(也就是在这篇博文中的乘累加器:[ FPGA ]FIR 滤波器的架构)时,有一段话是对系数填充的简单叙述,当时我没有写进那篇博文中去,我觉得放到那里会让我的博文变 ...

  9. 【 FPGA 】FIR滤波器开篇之传统抽头延迟线FIR滤波器实现介绍

    滤波器原理:滤波器就是对特定的频率或者特定频率以外的频率进行消除的电路,被广泛用于通信系统和信号处理系统中.从功能角度,数字滤波器对输入离散信号的数字代码进行运算处理,以达到滤除频带外信号的目的. 有 ...

最新文章

  1. 1.2 Collection接口
  2. C语言数组中两个数字之间的最大差的算法(附完整源码)
  3. HDU - 6315 Naive Operations(线段树+思维)
  4. 数据库---练习题(45道)
  5. js循环获取table中的值
  6. 数据透视表和数据交叉表_数据透视表的数据提取
  7. python中restful接口开发实例_Python RESTful接口开发02
  8. Python读写文件(附完整模块化代码)
  9. 鲁大师检测内存条_外观漂亮,做工精致,潜力巨大、十铨(Team)8GB×2 3200Mhz台式机内存条 火神系列 评测...
  10. 理解分布式和集群的区别
  11. 数据仓库的分层,你知道吗?
  12. 一个支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
  13. 怎么批量修改文件夹名称?
  14. PHP获取当前完整网址加HTTP/HTTPS
  15. Windows10专业版重装系统教程
  16. 外贸商城建站程序, sylius和magento哪一个更适合企业二次开发
  17. List集合导出成Excel表格
  18. ardunio 字符串分割
  19. 第五章 光学系统中成像光束的选择
  20. netdata-监控mysql及tomcat插件

热门文章

  1. SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
  2. json格式的字符串序列化和反序列化的一些高级用法
  3. SAP ABAP Netweaver和Hybris Commerce的部署策略
  4. 使用dom breakpoint找到修改属性的javascript代码
  5. BSP hidden form in generated html source code
  6. WordPress的Kyma plugin HTML发送的connect请求是怎么投递到PHP的
  7. Organization unit determine log logic enablement
  8. CONNECT_NODES 中的SET HANDLER
  9. SAP Cloud for Customer里Sales Order和Sales Quote的建模方式
  10. SAP标准培训课程C4C10学习笔记(二)第二单元