LimeRFE

Discutii tehnice, teoretice si practice, pe tema SDR
yo8rzz
Mesaje: 83
Membru din: Joi Iul 31, 2014 3:31 pm
Contact:

LimeRFE

Mesajde yo8rzz » Joi Noi 18, 2021 8:25 pm

Salutare, am facut acest thread pentru discutii despre acest frontend RF de banda larga pentru SDR, daca mai exista si alti radioamatori interesati de subiectul asta (programare, limitari, etc.).

Descrierea echipamentului este aici: https://www.crowdsupply.com/lime-micro/limerfe

Eu l-am luat de pe Mouser, costa circa 500 EUR varianta care are doar benzile de radioamatori. L-am primit saptamana trecuta si imediat m-am si apucat sa implementez in programul meu controlul pentru schimbare TX/RX , tuning-ul automat la benzi in functie de frecventa SDR-ului si pentru modul duplex. Deocamdata nu sunt inca sigur ca e corect ce am scris acolo, mai am ceva de testat. Ce nu scrie clar pe pagina de prezentare este ca se poate face control direct prin USB, are un chip FT232 inauntru care este mapat pe un port serial, in Linux e de obicei ttyUSB0 daca nu mai sunt conectate si alte chestii de genul asta la calculator. Programarea e foarte usoara.

Am masurat puterea de iesire in combinatie cu un ADALM-Pluto in benzile peste 144 MHz.

Pluto-ul este in afara specificatiilor in 144 MHz asa ca am reusit doar vreo 27 dBm out acolo cu input-ul undeva pe la -4 dBm (maximum dat de Pluto). Probabil cu un LimeSDR ar iesi 33-34 dBm cat scrie in manual.
In 430 MHz am masurat 32 dBm. In 1280 MHz 31 dBm. In banda de 2400 MHz e problema pentru ca LimeRFE nu trebuie sa primeasca mai mult de -10 dBm la intrare acolo, iar Pluto scoate peste 3 dBm asa ca trebuie sa fiu foarte atent sa nu ma apropii cu gain-ul mai mult de 85%. Am masurat mult peste 28.5 dBm in 2400 MHz (35 dBm din greseala! asta putea sa arda finalul, nu faceti ca mine), dar teoretic daca se respecta limitarea de -10 la input cam 28.5 ar trebui sa fie output-ul. Banda de 3400 MHz nu m-a interesat deocamdata la fel ca benzile de sub 144 MHz.

Filtrele se comporta foarte decent, in cazul Pluto care e notoriu cu sensibilitatea la interferentele din benzile WiFi in banda de 430 MHz, banda era foarte curata fara frame-urile periodice OFDM caracteristice WiFi. La fel si celelalte benzi.

Etajele LNA de intrare sunt decente, nimic special cu NF undeva peste 3 dB deci mai rau ca LNA-urile mele de radioastronomie, dar sunt ok. Gain-ul trebuie musai redus la SDR pentru ca altfel risca sa intre in saturatie la un semnal puternic. Rolink-ul local vine la mine undeva la -10, -15 dBm si intra LNA-ul SDR-ul in saturatie cu LimeRFE conectat, daca nu reduc gain-ul SDR-ului spre minim.

Una peste alta mi se pare o componenta unica la un pret foarte decent pentru spectrul acoperit. Practic se poate lucra 28 MHz - 3400 MHz in regim de putere linear cu 0.5 - 2 W fara alte componente in afara de SDR.

yo8rxp
Mesaje: 159
Membru din: Joi Aug 08, 2019 9:38 am
Contact:

Re: LimeRFE

Mesajde yo8rxp » Joi Noi 18, 2021 11:35 pm

Salut Adrian !
Foarte frumos ca ai adus aminte de Linux. Insa eu fiind linuxist de 15 ani am cam abandonat ideea de linux + hamradio = love ! Am facut ic-7300 live streaming si n1mm live score in wordpress dar e o struto camila intre linux si wndblows.
Pentru SDR poti face custom /dev/rules in asa fel incat acel port sa nu se duca unde vrea el gen /dev/ttyUSBx dar volumul de munca nu justifica contiunuitatea pe alte platforme.
Fiind lenes nu ma uit pe schema / documentatie, dar daca poti face hardware band output decode, poti pune filtre decente autocomutabile.
Parerea mea personala este ca indiferent ce TCVR ai, in contest iti trebuie filtre cat mai aproape de antena.
Esti entuziast, esti pasionat si apreciez acest lucru prin prisma faptului ca doar rebelii fac pamantul sa se invarta, nu obedientii.
Inca un sfat, daca scrii ceva in dotnet, sa nu o faci in visual basic ci pur c++. Banalul serial event in visual basic are mari probleme de comunicare insa c++ nu. Nu mai zic nimic de linux unde orice comunicatie directa cu ic-7300 a mers fara nici un rateu.
Succes si sa auzim de bine ! 73 si te astept in 40 metri CQ WW CW
Cu iubire pentru developeri, Gabriel

