当前位置: 首页 > news >正文

FPGA设计FIR滤波器低通滤波器,代码及视频

名称:FIR滤波器低通滤波器

软件:Quartus

语言:Verilog/VHDL

本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。

e2b3a0bc-46e4-4418-921e-482c7e86db23.png

代码功能:

设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。

参数设计方法:

使用matlab软件设计滤波器系数

滤波器系数设计:

打开Matlab软件在指令窗口中键入:m=fir1(7,0.2),即可得到如下的系数:

0.009、0.048、0.164、0.279、0.279、0.164、0.048、0.009

将系数放大1000倍即:9,48,164,279;乘加计算计算完成后再除以1000.

演示视频(以VHDL工程文件为例,verilog同理):

http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=212

FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

代码下载:

FIR滤波器低通滤波器(代码在文末付费下载)软件:Quartus语言:Verilog/VHDL本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。代码功能:设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。参数设计方法:使用matlab软件设计滤波器系数滤波器系数设计:打开Matlab软件在指令窗口中键入:m=fir名称:FIR滤波器低通滤波器(代码在文末付费下载)软件:Quartus语言:Verilog/VHDL本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。代码功能:设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。参数设计方法:使用matlab软件设计滤波器系数滤波器系数设计:打开Matlab软件在指令窗口中键入:m=firicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=212

部分代码展示

verilog代码:

//滤波器
module FIR_filter(
input clk_in,//50MHz
input reset_p,//高电平复位
output [9:0]fir_data//滤波后结果
);
wire [9:0] data_in;
wire clk_100K;
//分频模块,50M分频到100K
div_clk i_div_clk(
. clk_in(clk_in),
. clk_out(clk_100K)
);
//产生带噪声的正弦波
sin_noise i_sin_noise(
. clk_in(clk_in),//50MHz
. reset_p(reset_p),//高电平复位
. sin_and_noise(data_in)//产生带噪声的正弦波
);
//8阶线性相位结构FIR
FIR i_FIR(
. clk(clk_100K),//100K
. reset_p(reset_p),//高电平复位
. data_in(data_in),//周期1K,噪声频率30K左右
. fir_data(fir_data)//滤波后结果
);
endmodule

VHDL代码:

