Prev: PWM
Next: AM digital demodulation methods
From: electrical_storm on 19 Apr 2010 07:58 Hello, I am looking for ideas to synchronize an incoming signal with a template signal. I also want to detect if the incoming signal is valid or not. For this, I cross-correlate a small length of the input signal with the template. This seems to work fine. How can I then find out a synchronization point between the noisy input and the template? I have been doing this in MATLAB. My initial idea was to find the point of maximum correlation and use this as the sync point. But this does not seem to work for noisy signals. If it is important, my template size is around 6000 sample points. I appreciate any comments and suggestions you may have about this. Thanks much.
From: Rune Allnor on 20 Apr 2010 05:52 On 20 apr, 10:28, "electrical_storm" <gauripatil24(a)n_o_s_p_a_m.gmail.com> wrote: > Thanks for your comments. > > My problem is slightly more complicated because the input signal has a > different sampling rate than the what the template was recorded at. Then get a new template signal. Either record a new template at the same sample rate as it will be used, or resample the template you have to the sampling rate it will be used. Mind you - if your template is sampled at a lower rate than the signal itself, you might find that significant details in the pre-sampling analog template waveform are missing from the sampled version. Rune
From: electrical_storm on 20 Apr 2010 06:03 The sampling rate of the input signal varies. So to have the same sampling rate for the template and the input is not an option. On second thoughts, maybe I could vary the sampling rate of the template according to some algorithm and then correlate it with the input. But the sampling rate of the input is always unknown and a variable. >On 20 apr, 10:28, "electrical_storm" ><gauripatil24(a)n_o_s_p_a_m.gmail.com> wrote: >> Thanks for your comments. >> >> My problem is slightly more complicated because the input signal has a >> different sampling rate than the what the template was recorded at. > >Then get a new template signal. Either record a new template >at the same sample rate as it will be used, or resample the >template you have to the sampling rate it will be used. > >Mind you - if your template is sampled at a lower rate than >the signal itself, you might find that significant details >in the pre-sampling analog template waveform are missing from >the sampled version. > >Rune >
From: Rune Allnor on 20 Apr 2010 06:43 On 20 apr, 12:03, "electrical_storm" <gauripatil24(a)n_o_s_p_a_m.gmail.com> wrote: > But the > sampling rate of the input is always unknown and a variable. In that case you are screwed. You have to know *something* about the data to get anything useful out of them. That additional knowledge is the difference between 'data' and 'a sequence of numbers'. Rune
From: Rune Allnor on 19 Apr 2010 08:54
On 19 apr, 13:58, "electrical_storm" <gauripatil24(a)n_o_s_p_a_m.gmail.com> wrote: > Hello, > > I am looking for ideas to synchronize an incoming signal with a template > signal. > > I also want to detect if the incoming signal is valid or not. For this, I > cross-correlate a small length of the input signal with the template. This > seems to work fine. > > How can I then find out a synchronization point between the noisy input and > the template? I have been doing this in MATLAB. My initial idea was to find > the point of maximum correlation and use this as the sync point. But this > does not seem to work for noisy signals. That's the way to do it. But the reliability of the peak depends on signal design. If you have a well-designed sync sequence you will get a nice, narrow peak even in low SNRs. Correlate the whole sync template with your signal, and see if the match is better. You need the *whole* template, and the max peak only occurs if the signal contains the the *whole* sync sequence. Rune |