how to make a correct Signal correlator in Matlab

조회 수: 6 (최근 30일)
Hutin Puy
Hutin Puy 2020년 4월 19일
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개)

카테고리

Help CenterFile Exchange에서 Correlation and Convolution에 대해 자세히 알아보기

제품


릴리스

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by