问题描述
我想测试我在纸上确定的简单 IIR 滤波器。我正在过滤无法在此处提供的音频信号。我知道输出应该是什么样的,但我没有得到我所期望的。我猜系数的格式有点错误,因为在使用 filter() 函数时,同样的方法在 MATLAB 中也有效。
import math
import cmath
import numpy as np
from scipy import signal
from scipy.io.wavfile import read
import matplotlib.pyplot as plt
pi = np.pi
fs = 44100
offset = 1
data = np.zeros((10000,2))
for n in range(0,10000):
data[n,0] = offset + np.sin(2*pi*3000*n/fs)
data[n,1] = offset + np.cos(2*pi*3000*n/fs)
if np.mod(n,70) == 0:
offset = -offset
alpha = 0.4
b = np.array([alpha])
a = np.array([1,-(1-alpha)])
data2 = signal.lfilter(b,a,data)
data3 = data - data2
fig,(ax1,ax2) = plt.subplots(2)
ax1.plot(data)
ax2.plot(data3)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)