mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
fix(tx): WFM/FMRAW bp0 = аудио-полоса режима, не SSB-фолбэк
TXSignedEdges для WFM падал в else→сырую магнитуду (200,3100) и душил вещательное аудио до телефонной полосы ещё ДО ЧМ-модулятора (у того свой AF 20–15000). Добавлены ветки: WFM→(20,15000)=RX AF WFM, FMRAW→(20,7000)= RX AF raw. Теперь TX-bp0 совпадает с RX-АУДИО-фильтром (истинная симметрия), а не с РЧ-шириной канала FILT_WFM_BW/FILT_RAW_BW (это селективность RX, другая величина). Развязка TX от RX для SSB/AM/CW не тронута. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1207,6 +1207,17 @@ begin
|
||||
Half := FTXFMDeviation + FTXFMHighCut;
|
||||
Lo := -Half; Hi := Half;
|
||||
end;
|
||||
MODE_WFM:
|
||||
// Широкий ЧМ: bp0 — это АУДИО-полосовик перед модулятором, а не РЧ-полоса
|
||||
// канала (FILT_WFM_BW=120..200 кГц — селективность RX, другая величина).
|
||||
// Открываем его в аудио-полосу вещательного FM = RX AF-фильтр WFM
|
||||
// (ApplyRXWFMToChan). Без этого else-ветка душила бы аудио до (200,3100).
|
||||
begin Lo := WFM_AF_LOW; Hi := WFM_AF_HIGH; end;
|
||||
MODE_FMRAW:
|
||||
// Плоский baseband для внешних декодеров (совпадает с RX AF в ApplyRXRawToChan
|
||||
// и с явным SetTXABandpassFreqs в ApplyTXModeSettings). РЧ-ширина FILT_RAW_BW
|
||||
// (6..25 кГц) — селективность RX, к аудио-полосовику отношения не имеет.
|
||||
begin Lo := 20.0; Hi := 7000.0; end;
|
||||
else
|
||||
begin Lo := L; Hi := H; end; // прочее — как есть
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user