IPv6-pakettiradio

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun

IPv6-pakettiradio on kokoelma höyrypäisiä ideoita, jotka tavoittelevat lähinnä AX.25:n UI protokollan päällä kulkevien protokollien kääntämistä päälaelleen siten, että IPv6:n IP-kehys on link-layer osoittamiseen ja korvaa kokonaan AX.25 kehyksen ja sen sisällä ajetaan sitten mitä protokollaa satutaan haluamaan. Mieluiten UI-sovellukset käyttävät UDPv6 kehyksiä. CONS protokollana tarjolla on TCPv6.

Tämä on lähtökohdaltaan datalähetyksen hoitamista kun runkoverkko on kaupallisen lankaverkon päällä, kun taas Japanilainen D-STAR tavoittelee digitaaliselle puheelle pienintä mahdollista läpikulkuviivettä käyttämällä runkoyhteydellä isokronisia ATM-tekniikoita ja kehysmuotoinen datalähete on jälkikäteen päälle liimattua.

Useimmat HF-digimoodit ovat puolestaan paketittomia "keskustelevia" systeemejä, joissa vaan lähetetään bittivirtaa joka sitten saadaan dekoodattua tekstiksi.

Yksityiskohtia

Seuraavassa kuvataan protokollapinoa.

Laitteiden oletetaan olevan kahta tasoa fiksuja ja se näkyy lähinnä link- ja network- tasoilla.

Tyhmemmät tarjoavat forward-suuntaan label-switchingiä jota fiksummat voivat käyttää. Paluusuunta ei kuitenkaan ole tarjolla, jos aluupaketin lähettäjä ei osaa käskeä sellaista oikein.

Paperissa "Coding Versus ARQ in Fading Channels: How reliable should the PHY be?" kirjoittajat sanovat että noin 10% ARQ-tarve on taso, jolla FEC:illä kuorrutettu linkki tavoittaa optimin siirtokapasiteetin. Enempi FEC hidastaa hyötykuorman siirtonopeutta enemmän kuin tuo 10% re-transmit syö. IP:tä kuljettavassa tapauksessa reliable link lähestymistapa ei ehkä siltikään ole optimia, varsinkaan moni-hyppy linkeillä. APRS:n tapauksessa ei ARQ:a voi käyttää ollenkaan.

Physical layer

Mahdollisia linkkitason lähestymistapoja:

  • Bell-202/NBFM -- ei kiitos
  • GMSK: paljon parempi
  • GMSK + FEC: vieläkin parempi
  • PI/4-dqpsk + FEC
  • IEEE 802.11 BPSK/QPSK

IF-KISS-TNC

Implementaatio on mahdollisesti yhdistelmä FPGA:ta ja DSP:tä. KISS-TNC voisi olla tehtävissä. TNC:hen tulee suoraan radion IF, sekä RSS jännite ja se tuottaa ulos IF:ää (ja komentaa PTT:tä). Kytkentä audio-linjaan ei toimi esim. GMSK:lla.

Sama IF-KISS-TNC osaisi kyllä tehdä myös nykyiset modulaatiot. TNC:n ja noodin ylemmät protokollakerrokset implementoivan koneen välinen liitäntä voisi olla USB.

GMSK + FEC

GMSK modulaatio tarjoaa seuraavat ominaisuudet:

  • Vakio teho (kuten FM)
  • tuotettavissa ja vastaanotettavissa FM yhteensopivilla radioilla

FEC (Forward Error Correction) on tapa lisätä linkin S/N:ää hyötyliikenteelle, kun apuna käytetään datavirtaan lisättyä korjaavaa redundanssidataa. Mahdollisia tapoja:

  • Reed-Solomon: vanha ja patenttivapaa
  • Turbokoodit: 1-2 dB parempi, mutta patentit kiusaa
  • LDPC (Low Density Parity Codes) - Turbo-koodien veroisia, luonti helpompaa ja ilmeisesti myös dekoodaus

FEC+Interleave: tekniikalla lisätään hyötybittien ja tarkistusbittien ajallista etäisyyttä toisistaan niin, että lyhyt (kipinä-)häiriö ei nitistäisi kaikkia bittejä, vaan kehys saataisiin pelastettua.

PI/4-DQPSK + FEC

