Red de conocimiento informático - Material del sitio web - Esperando en línea a que el programa matlab implemente el filtro digital de eliminación de banda FIR mediante una ventana triangular

Esperando en línea a que el programa matlab implemente el filtro digital de eliminación de banda FIR mediante una ventana triangular

¿Es esto?

wp1=0.12*pi; ws1=0.32*pi;

ws2=0.62*pi; wp2=0.82*pi;

tr_width=min(( ws1-wp1), (wp2-ws2));

N=ceil (6.1*pi/tr_width);

n=[0:1:N-1]; /p>

wc1=(ws1 wp1)/2;

wc2=(ws2 wp2)/2

hd=ideal_bs(wc1,wc2,N); /p>

w_tria=(triang (N))';

h=hd.*w_tria;

[db, mag, pha, grd , w]=freqz_m2(h,[1]);

delta_w=2*pi/1000;

Ap=-min(db(1:1:wp1/delta_w 1 ) )

As=-round(max(db(ws1/delta_w 1:1:ws2/delta_w 1)))

subplot(221)

raíz (n, hd)

title('Respuesta al impulso de la unidad ideal hd (n)')

subtrama( 222)

stem(n, w_tria)

título('Ventana triangular w (n)')

subtrama(223)

tallo(n, h)

título ( 'Respuesta al impulso unitario real 'hd (n)')

subplot(224)

plot(w/pi, db)

title('Respuesta de magnitud (dB) ' )

llamada 1:

función [db, mag, pha, grd, w] = freqz_m(b, a);

Versión modificada de la subrutina freqz

------------------------------------

[db, mag, pha, grd, w] = freqz_m(b, a);

db = amplitud relativa (dB) calculada en el rango de 0 a pi radianes

mag = amplitud absoluta calculada en el rango de 0 a pi radianes

pha = respuesta de fase (radianes) calculada en el rango de 0 a pi radianes

grd = calculada en el rango de 0 a pi Grupo retraso calculado en radianes

w = 501 muestras de frecuencia en el rango de 0 a pi radianes

b = polinomio numerador de H(z) (para FIR: b =h)

a = polinomio denominador de H(z) (para FIR: a=[1])

[H, w] = freqz (b, a, 1000 , 'todo');

H = (H(1:1:501))'; w = (w(1:1:501))'; abs(H);

db = 20*log10((mag eps)/max(mag));

pha = ángulo(H);

p>

pha = desenvolver( ángulo(H));

grd = grpdelay(b, a, w

grd = diff(pha

grd = [grd(1) grd];

grd = [0 grd(1:1:500); grd(2:1:501) 0];< /p

grd = mediana(grd)*500/pi;

Llamada 2:

función hd=ideal_bs(Wcl, Wch, m

p>

alfa=(m-1)/2;

n=[0:1: (m-1)]; n-alfa eps;

hd=[sin(m*pi) sin(Wcl*m)-sin(Wch*m)]./(pi*m).