爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 24621|回复: 17

[求助] 关于Python的FFT 滤波器

[复制链接]

新浪微博达人勋

发表于 2021-8-22 18:40:40 | 显示全部楼层 |阅读模式
47金钱
本帖最后由 学生党少华 于 2024-1-9 14:10 编辑

最近有一个需求,要对全球海温数据进行FFT滤波,尽管我自己写出来也搜到了好几个不同版本的FFT滤波器,但是效果都达不到origin软件中FFT滤波器的效果,哪位大神能写出来和origin效果一样的FFT滤波器,在下不胜感激,求代码!!

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-10-4 22:25:41 | 显示全部楼层
同求
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-10-25 21:10:17 | 显示全部楼层
请问楼主解决了吗
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-26 15:58:31 | 显示全部楼层

没看悬赏金额还挂在那上面呢么~~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-1-16 19:56:46 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-9-19 19:12:38 | 显示全部楼层
久远的问题 我自问自答吧。。。 butterworth效果也不差。 用它写了文章
##lowpass

from scipy.signal import butter, lfilter, filtfilt
def butter_lowpass(lowcut, fs, order=4):
    nyq = 0.5 * fs
    low = lowcut / nyq
    b, a = butter(order, low, btype='lowpass')
    return b, a

def butter_lowpass_filter(data, lowcut, fs, order=4):
    b, a = butter_lowpass(lowcut, fs, order=order)
    y = filtfilt(b, a, data)
    return y
##bandpass
def butter_bandpass(lowcut, highcut, fs, order=4):
    nyq = 0.5 * fs
    low = lowcut / nyq
    high = highcut / nyq
    b, a = butter(order, [low, high], btype='bandpass')
    return b, a

def butter_bandpass_filter(data, lowcut, highcut, fs, order=4):
    b, a = butter_bandpass(lowcut, highcut, fs, order=order)
    y = filtfilt(b, a, data)
    return y
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-10-27 08:14:52 | 显示全部楼层
学生党少华 发表于 2023-9-19 19:12
久远的问题 我自问自答吧。。。 butterworth效果也不差。 用它写了文章
##lowpass

请问fs怎么选取?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-10-27 12:47:27 | 显示全部楼层

采样频率嘛 根据数据分辨率来看
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-10-31 00:23:42 | 显示全部楼层
请问0.25度数据,fs是等于0.25吗?
lowcut和highcut是怎么定的呢?
滤波阶数为什么选择4呢?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-10-31 12:34:27 | 显示全部楼层
紫藤萝 发表于 2023-10-31 00:23
请问0.25度数据,fs是等于0.25吗?
lowcut和highcut是怎么定的呢?
滤波阶数为什么选择4呢?

采样频率指的是时间分辨率;order具体原理 我也不是很熟悉,我自己看着效果来的。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表