巴特沃斯滤波算法库整理

本文主要探讨了在滤波算法选择中,巴特沃斯滤波器优先于卡尔曼滤波器的情况。提到了几个实现巴特沃斯滤波算法的方向,包括网上个人实现的各种语言版本,Java的iirj库以及Python的scipy和matplotlib库。此外,还提供了相关参考资料,如Python的scipy信号处理模块的使用示例,帮助读者理解和应用巴特沃斯滤波算法。
摘要由CSDN通过智能技术生成

现在巴特沃斯滤波算法优先考虑,并且之前的卡尔曼算法已经有方案了,所以上面几个链接是按前者来查。
现在有几个方向:
1、网上别人说自己实现的,有各种语言
2、java的iirj库
https://github.com/berndporr/iirj
3、python的scipy、matplotlib库
https://stackoverflow.com/questions/63859350/java-alternative-for-scipy-butterworth-bandpass-filter
https://www.pianshen.com/article/1117306133/
https://docs.scipy.org/doc/scipy/reference/signal.html#module-scipy.signal%EF%BC%89

其它参考:
https://vimsky.com/examples/usage/python-scipy.signal.butter.html

ButterWorth巴特沃斯滤波64B位 C++,支持高通、低通、带通、带阻滤波。需要32位请私信。 提供C#调用方法: public static class ButterFilter { [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static void DeleteFilter(IntPtr filter); [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static double FilterProcess(IntPtr filter, double data); [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static IntPtr CreateHighPass(double sampleRate, double order, double cutoffFrequency); [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static IntPtr CreateLowPass(double sampleRate, double order, double cutoffFrequency); [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static IntPtr CreateBandPass(double sampleRate, double order, double centerFrequency, double bandWidth); [DllImport("V_Filter.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public extern static IntPtr CreateBandStop(double sampleRate, double order, double centerFrequency, double bandWidth); } 初始化滤波器: lowpassFilter= ButterFilter.CreateLowPass(sampleRate, order, endFreq); highpassFilter= ButterFilter.CreateHighPass(sampleRate, order, endFreq); bandstopFilter= ButterFilter.CreateBandStop(sampleRate, order,beginFreq, endFreq - beginFreq); bandPassFilter= ButterFilter.CreateBandPass(sampleRate, order,beginFreq, endFreq - beginFreq); 数据滤波: value = ButterFilter.FilterProcess(highpassFilter, value);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值