Aufbau eines HF-SDR-Empfängers mit STM32H723 und 16-Bit-ADC
Der STM32H723ZGT6 ermöglicht die Realisierung eines HF-SDR-Empfängers für den Bereich 1–30 MHz mit einem Tayloe-Mischer. Die Audioausgabe erfolgt über den internen 12-Bit-DAC oder einen I/Q-Datenstrom an einen PC via UAC1. Die vierlagige Leiterplatte misst 100×60 mm und bietet ungenutzte MCU-Pins an PLS-Steckern für Erweiterungen.
Die Eingangsschaltung nutzt einen Tayloe-Detektor. Varianten mit Transformatoren und symmetrischen Konfigurationen wurden getestet – es wurden keine Leistungsunterschiede festgestellt. Ein einfaches Design wurde gewählt, trotz einer Empfindlichkeitsvariation von 1–2 dB zwischen dem 160-m- und 10-m-Band.
Analogpfad und Filterung
Signale vom Mischer-Ausgang werden durch Instrumentenverstärker verstärkt, um Gleichtaktrauschen zu unterdrücken. Die nächste Stufe ist ein aktives Tiefpassfilter 4. Ordnung mit Sallen-Key-Topologie und Grenzfrequenzen von 48 kHz oder 24 kHz.
Die Tiefpass-Frequenzantwort zeigt ausreichende Dämpfung an den Bandkanten, aber Aliasing durch starke Signale bei ±25–30 kHz wird beobachtet. Für die Verarbeitung nahe der Nullfrequenz ist dies akzeptabel.
Signale werden an die 16-Bit-ADC-Eingänge des STM32H723ZGT6 geleitet. Der Mischer wird von einem Si5351 mit einem Frequenzmultiplikationsfaktor von 4 getaktet.
Softwareimplementierung und Schnittstelle
Der Code wird in STM32CubeIDE mit HAL, TinyUSB für ein zusammengesetztes USB-Gerät (COM + Audio) und CMSIS-DSP für Signalverarbeitung entwickelt. Parameter werden im externen Flash-Speicher gespeichert.
Die Steuerung erfolgt über einen Encoder mit Taster und drei Funktionstasten. Die Anzeige zeigt Frequenz, AGC/NOTCH-Status, S-Meter, ein ±24-kHz-Wasserfall-Spektrum und die Grenzen der demodulierten Bandbreite.
Im USB-Modus mit einem PC ist das Spektrum ausgeblendet, und der Status wird angezeigt. Die ADCs arbeiten im dualen unabhängigen Kanalmodus (ADC1/ADC2), ausgelöst durch Timer 8 bei 48 kHz. Der Dual-Modus verursachte Signalspiegelung und wurde nicht verwendet.
- Korrekturen nach der Digitalisierung:
- Entfernung des DC-Offsets.
- Amplituden- und Phasenkalibrierung (Koeffizienten pro Band).
I/Q-Daten gehen in einen Ringpuffer: zum PC – UAC1; Standalone – FFT für Wasserfall, SSB/CW-Demodulation, AGC/NOTCH, DAC.
Der DAC (12-Bit) wird vom gleichen Timer 8 getaktet, gepuffert durch OPAMP1 + RC-Tiefpassfilter. Dies ist ausreichend für Amateur-HF-Funk und Rundfunk. Ein externer PCM5102 (16–24 Bit) wurde für verbesserte Qualität getestet.
Digitale Signalverarbeitung
Die DSP wurde durch eine C#-Anwendung zur Analyse von I/Q-Daten vom ADC oder WAV-Dateien sowie einen Test-I/Q-Signalgenerator untersucht.
DSP-Codeausschnitte sind auf der Website des Autors verfügbar. Zukünftige Pläne umfassen Optimierung und einen Sendeteil.
Wichtige Punkte:
- Der 16-Bit-ADC im STM32H723 verarbeitet Echtzeit-I/Q bei 48 kHz.
- Tayloe-Mischer + Si5351 minimieren die Hardwarekosten.
- HAL + CMSIS-DSP beschleunigen die Entwicklung ohne Leistungsverlust.
- Standalone-Modus mit integrierter FFT, Demodulation und DAC.
- USB UAC1 für I/Q-Übertragung an einen PC ohne zusätzliche Treiber.
— Editorial Team
Noch keine Kommentare.