[求助]如何对信号滤波?
本帖最后由 wdhd 于 2016-8-31 14:51 编辑应该是一个比较基础的问题,不过由于没学过信号处理,很多基本概念不是很明确,所以请大家多多指点。
问题:
已有一离散时间序列x(n),其频率范围已知(wmin,wmax);
已知filter tansfer function:H(w)的解析表达式;
请问如何对输入的离散时间信号进行滤波?
我的做法:
1.对x(n)做fft变换,得到X(w)
2.在频率范围内计算Y(w)=X(w)H(w)
3.再把Y(w)进行ifft变换,得到y(n)
将y(n)作为滤波的结果,请问各位这样处理对不?
对时间序列可以直接实行滤波,怎么上面还有个什么filter tansfer function:H(w)?? 直接对时域信号加滤波器滤波,不需要进行傅立叶变换,傅立叶变换只是将信号变换到频域,不能起到滤波的作用 本帖最后由 wdhd 于 2016-8-31 14:51 编辑
上面都说“直接对时域信号加滤波器滤波”,那加什么样的滤波器呢?
按照我的理解,给出的filter tansfer function应该描述了滤波器的特性,
其具体的形式如下:|H(w)|^2=1/(1+a*w^3),a为大于0的常数。
这应该像是一个低通滤波器。不知道我的理解对不对?
针对我所说的情况,如何处理原始的时间信号,
各位能否说的具体一些,
谢谢!!
filter函数里面有滤波器参数的设置,请查查filter帮助 本帖最后由 wdhd 于 2016-8-31 14:52 编辑
filter函数中的a,b应该是H(s)对应的多项式分式的系数吧,
对于|H(w)|^2=1/(1+a*w^3)这样的情况,我不知道如何求得H(s),
能否再给些参考意见or参考书,谢谢
回复:(zhchtju)[求助]如何对信号滤波?
本帖最后由 wdhd 于 2016-8-31 14:53 编辑以下是引用zhchtju在2005-12-6 14:25:56的发言:
应该是一个比较基础的问题,不过由于没学过信号处理,很多基本概念不是很明确,所以请大家多多指点。
问题:
已有一离散时间序列x(n),其频率范围已知(wmin,wmax);
已知filter tansfer function:H(w)的解析表达式;
请问如何对输入的离散时间信号进行滤波?
我的做法:
1.对x(n)做fft变换,得到X(w)
2.在频率范围内计算Y(w)=X(w)H(w)
3.再把Y(w)进行ifft变换,得到y(n)
将y(n)作为滤波的结果,请问各位这样处理对不?
想问一下通过IFFT得到的Y(n)是唯一的不?
回复:(zhchtju)[求助]如何对信号滤波?
本帖最后由 wdhd 于 2016-8-31 14:53 编辑y = filter(b,a,X) filters the data in vector X with the filter described by numerator coefficient vector b and denominator coefficient vector a. If a(1) is not equal to 1, filter normalizes the filter coefficients by a(1). If a(1) equals 0, filter returns an error.
The input-output description of this filtering operation in the -transform domain is a rational transfer function,
Y(z)=/ X(z)
本帖最后由 wdhd 于 2016-8-31 14:54 编辑
滤波就是信号经过滤波器
在时域和频域处理都一样,作用是一样的。
页:
[1]