Verilog实现多相滤波器

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

一、多相滤波器,能够使用较低频率的时钟,实现较高数据率的数据滤波抽取。(咳咳 先正式一点)

在实际的工程应用中, 为了降低硬件实现时的数据率, 往往需要进行多相分解。采用多相滤波结构,可利用Q个阶数较低的滤波来实现原本阶数较高的滤波,而且每个分支滤波器处理的数据速率仅为原数据速率的I/Q,这为工程上高速率实时信号处理提供了实现途径。多相分解是指将数字滤波器的传输函数H (z) 分解成若干不同相位的滤波器组。FIR滤波器h(n)的系统函数为

Verilog实现多相滤波器

将冲激响应h (n) 的抽头系数分成Q组, 长度N是Q的整数倍;若N不是Q的整数倍, 需要对N进行补零, 使之满足整数倍的关系。那么H (z) 的多相分解结果为

Verilog实现多相滤波器

Verilog实现多相滤波器

其中Ek ()为每个分相的子滤波器。多相滤波器的一般结构为

Verilog实现多相滤波器

采用多相结构实现滤波器的基本思想是将输入信号进行相应延迟后,分别送至Q个通道进行滤波,然后将每一支路滤波后的数据相加,得到最终输出结果。在使用多相滤波器完成滤波后进行D倍抽取,在实现时可以将延时和抽取结合在一起,采用此结构进行抽取滤波时将滤波器分成D相,在该结构中包括3个模块:(1)串并转换,将输入数据转换成D路并行信号;(2)多相滤波,将得到的D路信号进行滤波;(3)加法运算,将滤波后的信号相加得到最终输出信号。

Verilog实现多相滤波器

 二、以实际的双相滤波、二倍抽取为例

在AD变换前的过程就是升采样然后滤波并抽取的过程。

二相滤波器可以实现以aMHz的时钟来实现2aMHz数据率的处理,滤波完成输出后并实现二倍抽取。

实现结构如下(有点简陋 各位见笑了)

Verilog实现多相滤波器

在多相滤波器实现时将延时和抽取结合在一起,电子开关以频率FX每逆时针旋转一周,在每次转到p0(n)时,输出端就以频率FX/2送出一个y(m)样值。在开始时只有x(0)进入p0(n),p1(n)无信号,所以总输出y(0)= p0(n)x(0)=h(0)x(0)。逆时针旋转进入下一周期,电子开关转到p1(n),x(1)进入p1(n),p1(n)的输出为p1(0)x(1)=h(1)x(1),然后电子开关又转到p0(n),此时,x(2)进入p0(n)第一节,上一周期中进入p0(n)的x(0)移位到p0(n)的第二节,所以p0(n)的输出为p1(0)x(2)+ p1(1)x(0)= h(0)x(2)+ h(2)x(0),总的输出为y(1)= h(0)x(2)+ h(2)x(0)+ h(1)x(1)。依次可以推导出此结构实现了二倍抽取。

三、用Verilog实现一下下

首先MATLAB生成滤波器系数,然后腻那个旋转开关怎么实现呀!一个时钟信号aMHz,另一个时钟信号aMHz,哈哈哈,俩一样!

但是  CLK_1 = ~CLK_2

Verilog实现多相滤波器

将2aMHz的数据直接接入两项滤波器里面,由于时钟上升沿有效,刚好第一个数据第一相读入,第二个数据第二项读入……

然后数据处理完后,两项都有输出,要实现同时相加,相加时钟选取时钟CLK_1,按上面所说的(下图),第二相数据输出早于第一相半个时钟周期,但是数据会保持一个时钟周期,在半个周期后等到第一相CLK_1的上升沿,相加输出。

 

Verilog实现多相滤波器

 

 always @ (posedge CLK_1) begin
        if(!rst) begin
            Data_out <= x'd0;
        end
        else  begin
            Data_out <= Data_1 +Data_2;
        end

哈哈哈哈,只会always begin end咋办!代码后面改改再贴。
 

       
          
 文章来源地址https://www.toymoban.com/news/detail-449949.html

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

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

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

相关文章

  • FPGA 的数字信号处理:Verilog 实现简单的 FIR 滤波器

    该项目介绍了如何使用 Verilog 实现具有预生成系数的简单 FIR 滤波器。 不起眼的 FIR 滤波器是 FPGA 数字信号处理中最基本的模块之一,因此了解如何将具有给定抽头数及其相应系数值的基本模块组合在一起非常重要。因此,在这个关于 FPGA 上 DSP 基础实用入门的教程中,将从一

    2024年02月09日
    浏览(36)
  • 通用FIR滤波器的verilog实现(内有Lowpass、Hilbert参数生成示例)

      众所周知,Matlab 中的 Filter Designer 可以直接生成 FIR 滤波器的 verilog 代码,可以方便地生成指定阶数、指定滤波器参数的高通、低通、带通滤波器,生成的 verilog 代码也可以指定输入输出信号的类型和位宽。然而其生成的代码实在算不上美观,复用性也很差,要实现不同

    2024年02月13日
    浏览(33)
  • 【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

    串行 FIR 滤波器设计 设计说明 设计参数不变,与并行 FIR 滤波器参数一致。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。 串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算

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

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

    2024年03月17日
    浏览(33)
  • m基于FPGA的积分梳状CIC滤波器verilog设计

    目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 积分梳状滤波器,是指该滤波器的冲激响应具有如下形式: 其物理框图如图所示: 可见,CIC滤波器是由两部分组成:累积器H1和H2梳状滤波器的级联。        现若假设用N级CIC滤波器来代替,每一级的滤波器系数长度

    2024年02月14日
    浏览(23)
  • Sigma-delta ADC数字抽取滤波器的verilog与MATLAB设计

           模数转换器根据采样率的不同发展为奈奎斯特(Nyquist)型和过采样(Oversampling)型两大类。奈奎斯特型ADC 采用2-3倍信号带宽的采样时钟进行采样。过采样型ADC采用过采样技术和噪声整形技术,以远高于2倍信号带宽的采样时钟进行采样,将信号中的噪声搬移到高频以

    2024年04月26日
    浏览(37)
  • m基于FPGA的半带滤波器verilog设计,对比普通结构以及乘法器复用结构

    目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA         HBF模块由半带滤波器(HBF)和抽取模块组成。该模块的任务是实现2倍抽取进一步降低信号采样速率。由于HBF的冲激响应h(k)除零点外其余偶数点均为零,所以用HBF实现2倍抽取可以节省一半的运算量,对增强软

    2023年04月08日
    浏览(66)
  • python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

    在一幅图像中,其低频成分对应者图像变化缓慢的部分,对应着图像大致的相貌和轮廓,而其高频成分则对应着图像变化剧烈的部分,对应着图像的细节(图像的噪声也属于高频成分)。 低频滤波器,顾名思义,就是过滤掉或者大幅度衰减图像的高频成分,让图像的低频成分

    2024年02月11日
    浏览(30)
  • 图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

    一、前言 高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是 使图像得到锐化处理,突出图像的边界 。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质

    2023年04月25日
    浏览(32)
  • 【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 扩展卡尔曼滤波 2.2 线性卡尔曼滤波 

    2024年02月09日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包