how to make a correct Signal correlator in Matlab
6 views (last 30 days)
Show older comments
I am making a signal correlator in Matlab.
It is necessary to find a small area with another signal in the input signal.
all signals are complex and modulated.
Signal Designation:
input signal - Basic signal.
the signals to be found are modUW_1, modUW_2, modUW_3, etc.
The input signal is the raw data from the ether, I and Q components of GMSK. Perhaps they need to be properly assembled for further processing. Link for signals
I find the correlation using the xcorr() function
[C1, lag1] = xcorr (basicSignal, modUW_1);
basicSignal - I read from the file.
modUW_1 - I prepare by myself:
binData1 = [0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1];
burst = diff_enc(binData1);% DIFFERENTIAL ENCODING.
[I,Q] = gmsk_mod(burst,Tb,OSR,BT);% GMSK MODULATION OF BURST SEQUENCE
modUW_1 = I .* cos(2*pi*f0 * t) - 1i * Q .* sin(2*pi*f0 * t);
The problem is that no matter what I take the modUW signal, the result of the xcorr() function is about the same: it breaks the input signal in the places where it is and that's it. See picture.
But the correct result of the correlation should give a surge in the place where the signals are as similar as possible.
How to get it?
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!