I am relatively new to signal processing, so I am still missing some basic knowledge, but I am trying to improve as much as I can. I am trying to synchronize two signals with matlab using cross-correlation and I followed the matlab documentation. The problem is that my two signals are with different sample rates. The first signal is sampled at 1500 Hz and the second one at 800 Hz. Using matlab I downsampled the first signal to 800 Hz - signal1 = resample(signal1, 800, 1500); and the synchronization worked.

Is there a way to avoid downsampling the first signal, because from what I know, when I downsample a signal, I lose information and I would like to avoid that. Furthermore, I am still not sure how to check if it meets the nyquist criteria, which if I have understood correctly, the nyquist frequency must be twice the sample rate. I did a fft on my signal and if I am not wrong the frequency is roughly 750 Hz, so downsampling the first signal is not my best option. I will include a photo of the fft results.

enter image description here

The fft was performed by following the documentation from matlab on how to plot the Single-Sided Amplitude Spectrum of X(t).

  • $\begingroup$ what about upsampling the other? with proper interpolation $\endgroup$ – Florent Jul 8 '17 at 17:40
  • $\begingroup$ I upsampled the second signal to 1500 Hz and the signal got "broken", so to say. The signal has two peaks roughly in the middle and after performing the upsample, those two peaks disappeared, thus synchronization using cross-correlation is not possible. $\endgroup$ – filtfilt Jul 8 '17 at 17:47
  • $\begingroup$ that sounds like you didn't properly interpolate :) $\endgroup$ – Marcus Müller Jul 8 '17 at 17:48
  • $\begingroup$ @MarcusMüller the odds are high that I did not interpolate correctly. I am still new to signal processing, so in terms of upsampling or downsampling, I use only the resample function offered by matlab. The error that I am getting if I do not resample is Subscript indices must either be real positive integers or logicals., so I thought that both signals must be with the same sample rate. $\endgroup$ – filtfilt Jul 8 '17 at 17:50
  • $\begingroup$ By the way when doing downsampling you should first filter your data with a brickwall at your future sampling frequency, to avoid aliasing $\endgroup$ – Florent Jul 8 '17 at 17:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.