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.
%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.