高效fir实时滤波器
fir1的Python项目详细描述
一类有效的有限冲激响应(fir)滤波器 用Python包装器用C++编写。
自适应滤波也使用最小平均值实现 平方(lms)或正态最小均值 平方(NLMS)算法。
安装
使用pip安装python包:
pip3 install fir1
您也可以从源安装:
git clone https://github.com/berndporr/fir1 cd fir1 python3 setup.py install
用法
实时过滤
过滤器是一个实时过滤器,它接收样本 一个接一个,以便在数据从 一个模数转换器。这里用for循环进行模拟:
import fir1 b = signal.firwin(999,0.1) f = fir1.Fir1(b) for i in range(len(noisy_signal)): clean_signal[i] = f.filter(noisy_signal[i])
构造函数Fir1()接收过滤系数 (=脉冲响应),然后进行滤波 使用方法filter()。
lms自适应滤波器
文件从 借助lms滤波器的心电图。 滤波器从 参考50赫兹正弦波:
f = fir1.Fir1(NTAPS) f.setLearningRate(LEARNING_RATE); y= np.empty(len(ecg)) for i in range(len(ecg)): ref_noise = np.sin(2.0 * np.pi / 20.0 * i); canceller = f.filter(ref_noise) output_signal = ecg[i] - canceller f.lms_update(output_signal) y[i] = output_signal
演示文件和说明 筛选工作可以在 项目: