高效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

演示文件和说明 筛选工作可以在 项目:

https://github.com/berndporr/fir1

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在JScrollPane标题中禁用鼠标滚轮滚动?   java如何为篮球计分器应用程序存储包括球队名称在内的比赛分数?   java如何使用ADT接口实例化列表   JavaCV抓取帧方法延迟并返回旧帧   java在上传文件时处理网络问题   java如何创建2d阵列的克隆?   关于XMLGregorianCalendar的java信息   java XmlUnit在比较XML文件时忽略元素的顺序   java如何最好地检测无意义的文本?   克隆如何制作java扫描仪的副本?   验证Java中空值的BigDecimal数据类型   java字符串数组中的字数   java JavaFX:如何选择平铺并添加数字和边框线?   java更改jtable中从jar文件获取的特定行的颜色   正则表达式Java字符串。拆分:将\\W用作非单词分隔符时出现问题   当内存损坏时,Java中的同一引用/实例变量会发生什么变化?   java无法在Javadoc注释中链接到JDK10