11 mai 2025

Receptor scanner FM cu TEF6686 (2)

Sezonul de propagare Esporadic a inceput, oferindu-mi ocazia de a testa functionarea receptorului. Acesta s-a comportat impecabil. In timpul scanarii benzii de radiodifuziune, a detectat posturile de radio nou aparute via ES, le-a identificat PI si o parte din mesajul radiotext (RT), pe care le-a transmis prin reteaua locala catre software-ul de monitorizare si control al receptorului. La prima receptie din acest an, am reusit sa decodez emisiunile unor posturi de radio din Corsica, Baleare, Sardinia si Algeria. Iata o harta ce ilustreaza cum era propagarea radio la un moment dat:


Pentru o informare completa, la receptie am folosit o antena dipol TV, telescopica, polarizata orizontal, conectata prin aproximativ 12 metri de cablu coaxial de 75 ohmi, amplasata la o inaltime de circa 3 metri. Nu am utilizat preamplificator pentru receptie. 


Continuind descrierea proiectului, voi detalia software-ul pe care l-am implementat in receptorul scanner. Acest software a fost creat special pentru a raspunde nevoilor mele, asa cum am descris in postarea precedenta.
In cadrul software-ului dezvoltat pentru microcontrolerul ESP8266, am integrat urmatoarele functionalitati:

  • conectarea receptorului la reteaua WiFi locala pentru a permite comunicarea cu software-ul de monitorizare si control
  • comanda si controlul modulului receptor TEF6686, fie prin intermediul butoanelor, fie prin comenzi transmise de la distanta
  • receptia posturilor de radio si scanarea benzii de frecventa
  • afisarea pe un ecran LCD a informatiilor relevante, precum frecventa, nivelul de semnal si identificarea postului de radio
  • transmiterea datelor necesare monitorizarii receptorului si a informatiilor despre posturile de radio receptionate
  • confirmarea receptiei comenzilor si executarea lor
Comunicarea cu software-ul de monitorizare si control se realizeaza prin mesaje bidirectionale. Cele primite de la software-ul de monitorizare si control sint destinate comandarii receptorului si sint executate imediat. In sens invers, mesajele transmise de receptor sint utilizate pentru monitorizare si informare privind starea acestuia, receptiile si informatiile decodate.

Comenzile pe care receptorul le primeste de la distanta prin intermediul programului de monitorizare si control sint:

  • Scanarea locala - receptorul scaneaza banda de radiodifuziune si toate posturile de radio detectate sint adaugate intr-o lista neagra. Odata incluse in lista, aceste posturi sint ignorate in scanarile ulterioare
  • Scanarea Es - receptorul scaneaza banda radio, ignorind frecventele din lista neagra si in cazul detectarii unor posuri noi, acestea sint identificate si informatiile despre ele sint transmise catre client prin software-ul de monitorizare si control
  • Oprirea scanarii
  • Stergerea memoriei care gestioneaza lista neagra a frecventelor locale
  • Salvarea la distanta a memoriei intr-un fisier
  • Incarcarea de la distanta cu date a memoriei dintr-un fisier
  • Printarea datelor din memorie in fereastra de depanare a software-ului de monitorizare si control
  • Schimbarea manuala de la distanta a frecventei de acord a receptorului

Receptorul transmite software-ului de monitorizare si control mai multe tipuri de mesaje, fiecare avind un rol specific:
  • Mesaj tip A - acest mesaj este transmis automat de catre receptor de fiecare data cind receptioneaza un post de radio. Contine frecventa pe care postul a fost detectat si identificatorul PI extras din transmisia RDS. Scopul acestui mesaj este de a adauga receptia intr-un jurnal log, fiind insotit de un semnal beep de atentionare.
  • Mesaj tip B - ofera informatii detaliate despre receptie, respectiv frecventa, identificatorul PI, program service name (PS) si radiotext (RT) din transmisia RDS. Aceste informatii sint afisate la distanta in fereastra de depanare a software-ului.
  • Mesaj tip C - este un mesaj tehnic destinat software-ului de monitorizare si control. Aceasta este utilizat pentru afisarea frecventei de acord a receptorului in interfata programului.

Programul destinat microcontrolerului a fost scris in limbaj Arduino si utilizeaza librarii open-source. O parte dintre aceste librarii sint arhivate impreuna cu codul sursa, facilitind studierea sau programarea cit mai usoara a microcontrolerului de catre eventualii utilizatori.

Update 17.05.2025

Pe parcursul scanarii benzii radio, am observat diferite situatii, motiv pentru care am decis sa imbunatatesc software-ul. Astfel, am introdus doua noi setari pentru scanare: scanarea totala si scanarea partiala a benzii radio. In cazul scanarii partiale, receptorul scaneaza prima portiune a benzii radio, 87.5 - 98 MHz. Aceasta modificare se bazeaza pe observatiile mele de-a lungul timpului. De regula, aceasta portiune se deschide prima la aparitia propagarii radio. Cind propagarea este deschisa, continui scanarea intregii benzi radio.

O alta imbunatatire adusa programului consta in detectarea si identificare postului radio. Daca semnalul depaseste un anumit prag prestabilit, receptorul opreste scanarea timp de aproximativ 3 secunde pentru a permite decodarea transmisiei RDS. Daca aceasta nu reuseste, continua scanarea. In cazul in care transmisia RDS este decodificata, receptorul continua oprirea pina la aproximativ 10 secunde. Aceasta imbunatatire are rolul de a facilita decodarea unui numar cit mai mare de informatii din mesajul Radiotext (RT), care insoteste transmisia radio.

Update 20.05.2025

Modificarile implementate functioneaza minunat. Scanarea partiala si timpul redus de asteptare pentru detectarea transmisiei RDS au contribuit semnificativ la cresterea vitezei de scanare. Ma gindesc sa aduc o imbunatire: pentru a identifica cit mai multe posturi de radio, frecventa unui post deja detectat ar putea fi ignorata pentru citeva runde de scanare. Am observat ca, datorita propagarii, anumite frecvente si posturile de radio de pe acestea sint detectate periodic. Iata un exemplu in captura urmatoare:

Descarca:     
codul sursa (11.05.2025).
codul sursa (17.05.2025).


Surse de inspiratie:

Constantin BADICAN - YO7FWS
---  73's   YO7FWS  ---