PI/4-dqpsk-modulaatiota käytetään D-AMPS ja TETRA verkoissa.

  • Erinomainen modulaatio säilyttämään symbolisynkronin (muuttuu aina, vaikka scrambleriakaan ei olisi)
  • Ei koskaan tee transitiota nollan kautta pitäen crest-factorin tolkullisena
  • Melkein vakioteho, lähettimen backoff tarve rajallista

FEC ja Interleave kuten edellä

IEEE 802.11 BPSK/QPSK

WLAN-raudan käyttö...

Surplussaa on jonkin verran, mutta kuluttajatekniikan (kuten muunkin) ongelma on, että mikään kompleksisempi komponentti X ei ole saatavilla kymmentäkään vuotta...

IEEE 802.16 WIMAX

WIMAX-raudan käyttö hamssibandilla ? Hmm...

Link layer

Link-layer on äärimmäisen yksinkertainen, toisin kuin AX.25:ssä:

  • HDLC-kehys
    • A=0
    • C=0
    • 2 tavua jotka kertoo perässä tulevan paketin pituuden (network byte order)
    • 2 tavua jotka kertoo protokolla-id:n (IPv6:lle Ethernetin: 0x86DD, network byte order)
    • IPv6 paketti
    • FCS

Path-label-switching ?

Tekniikka, jolla älykäs noodi voi käyttää (mahdollisesti ketjuttaen) tyhmän noodin lähetinportteja ottaakseen yhteyttä sellaisen kautta toiseen älykkääseen noodiin.

Paluusuunta tehdään siten, että etä-älykkö käyttää samaa tekniikkaa lähettääkseen paketin eteenpäin.

Network Layer

Toisin kuin AX.25:ssä, Network Layer hoitaa tässä digi-beat toiminnot, eli käytännössä hop-to-hop reitityksen.

Reititysprotokollana RSPF-v6 (tai BGP-v6) älykkäissä noodeissa ja RIPv6 tyhmemmissä. (BGP-v6 vaatii luotettavia nopeita linkkejä ja paljon resursseja)

Älykkäät noodit

Älykkäät noodit tekevät täyttä IPv6 reititystä ja stateless-autokonfiguraatiota kullekin radiolinkille erikseen. Noodien konfiguraatio on mutkikkaahko ja tarvittavat muisti- ja prosessointiresurssit ovat huomattavia. Kovalevyjä ei tarvita, USB muistitikut ja CompactFlash kortit riittänevät.

Älykkäät noodit voivat tarjota palveluita suoraan loppukäyttäjille, mutta kaikki eivät välttämättä näin tee.

Tyhmät noodit

"Tyhmän" noodin konfiguraatio ja resurssitarpeet ovat pienempiä kuin älykkäällä noodilla, mutta eivät aivan olemattomia.

Tyhmät noodit saavat oman konfiguraationsa älykkäältä noodilta joko stateless-autokonfiguraatiolla, tai eksplisiittisellä manuaalilla konfiguraatiolla. Myös sarjakonsoli (tai USB konsoli) voi toimia staattiseen konfiguraation lataamiseen.

Tyhmät noodit toimivat RIPv6:lla tarjoten palveluitaan läheisille käyttäjille ja osoittaen oletusreitin älykkääseen noodiin (joka on niille kertonut tarjoavansa reittiä maailmalle)

Stateless-autokonfiguraation tuki hoidetaan tyhmemmillä noodeilla siten, että ne välittävät konfiguraatiopyynnön lävitseen ikään kuin proxynä tuntemalleen fiksulle noodille. Samoin ne palauttavat vastauksen pyytäjälle.

Älykkyyshierarkiassa tyhmät noodit eivät ole älykkäiden välillä viestejä kuljettamassa, koska explisiittinen AX.25 path-route ei ole käytettävissä, eikä tarkoitus ole ladata verkon täysiä reittejä tyhmään noodiin. Pääasiassa tämä seuraa jo siitä, että tässä ei edes ole tarkoitus käyttää radioverkkoa ensisijaisena pitkän matkan linkkinä.

Vaihtoehtona on, että älykkäällä noodeilla voidaan komentaa tyhmempiä forwardoimaan datapaketti annetusta etälinkistä ulos. (link-layer label-switching)

