01 februarie 2018

APRS via LoRa II

Am finalizat partea de baliza si partea de receptie si afisare a pozitiei relative (la Target Call).

O baliza RAW este de forma:
$LRPRS,YO3HJV-15,01,02,2018,12,03,56,44.423229,26.111504,3100,29,97390000,415 *

Unitatea de receptie furnizeaza pe serial info de forma:

RX Packet String is : 
$LRPRS,YO3HJV-15,01,02,2018,12,03,56,44.423229,26.111504,3100,29,97390000,415 *

Last Packet RSSI = -40

Preamble = $LRPRS
Target Callsign = YO3HJV-15
Last RX Date = 01/02/2018
Last RX Time: 12:03:56
Last Received Lat = 44.423225
         GPS  Lat = 44.423149
Last Received Long = 26.111503
         GPS  Long = 26.111181
Last Distance to Call m: 27.18  m
Last Distance to Call Km: 0.03  Km
Last Course to Call: [ENE]
70.00  degrees
Last Known Altitude = 31.00
Last Known Speed = 0.3
Last Known Course = 97.39
Battery = 4.15

Location: 44.423145,26.111177  Date/Time: 1/2/2018 10:04:02.00
Location: 44.423145,26.111177  Date/Time: 1/2/2018 10:04:02.00
Location: 44.423149,26.111175  Date/Time: 1/2/2018 10:04:03.00
Location: 44.423149,26.111175  Date/Time: 1/2/2018 10:04:03.00


In partea de inceput este sinteza informatiilor obtinute din primirea unui packet $LRPRS comparate cu informatia de la GPS-ul receptorului.
In partea de jos este un flow continuu de date de la GPS-ul receptorului.

La receptie, se verifica preambulul apoi se procedeaza la extragerea informatiei din sirul CSV.

-$LRPRS- pachet de pozitie
-$LRMSG-pachet cu mesaj
-$LRTLM-pachet exclusiv cu telemetrie


Variantele de modulatie LoRa:

                 rf95.setModemConfig(RH_RF95::Bw125Cr45Sf128);    ///< Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Default medium range
                      // rf95.setModemConfig(RH_RF95::Bw500Cr45Sf128);     ///< Bw = 500 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Fast+short range
                      //  rf95.setModemConfig(RH_RF95::Bw31_25Cr48Sf512);   ///< Bw = 31.25 kHz, Cr = 4/8, Sf = 512chips/symbol, CRC on. Slow+long range

                      //  rf95.setModemConfig(RH_RF95::Bw125Cr48Sf4096);    ///< Bw = 125 kHz, Cr = 4/8, Sf = 4096chips/symbol, CRC on. Slow+long range









10 ianuarie 2018

ICOM IC-7300 QRP measurements

On the ICOM IC-7300 FaceBook group i saw some discussions about the lowest power at which the radio transmitt.
Measuring the low power is not a simple task using common power-meters so I put on the work my NRP-Z11 Rohde-Schwarz sensor.
The sensor is able to measure very accurate the power between 200pW and 200mW (-67dbm - +23dbm) in the 10 MHz - 8 GHz range.
In the setup I used a BIRD 50A-MFN-20 attenuator (-20 db) and took measurements under that 23 dbm which can hurt the sensor.

I measured the power for "0", "5" and "10" on the "RF Power" Menu.

The results are in the XLS table below:




LE: For 5 and 10, the power is in W not mW. The above table is image and I cannot correct it.

And here is a printscreen of the R&S program:



LATER EDIT:

1. I had a revelation: the sensor is rated for frequencies above 10 MHz so the measurements below that frequency shall be taken with circumspection. Sorry I forget this, I rarely use it to measure the frequencies below 50 MHz.
2. The results are from my ICOM IC7300 and can be or not consistent with other similar radios.
3. LLE: I measured also with a AD8307 sensor and the values are the same!

07 ianuarie 2018

APRS via LoRa I

O sa notez aici cateva din etapele setarii unui echipament care foloseste un mix de tehnologie veche (APRS) cu tehnologia noua (LoRa).

Momentan, cateva din elementele pregatitoare.
-GPS uBlox NEO6MV2
-Software de evaluare si programare. U-Center de la uBlox.
-Software analiza RS232/COM  Terminal V1.9b

Folosim un Arduino TRINKET PRO 3V cu GPS serial conectat la o interfata SoftwareSerial 9k6.
Utilizam doar portul de intrare (RX) al interfetei seriale pentru a face "economie" de pini.

Arduino preia tramele NMEA furnizate de GPS si selecteaza doar cele de tip $GPGGA care contin informatia de pozitie si timp UTC.
Identificarea se face pe baza prezentei substringului $GPGGA iar codul defalca informatia de longitudine, latitudine, altitudine si timp, acestea fiind separate prin virgula.

Dupa separare, le reansambleaza intr-un nou sir, de forma

$LRPRS, CALL-SSID, LAT, LONG, ALT, HHMMSSCC, K

Acesta este transmis pe Serial HW catre transceiver-ul LoRa care il emite cu 1200 baud si FEC cu periodicitatea stabilita prin SW.


ToDo: De portat pe TRINKET separarea HH, MM, SS, initial fiind verificata pe ARDUINO MEGA.
ToDo: De format trama standard APRS care va fi transmisa alternativ cu cea pe formatul de mai sus.
ToDo: De realizat functia de transformare POZ in BASE91 ASCII pentru compatibilitatea cu APRS tip MicE.


LE:
              String sendLORA = PREAMBLE + "," + CALLSIGN +
                                "," + StringLAT + "," + StringLON + "," + StringALT +
                                "," + lastHH+ "," + stringMM + "," + lastSS +
                                "," + StringTIME + "," + stringVAL + "," + "K";

LLE:

$LRPRS, CALL, LAT, LON, ALT, DD, MM, YYYY, hh, mm, ss, , Analog, EOT

 

:

Most viewed posts in last 30 days