Verwendet man einen Driver, der die Daten nicht von einem selbst digitalisierenden Gerät bezieht (z.B. ein RTL2832U-basierter USB-Dongle), sondern eine Soundkarte verwendet, bietet SDRx an, eine Hilbert-Transformation durchzuführen. Das ist notwendig, wenn das Audiosignal keine IQ-Daten enthält, sondern ein bereits gefiltertes SSB-Signal ist. Betrachtet man ein solches Signal als IQ-Daten, erhält man neben dem eigentlichen Spektrum im oberen Seitenband ein virtuelles unteres Seitenband mit gespiegelten Frequenzen. Für die Demodulation stellt das prinzipiell kein Problem dar, solange nicht Frequenzen aus dem unteren Seitenband im Selektor sind. Es ist also eine Seitenbandunterdrückung sinnvoll.
IQ-Signale lassen sich aus Einseitenbandsignalen direkt nur durch zwei Mischer mit um 90° phasenverschobenen Trägern konstruieren (in Hardware z.B. mit einem Schaltermischer). Das gilt auch digital, daher verwendet man als Hilfsmittel die Hilbert-Transformation. Prinzipiell handelt es sich dabei um zwei Allpass-Filter mit über das gesamte Spektrum annähernd konstanter Phasendrehung. Diese werden so ausgelegt, dass sie zueinander um 90° versetzt sind. Die Antwort dieser Filter stellt dann direkt I und Q dar.
SDRx verwendet eine implementation mit einer Kaskade von Biquad-Filtern nach diesem pd bzw. Max/MSP-Modell mit den Parametern von Olli Niemitalo für die Allpass-Filter. Zur Auswahl stehen verschiedene Kanalquellen: HilbertL
, HilbertR
und HilbertMix
verwenden jeweils den linken, rechten oder beide Audiokanäle. Damit können unterschiedliche Steckerbelegungen angesprochen werden. Die Shift
-Versionen verschieben das Spektrum jeweils um die Hälfte der Bandbreite für Empfänger, die ein Dualseitenband-Signal liefern.