Приветствую всех!
С год назад сделал SDR модуль для разных своих поделок. Модуль имеет два независимых синхронизированных канала обработки с 14битными АЦП работающими на частоте 77.76MSPS, ПЛИС Cyclone 4, 14битный ЦАП работающий на частоте 155.52MSPS. И все, что нужно для функционирования этого всего - питание, тактирование (от малошумящего ОГ, стабилизированного от 10МГц ТСХО), конфигурационная память и JTAG интерфейс, а также простенькая фильтрация по входу АЦП/иыходу ЦАП. Параметры получились довольно хорошие (см. ниже), в ходе обсуждения того, что получилось возникла идея сделать на базе него основу для OpenHPSDR совместимого трансивера. В итоге получилось так (см. вложения).
Теперь подробнее. Целью всего этого было создание бюджетного варианта трансивера (точнее основы для трансивера), который был бы частично совместимым с проектом OpenHPSDR и мог бы работать с программой SDR Console. Прошивка ПЛИС основана на базе кода от Angelia, NCO позаимствован от Hermes-Lite2, многое дописано мной. Реализовано 4 независимых приемника (каждый из которых может быть подключен к любому из двух АЦП) с выходной частотой дискретизации до 192кГц, также присутствуют сетевой протокол ICMP, поправлен изначально кривоватый DHCP.
SDR модуль я уже кратко описал выше, теперь про вторую плату - на второй плате находятся Ethernet PHY (100Mб/с), интерфейсы подключения внешних устройств, EEPROM для MAC/IP адреса, а также контроллер который этим всем управляет (у ПЛИС катастрофически мало ног, да и забита она уже почти под завязку - использование контроллера помогает по большей части решить эти вопросы). Кроме того на плате есть стабилизатор, который позволяет питать обе платы от одного источника 12В (потребляемый ток около 400мА).
Чтобы получить полноценный КВ/50МГц трансивер достаточно добавить немного фильтрации по входу (на плате модуля имеются ФНЧ с частотой среза немного более 60МГц, но они пропускают сигналы как в первой, так и во второй зонах Найквиста, поэтому в минимальной варианте необходим ФНЧ с частотой среза 30МГц на КВ и ПФ на диапазон 50МГц). Так же необходимо добавить УМ и ФНЧ на передачу.
Конструкция также должна быть удобной для работы с УКВ трансвертерами. При этом ПЧ можно выбирать во второй зоне Найквиста. Работа ЦАПа на удвоенной частоте позволяет получить хорошее подавление зеркального канала в диапазоне 50МГц и немного расширить диапазон частот вверх при работе на передачу (по сравнению с классическим частотным раскладом OpenHPSDR с частотой дискретизации 122.88МГц).
Некоторые ограничения:
- максимально поддерживаемая частота дискретизации на выходе DDC 192кГц;
- нет аудио кодека;
- скорость Эзернет подключения 100Мбит/с;
- требуется минимальная дополнительная фильтрация по входу (см. выше);
- отсутствует УМ на выходе ЦАП;
- для обновления прошивки нужен JTAG адаптер (Altera USBBlaster или что-то подобное).
Прошивка сделана только под вторую версию протокола, поэтому работать это все будет с SDR Console
https://www.sdr-radio.com/console и Thetis
https://github.com/TAPR/OpenHPSDR-Thetis/releases .
Теперь немного замеров (меня всегда очень удивляет отсутствие таковых у большинства конструкций, за очень редким исключением):
Чувствительность/Кш/Уровень ПШ/ДД по блокированию
ATT | MDS | NF | FS lvl | BDR |
0dB | -133dBm | 14dB | -13dBm | 120dB |
-10dB | -127dBm | 20dB | -2dBm | 125dB |
-20dB | -117dBm | 30dB | +9dBm | 126dB |
-30dB | -107dBm | 40dB | - | - |
ДД по обратному преобразованию на шумах
Отстройка | RMDR | Шум |
1кГц | 111dB | -138dBc/Hz |
2кГц | 113dB | -140dBc/Hz |
5кГц | 117dB | -144dBc/Hz |
10кГц | 121dB | -148dBc/Hz |
20кГц | 124dB | -151dBc/Hz |
Измерения проводились на частоте 7.156МГц с использованием ультрамолошумящего КГ (уровень бокового шума на отстройке более 10кГц в районе -180дБн/Гц). В ближней зоне наблюдается фликкер-шум самого АЦП.
ДД по интермодуляции третьего порядка
Охарактеризовать поведение приемника с прямой оцифровкой по части интермодуляции третьего порядка парой цифр (NF и IP3) не возможно (продукты интермодуляции не следуют кубическому закону). Поэтому я приведу графики зависимости уровня интермодуляционных искажений (приведенного ко входу приемника) в зависимости от уровня испытательных сигналов (уровень одного тона). См. вложения.
Разъемы на платах. См. вложения.
Прошивки и схемы:
https://github.com/UR3IQO/AngeliaLiteВ заключении хочу поблагодарить Павла US4ICI за содействие в доставании комплектующих, обсуждения и поддержку!