DUC-DDC Трансивер UA3REO: боремся с искажениями звука

После достаточно успешной борьбы с джиттером пришло время кардинально улучшить качество звука, выводимого приёмником.

В ходе работы над приёмником было замечено большое количество шума, искажений, писков, скрежетов, щелчков и прочего. Разберём причины, которые я нашёл, и как с ними бороться:

Отсутствие синхронизации DMA, кодека и FPGA. У каждого свой тактовый генератор и работают они в разнобой. Для этого в FPGA сделан отдельный PLL, который выдаёт в 256 тактов больше, чем частота звука (2.288мгц от 48кгц). От этого PLL питается I2S STM32 и MCLK вход кодека (от своего кварца пришлось всё же отказаться).

Несовершенство схемотехники кодека и АЦП. Допускаю ошибки в обвязке, хочу провести эксперименты по разному подключению трансформатора в АЦП, а также подобрать номиналы конденсаторов на кодеке. В дальнейшем заменю АЦП на AD9640.

Грозовые разряды и импульсные помехи. Решил программно, вырезая резкие всплески, кардинально отличающиеся от средней амплитуды сигнала, избавило от щелчков, порог срабатывания регулируется в define’ах.

Помехи от соседних станций, других частот. Решается применением АЦП большей разрядности и с лучшим динамическим диапазоном, а также применением диапазонных полосовых фильтров на входе приёмника.

Напоминаю, что последние версии прошивок и схемы доступны в репозитории проекта https://github.com/XGudron/UA3REO-DDC-Transceiver

2 мысли о “DUC-DDC Трансивер UA3REO: боремся с искажениями звука”

  1. А у Вас частота нормально отображается? У меня она сильно съезжала влево, пока я не поправил расчет смещения по х в файле MA_ILI9341.c
    current_x_offset = x + 6 * size — 1;
    Вместо FFT одна зеленая палка, хотел вставить ссылку с фото, но комментарий не опубликовался.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *