Een software-defined radio (SDR) verwerkt radiosignalen met software. Twee experimentele projecten, BirriaSDR en Mtk79ICAP, documenteren SDR-ontvangst met specifieke MT7921AU/MT7961-wifiadapters. Welk project bij een adapter past, hangt af van de USB-identiteit, het gewenste frequentiebereik en de softwareaanpak.

I/Q-sampling is het vastleggen van twee componenten van een radiosignaal, I en Q, zodat software het signaal kan verwerken. De projecten gebruiken daarvoor een interne opnamefunctie van de wifi-chip. Hun beschreven functies en cijfers zijn experimenteel; ze vormen geen garantie voor alle adapters met de chipset.

Welke adapters de projecten noemen

BirriaSDR noemt een geteste COMFAST MT7961/MT7921AU-adapter met USB-ID 3574:6211. Het project vermeldt daarnaast kaarten met de generieke ID 0e8d:7961. Mtk79ICAP richt zich op MT7921AU/MT7961-sticks met diezelfde generieke ID. Controleer dus de USB-ID van de adapter; alleen de chipsetnaam vertelt niet of die overeenkomt met de hardware die een project noemt.

ProjectGenoemde adapterSamplingSoftwareaanpak
BirriaSDRGeteste COMFAST 3574:6211; ook generieke 0e8d:7961-kaarten14-bit complexe I/Q, vast 40 MS/s, bemonsterde bandbreedte van 40 MHzlibusb vanuit gebruikersruimte; een programma wordt tijdelijk in het apparaat geladen
Mtk79ICAPMT7921AU/MT7961-sticks, USB-ID 0e8d:796114-bit I/Q; modi van 20, 40 en 80 MHzAangepaste Linux mt76-driver en gepatchte firmware; toegang via SoapySDR

Sampling en afstemming

MT7921AU als SDR: twee projecten vergeleken

De projectspecificaties beschrijven verschillende eigenschappen. De samplesnelheid geeft aan hoeveel samples per seconde worden vastgelegd; de bemonsterde bandbreedte is het frequentiegebied in één opname. Het afstembereik geeft aan op welke frequenties de ontvanger kan worden ingesteld.

BirriaSDR documenteert een vaste samplesnelheid van 40 MS/s en een bemonsterde bandbreedte van 40 MHz. Het afstembereik is afhankelijk van de adapter: 2156 tot 2610 MHz voor de geteste COMFAST 3574:6211, en 2190 tot 2610 MHz voor generieke 0e8d:7961-kaarten. BirriaSDR ondersteunt geen 5 GHz.

Mtk79ICAP vermeldt 20, 40 en 80 MHz-modi, met samplesnelheden van respectievelijk 20,0008, 40,0016 en 80,0032 MS/s. Het project documenteert ontvangst op de 2,4- en 5GHz-banden. Voor een continue, dichte opname op 80 MHz is de instelling iq_dense=1 nodig; zonder die instelling is 80 MHz op 5 GHz alleen beschikbaar als momentopname. Voor de 80MHz-modus vraagt het project bovendien een snelle computer. Bij 80 MHz op 2,4 GHz beschrijft Mtk79ICAP problemen met de kanaalkeuze en wisselende signaalkwaliteit.

SDR-software kan de data weergeven als een spectrum en een waterval: het spectrum toont signalen over frequenties, terwijl de waterval veranderingen in de tijd zichtbaar maakt.

Firmware, drivers en monitorstand

BirriaSDR gebruikt libusb om vanuit gebruikersruimte met de adapter te communiceren. De software laadt een klein programma tijdelijk in het apparaat en schrijft volgens de projectdocumentatie niet naar flashgeheugen of eFuse. De configuratie is vluchtig en verdwijnt wanneer de adapter de stroom verliest. Voor gebruik moet de wifi-interface vrij zijn voor libusb en mag er geen vendor-ROM-patch geladen zijn. De BirriaSDR-projectdocumentatie beschrijft de ondersteunde hardware en deze vereisten.

Mtk79ICAP vereist gepatchte wifi-firmware en aangepaste Linux mt76-modules, plus kernelheaders voor de draaiende kernel. Na een kernelupdate moeten de modules opnieuw worden gebouwd en geïnstalleerd. Het project beschrijft het verwijderen van het gepatchte firmwarebestand om de distributiefirmware weer te laten laden. Dat staat los van de aangepaste driver. De Mtk79ICAP-projectdocumentatie beschrijft de firmware- en driververeisten.

Mtk79ICAP kan tijdens SDR-streaming ook wifi-frames in monitorstand vastleggen, maar alleen met de automatische versterkingsregeling (AGC) ingeschakeld. Bij vaste versterking stopt de chip met het decoderen van die frames.

Wat de cijfers wel en niet zeggen

BirriaSDR meldt dat gevoeligheid over het afstembereik, versterking en frequentienauwkeurigheid niet zijn gekalibreerd. De filters kunnen bovendien sterke signalen buiten het bemonsterde bereik in de opname laten terugvouwen, een effect dat aliasing heet.

Mtk79ICAP noemt de signaalniveaus ongekalibreerd en zegt dat sommige registerinstellingen via reverse-engineering zijn gevonden. De genoemde bandbreedtes en afstembereiken beschrijven dus projectinstellingen, geen gekalibreerde ontvangerprestaties over het hele bereik.