我想将此MATLAB代码转换为Python,即使我没有得到相同的结果,我想我也做对了。
MATLAB脚本:
n=2 %Filter_Order
Wn=[0.4 0.6] %# Normalized cutoff frequencies
[b,a] = butter(n,Wn,'bandpass') % Transfer function coefficients of the filter
Python脚本:
import numpy as np
from scipy import signal
n=2 #Filter_Order
Wn=np.array([0.4,0.6]) # Normalized cutoff frequencies
b, a = signal.butter(n, Wn, btype='band') #Transfer function coefficients of the filter
a
在MATLAB中的系数:1, -5.55e-16, 1.14, -1.66e-16, 0.41
a
在Python中的系数:1, -2.77e-16, 1.14, -1.94e-16, 0.41
由于两个不同的值(第2个和第4个)都位于10^(-16)
的量级上,这可能只是一个精度问题?!
b
系数相同。
答案 0 :(得分:4)