Osoitteet

  1. Asemien IPv6 osoitteet ovat kahdenlaisia:
    1. Kiinteitä asemakohtaisia osoitteita, joiden prefiksit ovat esim. peräisin lähimmän tukiaseman tarjoamasta stateless-autokonfiguraatioprefiksistä
    2. Dynaamisia MOBILEv6 osoitteita, jotka vaihtuvat lähimmän reitittävän tukiaseman mukaan
  2. "NETWORK" prefiksit jaetaan tukiasemille manuaalisella verkonsuunnitteluprosessilla, joka ottaa huomioon tukiasemien väliset yhteydet.
  3. "LOCAL" suffiksit ovat kuin uniikit MAC osoitteet eetterikorteissa, niihin voidaan koodata (vaikkapa ASCIIna) asematunnus
  4. AX.25:n WIDE* kohdeosoitteet implementoidaan määrittämällä joukko IPv6 multicast kohdeosoitteita, jotka leviävät halutuille alueille ja yhdistämällä tähän sopivan alhainen HOPLIMIT arvo IPv6 paketin headeriin.
    1. e.g. WIDE-3: HopLimit=3, Dst: Mcgroup-Wide
    2. e.g. OHWIDE-*: HopLimit=31, Dst: Mcgroup-Wide-OH


NETWORK
2001:XXXX:XXXX:XXXX
LOCAL
0x00,'O','H','2','N','X','X',0x00


  1. LOCAL-osan tavu 0 on vakio 0x00 ja määrittää aseman kutsun koodausmenetelmän
    • tavut 1..7 ovat aseman kutsumerkki isoina ASCII kirjaimina
    • tavujen 1..4 ylimpiin bitteihin koodataan AX.25 SSID arvo (vaikkakin payload-protokollan ID:t on parempi paikka tälle)
    • tavujen 5..7 ylimmät bitit ovat nollia
  2. LOCAL-osan tavu 0 on vakio 0x01 ja määrittää aseman kutsun koodausmenetelmän
    • tavut 1..6 koodaavat aseman kutsumerkin shiftatulla ASCII-koodilla (ord(c)-32; käyttämällä ASCII-merkit 32..95) kompressoimalla 6 bittiä per merkki siten, että tähän tilaan mahtuu 8 kirjainta ja numeroa.
    • tavu 8 on varattu AX.25 SSID datalle

IF-TNC

Välitaajuuteen liitettävä TNC -- IF-TNC; joko yhteen toimintamoodiin optimoitu, tai monimoodinen.

Erilaisilla ohjelmallisilla tekniikoilla päästään nykyisin melko helposti luokkaa 100 KHz kaistaleveyksisiin signaaleihin, sitä nopeammat vaativat kiinteitä yhteen käyttöön optimoituja laitteita.

Radion RF osat huolehtivat Rx suunnassa signaalin translaatiosta halutulle IF-taajuudelle, jolla on sitten käytön mukaan vaihdettava IF suodin (tai pankki sellaisia). AGC otetaan k.o. IF suotimen jälkeen hillitsemään digitaalisessa prosessoinnissa tarvittavaa dynamiikkaa.

Kiinteämoodinen

WA4DSY 56k, paccomm, joka on pitkälti yhteen käyttöön optimoitu modeemi, joka liittyy HDLC:tä puhuvaan synkroniseen sarjaliitäntään. (Nykyinen inkarnaatio on tehty FPGA:lla.)

Nopeammilla yhteyksillä täytyy käyttää tarkoitukseen optimoitua rautateknikkaa, kuten FPGA:han kovakoodattua prosessointia, tai esimerkiksi:

  • Tx: AD6623 (BPSK/QPSK/GMSK/etc. data modulator; $24) + AD9754 DAC ($10)
  • Rx: AD6652 (ADC+RX) ($38) (12-Bit, 65 MSPS IF to Base Band Diversity Receiver) + DSP...
  • AHA.COM:in RS tai TPC kooderipiirit
  • HDLC kehystykset (Amd186CC ?, Freescale MPC870 ?)

Joustavamoodinen

Software Defined Radio (SDR) on tekniikka, missä signaalia käsitellään numeerisesti ja poimitaan sieltä mitä modulaatiota milloinkin halutaan.

