Realizacja odbiornika SDR na pasma KF z wykorzystaniem STM32H723 i 16-bitowego przetwornika ADC
Mikrokontroler STM32H723ZGT6 umożliwia realizację odbiornika SDR (Software-Defined Radio) na pasma KF (1–30 MHz) z wykorzystaniem mieszacza Tayloe. Sygnał audio jest wyprowadzany poprzez wewnętrzny 12-bitowy przetwornik DAC lub strumień I/Q do komputera PC za pośrednictwem interfejsu UAC1. Płytka drukowana o wymiarach 100×60 mm, czterowarstwowa, z wyprowadzeniem nieużywanych pinów mikrokontrolera na złącza PLS w celu rozbudowy.
Obwód wejściowy wykorzystuje detektor Tayloe. Testowano warianty z transformatorami i włączaniem symetrycznym — nie stwierdzono różnic w wydajności. Wybrano prosty układ, pomimo różnicy czułości rzędu 1–2 dB pomiędzy pasmem 160 m a 10 m.
Tor analogowy i filtracja
Z wyjścia mieszacza sygnały są wzmacniane za pomocą wzmacniaczy operacyjnych instrumentalnych w celu tłumienia zakłóceń wspólnych. Kolejny etap to aktywny filtr dolnoprzepustowy 4. rzędu według schematu Sallena-Key'a z częstotliwościami odcięcia 48 kHz lub 24 kHz.
Charakterystyka częstotliwościowa filtru LPF wykazuje wystarczające tłumienie na granicach pasma, jednak obserwuje się aliasing od silnych sygnałów w zakresie ±25–30 kHz. Dla przetwarzania w pobliżu częstotliwości zerowej jest to akceptowalne.
Sygnały są podawane na wejścia 16-bitowego przetwornika ADC STM32H723ZGT6. Mieszacz jest taktowany przez generator Si5351 z mnożeniem częstotliwości przez 4.
Realizacja programowa i interfejs
Kod został opracowany w środowisku STM32CubeIDE z wykorzystaniem HAL, TinyUSB dla złożonego urządzenia USB (COM + audio) oraz CMSIS-DSP do przetwarzania sygnałów cyfrowych. Parametry są zapisywane w zewnętrznej pamięci flash.
Sterowanie: enkoder z przyciskiem oraz trzy przyciski funkcyjne. Wyświetlacz pokazuje częstotliwość, AGC/NOTCH, wskaźnik S, wodospad widma ±24 kHz, granice demodulowanego pasma.
W trybie USB z komputerem PC widmo jest ukryte, wyświetlany jest status. Przetworniki ADC pracują w trybie dwóch niezależnych kanałów (ADC1/ADC2) z wyzwalaniem od timera 8 na 48 kHz. Tryb podwójny Dual mode powodował odbicie lustrzane sygnału — nie został wykorzystany.
- Korekcje po przetworzeniu analogowo-cyfrowym:
- Usunięcie składowej stałej (DC).
- Kalibracja amplitudy i fazy (współczynniki dla poszczególnych zakresów).
I/Q w buforze pierścieniowym: na komputer PC — UAC1, autonomicznie — FFT dla wodospadu, demodulacja SSB/CW, AGC/NOTCH, DAC.
DAC (12 bitów) jest taktowany tym samym timerem 8, buforowany przez OPAMP1 + filtr RC LPF. Wystarczające dla krótkofalowców i nadawania. Testowano zewnętrzny przetwornik PCM5102 (16–24 bitów) w celu poprawy jakości.
Cyfrowe przetwarzanie sygnału
Przetwarzanie sygnałów cyfrowych było opanowywane poprzez aplikację w C# do analizy I/Q z ADC lub plików WAV, plus generator testowych sygnałów I/Q.
Fragmenty kodu DSP są dostępne na stronie autora. Dalsze plany: optymalizacja i część nadawcza.
Co jest istotne:
- 16-bitowy przetwornik ADC STM32H723 zapewnia pracę w czasie rzeczywistym dla I/Q przy 48 kHz.
- Mieszacz Tayloe + Si5351 minimalizuje koszty sprzętowe.
- HAL + CMSIS-DSP przyspieszają rozwój bez utraty wydajności.
- Tryb autonomiczny z FFT, demodulacją i DAC na pokładzie mikrokontrolera.
- USB UAC1 do przesyłania I/Q na komputer PC bez dodatkowych sterowników.
— Editorial Team
Brak komentarzy.