Filter Z Transform Implementation
71 次查看(过去 30 天)
显示 更早的评论
Hello,
I would like to know how to implement a filter in Matlab in the Z transform like : H(z)= -1/2 - z^(-1) - 1/2*z^-2
Im trying to get the impulse response with impz but have since failed in doing so.
Thank you
0 个评论
采纳的回答
Star Strider
2021-1-22
The easiest way is to let the Control System Toolbox do the initial analysis:
z = tf('z'); % Use Control System Toolbox Functions
H = tf( -1/2 - z^(-1) - 1/2*z^-2, 'Variable','z^-1')
filt_a = H.Numerator{:};
filt_b = H.Denominator{:};
figure
freqz(filt_b, filt_a)
figure
impulse(H)
figure
impz(filt_b, filt_a)
producing:
H =
-0.5 z^3 - z^2 - 0.5 z
----------------------
z^3
Sample time: unspecified
Discrete-time transfer function.
and the plots.
2 个评论
Star Strider
2021-1-22
I always used:
freqz(num, den)
‘... would something like num = [-1/2 -1 -1/2], den=1, h=impz(num,den), impz(h) work?’
Not exactly, although this would:
num = [-1/2 -1 -1/2];
den = 1;
[h,t] = impz(num,den);
figure
stem(t, h, 'filled', 'LineWidth',2)
axis([0 max(t)+0.5 -1.5 1.5])
.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!