LIBRARY ieee;USE ieee.std_logic_1164.all;
--滤波器
ENTITY FIR_filter ISPORT (clk_in    : IN STD_LOGIC;--50MHzreset_p   : IN STD_LOGIC;--高电平复位fir_data  : OUT STD_LOGIC_VECTOR(9 DOWNTO 0)--滤波后结果);
END FIR_filter;
ARCHITECTURE behave OF FIR_filter IS
--产生带噪声的正弦波COMPONENT sin_noise ISPORT (clk_in    : IN STD_LOGIC;reset_p   : IN STD_LOGIC;sin_and_noise : OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END COMPONENT;--分频模块COMPONENT div_clk ISPORT (clk_in    : IN STD_LOGIC;clk_out   : OUT STD_LOGIC);END COMPONENT;--8阶线性相位结构FIRCOMPONENT FIR ISPORT (clk       : IN STD_LOGIC;reset_p   : IN STD_LOGIC;data_in   : IN STD_LOGIC_VECTOR(9 DOWNTO 0);fir_data  : OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END COMPONENT;--定义内部信号SIGNAL data_in        : STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL clk_100K       : STD_LOGIC;
BEGIN--分频模块,50M分频到100K i_div_clk : div_clkPORT MAP (clk_in   => clk_in,clk_out  => clk_100K);--产生带噪声的正弦波 i_sin_noise : sin_noisePORT MAP (clk_in         => clk_in,--50MHzreset_p        => reset_p,--高电平复位sin_and_noise  => data_in--产生带噪声的正弦波);--8阶线性相位结构FIRi_FIR : FIRPORT MAP (clk       => clk_100K,--100Kreset_p   => reset_p,--高电平复位data_in   => data_in,--周期1K,噪声频率30K左右fir_data  => fir_data--滤波后结果);END behave;

设计文档(以VHDL工程文件为例,verilog同理):

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真

分频模块仿真

产生带噪声正弦波模块仿真

滤波器模块仿真

相关文章:

FPGA设计FIR滤波器低通滤波器,代码及视频

名称:FIR滤波器低通滤波器 软件:Quartus 语言:Verilog/VHDL 本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。 代码功能: 设计一个8阶FIR滤波器(低通滤波器&#xff…...

【数据结构】排序--快速排序

目录 一 概念 二 快速排序的实现 1. hoare版本 (1)代码实现 (2)单趟排序图解 (3) 递归实现图解 (4)细节控制 (5)时间复杂度 (6)三数取中优化 2 挖坑法 (1)代码实现 (2)单趟图解 3 前后指针法 (1) 代码实现 (2) 单趟图解 ​4 优化子区间 5 非递归快速排序 …...

【试题040】多个逻辑或例题2

1.题目:设int n0;,执行表达式n ||(n-1) ||(n0)||(n1)||(n2)后n的值是 ? 2.代码解析: 逻辑或 || 运算符是一个短路运算符,它从左到右依次计算表达式,如果遇到一个为真(非零)的值&am…...

自然语言处理---Self Attention自注意力机制

Self-attention介绍 Self-attention是一种特殊的attention,是应用在transformer中最重要的结构之一。attention机制,它能够帮助找到子序列和全局的attention的关系,也就是找到权重值wi。Self-attention相对于attention的变化,其实…...

推荐收藏系列!2万字图解Hadoop

今天我用图解的方式讲解pandas的用法,内容较长建议收藏,梳理不易,点赞支持。 学习 Python 编程,给我的经验就是:技术要学会分享、交流,不建议闭门造车。一个人可能走的很快、但一堆人可以走的更远。如果你…...

Python高级篇(08):生成器

一、生成器定义和作用 定义:Python中,一边循环一边计算的机制,生成器对象也是迭代器对象,支持for循环、next()方法…等。作用:循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而…...

力扣100114. 元素和最小的山形三元组 II(中等)

题目描述&#xff1a; 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件&#xff0c;则认为它是一个 山形三元组 &#xff1a; i < j < knums[i] < nums[j] 且 nums[k] < nums[j] 请你找出 nums 中 元素和最小 的山形三元组…...

LuatOS-SOC接口文档(air780E)--lcdseg - 段式lcd

常量 常量 类型 解释 lcdseg.BIAS_STATIC number 没偏置电压(bias) lcdseg.BIAS_ONEHALF number 1/2偏置电压(bias) lcdseg.BIAS_ONETHIRD number 1/3偏置电压(bias) lcdseg.BIAS_ONEFOURTH number 1/4偏置电压(bias) lcdseg.DUTY_STATIC number 100%占空比(d…...

实现图像处理和分析的关键技术

在计算机视觉中&#xff0c;我们可以利用摄像头捕捉到的图像来进行各种分析和处理。以下是一些常见的计算机视觉任务&#xff1a; 对象检测&#xff1a;识别图像中的特定对象并标注其位置。人脸识别&#xff1a;识别和验证人脸身份。姿态估计&#xff1a;估计人体的姿态和动作…...

【C++学习笔记】内联函数

1. 概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调 用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 如果在上述函数前增加inline关键字将其改成内联函数&#xff0c;在编译期间编译器会用函数…...

macOS Sonoma 14.1RC(23B73)发布

黑果魏叔10 月 18 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 14.1 RC更新&#xff08;内部版本号&#xff1a;23B73&#xff09;&#xff0c;本次更新距离上次发布隔了 7 天。 macOS Sonoma 14.1RC&#xff08;23B73&#xff09;的更新内容主要包括以下方面&…...

数据结构数组 Array 手写实现,扩容原理

数组数据结构 数组&#xff08;Array&#xff09;是一种线性表数据结构。它用一组连续的内存空间&#xff0c;来存储一组具有相同类型数据的集合。 数组的特点&#xff1a; 数组是相同数据类型的元素集合&#xff08;int 不能存放 double&#xff09;数组中各元素的存储是有先…...

工作中几个问题的思考

对于需要并行多公司并行处理的任务&#xff0c;方案是什么&#xff1f; 多线程、并行流、并发库&#xff08;ExecutorService、Futrue、Callable&#xff09;&#xff0c;分布式计算&#xff08;1&#xff09;按照公司ID分片 &#xff08;2&#xff09;按照业务类型分片 处理…...

Jmeter的性能测试

性能测试的概念 定义&#xff1a;软件的性能是软件的一种非功能特性&#xff0c;它关注的不是软件是否能够完成特定的功能&#xff0c;而是在完成该功能时展示出来的及时性。 由定义可知性能关注的是软件的非功能特性&#xff0c;所以一般来说性能测试介入的时机是在功能测试…...

IntelliJ IDEA 2020.2.1白票安装使用方法

先安装好idear Plugins 内手动添加第三方插件仓库地址&#xff1a;https://plugins.zhile.io 搜索&#xff1a;IDE Eval Reset插件进行安装 输入https://plugins.zhile.io 手动安装离线插件方法 安装包可以去笔者的CSDN资源库下载 安装mybaties插件...

【UCAS自然语言处理作业一】利用BeautifulSoup爬取中英文数据,计算熵,验证齐夫定律

文章目录 前言中文数据爬取爬取界面爬取代码 数据清洗数据分析实验结果 英文数据爬取爬取界面动态爬取 数据清洗数据分析实验结果 结论 前言 本文分别针对中文&#xff0c;英文语料进行爬虫&#xff0c;并在两种语言上计算其对应的熵&#xff0c;验证齐夫定律github: ShiyuNee…...

微信小程序之个人中心授权登录

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 1.了解微信授权登录 微信登录官网&#xff1a; 小程序登录https://developers.weixin.qq.com/miniprogram/d…...

Elasticsearch的聚集统计,可以进行各种统计分析

说明&#xff1a; Elasticsearch不仅是一个大数据搜索引擎&#xff0c;也是一个大数据分析引擎。它的聚集(aggregation)统计的REST端点可用于实现与统计分析有关的功能。Elasticsearch提供的聚集分为三大类。 度量聚集(Metric aggregation)&#xff1a;度量聚集可以用于计算搜…...

Webpack 理解 input output 概念

一、介绍 如果还没用过 Webpack 请先阅读 Webpack & 基础入门 再回头看本文。 Webpack 的核心只做两件事&#xff0c;输入管理&#xff08;Input Management&#xff09;和输出管理&#xff08;Output Management&#xff09;&#xff0c;什么花里胡哨的插件和配置都离不…...

【字符函数】

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;进阶C语言 &#x1f388;相关博文&#xff1a;字符串函数&#xff08;一&#xff09;、字符串函数&#xff08;二&#xff09; 字符函数 字符函数1.字符分类函数1.1 iscntrl - 判断是否是控制字符1.2 i…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

鸿蒙Navigation路由导航-基本使用介绍

1. Navigation介绍 Navigation组件是路由导航的根视图容器&#xff0c;一般作为Page页面的根容器使用&#xff0c;其内部默认包含了标题栏、内容区和工具栏&#xff0c;其中内容区默认首页显示导航内容&#xff08;Navigation的子组件&#xff09;或非首页显示&#xff08;Nav…...

【题解-洛谷】P10480 可达性统计

题目&#xff1a;P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图&#xff0c;分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M&#xff0c;接下来 M M M 行每行两个整数 x , y x,y x,y&#xff0c;表示从 …...