
Улучшение DSP-ядра в прошивке Anvelina ProIII DX: Практический опыт оптимизации
Проект: Anvelina ProIII DX
Архитектура: FPGA Cyclone IV (на базе Orion Firmware)
Дата обновления: Май 2026
В ходе разработки прошивки для трансивера Anvelina ProIII DX была проведена серия экспериментов, направленных на улучшение качества сигнала без изменения аппаратной части и без повышения разрядности шин данных. Наша цель заключалась в «алгоритмической оптимизации»: использовании математических методов для снижения шумов, устранения паразитных гармоник и повышения точности тракта обратной связи PureSignal.
Ниже приведено описание внедренных улучшений и итоги проделанной работы.
1. Очистка спектра приема (RX): TPDF Dither
Одной из проблем цифровых приемников является структурный шум квантования, который на водопаде (Waterfall) часто выглядит как вертикальные линии или «сетка». Это снижает воспринимаемый динамический диапазон.
Решение: В тракт приема, непосредственно перед каскадом децимации (CIC-фильтром), был внедрен генератор треугольного шума (TPDF Dither). Этот шум декоррелирует ошибки квантования, превращая их в равномерный «белый» шум.
Результат:
- Водопад стал чистым, без геометрических артефактов.
- Визуальное улучшение динамического диапазона на 6–9 дБ.
- Сигналы на границе шума стали различимы четче.
2. Устранение паразитных гармоник (TX): Phase Dither
Алгоритм CORDIC, используемый для генерации частоты в передатчике, из-за конечной точности вычислений может создавать паразитные спектральные составляющие (spurs), которые не зависят от входного сигнала.
Решение: В фазовый модуль CORDIC был добавлен псевдослучайный шум (Phase Dither). Это «размывает» периодические ошибки вычислений, переводя их энергию в общий шумовой пол, где они не мешают приему.
Ррезультат:
- Спектр передачи стал значительно чище.
- Уровень паразитных гармоник снижен на 10–15 дБ (улучшение SFDR).
- Повышена чистота сигнала при работе в SSB и цифровых видах связи.
3. Точность фильтров: Округление вместо усечения
В выходных каскадах FIR-фильтров стандартная практика — отбрасывать младшие биты (усечение). Это может приводить к появлению постоянной составляющей (DC offset), которая проявляется как яркий пик по центру экрана водопада.
Решение: Логика усечения была заменена на математическое округление до ближайшего значения (Round-to-Nearest).
Результат:
- Полное устранение пика постоянной составляющей на 0 Гц.
- Улучшение отношения сигнал/шум (SNR) на 1–2 дБ.
4. Стабильность PureSignal на малой мощности
Функция адаптивной предкоррекции искажений (PureSignal) критически зависит от качества сигнала обратной связи. На малых мощностях (1–5 Вт) сигнал обратной связи оказывался слишком слабым для эффективной работы алгоритма.
Решение: В тракт обратной связи внедрено адаптивное масштабирование. Теперь система автоматически «сдвигает» окно считывания битов, усиливая слабый сигнал до полного диапазона ЦАП обратной связи.
Результат:
- PureSignal теперь стабильно работает и корректирует искажения даже на минимальной мощности.
- Значительно ускорена сходимость алгоритма при переключении уровней мощности.
5. Инженерный опыт: Эксперимент с TX Ramp
В ходе работ была предпринята попытка устранить кратковременный всплеск («щелчок») при переключении на передачу путем добавления регистра сглаживания (Soft Start) в высокоскоростной поток данных I/Q.
Итог эксперимента: Хотя идея теоретически верна, на практике внедрение задержки в поточный конвейер FIFO-CIC нарушило жесткую синхронизацию тактовых доменов. Это приводило к потере данных при первом нажатии PTT и искажениям сигнала. Вывод: В архитектуре Orion стабильность поточной передачи данных приоритетнее косметического сглаживания фронта. Решено вернуться к исходной архитектуре передатчика, обеспечивающей максимальную надежность, а борьбу со всплесками перенести в область настройки АРУ (ALC) и внешних фильтров.
📊 Итоговая таблица улучшений
Сводная таблица изменений, внедренных в прошивку Anvelina ProIII DX:
| Модуль / Функция | Изменение | Эффект / Прирост | Статус |
|---|---|---|---|
| Прием (RX) | Внедрение TPDF Dither перед децимацией | Устранение «сетки» на водопаде, улучшение DR на +6…9 дБ | ✅ Активно |
| Передача (TX) | Фазовый дитер (Phase Dither) в CORDIC | Снижение паразитных гармоник, улучшение SFDR на +10…15 дБ | ✅ Активно |
| Фильтрация | Округление (Rounding) в FIR-фильтрах | Устранение DC-пика на 0 Гц, улучшение SNR на +1…2 дБ | ✅ Активно |
| PureSignal | Адаптивное масштабирование обратной связи | Стабильная работа предискажений на мощности 1–5 Вт | ✅ Активно |
| TX Start | Попытка внедрения аппаратного Ramp | Отклонено из-за риска рассинхронизации FIFO | 🔄 Откат |
Внимания!!! Скачать новую прошивку можно на форуме.
Заключение
Проведенная оптимизация позволила существенно улучшить спектральные характеристики трансивера Anvelina ProIII DX, сохранив при этом полную совместимость с протоколом OpenHPSDR и существующим ПО. Проект готов к повседневной эксплуатации в эфире.
Благодарю сообщество за поддержку и тестирование!
Скачать новую прошивку для Anvelina PROIII можно по ссылки https://eu2av.net/download/file.php?id=2053
73! de EU2AV
Anvelina ProIII DX Project