Comments 10
Интересный проект, развлекался тоже лет 10 назад подобным образом. Правда на pic24, и с 10 битными встроенными ацп. Схема в принципе такая же. Сишка по-моему если память не изменяет может 0/90 выдавать. Можно без триггеров.

Интересный проект. По идее должен работать лучше, чем uSDR и ему подобные. Я примерно два года назад экспериментировал с uSDR-PICO, но удовлетворительных результатов не добился. АЦП встроенный в МК для реализации SDR всё же не годится. В итоге uSDR-PICO уступает аналоговому аппарату за ту же цену по всем параметрам. Основная проблема была в шуме при приёме. Встроенный АЦП RP2040 видимо плохо подходит для реализации SDR. Про мои эксперименты можно почитать здесь: http://qrp.ru/forum/9-Самодельная-техника/13479-SDR-трансивер-uSDR-PICO Cуществует ещё проект MBPTRX от VK7IAN, где также используется RP2040 и отдельная микросхема кодека: https://github.com/ianm8/MBPTRX
Есть документ AN5354 от ST про 16-битные АЦП в STM32H7 серии, он и заинтересовал. Звучит очень достойно даже на внутренний ЦАП, все же на радиолюбительских участках мы не Моцарта в консерватории слушаем))) Рядом, для сравнения, стоит аналоговый STEP-II, ни какого криминала в работе SDR стенда не заметил. Кто из них лучше/хуже, тут сравнение не совсем корректное, по шуму одинаково, по чувствительности тоже +/-, но из-за применения цифровых фильтров при децимации/демодуляции SDR тут впереди без сомнений.
Кстати проблему алиасинга уже поборол, подняв частоту оцифровки АЦП с 48кГц до 96кГц и применив правильную децимацию с фильтрацией.
Планирую из всего этого сделать карманный КВ трансивер для полей. Уже начал эксперименты с полярной модуляцией SSB, по аналогии с uSDX, но только у них 8кГц, а я пробую на 48кГц, вот видео первого эксперимента.
А это сейчас так модно - отсутствие входного фильтра сверху до детектора?
Мощно!
По схеме пара вопросов интересны:
= Вроде же во взятом мк внутри есть свои синтезаторы частоты. Или они слишком грязные?
= Выходы триггеров расщепителя фазы на U9 по идее должны быть одинаково нагружены, иначе задержка поползёт. Или это не так критично?
= с аудио-кодеком имхо удобнее, потому что антиалайзинговые фильтры встроены. И гораздо лучшего качества, чем на рассыпухе. И на выход можно сигнал забайпасить. Да и дифференциальные входы тоже имеются.
ШИМ? Можно получить и 30МГц но из за целочисленных значений PSC/ARR таймеров от точности даже в 1кГц можно только мечтать!
Не заметил криминала.
Конечно с аудио-кодеком удобнее, но интересно было реализовать на внутренностях стмки.
Встроенный в мк дробный ФАПЧ вполне может заменить внешний U8. Может быть и ШИМ к этому подключить можно, но по описанию я навскидку ничего полезного не нашёл.
Внутри одного чипа можно считать, что задержки сигналов идентичны. Но выход QSD-1 нагружен на один вход, а выход QSD-0 - на два. Это даёт лишнюю разность задержек, и сигналы I/Q перестают быть линейно независимыми. Не считал, на сколько здесь это критично, но обычно стараются каналы I/Q делать по-максимуму одинаковыми.
Если уж делать на внутреннем АЦП, я бы поднял частоту дискретизации, и окончательную фильтрацию сделал уже в цифре. Камень-то достаточно мощный, и опять же идентичность каналов была бы лучше. И входы АЦП сразу дифференциальные!
1-2: надо перечитать доку, оценить возможности.
3: И так поднял х2, как писал выше в комментариях, тем самым поборол алиасинг FIR-ом перед децимацией. Можно и выше попробовать. Тут как, если подавать на входы ацп идеальный IQ с точным балансом 0/90 по фазе и равностью амплитуд, криминала вообще нет, а если с аналоговой части, то конечно необходима коррекция.
SDR RX стенд на STM32H723