今天看啥  ›  专栏  ›  安费诺传感器学堂

数字滤波器(3)——C语言的模拟及验证

安费诺传感器学堂  · 公众号  ·  · 2024-06-02 15:10
    

文章预览

之前我们在说明数字滤波器的时候,多为Python来进行示例验证的。实际应用中,多为C/C++,无论是在嵌入式系统中,还是PC机上,尤其对于时间或者实时性要求比较严格的情况下,C/C++应该是我们的首选。 本文通过一个带通滤波器的Python验证,再转换到C++代码模拟验证的实现过程说明数字滤波器是如何工作的。 我们先通过Python测试验证,并生成滤波器的参数数据。然后将获取的参数用到C程序中重现滤波器。 先看图,后查代码。在测试中,我们生成了一个混有50Hz,1 1 0Hz 和210Hz的模拟信号,然后通过滤波器保留50Hz的信号。 图-1    滤波器的幅频响应(50Hz窄带带通) 图-2     模拟信号的滤波前后 图-3     模拟信号滤波前后的频谱图 相关python代码: import numpy as np from scipy.signal import firwin, freqz, lfilter import matplotlib.pyplot as plt fs = 1000.0 # Sample frequency (Hz) f0 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览