Received signal not on sampling time

5 visualizzazioni (ultimi 30 giorni)
S. David
S. David il 24 Apr 2014
Commentato: S. David il 4 Giu 2014
Hello all,
I have a sequence d of length N samples each of duration Ts. The channel I have will scale the received samples by a factor (1+a), which means that the received samples will not be on multiples of Ts but on multiples of Ts*(1+a). How can I capture this effect in MATLAB?
Thanks in advance

Risposta accettata

Star Strider
Star Strider il 24 Apr 2014
I’m not certain I completely understand what you want to do, but the Signal Processing Toolbox function resample may work.
  54 Commenti
Star Strider
Star Strider il 4 Giu 2014
If z is relatively long, there may not be much difference from lengthening or shortening tNew by one element. The key is the result: the lengths are equal.

Accedi per commentare.

Più risposte (1)

rifat
rifat il 28 Apr 2014
I think the following script should do the work:
signal_vector= [1 1 1 1 1]; % Define your signal here
Ts=1/50; % Define sampling period here
a=1; % define 'a' here
N=length(signal_vector);
x=0:Ts:(N-1)*Ts;
new_x=0:(1+a)*Ts:(N-1)*(1+a)*Ts;
new_signal=interp1(x,signal_vector,new_x,'cubic'); % change the algorithm flag to
% 'pchip' or 'spline' if
% you need
  11 Commenti
John D'Errico
John D'Errico il 12 Mag 2014
Note: I once did an analysis where I showed that IF you have noise in the process, so you are interpolating a combination of noise PLUS signal, then linear is often a better answer, depending on the signal to noise ratio. Cubic interpolation on the noise component has a higher variance than does linear.
S. David
S. David il 12 Mag 2014
No, I am adding the noise after interpolation. So, in this case, 'cubic' works fine I guess. But I am not sure how accurate the whole interpolation process.

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by