FGI-GSRx icon indicating copy to clipboard operation
FGI-GSRx copied to clipboard

how can i use Multi correlator tracking?

Open pro-maria opened this issue 11 months ago • 1 comments

image I_E is still a constant。 I need help

pro-maria avatar Jan 02 '25 01:01 pro-maria

I believe the issue lies in the carrierMixing.m function within the corr folder. The original code did not set trackChannelData.I_E to trackChannelData.I_E(loopCnt). After making this correction, the results for each channel will be output correctly.

Original Code:

% Mix with code replicas trackChannelData.I_E = sum(trackChannelData.earlyCode .* iBasebandSignal); trackChannelData.I_P(loopCnt) = sum(trackChannelData.promptCode .* iBasebandSignal); trackChannelData.I_L = sum(trackChannelData.lateCode .* iBasebandSignal); trackChannelData.Q_E = sum(trackChannelData.earlyCode .* qBasebandSignal); trackChannelData.Q_P(loopCnt) = sum(trackChannelData.promptCode .* qBasebandSignal); trackChannelData.Q_L = sum(trackChannelData.lateCode .* qBasebandSignal);
trackChannelData.I_E_E = sum(trackChannelData.twoChipEarlyCode .* iBasebandSignal); trackChannelData.Q_E_E = sum(trackChannelData.twoChipEarlyCode .* qBasebandSignal);

Modified Code:

% Mix with code replicas trackChannelData.I_E(loopCnt) = sum(trackChannelData.earlyCode .* iBasebandSignal); trackChannelData.I_P(loopCnt) = sum(trackChannelData.promptCode .* iBasebandSignal); trackChannelData.I_L(loopCnt) = sum(trackChannelData.lateCode .* iBasebandSignal); trackChannelData.Q_E(loopCnt) = sum(trackChannelData.earlyCode .* qBasebandSignal); trackChannelData.Q_P(loopCnt) = sum(trackChannelData.promptCode .* qBasebandSignal); trackChannelData.Q_L(loopCnt) = sum(trackChannelData.lateCode .* qBasebandSignal);
trackChannelData.I_E_E(loopCnt) = sum(trackChannelData.twoChipEarlyCode .* iBasebandSignal); trackChannelData.Q_E_E(loopCnt) = sum(trackChannelData.twoChipEarlyCode .* qBasebandSignal);

by songyili

21syl avatar Jan 07 '25 15:01 21syl