文件名称:ButterWorth巴特沃斯滤波库
文件大小:335KB
文件格式:DLL
更新时间:2021-12-11 04:41:13
巴特沃斯 滤波 高通 低通 带通
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);