amster 发表于 2007-2-12 04:18

数字滤波器,求助

大家好,刚刚接触MATLAB。有个问题需要紧急求助。
我的气候观测数据每30分钟记录一次,因为昼夜气温变化的原因,观测到的数据序列中存在明显的日周期,我要分析这些数据必须先把这个每天的周期给剔除掉。看文献上说是用low pass IIR filter,但是看了几天还没搞清楚里面参数怎么确定。
程序似乎只有两行,哪位大哥帮忙说一下? 谢谢。

yangzj 发表于 2007-2-12 10:22

应该是用高通滤波

amster 发表于 2007-2-13 01:47

可是我看了好多资料都是讲低通滤波啊,不管怎样,把参数给说说 啊:handshake

yangzj 发表于 2007-2-13 10:38

把你写的程序帖出来看看

amster 发表于 2007-2-24 06:05

我只知道函数形式是y=filter(a,b,x)
y是滤波以后的数据,x是原始数据,a,b是参数。

caleb2000 发表于 2007-2-24 06:58

写的太不清楚了,低通作用使数据变化平滑了,要这样去周期你数据没发看了吧?
到是如果有大概低通要求,可以帮想想参数

songzy41 发表于 2007-2-24 07:14

原帖由 amster 于 2007-2-24 06:05 发表
我只知道函数形式是y=filter(a,b,x)
y是滤波以后的数据,x是原始数据,a,b是参数。
对数据进行滤波是只需要用函数 y=filter(a,b,x)就可以了,但关键是求滤波器的参数,以及对信号的认识。用高通还是低通,还是带通?这取决于噪声和你所需信号的关系。从频谱上噪声的频率比所需信号的频率高,当然用低通;噪声的频率比所需信号的频率低,便用高通。另一方面使用什么类型的IIR滤波器,一般都有现成的函数可调用,但也需要给出滤波器的指标方能设计和计算,这样才能得到相应滤波器的系数(a,b)。

再见小鱼 发表于 2007-3-2 14:40

而关于(a,b)的设计则要使用到
巴特沃斯butter(),切比雪夫1cheby1(),切比雪夫2cheby2(),椭圆elip(),最平maxflat()等函数
这些函数中的参数你自己在matlab中的help中看就行了,书上的都是抄那里的

amster 发表于 2007-3-7 00:03

Thks. I find it is easier to filter time series with tstool.

legendshao 发表于 2007-3-7 09:43

what is tstool?

amster 发表于 2007-3-7 19:00

tstool, time series tool, is a new tool in Matlab2006b.
It work with time series object, named timeseries in Matlab.
It is very easy to handle time series with that tool, especially bandstop filter to remove cycles (termed idealfilter)
type 'tstool' in the command window, the interface will appear.

eight 发表于 2007-3-7 19:10

原帖由 amster 于 2007-3-7 19:00 发表
tstool, time series tool, is a new tool in Matlab2006b.
It work with time series object, named timeseries in Matlab.
It is very easy to handle time series with that tool, especially bandstop f ...


2006a也有

水盈澜 发表于 2007-3-11 17:39

Matlab2006b是什么?我的是matlab 7!我的matlab里面没有tstool,有sptool!

FtpAdmin 发表于 2007-3-11 19:24

原帖由 水盈澜 于 2007-3-11 17:39 发表
Matlab2006b是什么?我的是matlab 7!我的matlab里面没有tstool,有sptool!


Matlab2006b就是Matlab7.3

jaz_lee 发表于 2007-3-11 21:16

原来Matlab2006b就是Matlab7.3啊
我还不知道呢
对于日周期的滤波应该用的高通?
页: [1] 2
查看完整版本: 数字滤波器,求助