MATLAB 中 filter 函式的使
阿新 • • 發佈:2018-12-31
一維數字濾波濾波器filter 使用
filter
1-D digital filter
Syntax
y = filter(b,a,X)
[y,zf] = filter(b,a,X)
[y,zf] = filter(b,a,X,zi)
y = filter(b,a,X,zi,dim)
[...] = filter(b,a,X,[],dim)
濾波函式 0.15
H(z) = ----------------------
1 - 0.8*z^-1
b = 0.15 ; a = [1 -0.8]; n = [0:100]; x = 2*sin(0.05*pi*n) + 2*randn(1, 101); %濾波前序列 imp = [1; zeros(100, 1)]; h = filter(b, a, imp); % filter 函式使用 將x 變成濾波前序列 w = conv(x, h); % 做乘積 yc = w(1:101); %濾波序列 z= filter(b, a, x); % 進行濾波 xlabel('n'); ylabel('x y yc'); plot(n, x,'r',n,z ,'b', n,yc,'m'); grid;
思想很簡單,首先是用衝擊函式 Imp = [1 ; zeros(100,1)] 取求出濾波函式,然後再與函式進行乘積
運算結果:
問題解決 給大家發福利,支付寶掃一掃 , 過期不候