DSP Core Optimization in Anvelina ProIII DX Firmware: A Practical Engineering Log

This is a special forum for English speaking people
Сообщение
Автор
Аватара пользователя
eu2av
Site Admin
Сообщения: 323
Зарегистрирован: 09 авг 2017 13:53

DSP Core Optimization in Anvelina ProIII DX Firmware: A Practical Engineering Log

#1 Непрочитанное сообщение eu2av » 06 май 2026 05:34

DSP Core Optimization in Anvelina ProIII DX Firmware: A Practical Engineering Log
IMG_20250911_162500.jpg
DSP Core Improvements in Anvelina ProIII DX Firmware: Practical Optimization Experience

Project: Anvelina ProIII DX
Architecture: FPGA Cyclone IV (based on Orion Firmware)
Update Date: May 2026

During the development of the firmware for the Anvelina ProIII DX transceiver, a series of experiments were conducted aimed at improving signal quality without hardware modifications or increasing data bus bit-width. Our goal was "algorithmic optimization": using mathematical methods to reduce noise, eliminate spurious harmonics, and improve the accuracy of the PureSignal feedback path.

Below is a description of the implemented improvements and the results of the work.

[hr]

1. RX Spectrum Cleanup: TPDF Dither

One of the challenges in digital receivers is structural quantization noise, which often appears as vertical lines or a "grid" on the waterfall display. This reduces the perceived dynamic range.

Solution: A triangular probability density function dither generator (TPDF Dither) was implemented in the receive path, immediately before the decimation stage (CIC filter). This noise decorrelates quantization errors, converting them into uniform "white" noise.

Results:
  • Waterfall display is now clean, without geometric artifacts.
  • Visual improvement of dynamic range by 6–9 dB.
  • Signals at the noise floor became more clearly distinguishable.
[hr]

2. Elimination of Spurious Harmonics (TX): Phase Dither

The CORDIC algorithm, used for frequency generation in the transmitter, can create spurious spectral components (spurs) due to finite computational precision — independent of the input signal.

Solution: Pseudorandom noise (Phase Dither) was added to the CORDIC phase module. This "smears" periodic computation errors, translating their energy into the general noise floor where they do not interfere with reception.

Results:
  • Transmit spectrum is significantly cleaner.
  • Spurious harmonic levels reduced by 10–15 dB (improved SFDR).
  • Improved signal purity in SSB and digital modes.
[hr]

3. Filter Accuracy: Rounding Instead of Truncation

In the output stages of FIR filters, the standard practice is to truncate lower bits. This can introduce a DC offset, appearing as a bright peak at the center of the waterfall display.

Solution: Truncation logic was replaced with mathematical round-to-nearest logic.

Results:
  • Complete elimination of the DC peak at 0 Hz.
  • Improved signal-to-noise ratio (SNR) by 1–2 dB.
[hr]

4. PureSignal Stability at Low Power

The adaptive predistortion function (PureSignal) critically depends on the quality of the feedback signal. At low power levels (1–5 W), the feedback signal was too weak for effective algorithm operation.

Solution: Adaptive scaling was implemented in the feedback path. The system now automatically "shifts" the bit-read window, amplifying weak signals to the full range of the feedback DAC.

Results:
  • PureSignal now operates stably and corrects distortion even at minimum power levels.
  • Algorithm convergence significantly accelerated when switching power levels.
[hr]

5. Engineering Experience: TX Ramp Experiment

During development, an attempt was made to eliminate the brief transient ("click") when switching to transmit by adding a soft-start register to the high-speed I/Q data stream.

Experiment Outcome: Although theoretically sound, in practice, introducing delay into the FIFO-CIC pipeline disrupted strict clock domain synchronization. This caused data loss on the first PTT press and signal distortion.

Conclusion: In the Orion architecture, stability of streaming data transfer takes priority over cosmetic edge smoothing. We decided to revert to the original transmitter architecture for maximum reliability, moving transient suppression to the ALC settings and external filter domain.

[hr]

📊 Summary of Improvements

Consolidated table of changes implemented in the Anvelina ProIII DX firmware:

Код: Выделить всё

Module / Function         | Change                                 | Effect / Improvement                      | Status
--------------------------|----------------------------------------|-------------------------------------------|--------
Receive (RX)              | TPDF Dither before decimation          | Eliminated waterfall "grid", +6…9 dB DR   | ✅ Active
Transmit (TX)             | Phase Dither in CORDIC                 | Reduced spurs, +10…15 dB SFDR             | ✅ Active
Filtering                 | Rounding in FIR filters                | Eliminated DC peak at 0 Hz, +1…2 dB SNR   | ✅ Active
PureSignal                | Adaptive feedback scaling              | Stable predistortion at 1–5 W             | ✅ Active
TX Start                  | Hardware Ramp attempt                  | Rejected (FIFO sync risk)                 | 🔄 Reverted
With NR filters enabled, the impact of DSP optimization in the SDR path is clearly noticeable.

Short video demo: https://youtu.be/p7I3KsWXCrw

[box]⚠️ Note! Download the new firmware on the forum.[/box]

[hr]

Conclusion

The optimization work has significantly improved the spectral characteristics of the Anvelina ProIII DX transceiver while maintaining full compatibility with the OpenHPSDR protocol and existing software. The project is ready for daily on-air operation.

Thank you to the community for support and testing!


You can download the new firmware for Anvelin Pro3 here:
metis AnvelinaPROIII1000T_2_2_11.rar
(1.05 МБ) 221 скачивание
10/05/20226.
metis AnvelinaPROIII_1000T_2.2.11Final_PCB_rev3.3-3.9_.rar
(1.05 МБ) 178 скачиваний

73! de EU2AV
Anvelina ProIII DX Project Team

Ответить