Hallo Matlabfreunde ich möchte die Impulsantwort von einem Regalia Mitra Filter erstellen. Die Filterfunktion sieht so aus: function [Y] = regalia_mitra(X, w0, k, bw) %REGALIA_MITRA Allpass filtering based on the Regalia-Mitra model. % This function can be used several times to build a % parallel EQ filtering system in a cascade. % (IEEE Trans. ASSP-35, no.1, January, 1987) % % Usage : [Y] = regalia_mitra(X, w0, k, bw) % X input signal X[n] % w0 passband central freq. (rads/sample) % k gain at fm for boost/cut (=1 original signal % >1 boost % <1 cut % =0 notch filter) % bw bandpass at -3dB (rads/sample) % Y output signal Y[n] after the regalia-mitra filtering operation on X[n] % % % Author: Davide Renzi, d.renzi@infocom.uniroma1.it % INFOCOM Dept. University of Rome "La Sapienza" % driving parameters k0 = k/2; k1 = (1-tan(bw/2))/(1+tan(bw/2)); k2 = -cos(w0); % extract base function A(z) b = [k1 k2*(1+k1) 1]; % num a = [1 k2*(1+k1) k1]; % den % operate the filtering Y = filter(b,a,X); Y = (0.5*X)+(0.5*Y) + (k0*X)-(k0*Y); Wie bekomm ich nun die Impulsantwort raus. Das Signal X müsste ja ein einzelner Dirac sein, oder? Kann mir jemand weiterhelfen?
Jein, den Dirac gibt es nur im zeitkontinuierlichen. Es muss ein Einheitsimpuls sein: X = [1 zeros(1,99)];
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.