fir算法
‘壹’ fir数字滤波器设计原理是什么
原理:在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足奈奎斯特定理,一般取信号频率上限的4-5倍做为采样频率;一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
拓展:关于FIR滤波器
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
‘贰’ 急!!!!!!!!用窗函数法设计FIR滤波器的主要特点是什么
系统的单位冲激响应h (n)在有限个n值处不为零。系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统)。结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
设FIR滤波器的单位冲激响应h (n)为一个N点序列,0 ≤ n ≤N —1,则滤波器的系统函数为H(z)=∑h(n)*z^-k。
就是说,它有(N—1)阶极点在z = 0处,有(N—1)个零点位于有限z平面的任何位置。
(2)fir算法扩展阅读:
在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足香农采样定理,一般取信号频率上限的4-5倍做为采样频率;
一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。
FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
‘叁’ FIR滤波器的工作原理
在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足奈奎斯特定理,一般取信号频率上限的4-5倍做为采样频率;一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
‘肆’ FIR和IIR滤波器这两种滤波器有什么区别
1、响应不同:两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。对于FIR滤波器,冲激响应在有限时间内衰减为零,其输出仅取决于当前和过去的输入信号值。对于IIR滤波器,冲激响应理论上应会无限持续,其输出不仅取决于当前和过去的输入信号值,也取决于过去的信号输出值。
2、相位不同:FIR:有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比,它具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,不容易设计的缺点。
3、影响不同:而另一方面,IIR却拥有FIR所不具有的缺点,那就是设计同样参数的滤波器,FIR比IIR需要更多的参数。这也就说明,要增加DSP的计算量。DSP需要更多的计算时间,对DSP的实时性有影响。
‘伍’ FIR滤波器时延问题
FIR(Finite Impulse Response)数字滤波器因其具有良好的线性特性而被广泛应用,但在利用FIR滤波器进行实际信号的滤波处理中,滤波后信号将会不可避免地产生明显的时延,影响滤波器的性能,从而限制了该滤波器在实际中的一些应用。
为了解决这一问题,从FIR滤波器的相位特性出发,首先需要从理论上深入分析FIR滤波器产生时延的原因,获得了FIR数字滤波器产生时延的内在规律,并给出了消除时延的数学模型。
(5)fir算法扩展阅读:
FIR滤波器的工作原理:
在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足香农采样定理,一般取信号频率上限的4-5倍作为采样频率。
通常可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。
‘陆’ c语言fir陷波器算法
#include<math.h>
#define FIRNUMBER 25
#define SIGNAL1F 1000
#define SIGNAL2F 4500
#define SAMPLEF 10000
#define PI 3.1415926
float InputWave();
float FIR();
float fHn[FIRNUMBER]={ 0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,
-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,
-0.11,-0.02,0.049,-0.018,-0.009,0.01,
-0.002,-0.002,0.001,0.0,0.0
};
float fXn[FIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256];
int nIn,nOut;
main()
{
nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;
fStepSignal2=2*PI*1.4;
while ( 1 )
{
fInput=InputWave();
fIn[nIn]=fInput;
nIn++; nIn%=256;
fOutput=FIR();
fOut[nOut]=fOutput;
nOut++;
if ( nOut>=256 )
{
nOut=0; /* 请在此句上设置软件断点 */
}
}
}
float InputWave()
{
for ( i=FIRNUMBER-1;i>0;i-- )
fXn[i]=fXn[i-1];
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fSignal1+=fStepSignal1;
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}
float FIR()
{
float fSum;
fSum=0;
for ( i=0;i<FIRNUMBER;i++ )
{
fSum+=(fXn[i]*fHn[i]);
}
return(fSum);
}
‘柒’ fir滤波器原理
我会啊,用DSP的CCS软件编嘛?
给个大概的意思:
滤波器需要的系数可以由MATLAB获得:
设采样频率为16Khz, 由MATLAB得到归一化的截止频率为:
W1=2*1/16=0.125
W2=2*5/16=0.625
由命令B=FIR1(36,[W1,W2])就可以得到系数向量B,加入滤波器的核心算法中即得到欲设计的带通滤波器。
看得懂的话就照着编,
看不懂的话你把滤波器的具体要求告诉我,我给你编个。
很容易的!
‘捌’ 简述iir,fir滤波器的优缺点
一、FIR滤波器的优缺点
优点:
1、有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
2、可以无限增加精度(在足够运算能力的前提下),并且不存在IIR滤波器的相位精度问题,是目前比较高端的解决方案。
劣势:
1、因为采用的精度很高,所以对计算资源和内存、功耗的使用更高;
2、FIR在其他领域主要解决高频问题,在音频应用常常遇到1Khz以下的信号,FIR至少需要FIR 512才能对1K以下产生作用
3、过分运算,因为FIR每个处理单元宽度不能调整,因此在解决低频问题时,高频会出现过分运算的情况。
二、IIR滤波器的优缺点
优点:
1、IIR数字滤波器的系统函数可以写成封闭函数的形式。
2、直接设计可以采用优化设计(CAD)法,数字滤波器的系统函数H(Z)的系数ai, bi或零极点ci, di等参数,可采用优化设计的方法。
3、IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
缺点:
1、IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
(8)fir算法扩展阅读
IIR数字滤波器与FIR数字滤波器的区别:
1、单位响应
IIR滤波器的单位脉冲响应为无限长,网络中有反馈回路。FIR滤波器的单位脉冲响应是有限长的,一般网络中没有反馈回路。
FIR滤波器的系统函数一般是一个有理分式,分母多项式决定滤波器的反馈网络。FIR滤波器的系统函数用下式表示
2、幅频特性
IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
3、实时信号处理
FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
‘玖’ 为什么fir可以采用fft算法而iir不可以
信号通过滤波器系统可以看做信号与滤波器单位脉冲响应h(n)的卷积;
无限脉冲响应IIR滤波器,无法通过卷积实现滤波,因为h(n)无限长
有限脉冲响应FIR滤波器,可以通过卷积实现滤波,则可以通过FFT来实现卷积的快速运算
‘拾’ 快要答辩了,我想问的是FIR数字滤波器的原理就是他所采用的算法吗
分布式算法是FPGA过程中的算法优化,根据FIR滤波器的结构特点,将加乘单元进行化简,简化计算单元,缩短计算时间。
FIR设计原理应该是用MATLAB的fir1()函数得到的系数,将系数直接应用到FPGA中,如用VHDL编写代码的话,可将系数设为常量。
FIR原理是滤波的原理,就是h(n)与输入信号卷积后得到输出序列y(n).
算法是在设计过程中的优化,二者不同。