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 Center および File ExchangeCorrelation and Convolution についてさらに検索

製品


リリース

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by