Olen viime aikoina lueskellut softaradioista ja varsinkin modulaatiotekniikasta. Tarkoituksenahan olisi joskus lähteä radioamatööriksi vielä, ja suoraan softapuolelle kokeilemaan diginörttijuttuja. Kun tuota kamaa tankkaa tarpeeksi intensiivisesti ja eksentrisesti, päähän alkaa tulla omia hassuja ideoita. Ajattelin että niitä voisi alkaa vähitellen keräillä jonnekin, eli kun tässä vaihteeksi ollaan fesevankilassakin, toimikoon tämä blogiposti aloituksena.
Kun lähetämme Morse-koodia, voimme periaatteessa käyttää mitä tahansa modulaatiota joka suostuu kantamaan binaarisen datavirran—onhan Morse ensimmäinen digitaalinen moodi kuitenkin. Yleisin tapa kuitenkin on katkoa sinusoidaalista kantoaaltoa, koska tuollainen modulaatio on tavattoman helppo tuottaa, ja niin koodata käsin kuin lukea korvaltakin.
Teknisesti kyseessä on kuitenkin samalla kantoaallon amplitudimodulaatio neliöaallolla. Tämä näkyy helposti vaikkapa siitä ainaisesta amatöörien tappelusta joka liittyy avainnuksen kovuuteen ja sen aiheuttamiin key clickeihin, jotka sotkevat viereisiä kaistoja. Nuo johtuvat siitä että neliöaallolla on äärettömän leveä spektri, joka levittää kantoaallon avainnuksen jälkeen tavalliseen AM-tapaan viereisille kaistoille.
Seurauksena on, että periaatteessa AM-OOK:sta pitäisi olla tuotettavissa yhden sivukaistan versio aivan kuten normi- AM/DSM:stä johdetaan SSB. Se luultavasti kuulostaisi vähän oudolta, mutta sen pitäisi olla selvästi tunnistettavissa, koska poislukien kummalliset vaihesiirtymät on/off-siirtymissä se on vakaassa tilassa ihan vain tavallista OOK:ta.
Lisäksi tähän on audiosignaalinkäsittelypuolelta valmiit työkalut joilla homman voi tehdä eksaktisti, ja jolla sen voi saada kuulostamaan paljon järkevämmältä. Min-BLEP-tyyliset systeemit tuottavat tiukasti kaistarajatun kanttiaallon ja sen kvadratuurikomponentin tehokkaasti ja vieläpä striimaten. Ne myös sallivat pitkällemenevän sekä systemaattisen optimisaation aallon aika- ja taajuussisällöissä.
Näistä ajatuksista yhdessä yleistyy sitten myös kaikenlaista jännää, kun ajatellaan miten OOK-Morsen spektriä muuten voitaisiin käsitellä. Vaikka olisikin niin, että kova avainnus ei auta meluisissa tai QRP-olosuhteissa, kuten jotkut väittävät, voisikohan olla että jokin toisella tavalla muokattu spektri auttaisi? Tai voisikohan siitä Morsen spektristä tehdä jotenkin psykoakustisin perustein vieläkin miellyttävämmän kuuloisen kuin optimaalisesti avainnettu puhdas OOK?
Tai mites jos siihen spektriin koodattaisiinkin jotain lisädataa jota ihminen ei kuule mutta kone kylläkin? Eikun hei, voiskohan siihen koodata jotakin ihmisen kuulemaakin jotenkin kätevästi, käytettäväksi vaikkapa hymiöiden tai äänensävyn tapaan? Kaikki samaan aikaan?
Radioamatöörisäännöt ovat kaista-allokaatioiden osalta aika masentavia. Yleisimmin käytetyillä kaistoilla kaistanleveys on tiukasti rajattu, ja useimmilla kaistoilla taisi olla käytössä vielä tiukka kanavointikin, tyyliin 5kHz:in siivuihin. Hajakaistatekniikatkin ovat yleisesti ottaen kiellettyjä, kuten taitavat olla monet kokeelliset emissiolajitkin. Tuollainen on paitsi ikävää digikokeilijan kapasiteettinäkökulmasta, myös tarpeetonta ja hyödytöntä. Tai no, ymmärrän kyllä että tarkoitus on hyvä ja toteutus helppo sekä konventionaalinen, mutta jokin tässä nyt kuitenkin häiritsee.
Ensinkin kaistan silppuaminen noin pieneksi johtaa melkoisiin häviöihin kokonaiskapassa, kun tietenkään käytännön vehkeillä ei päästä lähellekään kaistan reunaa vaan pitää aina jättää väliin marginaalia molemmin puolin. On myös periaatteellisesti kyseenalaista että jakoperuste taajuudessa kohotetaan noin paljon ylemmäs kuin aika, paikka, polarisaatio tai hajautuskoodi.
Ja toisekseen, eivät tuollaiset säännöt erityisemmin estä sikailua kaistalla. Jos joku haluaa talloa toisen päälle, hänhän talloo. Käsittääkseni kaistoilla liikkuu kaiken sortin kilohattiwatteja jotka jyräävät tarpeettomasti puolen maailman yhteydet, kun pitää esitellä munanjatkeeksi ostettua ammattilaislinukkaa. Paskamaiset ihmiset voivat aivan hyvin myös yksinkertaisesti breikata syyttä suotta varatulle kanavalle ja alkaa jauhaa paskaa. Jne. Samalla ylivoimainen valtaosa amatööreistä on tavallisia ihmisiä jotka nimenomaan tekevät kaikkensa jotta eivät oksentaisi toisten kengille. Eli eivät talloisi ketään kuin korkeintaan vahingossa, vaikka mitään noita rajoituksia ei olisikaan. Eli siis oikeastaan ainoa ymmärrettävä rajoite koko joukossa on se ettei salausta tai muuta obfuskaatiota saa käyttää, harrasteen avoimuuden ja valvottavuuden takaamiseksi.
Niinpä noita kaistarajoitteita nyt ainakin tekisi mieli vähän kiertää. Tai siis paremminkin tulkita luovasti, koska en kuulu itsekään niihin tallojiin. Nääs kun ne kaistat ja sallitut interferenssitasot on kuitenkin määritelty käytännöllisillä maskeilla jotka väkisinkin ovat epätarkkoja. Mitäs jos olisi keino tarkoituksella ajaa sun kapeakaistalähetteen interferenssi tismalleen kiinni noihin rajoihin, niin että siitä samalla olisi jotain hyötyä, ja edelleen huomioonottaen muut?
Onhan meillä. FM, AM ei-sinusoidaalisilla aaltomuodoilla ja hajakaistatekniikat kaikki tuottavat perusaaltomuodosta leveämpiä muotoja, joita voi sitten suodattaa mielin määrin. Jos tuollainen lähete lisätään sopivalla tasolla koherentisti normi-SSB:n tai vastaavan lähetteen päälle niin että se jää interferenssimaskin alle, sinne maskin häntiin voi piilottaa yllättävänkin paljon tavaraa, ja riittävästi säätäen luultavasti ihan laillisestikin. Sen jälkeen meillä yhtäkkiä on mahdollisuus process gainiin vastaanottopäässä.
Systeemitasolla tuossa tosin pitää olla aika tarkkana. Niitä maskeja ei ole optimoitu tuollaista käyttöä varten, eli jos ollaan varomattomia, useat eri käyttäjät viereisillä kanavilla voivat edelleen yhdessä sotkea toistensa asioita vaikka kuinka pahasti. Mutta ei tuokaan ylitsepääsemätön ongelma ole. Pitää vain pitää huolta, että asymptoottisesti kaikkien sivukaistat laskevat nopeudella joka summautuu korkeintaan ykköseksi, tasolle joka on säännösten mukainen. Lisäksi varsinkin hajakaistatekniikoita käyttäen voidaan olettaa että tuo summautuminen on täysin epäkoherenttia, jolloin kumulatiivinen efekti minimoituu on viereisillä kanavilla riippumatonta valkoista kohinaa. Se häiritsee vähiten puheentunnistusta ja signaalinkäsittelyä.
Jos kanavia ensin aletaan kohdella tuolla tavalla tarkoituksellisen epämääräisinä, ainahan sen ajatuksen kanssa voi sitten juostakin. Mitäs jos ne kanavamaskit tarkoituksella määriltäisiinkin niin että kanavat menevät päällekkäin, mutta summautuvat korkeintaan ykköseksi (kenties jonkin tehorajan alapuolella)? Yksinkertaisimmillaan kaistat voisivat elää kolmionmuotoisen kaistamaskin alla, vuotaen täysillä molemmille viereisille kaistoille, ja summautuen ykköseksi (yksi ns. partition of unity).
Tuossa olisi aika paljon miettimistä, varsinkin kun tarkoituksena ei ole pakottaa kaikkia käyttämään näin monimutkaisia kommervenkkejä. Mutta noin teoriassa, ja varsinkin jossain hallitummassa ympäristössä, tuolla olisi vähän samanlaisia etuja kuin duobinaarisella koodilla on aikapuolella: se on paljon helpompaa toteuttaa tavalla joka ei jätä niitä tuhlaavaisia suojakaistoja. Oikeastaan nyt kun ajattelen, ettei vain olisi niin että WLAN-standardien suunnittelijat ovat miettineet jotain tuollaista kun ovat asettaneet ne hajakaistansa päällekkäin? Pitäs varmaan kattoa näkyykö niistä kanavamaskeista ja ideaalisista emissiospektreistä vihjeitä moisesta.
Ja siis kyllä tällaisesta systeemistä saataisiin yhteensopiva nykyisenkin kanssa. Se vain vaatisi, että sallitut sivukaistat ovat riittävän alhaisia viereisten kanavien keskiosassa, jota voitaisiin sitten käyttää nykyisen allokaation mukaisesti. Siirtymä-/suojakaistoilla maskista tulisi vängähkö, mutta mitä sitten, näin DSP-aikana?
Toiselta kantilta voidaan sitten miettiä mitä sinne häntiin työnnettäisiin. Yllämainitun koherentin lisätiedon asemesta mieleen tulisi hajakaistamoduloitu digitaalitieto joka jotenkin liittyy peruslähetykseen (jottei voida syyttää erillisestä hajakaistalähetteestä, kun se on laiton). Tyyliin, vaikkapa sivudata älykkäälle digitaaliselle monikaistakompressorille—tuollainen voisi parantaa SSB-lähetteen laatua julmasti, vaarantamatta läpinäkyvyyttä tai yhteensopivuutta analogipuolen kanssa.
Yksi vittumaisempi juttu digimodeissa on synkronisaatio Doppler-siirtymän läsnäollessa. Digitaaliset preamblet eivät oikein sovi tuohon hommaan, koska ennen kuin ne on helppo dekoodata, bittisynkka pitäisi oikeastaan jo olla. Se taas on vaikea lukita varsinkaan alhaisella signaali–kohina-suhteella ja nopeasti, datapurskeen alussa. Niinpä kun lukkoa ei tahdo alhaisella SNR:llä saada, myöskään sitä koherenttia ilmaisutapaa joka leikkaa parhaiten kohinan ja varsinkin interferenssin läpi ei ole helppo soveltaa.
Tutkapuolella ja ionosondeissa vastaava ongelma on perinteisesti ratkottu käyttämällä taajuuspyyhkäisyjä, eli chirppejä. Niillä on tavattomasti mukavia ominaisuuksia samaan aikaan. Ne ovat tavattoman helppoja tuottaa jopa analogivehkeillä. Ne sietävät erinomaisesti Doppleria, koska Doppler vain siirtää kahden identtisen chirpin maksimikorrelaatiota ajassa. Niillä on vakioverhokäyrä, eli ne sietävät hyvin epälineaarisia vahvistimia. Samaisesta syystä ne ovat ajassa hyvin levinneitä, mutta kuitenkin niiden spektri on aikarajoitettunakin osapuilleen tasainen. Tuosta seuraa että ne ovat erinomaista materiaalia ekvalisaattorien treenaukseen.
Okei, eli laitetaan preambleksi lyhyt chirppi joka kattaa koko kaistan. Nyt signaali löytyy helposti ihan vain korreloimalla vastaan vakiochirppiä. Tuleeko vastaan ongelmia? No tulee. Sen chirpin nopeus määrää kuinka paljon sen taajuus hajoaa, eli preamblesta voi tulla liian pitkä ollakseen tehokas jos se aiotaan pitää kaistan sisällä. Toisaalta samalla se joudutaan kuitenkin ikkunoimaan, eli luulisi jonkin tasapainon löytyvän ikkunoinnin ja itse chirpin aiheuttaman splatterin välillä, niin että koko kaista katetaan mutta chirpin hyödylliset korrelaatio-ominaisuudet eivät täysin katoa. Näin varsinkin jos tarkoituksena on vain aloittaa kommunikaatio ja jatkaa siitä tavallisempaan tapaan koherentin ilmaisun tuoman prosessointivahvistuksen varassa.
Toinen sitten on, että niitä chirppejä tarvitaan preambleen vähintään kaksi. Näin, koska me halutaan tosiaan pelkän ilmaisun lisäksi myös mitata symbolikello. Tuon teoriassa kai voisi tehdä sovittamalla eri pituisia versioita pohjachirpistä, vastaten eri Doppler-siirtymiä, mutta näppärämpää on laittaa kaksi chirppiä peräkkäin, jolloin niiden maksimikorrelaatioiden ero mittaa suoraan lähettäjän relatiivista aikaa. Lisäksi tuolla tavalla jälkimmäinen pulssi voi yhtäkkiä olla negatiivinenkin; protokollaa voi täydentää niin, että chirppejä voi lähettää kaksi tai useampia ja negatiivinen pulssi päättää preamblen. Toinen kiintoisa juttu on, että chirpit pulssikompressoituvat ilmaisussa tavattomasti, eli niiden ilmaisu on paljon helpompaa kuin juuri minkään muun aaltomuodon.
Kiintoisasti tutkapuolelta löytyi sellainenkin huomio, että itse asiassa lineaariset chirpit eivät ole korkealla Dopplerilla ja isoilla kaistanleveys–aika-tuloilla optimaalisia, vaan pitää mennä hyperbolisiin. Toi oli uutta mulle, mutta tavattoman hyödyllinen tieto jos protokollan on tarkotus toimia optimaalisesti lentokoneiden kanssa. Noilla tutkaihmisillä näyttää myös olevan kiintoisia keinoja mukata chirpin spektriä—eli Fourier-muunnoksen kautta autokorrelaatiofunktiota—kajoamatta sen verhokäyrään, käyttäen epälineaarista FM:ää.
Yksi erityisen hauska ajatus on, että tällaisia preambleja käytettäisiin nimenomaan protokollaneuvotteluun ja muuhun signalointiin. Chirpeillä kun on se kiva ominaisuus, että siirrettynä taajuudessa ne edelleen ovat chirppejä, ja vaikka korreloit ne pidemmän chirpin kanssa, ne edelleen erottuvat taustasta. Tuo tarkoittaa, että SSB-modulaation jälkeenkin korrelaatio saman chirpin kanssa toimii ainakin jossakin määrin (tämä on se approksimaatio jonka takia lineaariset chirpit eivät ole Doppler-optimaalisia; Doppler on aikaskaalaus eli käänteinen taajuusskaalaus, eli vain kapeakaista-arvioitavissa SSB:nä), ja se toimii käännetyn chirpin kanssa vielä sittenkin jos luet spektrin väärältä sivukaistalta. Tuosta seuraa, että jos tarkoituksella aliasoit laajemman kaistan huomattavasti pienempään aallonleveyteen ja korreloit samaan aikaan prototyyppichirppiä (laskeva) ja sen käännettyä versiota (nouseva) vastaan, yhtäkkiä huomaat signaalin missä vain koko kaistalla. Ja jos teet tuon kahta tai useampaa keskenään keskenään jaotonta näytteistystaajuutta vastaan, yhtäkkiä kiinalainen jäännösteoreema mahdollistaa alkuperäisen signaalin löytämisen tehokkaasti. Ts. teoriassa pystyt järkevillä resursseilla vahtimaan kaikkiaQSO-pyyntöjä niin laajalta kaistalta kuin softaradiosi vain kykenee näytteistämään—nykyään kymmeniä megahertzejä, jollei yli sata. Julman tehokasta, varsinkin vaientuneilla amatööribandeilla, sekä tietysti osana ALE-tyyppisiä heikosti koordinoituja järjestelmiä, joissa vastaparin löytäminen nopeasti on ainainen ongelma.
No comments:
Post a Comment