Tällainen radio liittyy kaistaleveysrajoittettuun (karkeasuodatettuun) välitaajuuteen, ja vastaanottosuuntaan:

  1. Signaali digitoidaan (14 bit, AD9244-40: $20, AD9244-60: $30, TI ADS5542: $25)
  2. Prosessoidaan Analog Devicesin AD6620:lla ($18):
    1. Sekoitetaan numeerisen oskillaattorin I ja Q lähtöjen kanssa
    2. Saadut I ja Q datavirrat alipäästetään (otetaan alempi sekoitustulos)
    3. Datavirran nopeutta pudotetaan kvantisoinnilla
  3. Lopulta ne ohjataan DSP:lle varsinaiseen demodulointiin.
  • Vaihtoehtona AD6652 (12 bit ADC + AD6620 processing), n. $38.

On myös mahdollista käyttää analogista tekniikkaa viimeisenä sekoittimena ja digitoida vasta basebandille alipäästetyt I ja Q. (Ns. "LinRad lähestymistapa", ks. SDR alempana olevasta linkistä. Kaikki äly on hostissa.)


Lähetyspuolella DSP:llä tuotetaan I ja Q ja ne ajetaan joko:

  1. DAC muunnoksen ja alipäästön kautta analogiseen balansoituun sekoittimeen joka tuottaa IF:n
  2. Analog Devicesin AD9857 (~$13-15) "CMOS 200 MSPS 14-Bit Quadrature Digital Upconverter" kautta suoraan IF:ksi.

Tällaisella tekniikalla saadaan luokkaa 50-100 kHz kaistaleveys, jonka pitäisi hyvinkin riittää "hitaampiin" datasiirtokäyttöihin.


DSP:ksi vaikkapa:

  • Analog.com:
    • VisualDSP++ dev-environment: $3500 ... 30day test-drive
    • uClinux toolchain: $0
    • ADSP-BF537 Blackfin Processor with Embedded Network Connectivity ($17, 600 MHz, 10/100 ethernet)
    • ADSP-BF531 ($8, 400 MHz, 800 MMAC, perusmalli)
    • ADSP-BF532 ($10, 400 Mhz, 800 MMAC, 32k sisäistä full-speed data-SRAMia)
    • ADSP-BF533 ($17, 500 MHz, 1000 MMAC, 64k sisäistä full-speed data-SRAMia, "turbomalli")
  • TI.COM:
    • Code Composer Studio: 120 day test-drive, $500 + yearly subscription
    • Code Composer Studio IDE: 120 day test-drive, $3600 + yearly subscription
    • Linux DSP Tools: LinuxDspTools -- hinta ? (mahd. nolla tiOMAP:lle; tukee C55XX DSP:tä)
  • Freescale: ??

Työkaluilla on hintaa - tai sitten ei.

SDR, BW alle 90 kHz

Audio-codekkien kaistaleveydet yltävät hyvin lähelle 0.5*fsample taajuutta. Lähellä rajataajuutta esiintyy jonkin desibelin tai parin verran rippeliä. Ryhmäkulkuaikoja ei raportoida...

  • Rx suunta:
    • Analoginen kvadratudi baseband alassekoitus (2x AD8343, $4), DDS LO ? PLL/VCO LO ?
    • tai: Analoginen kvadratudi baseband demodulaattori: (AD8348, $5; RF=50..500 MHz), DDS LO ? PLL/VCO LO ?
    • I ja Q sämplätään halvalla stereo-ADC:llä (AD1871, 24 bit, 96 kHz, $8; diff-in)
    • tai: AD9864/AD9874 IF digitizer (AD9864: $10, AD9874: $15)
    • Signaaliprosessointi ADSP-BF531 ($7, 400 MHz perusmalli) + ohjelmamuisti
  • Tx suunta:
    • Signaaliprosessointi ADSP-BF531 (sama kuin Rx suuntaan)
    • I ja Q tuotetaan halvalla stereo-DAC:lla (AD1854, $6; diff-out)
    • Balansoitu I+Q modulaattori IF tai RF taajuudelle (AD8345, $5; RF=250-1000 MHz!)
    • tai: IF vaiheistusverkko + 2x: AD8343 + summain + ...
  • USB host-liitäntä (ja mahdollinen huushollaus):
  • IF filttereitä:


Työkaluista ... ks. edellinen kappale.

Linkkejä