FIR_01 基于FPGA的FIR滤波器 (FDATOOL ISE ) 第一篇:初步认识和应用
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 ) 第一篇:初步认识和应用相关推荐
- 基于fpga的fir滤波器设计,通过matlab代码设计滤波器参数,最终通过fpga实现
基于fpga的fir滤波器设计,通过matlab代码设计滤波器参数,最终通过fpga实现,modelsim仿真,最后在开发板上实现,两路adc采集的掺杂高频信号经过低通滤波器之后,由dac输出,由si ...
- 基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现
书接上回 三.并行结构的FPGA实现 设计实例 1.matlab参数与数据 2.使用Verilog编写并行结构的FIR滤波器 3.使用matlab将产生的程序进行仿真验证 三.并行结构的FPGA实现 ...
- 基于FPGA的FIR滤波器的实现(2)—采用kaiserord fir2 firpm函数设计
文章目录 前言 一.使用kaiserord设计 二.使用fir2设计 fir2函数设计实例 三.使用firpm函数设计 kaiserord & firpm函数的设计实例 前言 本篇文章继续使用 ...
- 数字信号处理相关4(FPGA实现FIR滤波器)
来自:https://blog.csdn.net/u014783685/article/details/74466107 1.FIR滤波器总体设计 本设计是基于FPGA实现一个8阶的FIR数字低通滤波 ...
- fir滤波器等纹波matlab,基于Matlab的FIR滤波器设计与实现
基于Matlab的FIR滤波器设计与实现 一.摘要 前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见"基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成&quo ...
- 【 FPGA 】FIR滤波器的采样速率与系统时钟速率不同时的资源消耗分析
目录 MATLAB操作 Vivado操作 MATLAB操作 在matlab中命令窗口中输入:filterDesigner,设计如下参数的带通滤波器: 在左侧第三个功能设置:Set quantizati ...
- 【 FPGA 】FIR滤波器目录
国庆七天的假期过完了,这短时间我一直在放松,本来想花两天时间把导师让我查看的Xilinx官方数据手册之FIR滤波器相关内容看完,可之后的实践过程发现我好像小看这部分内容在FPGA设计中的分量了,细节很 ...
- 【 FPGA 】FIR 滤波器结构和优化(二)之系数填充(Coefficient Padding)
赛灵思官方文档中在讲乘累加器(MAC)(也就是在这篇博文中的乘累加器:[ FPGA ]FIR 滤波器的架构)时,有一段话是对系数填充的简单叙述,当时我没有写进那篇博文中去,我觉得放到那里会让我的博文变 ...
- 【 FPGA 】FIR滤波器开篇之传统抽头延迟线FIR滤波器实现介绍
滤波器原理:滤波器就是对特定的频率或者特定频率以外的频率进行消除的电路,被广泛用于通信系统和信号处理系统中.从功能角度,数字滤波器对输入离散信号的数字代码进行运算处理,以达到滤除频带外信号的目的. 有 ...
最新文章
- 1.2 Collection接口
- C语言数组中两个数字之间的最大差的算法(附完整源码)
- HDU - 6315 Naive Operations(线段树+思维)
- 数据库---练习题(45道)
- js循环获取table中的值
- 数据透视表和数据交叉表_数据透视表的数据提取
- python中restful接口开发实例_Python RESTful接口开发02
- Python读写文件(附完整模块化代码)
- 鲁大师检测内存条_外观漂亮,做工精致,潜力巨大、十铨(Team)8GB×2 3200Mhz台式机内存条 火神系列 评测...
- 理解分布式和集群的区别
- 数据仓库的分层,你知道吗?
- 一个支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
- 怎么批量修改文件夹名称?
- PHP获取当前完整网址加HTTP/HTTPS
- Windows10专业版重装系统教程
- 外贸商城建站程序, sylius和magento哪一个更适合企业二次开发
- List集合导出成Excel表格
- ardunio 字符串分割
- 第五章 光学系统中成像光束的选择
- netdata-监控mysql及tomcat插件
热门文章
- SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
- json格式的字符串序列化和反序列化的一些高级用法
- SAP ABAP Netweaver和Hybris Commerce的部署策略
- 使用dom breakpoint找到修改属性的javascript代码
- BSP hidden form in generated html source code
- WordPress的Kyma plugin HTML发送的connect请求是怎么投递到PHP的
- Organization unit determine log logic enablement
- CONNECT_NODES 中的SET HANDLER
- SAP Cloud for Customer里Sales Order和Sales Quote的建模方式
- SAP标准培训课程C4C10学习笔记(二)第二单元