PDA

View Full Version : Problema con MATLAB


black_mamba88
12-02-2011, 14:53
Salve a tutti,
per l'università mi è richiesto di eseguire un compito con Matlab... premetto che non avendo studiato ci capisco molto poco, ma ci sto provando...

Mi viene dato un segnale ecg, dovrei con matlab visualizzare lo spettro delle frequenze e successivamente creare un filtro per eliminare le frequenze di disturbo...

Ora, il professore mi ha mandato un file M con il segnale ECG, e fin lì ci siamo.
Il problema è che quando vado a fare la trasformata di Fourier per visualizzarlo in frequenza, mi viene un grafico bruttissimo, secondo me c'è qualche errore..
Provo a scrivere i passaggi che ho fatto io, forse c'è qualcuno che può darmi una mano a trovare l'errore.

All'inizio ho il segnale ecg dato dai due vettori t e ecg (t è il tempo, ecg le ampiezze)
quindi faccio plot (t,ecg) e vedo correttamente il grafico nel dominio del tempo.
Poi inizio :
ecg_f=abs(fft(ecg));
fs= 1/t(2)-t(1);
N=length(t);
f0=fs/N;
f=0:f0:fs-f0;
M=length(f)/2;
plot(f(1:M),y(1:M)

Mi viene un grafico dove le ampiezze sono troppo grandi, non capisco perché, il grafico è troppo ristretto e non riesco a vedere bene la composizione in frequenza e quindi non ho idea di come progettare il filtro!!
Il procedimento per costruire il vettore f mi sembra corretto : fs è la frequenza di campionamento, f0 il passo di campionamento in frequenza...
non capisco perché il grafico mi viene con ampiezze così esagerate, ho provato a cambiarlo ma non mi riesce!