Ciao a tutti. Sto avendo dei problemi nell'eseguire una trasformata di Fourier in Matlab. Spiego il problema, sperando che qualcuno possa aiutarmi (cosa certa dato che sono un utente inesperto di Matlab).
Il mio dato di partenza è un array di 266 elementi (detto y nel codice), che rappresenta la misura della pressione di un sensore di pressione al variare del tempo. Partendo quindi dal tempo zero, ogni numero corrisponde al valore della pressione al tempo t + DeltaT (intervallo temporale costante).
Ho cercato di fare la trasformata di fourier di questo segnale,in modo da capire a quali frequenze è concentrato il segnale.
Il problema è che non ho trovato nessuna frequenza rilevante del segnale (vedi Figura), a parte un picco alla frequenza = 0. Cosa significa?? C'è qualche errore nel codice oppure è proprio il segnale che porta a questo risultato?
NB: lo stesso codice lo ho usato per ottenere la trasformata di Fourier di un altro segnale, che rappresenta però la misura di un angolo (Pitch angle) nello stesso intervallo di tempo (rilevamenti piu fitti). In questo caso ho ottenuto una trasformata più sensata (vedi figura).
Ecco come ho fatto:
%%definisco intervallo dei tempi
Nsamples = length(y);
startTime = 0;
endTime = 64; %secondi
DeltaT = (endTime - startTime)/Nsamples;
t1 = startTime : DeltaT : endTime;
t = t1(1:Nsamples); %%così t e y hanno lo stesso numero di elementi
%% definisco i dati per effettuare la trasformata con fft
n = length(t) % number of samples
Ts = DeltaT; %sampling time interval
Fs = 1/Ts; %% frequency sampling rate
[YfreqDomain, freqRange] = positiveFFT(y,Fs);
%% la funzione positiveFFT non fa altro che prendere sollo le frequenze positive e trovae il corretto range di frequenze. Funzione trovata on-line già fatta.
figure
plot(freqRange, abs(YfreqDomain))
Ecco la funzione positiveFFT:
function [ X, freq ] = positiveFFT( x, Fs )
N = length(x);
k = 0: N-1;
T = N/Fs;
freq = k/T;
X = fft(x)/N;
cutOff= ceil(N/2);
X = X(1:cutOff);
freq=freq(1:cutOff);
end
Ecco l'array y:
-38.9824
-41.3985
-42.9517
-40.1905
-44.6775
-43.2969
-34.7830
-46.9210
-48.1866
-50.1425
-60.8424
-44.6775
-40.8233
-38.9249
-46.0581
-45.4829
-46.6909
-43.2969
-48.1291
-52.9038
-54.2269
-48.8194
-42.8942
-39.9028
-47.5538
-56.2978
-44.8501
-42.3189
-43.9297
-46.0006
-44.8501
-48.0140
-46.4033
-37.3717
-51.9834
-37.6593
-35.8760
-42.6066
-34.7255
-37.8319
-37.8894
-36.5663
-40.1329
-40.7657
-31.6191
-46.2307
-40.5932
-35.4733
-34.3228
-23.9106
-34.3803
-35.8760
-40.5356
-33.1723
-38.1195
-32.5395
-32.2519
-34.4379
-34.7255
-40.0179
-34.5529
-37.5443
-33.2873
-36.5088
-31.2164
-36.3937
-31.1013
-28.2825
-34.0352
-27.1320
-33.0572
-33.8051
-36.8540
-29.4331
-25.8089
-24.0256
-24.4858
-18.5606
-21.8971
-19.8262
-23.5654
-33.2298
-29.7782
-32.0793
-33.3449
-40.0754
-31.7916
-27.1320
-25.0036
-24.8310
-19.9412
-25.2912
-28.4551
-39.6727
-36.1636
-40.8233
-27.5922
-28.8578
-32.0793
-29.6056
-32.3094
-29.8358
-29.3755
-35.5884
-22.1848
-30.8137
-34.3228
-35.0131
-37.3142
-41.3410
-42.0888
-31.7341
-34.6104
-29.4906
-38.2921
-40.5932
-38.2346
-31.2164
-43.2394
-39.3851
-37.7744
-39.7878
-39.1550
-40.0754
-41.3985
-42.8942
-46.2883
-41.1684
-41.4561
-38.6373
-39.7878
-44.5049
-38.3496
-36.7964
-43.6420
-33.2873
-20.6316
-23.1052
-30.6411
-40.2480
-32.9422
-44.8501
-41.9163
-46.8060
-48.6468
-47.2087
-42.6641
-41.9738
-37.6018
-40.7082
-40.4206
-44.3324
-36.7389
-47.4963
-44.6775
-49.2221
-38.7523
-51.1205
-44.2173
-40.5932
-36.7964
-34.2653
-37.6018
-36.7964
-30.9863
-30.5836
-38.5797
-48.0140
-32.8846
-35.8760
-27.5922
-30.1809
-37.1991
-35.9911
-37.0265
-40.4206
-28.2250
-46.1732
-26.8444
-30.3535
-33.9776
-32.9422
-26.9594
-37.7168
-34.2653
-29.0304
-35.8760
-32.4244
-28.6852
-29.2605
-39.6727
-35.3583
-38.0045
-41.7437
-39.2701
-50.7178
-48.4743
-37.5443
-40.1905
-42.1464
-40.1905
-40.8233
-41.1684
-41.1684
-37.3717
-38.1771
-40.8233
-40.6507
-38.9249
-33.0572
-42.0888
-35.9911
-30.7562
-29.6056
-43.1818
-32.8846
-32.7696
-36.9115
-33.2873
-41.5136
-35.5884
-36.2787
-39.3276
-28.9153
-33.8626
-27.8223
-28.2825
-26.0966
-27.1895
-28.6277
-28.5127
-22.9326
-26.4417
-23.7380
-32.1943
-39.6152
-32.5395
-34.7830
-33.4024
-37.6593
-35.5309
-15.9144
-38.1771
-42.4915
-38.0045
-39.6152
-37.4292
-32.3669
-30.1809
-27.0745
-31.9067
-25.8664
-27.1320
-33.2873
-30.5836
-29.0304
-29.9508
-37.9470
-28.0524
-14.3612
-26.3842
-22.8176
-21.9547
-28.1100
-24.0831
-21.6670
Vi ringrazio della disponibilità per chi riuscisse ad aiutarmi.
Dario
Allegati: