PDA

View Full Version : [MATLAB]Filtro Passabanda


random 1988
25-05-2015, 12:38
Ciao a tutti...ho realizzato questo filtro passabanda:

%Banda passante va da 8 a 12Hz, banda di transizione è 0.5Hz,scostamento in panda passante e oscura 0,05 Hz.
%Quindi Filtro passabanda: banda passante 8-12Hz, banda oscura estremo
%inferiore 7.5Hz, estremo superiore 12.5Hz.


Rp_db=-20*log10(0.95);
Rs_db=-20*log10(0.05);
Ws1=7.5/(Fs_EEG/2);
Ws2=12.5/(Fs_EEG/2);
Wp1=8/(Fs_EEG/2);
Wp2=12/(Fs_EEG/2);
Wp=[Wp1 Wp2];
Ws=[Ws1 Ws2];


[ord Wn]=ellipord(Wp,Ws,Rp_db,Rs_db); %ottengo sulla command window ord=5

% sintesi del filtro (ellip) per trovare i vettori A e B
[B,A]=ellip(ord,Rp_db,Rs_db,Wn); %siccome Wn è un vettore di due elementi, Wn=[W1,W2], ellip ritorna per il filtro passa banda un ordine=2N.

% sintesi del filtro (ellip) per trovare zeri, poli e guadagno
[zeri,poli,k]=ellip(ord,Rp_db,Rs_db,Wn);

Penso ci sia un errore, perchè non mi tornano i termini contenuti nel vettore A dell'equazione alle differenze del filtro, mi sembrano completamente sbagliati. Vi riporto quello che plotto sulla command window.

B =

Columns 1 through 10

0.0044 -0.0347 0.1164 -0.2059 0.1797 -0.0000 -0.1797 0.2059 -0.1164 0.0347

Column 11

-0.0044


A =

Columns 1 through 10

1.0000 -9.8665 43.8809 -115.8465 201.0456 -239.6530 198.7200 -113.1819 42.3757 -9.4178

Column 11

0.9435

Grazie dell'aiuto.