yo8rzz
Mesaje: 83
Membru din: Joi Iul 31, 2014 3:31 pm
Contact:

Re: LimeRFE

Mesajde yo8rzz » Vin Noi 19, 2021 11:01 am

Salut Gabriel! Multumesc foarte mult pentru sugestii, in special cea legata de regulile udev ar fi o idee foarte buna, dar cred ca ar trebui implementata la nivel de pachet sau de distributie Linux. O sa incerc sa vorbesc cu packagerii de la MyriadRF care scriu bibliotecile de suport si cu o persoana care este maintainer hamradio in Debian despre subiectul asta.

Eu unul programez de vreo 20 de ani doar pentru Linux, nu ma pricep deloc la Windows si n-am scris niciodata o linie de cod pentru Windows, dar exista aplicatii SDR si pentru Windows, eu stiu de SDRConsole care e destul de populara si care are deja suport pentru LimeRFE (daca e cineva aici care prefera Windows).

Neavand nici skill nici timp, eu nu prea lucrez contest. Dealtfel nici nu prea se poate cu genul asta de echipamente pentru ca latenta introdusa in sistem de software e foarte mare. Hobby-ul meu preferat e experimentarea cu moduri de transmisie digitala la toate nivelele OSI, preferabil cu echipamente SDR de laborator si DSP cu GNU radio (100% open source). Ultimul lucru pe care l-am facut in domeniu a fost asta vara si are legatura cu DMR prin ADALM-Pluto: http://qradiolink.org/using-a-sdr-devic ... tspot.html (cu scuze pentru cei care nu cunosc limba engleza, timpul limitat ma impiedica sa traduc si in romana).

73,
Adrian

yo8rxp
Mesaje: 159
Membru din: Joi Aug 08, 2019 9:38 am
Contact:

Re: LimeRFE

Mesajde yo8rxp » Vin Noi 19, 2021 11:37 am

Salut Adrian
Super tare ce faci, bine ca stiu de tine caci pe viitor stiu unde sa apelez. Chiar de mult ma batea asa un gand sa construiesc un SDR home made doar pentru 40 metri CW insa cu tot pachetul de full remote.
Legat de udev este foarte adevarat ca banalul ttyUSBx are oarece probleme de comportament daca cablul face probleme, la modul ca tine minte USB0 si brusc aloca USB1. In acel moment nici adruino nici nimic nu mai raspunde insa cu custom rule gen /dev/lime1 e mai simplu.
Ca si hardware recunosc ca e fain acel Lime, dotat cu filtre RX, un PA de 100 W si un teensey + display touch ar iesi ceva minunat daca ignoram costul total hihi.
Mult succes si 73 !

uname -a gabriel@orion.linux-romania.com x86_64 GNU/Linux

YO3ITI
Mesaje: 406
Membru din: Vin Dec 11, 2020 9:09 pm
Contact:

Re: LimeRFE

Mesajde YO3ITI » Vin Noi 19, 2021 12:20 pm

yo8rxp scrie:...
Inca un sfat, daca scrii ceva in dotnet, sa nu o faci in visual basic ci pur c++....


Kudos !
Mă bucur de fiecare dată când văd că cineva mai folosește limbaje serioase de programare și nu pocnitoarea aia de Python.
:D :D :D

73M
====================
73 de YO3ITI

yo8rxp
Mesaje: 159
Membru din: Joi Aug 08, 2019 9:38 am
Contact:

Re: LimeRFE

Mesajde yo8rxp » Vin Noi 19, 2021 12:28 pm

Te salut M !
Cu "pocnitoarea" aia de Python am facut si transceiver touch, am facut si QRO touch si multe altele.
In prezent utilizez des pocnitoarea, in viitor la fel.
73 !

yo8rzz
Mesaje: 83
Membru din: Joi Iul 31, 2014 3:31 pm
Contact:

Re: LimeRFE

Mesajde yo8rzz » Vin Noi 19, 2021 1:33 pm

Gabriel, revin un pic asupra regulilor udev...
M-am uitat un pic in notitele mele si ar cam fi o problema aici. Cipul de control al LimeRFE este un FTDI FT232 folosit in modul UART, si nu are un vendorID specific in lsusb:
Bus 001 Device 032: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

Asa ca fara vendorID specific pentru Lime Microsystems (cum are de exemplu LimeSDR) nu prea vad cum sa fie facute regulile udev de mapare a tty-ului.

