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

这篇具有很好参考价值的文章主要介绍了FPGA设计FIR滤波器低通滤波器,代码及视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

软件:Quartus

语言:Verilog/VHDL

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

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

代码功能:

设计一个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=firhttp://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 IS
   PORT (
      clk_in    : IN STD_LOGIC;--50MHz
      reset_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 IS
      PORT (
         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 IS
      PORT (
         clk_in    : IN STD_LOGIC;
         clk_out   : OUT STD_LOGIC
      );
   END COMPONENT;
   --8阶线性相位结构FIR
   COMPONENT FIR IS
      PORT (
         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_clk
      PORT MAP (
         clk_in   => clk_in,
         clk_out  => clk_100K
      );
   
   
  --产生带噪声的正弦波 
   i_sin_noise : sin_noise
      PORT MAP (
         clk_in         => clk_in,--50MHz
         reset_p        => reset_p,--高电平复位
         sin_and_noise  => data_in--产生带噪声的正弦波
      );
   
   
   --8阶线性相位结构FIR
   i_FIR : FIR
      PORT MAP (
         clk       => clk_100K,--100K
         reset_p   => reset_p,--高电平复位
         data_in   => data_in,--周期1K,噪声频率30K左右
         fir_data  => fir_data--滤波后结果
      );
   
END behave;

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

设计文档.doc

1. 工程文件

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

2. 程序文件

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

3. 程序编译

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

4. RTL图

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

5. Testbench

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

6. 仿真图

整体仿真

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

分频模块仿真

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

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

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

滤波器模块仿真

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL

FPGA设计FIR滤波器低通滤波器,代码及视频,fpga开发,FIR,低通滤波器,verilog,VHDL文章来源地址https://www.toymoban.com/news/detail-717338.html

到了这里,关于FPGA设计FIR滤波器低通滤波器,代码及视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的FIR数字滤波器设计(quartus和vivado程序都有)。

    基于FPGA的FIR数字滤波器设计(quartus和vivado程序都有)。 附: 1.配套quartus从MATLAB系数生成直到仿真成功说明文档。 2.配套仿真出波形(图1)的视频。      

    2024年02月10日
    浏览(37)
  • 滤波器设计:FIR和IIR高、低、带通滤波器的实现及Matlab代码

    滤波器设计:FIR和IIR高、低、带通滤波器的实现及Matlab代码 引言: 滤波器作为信号处理中非常重要的一部分,广泛应用于数字信号处理、音频处理、图像处理等领域。本文主要讨论FIR(有限长冲激响应)和IIR(无限长冲激响应)两种常见滤波器的设计及其实现。 FIR滤波器

    2024年02月09日
    浏览(28)
  • FIR滤波器简述及FPGA仿真验证

    数字滤波器的设计,本项目做的数字滤波器准确来说是FIR滤波器。 FIR滤波器(有限冲激响应滤波器),与另一种基本类型的数字滤波器——IIR滤波器(无限冲击响应滤波器)相对应,其实就是将所输入的信号都看成是离散的,用离散的冲击信号代替实际的信号。对于FIR滤波器

    2024年02月09日
    浏览(33)
  • FIR滤波器的FPGA实现【IP核实现版】

    本文使用FPGA来实现FIR滤波器设计,设计中使用的DDS、乘法器与FIR滤波器均采用IP core进行实现,实现效果是将3MHz和4MHz的正弦信号混频后使用FIR低通滤波器滤除7MHz信号得到1MHz的信号。 首先用两个DDS核生成3MHz以及4MHz的正弦波信号。 注意:此处的dds的命名要和代码中对应,系统

    2024年02月04日
    浏览(37)
  • FIR内插滤波器的FPGA实现(一)-matlab实现

    FIR内插滤波器是一种基本的插值方法,主要有两个步骤: 1)在输入的每一个初始采样中间插入L个零点; 2)插零后的数据经过低通滤波器。 运行结果如图(时域、频域): 我们的目标是把采样频率提升五十倍。 得到的频域图: 可以看出内插零点在频域会实现频谱扩展,因此

    2024年02月03日
    浏览(37)
  • 使用C++设计滤波器(低通滤波器,高通滤波器,带通滤波器)

    以下是一个使用C++语言编写的基本低通滤波器的示例代码,它可以对输入信号进行滤波以降低高频成分: 在这个示例中,我们使用一个一阶滤波器来实现低通滤波器。该滤波器具有一个截止频率,所有高于该频率的信号成分都会被过滤掉。在构造函数中,我们根据采样率和截

    2024年02月11日
    浏览(25)
  • FPGA 的 DSP:Verilog 中的简单 FIR 滤波器

    本项目介绍如何用 Verilog 实现一个带有预生成系数的简单 FIR 滤波器。 简陋的 FIR 滤波器是 FPGA 数字信号处理中最基本的构建模块之一,因此了解如何利用给定的抽头数和相应的系数值组装一个基本模块非常重要。因此,在这个关于在 FPGA 上入门 DSP 基础知识的实用方法迷你系

    2024年03月17日
    浏览(31)
  • FIR数字滤波器设计

    目标 用Kaiser窗设计一个FIR数字带阻滤波器,对模拟信号 x a ( t ) = c o s ( 2 π f a t ) + c o s ( 2 π f b t ) + c o s ( 2 π f c t ) x_a(t) = cos (2pi f_at) + cos (2pi f_bt) + cos (2pi f_ct) x a ​ ( t ) = cos ( 2 π f a ​ t ) + cos ( 2 π f b ​ t ) + cos ( 2 π f c ​ t ) , f a = 6500 H z , f b = 7000 H z , f c = 9000 H z

    2024年01月24日
    浏览(25)
  • 解析使用FPGA逻辑实现FIR滤波器的几种架构

    有限脉冲响应(finite impulse response,FIR)数字滤波器         FIR滤波器的实质就是输入序列与系统脉冲响应的卷积,即:         其中,N为滤波器的阶数,也即抽头数;x(n)为第n个输入序列;h(n)为FIR滤波器的第n级抽头系数。         FIR滤波器基本结构如下:      

    2024年02月08日
    浏览(28)
  • 数字信号处理-10-并行FIR滤波器MATLAB与FPGA实现

    本文介绍了设计滤波器的FPGA实现步骤,并结合杜勇老师的书籍中的并行FIR滤波器部分进行一步步实现硬件设计,对书中的架构做了复现以及解读,并进行了仿真验证。 FIR滤波器的结构形式时,介绍了直接型、级联型、频率取样型和快速卷积型4种。在FPGA实现时,最常用的是最

    2023年04月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包