import numpy as np
from scipy.fftpack import fft
from scipy import signal
import matplotlib.pyplot as plt
from matplotlib.pylab import mpl
mpl.rcparams[
'font.sans-serif']=
['simhei'
]#顯示中文
mpl.rcparams[
'axes.unicode_minus']=
false
#顯示負號
n =1024
#取樣點的個數
x = np.arange(0,
2*np.pi,
2*np.pi/n)
#產生頻率為120、500、10hz的訊號進行模擬
y =7
* np.sin(
120*x)+5
* np.sin(
500* x)+9
* np.sin(
10* x)
w = np.arange(
0,n,1)
#頻域軸
b1 = signal.firwin(n,2*
100/n, window=
'hamming'
)#哈明窗,截至頻率100hz
w1, h = signal.freqz(b1)
#求頻響
plt.figure(1)
plt.title(
"頻率響應"
)plt.plot(w1/
2/np.pi*n,
20*np.log10(np.
abs(h)
+0.01))
b2 = signal.firwin(n,2*
100/n, window=
'hanning'
)#漢寧窗,截至頻率100hz
w1, h = signal.freqz(b2)
#求頻響
plt.figure(2)
plt.title(
"頻率響應"
)plt.plot(w1/
2/np.pi*n,
20*np.log10(np.
abs(h)
+0.01))
b3 = signal.firwin(n,2*
100/n, window=
'blackman'
)#布萊克曼窗,截至頻率100hz
w1, h = signal.freqz(b3)
#求頻響
plt.figure(3)
plt.title(
"頻率響應"
)plt.plot(w1/
2/np.pi*n,
20*np.log10(np.
abs(h)
+0.01))
b4 = signal.firwin(n,2*
100/n, window=
'boxcar'
)#矩形窗,截至頻率100hz
w1, h = signal.freqz(b4)
#求頻響
plt.figure(4)
plt.title(
"頻率響應"
)plt.plot(w1/
2/np.pi*n,
20*np.log10(np.
abs(h)
+0.01))
plt.show(
)
FIR濾波器與IIR濾波器
有限長單位衝激響應濾波器,又稱為非遞迴型濾波器 特點 fir濾波器的最主要的特點是沒有反饋迴路,穩定性強,故不存在不穩定的問題 fir具有嚴格的線性相位,幅度特性隨意設定的同時,保證精確的線性相位 fir設計方式是線性的,硬體容易實現 fir相對iir濾波器而言,相同效能指標時,階次較高,對cpu的...
FIR濾波器設計
fir濾波器的優越性 相位對應為嚴格的線性,不存在延遲失真,僅僅有固定的時間延遲 因為不存在穩定性問題,設計相對簡單 僅僅包括實數演算法,不涉及複數演算法,不須要遞推運算,長度為m,階數為m 1,計算值約為m 2。關於fir濾波器的幅頻特性和相頻特性。在人們不關心相位時,能夠讓幅頻特性常為正,原來為...
FIR濾波器設計
該文件為了說明fir濾波器,iir濾波器的原理,數學含義,設計方法 一 原理 1 fir有限衝擊響應,iir無限衝擊響應。前者無反饋,只與當前和歷史輸入有關,後者有反饋,不僅與當前和歷史輸入有關,還與歷史輸出有關。fir輸出相位線性,設計簡單,但是階數更高 iir輸出相位不線性,設計困難,但相同效能...