CIC滤波器

CIC滤波器是滑动平均滤波器的非常高效的迭代实现,只需要一个减法和一个加法,而滑动平均需要N-1个加法。

cic滤波器相当于一个梳状滤波器y(n)=x(n)-x(n-D),H(z)=1-z-D,和一个积分滤波器y(n)=x(n)+y(n-1),H(z)=(1-z-1)-1的级联,两个级联后y(n)=x(n)-x(n-D)+y(n-1),H(z)=(1-z-D)/(1-z-1),和求和表达式y(n)=x(n)+x(n-1)+x(n-2)...+x(n-D),H(z)=(1-z-D)/(1-z-1)一样.

CIC滤波器的FPGA表达:

process(rst,clk)

begin

if rst=1 then

y(n-1)=0;

k=0;

if rising(clk) then

x(n)="0000"+xin;

x(n-1)=x(n);

x(n-2)=x(n-1);

x(n-3)=x(n-2);

xd4=x(n)-x(n-3);

y(n)=xd4+y(n-1);

k=k+1;

if k=0 then

yout=y(n);

endif;

if k=3 then

k=0;

endif;

end process

原文地址:https://www.cnblogs.com/deyicun/p/12499704.html

时间: 2024-10-18 20:22:25

CIC滤波器的相关文章

matlab 与 modelsim 联调 cic抽取滤波器

注:本设计的参数为:D=2,R=5,N=3:时钟频率为50mhz,输入信号为有符号8位,根据公式bmax=bin+N*log(2,R*D):可以得到bmax=18: 1,cic抽取滤波器原理 网上资料一大堆,不说了.重点在于传递函数,以及各个部分的结构. 2,simulink仿真 模型图 频谱仪显示结果 3,cic滤波器verilog 代码 module cic_dec(clk,rst_n,datain,dataout);input clk,rst_n;input [7:0] datain;ou

FPGA与数字信号处理

过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等需求的日益增加的结果.一些高性能应用正在不断发展,其中包括高级有线和无线音频.数据和视频处理. 通信和多媒体应用的发展,如互联网通信.安全无线通信以及消费娱乐设备,都在驱动着对能够有效实现复数运算和信号处理算法的高性能设备的需求. 这些应用中需要一些典型的DSP算法包括快速傅里叶变换(FFT).离散

深度滤波器(3)——深度滤波器的原理及实现

在前两篇文章中,我们介绍了三角化恢复深度信息,并对三角化过程中的误差进行了分析和讨论. 今天,我们就进入我们这个系列的正题:深度滤波器的原理及实现. 一提到深度滤波器,大家肯定首先会觉得深不可测,听名字就觉得高大上.其实,有了前面的预备知识,不难理解今天要讲解的深度滤波器的原理. 我们今天给大家介绍的是比较简单的高斯分布假设下的深度滤波器. 高斯分布是自然界中最常见的一种分布形式,并且也符合绝大部分的自然情况.简单起见,我们先假设三角化后恢复的深度值符合高斯分布.对于像素点的深度值d,满足: P

OpenCV 学习(利用滤波器进行边缘提取)

OpenCV 学习(利用滤波器进行边缘提取) 通过低通滤波器,我们可以将图像平滑,相反的,利用高通滤波器可以提取出图像的边缘. Sobel 滤波器 Sobel 滤波器是一种有方向性的滤波器,可以作用在 X 方向或 Y 方向. 关于这种滤波器的理论介绍可以参考: https://en.wikipedia.org/wiki/Sobel_operator 函数原型如下: void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, i

FPGA的FIR抽取滤波器设计

摘 要:本文介绍了FIR抽取滤波器的工作原理,重点阐述了用XC2V1000实现FIR抽取滤波器的方法,并给出了仿真波形和设计特点. 关键词:FIR抽取滤波器:流水线操作:FPGA 用FPGA实现抽取滤波器比较复杂,主要是因为在FPGA中缺乏实现乘法运算的有效结构,现在,FPGA中集成了硬件乘法器,使FPGA在数字信号处理方面有了长足的进步.本文介绍了一种采用Xilinx公司的XC2V1000实现FIR抽取滤波器的设计方法. 具体实现 结构设计 基于抽取滤波器的工作原理,本文采用XC2V1000实

卡尔曼滤波器

卡尔曼的历史不讲了... 网上写卡尔曼滤波器的太多了...而且大(yi)多(mu)雷(yi)同(yang),所以,我也不知道谁是第一稿,谁是转载者,这里...我也是参考别人的博文.将卡尔曼滤波器用在了一个GPS的小程序里,最简单的一维模型... 首先,我们先要引入一个离散控制过程的系统.该系统可用一个线性随机微分方程(Linear Stochastic Difference equation)来描述: X(k)=A*X(k-1)+B*U(k)+W(k) 再加上系统的测量值: Z(k)=H*X(k

卡尔曼滤波器的简单推导

本文将简单推导卡尔曼滤波器的预测和更新公式.为了简单,使用标量(一维向量)而不是向量,并且假设系统没有输入. 系统状态的理论值如下: $x_k=\Phi_k x_{k-1}+w_k$ 但是由于过程噪声和观测噪声的存在,系统状态的真实值是不可知的.但我们仍可以根据以下思路,尽量跟踪真实值: 1) 状态转换系数是已知的,因此我们可以根据上一状态得到当前状态的先验估计: $\hat{x}_k^-=\Phi_k \hat{x}_{k-1}$ 2) 将对当前状态的先验估计$\hat{x}_k^-$变换到对

11.图像滤波与滤波器

图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性. 消除图像中的噪声成分称为图像的平滑化或者滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段.而在较高频段,有用的信息经常被噪声淹没.滤波的目的有2个:一个是抽出对象的特征作为图像识别的特征模式:一个是为适应图像处理的要求,消除图像数字化时所混入的噪声. 对于滤波而言,处理的要求有2个:一个是不能损坏图像的轮廓及边缘等重要信息:

学习 opencv---(11)OpenC 边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器

本篇文章中,我们将一起学习OpenCV中边缘检测的各种算子和滤波器--Canny算子,Sobel算子,Laplace算子以及Scharr滤波器.文章中包含了五个浅墨为大家准备的详细注释的博文配套源代码.在介绍四块知识点的时候分别一个,以及最后的综合示例中的一个.文章末尾提供配套源代码的下载. **** 给大家分享一个OpenCv中写代码是节约时间的小常识.其实OpenCv中,不用nameWindow,直接imshow就可以显示出窗口.大家看下文的示例代码就可以发现,浅墨在写代码的时候并没有用na