PDA

View Full Version : MATLAB modulo dello spettro


cecilia19
14-12-2013, 17:05
Dato un file con un tracciato ECG di 200secondi (frequenza di campionamento 250 Hz), scrivi il programma MATLAB per visualizzare il modulo dello spettro e del segnale.

Aiutatemi, come si fa? Credo di averlo costruito, ma non sono sicura che sia giusto e vorrei un riscontro:

ecg=load('ecgBeat.txt')
ecg=ecg(1:150)
nc=length(ecg);
n=1:1:nc;
fc=250;
t=n/fc;
T=200;
fr=fc/nc;
f=n*fr;
fr=1/T;
f=n/T;
ECG=fft(ecg);
MECG=abs(ECG);
FECG=phase(ECG);

figure
subplot(3,1,1)
plot(t,ecg)
subplot(3,1,2)
plot(f,MECG)
subplot(3,1,3)
plot(f,FECG)

pako80
15-12-2013, 16:34
non ti converebbe fare anche il logaritmo del valore assoluto?

Oceans11
15-12-2013, 17:29
ś infatti di solito in frequenza per comodità di scala si usa il logaritmo del modulo. Sempre se vuoi l'ampiezza in decibel.

Se ti scrivi la f.d.t, puoi usare:


% dichiari 's' come variabile in frequenza
s = tf('s');
Numeratore = 2*(s-1/2);
Denominatore = (3s^2)-2*s-15;
bode(tf(Numeratore, Denominatore));


non ho matlab sotto mano e sono arruginito.
Da vettore di valori ad equazioni non saprei.