register
09-09-2010, 19:09
Salve ragazzi,
ho un problema che nasce dalla situazione che ora vi descrivo.
Ho un segnale X1 (un array di 2270000 di elementi) campionato a 250 KHz e che devo ricampionare a 58.8 KHz (cioè con passo di 17 us) in modo da avere quindi un segnale X2.
Io avevo pensato di procedere in questo modo, e cioè:
- crearmi un vettore dei tempi a 250 KHz usando linspace,
FREQ = 250000;
BUFFER = 2270000;
LTIME = BUFFER/FREQ; (Lunghezza, in secondi, del vettore Tempo)
Tempo=linspace(0,LTIME ,BUFFER );
- Creare un secondo vettore dei tempi a 58.8 KHz,
PASSO_2 = 0.000017; (Passo di campionamento a 17 us)
FREQ_2 = 1/PASSO_2;
LTIME_2 = BUFFER/FREQ_2;
Tempo_2 = linspace(0,LTIME_2 ,BUFFER);
- Fare il ricampionamento mediante interp1,
SIGNAL_2 = interp1(Tempo, SIGNAL, Tempo_2);
voi cosa ne dite? va bene?
Grazie a tutti
ho un problema che nasce dalla situazione che ora vi descrivo.
Ho un segnale X1 (un array di 2270000 di elementi) campionato a 250 KHz e che devo ricampionare a 58.8 KHz (cioè con passo di 17 us) in modo da avere quindi un segnale X2.
Io avevo pensato di procedere in questo modo, e cioè:
- crearmi un vettore dei tempi a 250 KHz usando linspace,
FREQ = 250000;
BUFFER = 2270000;
LTIME = BUFFER/FREQ; (Lunghezza, in secondi, del vettore Tempo)
Tempo=linspace(0,LTIME ,BUFFER );
- Creare un secondo vettore dei tempi a 58.8 KHz,
PASSO_2 = 0.000017; (Passo di campionamento a 17 us)
FREQ_2 = 1/PASSO_2;
LTIME_2 = BUFFER/FREQ_2;
Tempo_2 = linspace(0,LTIME_2 ,BUFFER);
- Fare il ricampionamento mediante interp1,
SIGNAL_2 = interp1(Tempo, SIGNAL, Tempo_2);
voi cosa ne dite? va bene?
Grazie a tutti