come scritto nel titolo ho dei problemi a generare la FFT con Matlab. Partiamo dall'inizio: ho prelevato un segnale da un oscilloscopio Tektronix e trasformato in una matrice 2X20000 di dati. Plottando con matlab tale segnale nel tempo, non si riscontrano particolari differenze con lo screenshot dell'oscilloscopio

"da Matlab"

"screenshot
Il problema si presenta quando vado a fare la FFT; il codice è il seguente:
- Codice: Seleziona tutto
signal = load ('D:\grafici misure\appr_cap.dat');
x=signal (:,1);
y=signal (:,2);
plot (x,y);
grid on;
title('Andamento di Vm nel tempo');
xlim([min(x) max(x)]);
xlabel('Time (s)');
ylabel('Vm (V)');
%FFT
fs = 5*10^9;
ts=1/fs;
N=length(signal);
t= (0:N-1)*ts;
figure();
NFFT = 2^nextpow2(N); %L’algoritmo è più efficiente se N è uguale ad una potenza di 2
Y = fft (signal,NFFT)/N;
f = fs/2*linspace(0,1,NFFT/2+1);
semilogx(f,20*log(abs(Y(1:NFFT/2+1))),'k') %è lo stesso di 'plot' solo con asse x log
% plot(f(1:NFFT/2+1),2*abs(Y(1:NFFT/2+1)));
%figure;
title('Spettro V_R_m');
%legend('|Y(f)|');
xlabel('Frequenza (Hz)')
ylabel('|Y(f)| (dB)')
grid on;
con il seguente risultato:

dove può essere l'errore??
ho provato a cambiare la forma del segnale nella matrice ma non ottengo miglioramenti con:
y = sin(45.5*10^6.*x); %segnale sinusoidale in 40us
Grazie a chi mi risponderà!

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





Grazie mille!!