ich einen FIR-Filter bin die Umsetzung, wie unten beschrieben:Z-Transformation Polen und Zeros Standorte auf MATLAB
y(n) = x(n) + 2x(n-1) + 4x(n-2) + 2x(n-3) + x(n-4)
Wo es keine Pole in diesem System.
Die Berechnung der Übertragungsfunktion auf MATLAB ergibt HZ = 1 + 2 z^-1 + 4 z^-2 + 2 z^-3 + z^-4
, was korrekt ist, aber wenn ich versuche, die Nullenpositionen zu plotten, finde ich einen Pol im Ursprung. Die Impulsantwort des Systems ist jedoch korrekt, aber es wird nur um eins nach rechts verschoben. Warum passiert das auch?
Was ich nicht herausfinden kann ist, warum es einen Pol am Ursprung gibt und warum es einige Nullen außerhalb des Einheitskreises gibt.
close all;clear;clc;
Ts = 0.1;
num = [1, 2, 4, 2, 1];
den = 1;
HZ = tf(num, den, Ts, 'variable', 'z^-1')
figure(1)
pzplot(HZ)
axis equal
figure(2)
stem(impulse(HZ*Ts), 'linewidth', 1)
xlabel('n', 'FontSize', 13)
ylabel('h(n)', 'FontSize', 13)
title('Impulse Response')
grid minor
axis([0 10 0 max(num)+0.1])
FIR-Filter enthalten Pole so viele wie ihre Nullen, aber sie befinden sich alle im Ursprung. Multiplizieren Sie sowohl num als auch den Wert mit dem z^4 – percusse
@percusse Ich verstehe, was Sie meinen, aber Ihre Lösung erfordert symbolische Ausdrücke, und ich möchte die numerischen Werte berechnen. – Tes3awy
Invertiere deine num und benutze den als '[1,0,0,0,0]' zum Beispiel. Sie können dafür auch Filterbefehle der Signal Processing Toolbox verwenden. – percusse