我使用Matlab的fdatool设计了数字滤波器,并从该工具获得了滤波器系数。

问题是我设计了4阶滤波器。这给了我5个过滤器值

h[] = {0.1930,0.2035,0.2071,0.2035,0.1930}
x[k] = Discrete time input signal


现在使用公式

Output = h[k]*x[n-k];


输出表示最终的过滤值值虽然很好,但是我无法找出如何通过Matlab获得这些系数,以及单纯的乘法(卷积)如何为任何样本提供最终的滤波响应。

任何链接或解释会做。我想知道滤波器系数计算的完整后端工作。

如果我不确定某个地方是否有疑问,请发表评论。

谢谢:)

评论

这是哪种过滤器类型(您必须在fdatool中指定一种)?

它是使用最小二乘算法设计的低通滤波器

这里要清楚:乘法和卷积是完全不同的事情,因此您的公式在技术上是错误的。卷积将类似于k = 1:FilterLength; y [n] = sum(h [k]。* x [n-k]);

抱歉,我忘了加总和

#1 楼

我们可以尝试一个简短的介绍:


每个过滤器代表一个线性时不变系统(LTI)
每个线性时不变系统都可以用其传递函数或它的完全描述冲动反应。两者可以通过傅立叶变换相互转换滤波器系数是从脉冲响应或传递函数中得出的。
滤波器系数的确切性质取决于算法(其中有很多)
对于最简单的算法,即直接卷积FIR(有限脉冲响应)滤波器,滤波器系数只是LTI系统的脉冲响应。
在大多数其他算法中,这种关系更为复杂。和课本的研究确实是必需的。
LTI系统,传递函数,傅立叶变换,幅度响应,相位响应等的整个主题很可能是另一本值得学习的课本。


#2 楼

“ DSP科学家和工程师指南”是一篇出色的(imo)入门读物。它为您提供了所有概念,而又不让所有初学者感到困惑。

#3 楼

哇...这个问题是离散时间信号和系统中整个大学课程的主题。简而言之,h称为脉冲响​​应,并且紧密相关(通过傅立叶变换)。它在时域中表征系统(例如过滤器)。在离散时间系统中,这是“采样”形式,系数表示“有限脉冲响应”或FIR滤波器的采样。这是一篇有关该主题的体面文章,但坦率地说,您需要一本教科书才能全面了解。

评论


$ \ begingroup $
谢谢。但是,如果您可以建议我这本书的名称,那就太好了
$ \ endgroup $
– Prashant Singh
2012年1月26日18:23

$ \ begingroup $
我相信这是我从以下中学到的书:amazon.com/Discrete-Time-Signal-Processing-2nd-Prentice-Hall/dp / ...
$ \ endgroup $
– vicatcu
2012年1月26日19:08

$ \ begingroup $
理查德·里昂斯(Richard Lyons)的《理解DSP》是一本针对初学者(IMNVHO)更好,更实用的书。
$ \ endgroup $
– Paul R
2012年1月26日23:02

$ \ begingroup $
谅解_DSP-获借!
$ \ endgroup $
–马丁·汤普森(Martin Thompson)
2012年1月27日在16:19