mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
chore: remove QO-100 beacon decoder debug instrumentation
After successful on-air validation, drop the temporary diagnostics: - IQ baseband dump to ~/ewsdr_beacon_iq.f32 (FDbgStream/DbgWrite2). - BeaconLog file logger (~/ewsdr_beacon.log) and per-second STATE / AIM lines. - Dead Gardner timing fields (FMidI/FMidQ/FHalf/FPrevI/FPrevQ), superseded by the ML signal×slope TED. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+2
-34
@@ -96,11 +96,8 @@ type
|
||||
FHistPos: Integer;
|
||||
FNtaps: Integer;
|
||||
|
||||
// --- Gardner timing ---
|
||||
FMuAcc: Double; // обратный отсчёт до следующего полу-символьного строба
|
||||
FHalf: Boolean; // текущий строб = середина (true) или центр символа
|
||||
FMidI, FMidQ: Double; // отсчёт середины (для Gardner)
|
||||
FPrevI, FPrevQ: Double; // прошлый центр символа
|
||||
// --- ML signal×slope symbol timing ---
|
||||
FMuAcc: Double; // обратный отсчёт до следующего строба чипа
|
||||
FYd0I, FYd0Q: Double; // линия задержки RRC-выхода (новейший)
|
||||
FYd1I, FYd1Q: Double; // предыдущий
|
||||
FYd2I, FYd2Q: Double; // −2 (для ML-TED центр/early/late + задержка «late»)
|
||||
@@ -171,10 +168,6 @@ type
|
||||
FLastFrame: TBeaconFrame;
|
||||
FLastRSErr: Integer;
|
||||
|
||||
// --- ВРЕМЕННЫЙ ДЕБАГ: дамп сырого baseband 9600 Гц (I,Q float32) ---
|
||||
FDbgStream: TFileStream;
|
||||
FDbgLeft: Integer;
|
||||
|
||||
// --- констелляция (кольцо) ---
|
||||
FRingI, FRingQ: array[0..BCN_SCOPE_PTS-1] of Single;
|
||||
FRingPos: Integer;
|
||||
@@ -187,7 +180,6 @@ type
|
||||
procedure ProcessDecimated(const xi, xq: Double);
|
||||
procedure ProcessSymbol(const zi, zq: Double);
|
||||
procedure ProcessChip(const ci, cq: Double); // Manchester + дифф-декод → FEC
|
||||
procedure DbgWrite2(const a, b: Double); // ВРЕМЕННЫЙ дамп I,Q float32
|
||||
procedure FECFrame(const Frame: TBeaconFrame; RSErrors: Integer);
|
||||
procedure ResetDSP;
|
||||
public
|
||||
@@ -217,8 +209,6 @@ begin
|
||||
FLock := TCriticalSection.Create;
|
||||
FFEC := TBeaconFEC.Create;
|
||||
FFEC.OnFrame := FECFrame;
|
||||
FDbgStream := nil;
|
||||
FDbgLeft := 336000; // ВРЕМЕННЫЙ: ~35 c @ 9600 (2-3 кадра маяка) для оффлайн
|
||||
FFs := 0;
|
||||
FEnabled := False;
|
||||
FConstScale := 1.0;
|
||||
@@ -227,7 +217,6 @@ end;
|
||||
|
||||
destructor TBeaconDecoder.Destroy;
|
||||
begin
|
||||
if FDbgStream <> nil then FreeAndNil(FDbgStream);
|
||||
FFEC.Free;
|
||||
FLock.Free;
|
||||
inherited Destroy;
|
||||
@@ -426,8 +415,6 @@ begin
|
||||
for i := 0 to High(FHistI) do begin FHistI[i] := 0; FHistQ[i] := 0; end;
|
||||
FHistPos := 0;
|
||||
FMuAcc := FSps / 2.0;
|
||||
FHalf := False;
|
||||
FMidI := 0; FMidQ := 0; FPrevI := 0; FPrevQ := 0;
|
||||
FYd0I := 0; FYd0Q := 0; FYd1I := 0; FYd1Q := 0;
|
||||
FYd2I := 0; FYd2Q := 0; FYd3I := 0; FYd3Q := 0;
|
||||
FWsym := 0; FTimErrEMA := 0;
|
||||
@@ -578,17 +565,6 @@ begin
|
||||
// Диагностика тракта (lock-независимо): RMS децимированного сигнала на входе RRC.
|
||||
FDecRMS := FDecRMS + 0.001 * (Sqrt(ri * ri + ii * ii) - FDecRMS);
|
||||
|
||||
// ВРЕМЕННЫЙ ДЕБАГ: дамп сырого baseband (после сноса частоты, до RRC) в файл
|
||||
// для оффлайн-анализа тайминга чипов и Manchester-структуры.
|
||||
if (FDbgLeft > 0) and FFreqLocked then
|
||||
begin
|
||||
if FDbgStream = nil then
|
||||
FDbgStream := TFileStream.Create(GetEnvironmentVariable('HOME') + '/ewsdr_beacon_iq.f32', fmCreate);
|
||||
DbgWrite2(ri, ii);
|
||||
Dec(FDbgLeft);
|
||||
if FDbgLeft = 0 then FreeAndNil(FDbgStream);
|
||||
end;
|
||||
|
||||
// Буфер для грубой carrier-acquisition: кладём сигнал ПОСЛЕ главного NCO, но
|
||||
// ДО остаточного — тогда squaring-FFT меряет АБСОЛЮТНЫЙ остаток (не зависит от
|
||||
// FResidDf) → коррекция = прямое присвоение, без накопления и runaway.
|
||||
@@ -781,14 +757,6 @@ begin
|
||||
Inc(FChipCount);
|
||||
end;
|
||||
|
||||
procedure TBeaconDecoder.DbgWrite2(const a, b: Double);
|
||||
var fa, fb: Single;
|
||||
begin
|
||||
fa := a; fb := b;
|
||||
FDbgStream.WriteBuffer(fa, 4);
|
||||
FDbgStream.WriteBuffer(fb, 4);
|
||||
end;
|
||||
|
||||
procedure TBeaconDecoder.FECFrame(const Frame: TBeaconFrame; RSErrors: Integer);
|
||||
// Колбэк из TBeaconFEC (DSP-поток). Сохраняем кадр под CS для UI.
|
||||
begin
|
||||
|
||||
Reference in New Issue
Block a user