Impulsantwort Filter

Gast #814749
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren