本文主要是介绍语音信号处理2:数字滤波器 Digital Filters,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:
The Scientist and Engineer’s Guide to Digital Signal Processing
Multimedia Signal Processing: Theory and Applications in Speech, Music and Communications
Classification
欲知细节,先识大体,看看数字滤波器都有哪些种类吧。
The Scientist and Engineer’s Guide to Digital Signal Processing 中是这样划分的:
解释一下上面这张图:
首先,滤波器根据其用途被分为了三类:用在时域中、用在频域中和自定义。当信息被编码在信号的波形中时,使用时域的滤波器去进行诸如平滑、去偏置或整形等处理。而当信息被包含在信号的幅值、频率或者相位中时,使用频域的滤波器去提取某个频段以进行分析。自定义滤波器则用来做一些更加特殊而精巧的处理,比如反卷积(deconvolution)。
而根据滤波器的实现方式又有两种划分:通过卷积实现 或者 通过递归实现。通过卷积实现的滤波器就是FIR滤波器,通过递归实现的滤波器就是IIR滤波器。
The use of a digital filter can be broken into three categories: time domain, frequency domain and custom. As previously described, time domain filters are used when the information is encoded in the shape of the signal’s waveform. Time domain filtering is used for such actions as: smoothing, DC removal, waveform shaping, etc. In contrast, frequency domain filters are used when the information is contained in the amplitude, frequency, and phase of the component sinusoids. The goal of these filters is to separate one band of frequencies from another. Custom filters are used when a special action is required by the filter, something more elaborate than the four basic responses (high-pass, low-pass, band-pass and band-reject).
Digital filters can be implemented in two ways, by convolution (also called finite impulse response or FIR) and by recursion (also called infinite impulse response or IIR).
Multimedia Signal Processing: Theory and Applications in Speech, Music and Communications 中的划分方法则是这样的:
Depending on the form of the filter equation and the structure of implementation, filters may be broadly classified into the following classes:
(1)Linear filters versus nonlinear filters.
(2)Time-invariant filters versus time-varying filters.
(3)Adaptive filters versus non-adaptive filters.
(4)Recursive versus non-recursive filters.
(5)Direct-form, cascade-form, parallel-form and lattice structures.
前3点略去不表,第4点其实也就是根据实现方式来划分为FIR和IIR两种,第5点讲的是滤波器的结构,有直接型、级联型、并行型和lattice型。
最常用的分类还是分为FIR和IIR。
BTW,总结一下各种名称:
FIR滤波器,又名非递归滤波器(non-recursive filter)、全零点滤波器(all-zero filter)、前馈滤波器( feed-forward filter)或者滑动平均滤波器(moving average filter,MA filter,通常见于统计信号处理相关的文献中 )。
IIR滤波器,又名递归滤波器(recursive filter)、极点-零点滤波器(pole-zero filter)、反馈滤波器(feedback filter)或者自回归移动平均滤波器(auto-regressive-moving-average filter,ARMA filter,通常见于统计信号处理相关的文献中 )。还有一个比较常见的名词——双二阶滤波器(biquad filter)指的是二阶的IIR滤波器。
Alternative Methods for Description of Filters
要想学习某个东西,肯定要知道如何去描述它。那么如何描述一个滤波器?有四种方式:
1.时域,输入信号与输出信号的关系,差分方程
举个栗子:某个一阶滤波器
y ( m ) = a y ( m − 1 ) + x ( m ) y(m) = ay(m-1)+x(m) y(m)=ay(m−1)+x(m)
其中,y(m)是滤波器输出,x(m)是滤波器输入,a是滤波器系数。
2.冲激响应形式,用滤波器对冲激信号的响应来描述
上面栗子中的滤波器 to a discrete-time impulse input at at m=0 又可以表示为
y ( m ) = a m y(m) = a^m y(m)=am
Impulse response is useful because: (i) any signal can be viewed as the sum of a number of shifted and scaled impulses, hence the response a linear filter to a signal is the sum of the responses to all the impulses that constitute the signal, (ii) an impulse input contains all frequencies with equal energy, and hence it excites a filter at all frequencies and (iii) impulse response and frequency response are Fourier transform pairs.
3.传递函数形式,零点和极点
还是上面的栗子:
H ( z ) = 1 / ( 1 − a z − 1 ) H(z)=1/(1-az^{-1}) H(z)=1/(1−az−1)
4.频率响应形式
The frequency response of a filter can be obtained by taking the Fourier transform of the impulse response of the filter, or by simple substitution of the frequency variable ejw for the z variable z=ejw in the z-transfer function as H(z=ejw) = Y(ejw)/X(ejw).
另外一些不错的资料:
Introduction to Digital Filters,Stanford的Julius Orion Smith写的online book
Introduction to Signal and System, University of Colorado Colorado Springs 的ECE2610课程,Lecture Notes写得不错
这篇关于语音信号处理2:数字滤波器 Digital Filters的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!