From: angelo on 17 Apr 2010 04:56 hi mathword!!! I've a serious problem, I've an eeg signal for 10 seconds.My Problem is that the eeg machine work on 128 Hz and when i come to do my fft i see only five different steps ad i don't know why. J=xlsread('avg0-2 secondi.xlsx');%leggiamo i primi due secondi del tracciato eeg in referenza media J1=(J(:,1)); l=0; j=wextend('1','zpd',J1,l);%estensione del segnale con matrice di zeri, meglio noto come processo di zero-padding NFFT=2^nextpow2(L);%indichiamo la lunghezza della fft, puo' essere maggiore %o uguale al numero dei dati forniti, si sceglie una potenza di due per l'efficienza dell'algoritmo T=abs(max(j)); t=abs(min(j)); if (t<=T) NORM=T; else NORM=t; end K=fft(j,NFFT)/NORM;%eseguiamo la trasformata di Fourier nei primi due secondi del tracciato eeg in modo da ottenere una somma infinita di sinusoidi %con frequenze,ampiezze e fasi diverse in cui l'insieme dei valori in %funzione delle frequenze è detto spettro f=Fs/2*linspace(0,1,NFFT/2);%il range definito è quello di twosided, per la definizione delle frequenze complesse figure(8) %subplot(321) plot(f,2*abs(K(1:NFFT/2)));%identifichiamo cosi' la densità spettrale di potenza definita come il limite del rapporto tra la densità spettrale %di energia |Xt(f)|^2 e l'ampiezza della finestra temporale T title('psd 0-2 sec');%titoliamo il grafico xlabel('frequenza(HZ)');%definizione delle ascisse ylabel('(microvolt)^2/Hz');%definizione delle ordinate grid; hold on h=xlsread('avg 2-4 secondi.xlsx');%leggiamo l'intervallo del traccia tra 2 e 4 secondi h1=(h(:,1)); j1=wextend('1','zpd',h1,l); I=abs(max(j1)); i=abs(min(j1)); if (i<=I) NOR=I; else NOR=i; end K1=fft(j1,NFFT)/NOR; f1=Fs/2*linspace(0,1,NFFT/2); %subplot(322) figure(9) plot(f1,2*abs(K1(1:NFFT/2))); title('psd 2-4 sec'); xlabel('frequenza(HZ)'); ylabel('(microvolt)^2/Hz'); grid; hold on g=xlsread('avg 4-6 secondi.xlsx');%leggiamo l'intervallo del tracciato eeg tra 4 e 6 secondi g1=(g(:,1)); j2=wextend('1','zpd',g1,l); O=abs(max(j2)); o=abs(min(j2)); if (o<=O) NO=O; else NO=o; end K2=fft(j2,NFFT)/NO; f2=Fs/2*linspace(0,1,NFFT/2); %subplot(323) figure(10) plot(f2,2*abs(K2(1:NFFT/2))); title('psd 4-6 sec'); xlabel('frequenza(HZ)'); ylabel('(microvolt)^2/Hz'); grid; hold on s=xlsread('avg 6-8 secondi.xlsx');%leggiamo l'intervallo del tracciato eeg tra 6 e 8 secondi s1=(s(:,1)); j3=wextend('1','zpd',s1,l); Q=abs(max(j3)); q=abs(min(j3)); if (q<=Q) N=Q; else N=q; end K3=fft(j3,NFFT)/N; f3=Fs/2*linspace(0,1,NFFT/2); figure(12) %subplot(324) plot(f3,2*abs(K3(1:NFFT/2))); title('psd 6-8 sec'); xlabel('frequenza(HZ)'); ylabel('(microvolt)^2/Hz'); grid; hold on p=xlsread('avg 8-10 secondi.xlsx); p1=(p(:,1)); j4=wextend('1','zpd',p1,l); G=abs(max(j4)); g=abs(min(j4)); if (g<=G) norm=G; else norm=g; end K4=fft(j4,NFFT)/norm; f4=Fs/2*linspace(0,1,NFFT/2); %subplot(325) figure(13) plot(f4,2*abs(K4(1:NFFT/2))); title('psd 8-10 sec'); xlabel('frequenza(HZ)'); ylabel('(microvolt)^2/Hz'); grid; hold on F=(f+f1+f2+f3+f4)/5v=(K+K1+K2+K3+K4)/5; figure(14) plot(F,2*abs(v(1:NFFT/2))); grid; title('power spectral density con zero padding'); xlabel('frequenza(HZ)'); ylabel('(microvolt)^2/Hz'); I do the fft in same period of 2 seconds. And after i do an average for total fft of signal. Please help me
|
Pages: 1 Prev: Finding derivative of image Next: I, P,B Format of video |