Je développe un modem OFDM personnalisé (64-FFT, QPSK, bande passante de 1 MHz) sur deux LimeSDR Mini 2.0 avec SoapySDR et scipy (sans GNU Radio). Configuration FDD : émission du drone à 2,484 GHz, réception de la station à 2,484 GHz, émission de la station à 2,450 GHz.
Problème : Lorsque j’ouvre un flux de réception avec skipCal=true, la première mesure ADC est de -33 dBFS (niveau de signal correct), puis elle chute immédiatement à -47 dBFS pour toutes les mesures suivantes. Le rapport signal/bruit mesuré est de 3,7 dB (insuffisant pour la synchronisation OFDM). Ce que j’ai essayé :
-
skipCal=true / skipCal=false : même résultat
-
setDCOffsetMode(False) : amplifie la fuite interne d’émission à -18 dBFS
-
agc=false dans les arguments du flux : ignoré par le pilote LimeSDR
-
Deux instances distinctes de SoapySDR.Device() pour l’émission et la réception : même résultat
-
Gain du LNA testé de 0 à 40 dB : même profil de chute
Intéressant : Le même matériel fonctionne parfaitement avec GNU Radio DQPSK (NB_REPEAT=500, émission de 50 s, bloc analog.agc_cc). Le bloc logiciel AGC de GNU Radio compense ce comportement matériel. Sans GNU Radio, je ne parviens pas à le reproduire.
Question : Existe-t-il un moyen de désactiver/contourner l’AGC/l’étalonnage interne du LimeSDR Mini 2.0 via SoapySDR pour obtenir un niveau de réception stable ? Ou existe-t-il une solution de contournement connue pour la synchronisation OFDM avec ce matériel ?
Matériel : LimeSDR Mini 2.0 · Raspberry Pi 5 · SoapySDR 0.8 · Python 3.11 · Distance : 1 m en intérieur (rapport signal/bruit trop faible), tests en extérieur prévus