PDA

View Full Version : [MATLAB] Grafici multidimensionali e fft


vaka_85
24-05-2010, 10:32
Ciao a tutti,
ho un dubbio con matlab.
Devo fare la fft di un vettore lungo x, vorrei capire come mettere un riferimento per la frequenza... perchè dopo la fft ottengo lo spettro, ma se non metto nessun riferimento, non saprò mai le frequenze reali.
del vettore originale so il passo di campionamento e quindi la frequenza, ma come la metto dentro la fft?

e poi, altra cosa importante, siccome devo fare qualche decina di fft, e vorrei confrontarle tra loro, c'è modo di metterle tutte in un unico grafico 3d? altrimenti dovrei aprile una per una... ho provato con plot3 e stem3, ma inutilmente...

grazie

vaka_85
25-05-2010, 12:07
nessuna idea?

serbring
11-12-2010, 13:26
Ciao a tutti,
ho un dubbio con matlab.
Devo fare la fft di un vettore lungo x, vorrei capire come mettere un riferimento per la frequenza... perchè dopo la fft ottengo lo spettro, ma se non metto nessun riferimento, non saprò mai le frequenze reali.
del vettore originale so il passo di campionamento e quindi la frequenza, ma come la metto dentro la fft?

e poi, altra cosa importante, siccome devo fare qualche decina di fft, e vorrei confrontarle tra loro, c'è modo di metterle tutte in un unico grafico 3d? altrimenti dovrei aprile una per una... ho provato con plot3 e stem3, ma inutilmente...

grazie

allora, tra i vari parametri della funzione fft, c'è il numero di linee spettrali (nfft) e lui ti ritorna un array con nfft valori. Successivamente ti devi creare l'array delle frequenze, sapendo che devi avere nfft frequenze equispaziate tra 0 e fs (frequenza di campionamento).
Facciamo un esempio:
t=[0:0.01:100];
fs=1/0.01;
signal=10*cos(2*pi*t);
nfft=1000;
signal_fft=fft(signal,nfft)
f=linspace(0:fs:nfft)
plot(f,abs(signal))

Ti renderai conto che la fft del segnale è si simmetrica per fs/2.