Miron, cred ca ne-ai lovit pe amandoi cu Python :D
Eu sunt un mare fan al limbajului, nu ceea ce a devenit acum in ultimii ani ci cum era pana prin 2012. Dealtfel, platforme mari ca GNU radio sunt construite in mare parte si cu Python, datorita usurintei de a face binding-uri catre C. Dar iesim in offtopic aici :D

yo8rzz
Mesaje: 83
Membru din: Joi Iul 31, 2014 3:31 pm
Contact:

Re: LimeRFE

Mesajde yo8rzz » Vin Noi 19, 2021 1:49 pm

Nu mai pot sa-mi editez mesajul de mai sus, dar iata cum arata vendorID pentru LimeSDR, pe baza caruia e facuta regula de udev:

Bus 004 Device 002: ID 0403:601f Future Technology Devices International, Ltd Myriad-RF LimeSDR-Mini

yo8rxp
Mesaje: 159
Membru din: Joi Aug 08, 2019 9:38 am
Contact:

Re: LimeRFE

Mesajde yo8rxp » Vin Noi 19, 2021 2:45 pm

Ce nu vad in documentatie e modul de control prin USB sau FTDI dar mai scobesc caci deja ochii incep sa beculeasaca.
Ma astept sa fie ceva similar cu display HMI unde prin serial scrii ceva de genul [ rx.val=7010000, ptt.val=0, rit.val=50 ].
Ma gandesc la un rotary encoder, display si toate butoanele necesare puse pe un controller legat de limesdr, in asa fel incat sa devina standalone TCVR.
Un alt aspect cu care ai putea sa ma ajuti inainte de a arunca cu banii pe fereastra, ar fi sa pui pe o antena de HF si sa inregistrezi audio comportamentul la RX in CQ WW contest de saptamana viitoare.
Mai exact, cu toate filtrele cw active la o distanta de 400 Hz de o statie care plezneste de kilowati.
Scuze ca te bag la inaintare, dar parca nu as arunca 500 euro pe ceva netestat.
Eventual Bacau si Neamt sunt la mica distanta cu masina si intr-o zi de Craciun mai cu soare poate ne si vedem.
73 si cele bune !
uname -a gabriel@yo8rxp.com

yo8rzz
Mesaje: 83
Membru din: Joi Iul 31, 2014 3:31 pm
Contact:

Re: LimeRFE

Mesajde yo8rzz » Vin Noi 19, 2021 3:53 pm

yo8rxp scrie:Ce nu vad in documentatie e modul de control prin USB sau FTDI dar mai scobesc caci deja ochii incep sa beculeasaca.
Ma astept sa fie ceva similar cu display HMI unde prin serial scrii ceva de genul [ rx.val=7010000, ptt.val=0, rit.val=50 ].


Nu e nevoie de mers asa low-level. LimeSuite, care contine si driverele pentru LimeSDR, are un API C pentru LimeRFE care e foarte usor de folosit: https://github.com/myriadrf/LimeSuite/b ... /limeRFE.h
Se poate si direct din Python, directorul examples/ contine ceva de genul: https://github.com/myriadrf/LimeSuite/b ... example.py

Eu am implementat aproximativ asa in soft-ul meu: https://github.com/qradiolink/qradiolin ... roller.cpp dar ma lupt inca cu modul de operare full-duplex din cauza ca am citit gresit documentatia la inceput.

Ma gandesc la un rotary encoder, display si toate butoanele necesare puse pe un controller legat de limesdr, in asa fel incat sa devina standalone TCVR.
Un alt aspect cu care ai putea sa ma ajuti inainte de a arunca cu banii pe fereastra, ar fi sa pui pe o antena de HF si sa inregistrezi audio comportamentul la RX in CQ WW contest de saptamana viitoare.


Nu cred ca ar face fata un microcontroller la sample rate minim pe care il poate furniza un LimeSDR. In plus, SDR-ul merge prin USB3. Dar ADALM-Pluto pe de alta parte are un Zynq 7010 intern cu un Linux pe el a carui imagine poate fi modificata cu aplicatii. Mai greu este cu display-ul si encoderele :)
Eu le tin conectate la laptop de obicei unde am si interfata grafica mare si mouse, iar mai nou m-am jucat si cu un telefon mobil Pinephone dar e mai mult o gluma, nu e folosibil serios: https://user-images.githubusercontent.c ... 588f87.mp4

Din pacate nu cred ca te pot ajuta cu HF, eu sunt mai mult cu benzile superioare (VHF+) si nu am decat un amarat de magloop pe care nu l-am mai folosit de mult. Dar uite aici pe cineva care a folosit acest board pentru WSPR in 28 MHz: https://destevez.net/2019/07/wspr-with-the-limerfe/
Mai jos de atat nu are filtre specifice pentru fiecare banda, doar un singur lowpass 30 MHz deci astea trebuie adaugate.


Înapoi la “SDR - Software Defined Radio”

Cine este conectat

Utilizatori care navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori