Konsten att registrera rätt mängd data
Möjligheten att registrera data och bearbeta data offline används inom alla tekniska områden. Beroende på område kan mängden data variera kraftigt. När signaler i det elektromagnetiska spektrumet ska registreras är datamängden beroende av signalens bandbredd. I takt med att signalernas bandbredd blir allt större måste allt mer data lagras, överföras och analyseras. Den här artikeln fokuserar på applikationer som COMINT, ELINT och SATCOM, som alla producerar en stor mängd rådata, och på hur man undviker att få onödigt stora datafiler som gör vidare offlinebearbetning till en utmaning.
Det produceras mer data än någonsin. De flesta data som produceras kommer aldrig att användas.
- Av Anders Svensson, Chief Technical Officer
Stora datafiler
Att förvärva och arbeta med stora datafiler kan delas upp i tre olika steg:
- Rekord. Inspelning sker när de insamlade uppgifterna sparas på disk. Diskarna måste vara tillräckligt snabba, tillräckligt stora och hela kedjan från inhämtning till diskar måste uppfylla kraven.
- Avlasta data. Om data inte kan bearbetas lokalt där de först lagras, måste de överföras till något annat system. Detta kan göras på många olika sätt, men det finns två generella sätt att göra det på. Antingen flyttas data fysiskt till ett annat system, t.ex. genom att använda ett USB-minne eller genom att ta ut disketter och överföra dem till det andra systemet, eller så överförs data elektroniskt, t.ex. via Internet.
- Analyzsera data. Rådata har ett begränsat värde innan de analyseras. Alla data som registrerats måste därför bearbetas av en CPU, GPU, FPGA eller någon annan typ av bearbetningsmekanism.
Exempel - Event Horizon-teleskop
Ett extremt exempel på detta är Event Horizon Telescope som producerade data för den berömda första bilden av ett svart hål. När den enorma mängden data, 5 peta bytes, hade samlats in var det snabbaste sättet att överföra all data att fysiskt skicka hårddiskarna för att bearbeta datan. För vissa tillämpningar fungerar det, men det beror på många faktorer som tillgänglig teknik, budget, tidslinje etc.
Hantera stora datafiler
Samplings- och datahastigheter
Nyquist-teoremet säger att en signal måste förvärvas med en hastighet som är minst dubbelt så stor som bandbredden, men det är önskvärt att ha en högre samplingsfrekvens på grund av avrullning av antialiasfilter och andra parametrar. Inom signalbehandling och RF är det vanligt att man arbetar med IQ-data (In-phase and Quadrature data). Förklaringen av IQ-data finns i både litteratur och på nätet. Varje sampel i tiden är ett par av I och Q. En vanlig översamplingsfaktor är IQ rate=1,25*bandbredd, vilket ger tillräckligt med utrymme för antialiasingfiltret. En modern vektorsignalanalysator kan ha bandbredder på 800 MHz och mer och med den översampling som just nämnts är IQ-frekvensen 1 GHz. Med 16-bitars I och 16-bitars Q blir datahastigheten 4GByte/s. I RF-övervakningsapplikationer behöver systemen ofta övervaka spektrumet under långa tidsperioder och 24/7-drift är inte ovanligt. En datahastighet på 4 GB/s ger 345,6 TB data per dag, vilket kräver mycket lagringsutrymme och lagringsutrymmet kan också vara ganska dyrt eftersom det måste kunna ha höga skrivhastigheter. Ett sätt att komma runt detta är att bara lagra de senaste timmarnas data och kontinuerligt radera den äldsta registrerade datan. Lagringsenheter har dock en livslängd och ett mått på det är TBW, Terabytes Written. SSD-enheter för konsumentbruk har en TBW på upp till 600 TBW för en 1 TB-modell. Med den datahastighet som nämns ovan skulle 600 TBW ge mindre än 42 timmars inspelningstid på en enda enhet, vilket inte är mycket för 24/7-drift. Genom att öka antalet enheter eller köpa diskenheter av industrikvalitet med en TBW på upp till 2000 TBW för en 1 TB-modell förbättras tiden till fel men också kostnaden. Att spela in all data är alltså inte alltid ett alternativ. Något annat man bör tänka på är hur man bearbetar stora datamängder för att kunna ta fram den information som behövs och var man gör det. När data har lagrats och behöver bearbetas uppstår andra flaskhalsar. Det går ofta lite snabbare att läsa data från lagringsmediet än att skriva till det, men vi begränsas alltid av den långsammaste länken i systemet. Även om du har en RAID-array med flera NVMe-enheter som teoretiskt skulle kunna leverera 72 GB/s bara baserat på antalet enheter och läs-/skrivhastigheten, kommer databakplanet, t.ex. en PCIe-buss, att begränsa överföringshastigheten. Denna flaskhals kommer att finnas där oavsett om data ska skickas till processorn för bearbetning eller skickas till en extern enhet som en back-end-server. Det spelar ingen större roll om du har världens största beräkningskluster om du inte kan skicka data till det tillräckligt snabbt. Därför är det viktigt att hitta sätt att bara registrera de data som behövs. Genom att göra det kan vi minska lagringsutrymmet, överföringstiden och bearbetningstiden. Resultatet blir kortare tid från inspelning till resultat och minskade kostnader.
Lösningar
Tekniker för datareduktion
- Minska inspelningstiden
- Minska signalens bandbredd
- Minska signalens bitbredd
- Komprimera data
- Analysera och avmodulera data
Minska inspelningstiden
Att endast registrera den intressanta signalen under den tid den är aktiv är ett effektivt sätt att minska datastorleken om det går lång tid utan att någon signal är närvarande. Vissa tillämpningar kräver mycket korta inspelningsperioder, t.ex. radarpulser. Då blir systemets retriggningstid en viktig faktor, dvs. hur snabbt det kan starta en ny inspelning efter att den föregående har avslutats. Automatiskt utlösta inspelningar kan drabbas av att händelsen som leder fram till den aktiverade utlösningen inte tas med eftersom signalen ännu inte har nått tröskelnivån. Det är därför viktigt att buffra inkommande data så att även samplingar före triggern inkluderas i den inspelade datan när triggern inträffar.
Minska signalens bandbredd
Vid sökning efter okända signaler används ofta en bredare bandbredd. Istället för att fånga hela bandbredden kan den intressanta signalen extraheras med hjälp av digital signalbehandling. Om det band som ska övervakas är 765 MHz brett men den intressanta signalen bara är 5 MHz bred, kan datastorleken minskas med 153 gånger genom att bara registrera det intressanta frekvensbandet. Att extrahera en smalbandig signal från en bredbandig ingång kan göras med en Digital
Nedkonverterare, DDC, även känd som digital drop receiver, DDR. Mer avancerade system har flera DDC:er som kan användas oberoende av varandra för att fånga upp flera smalbandssignaler samtidigt.
Minska signalens bitbredd
Om signalen inte har ett stort dynamiskt omfång kan det vara möjligt att minska antalet bitar och ändå representera signalen på ett tillräckligt bra sätt. Genom att gå från 16 bitar till 8 bitar halveras det lagringsutrymme som krävs. Det går att ha bitbredder som inte är en multipel av en byte också, men det gör det mer komplicerat att läsa och skriva data. Ett exempel på hur detta kan göras är med 12-bitars data där fyra 12-bitars sampel lagras som tre 16-bitars sampel. Den här metoden kallas bitpackning. Vanligtvis är detta inte att föredra eftersom det komplicerar läsprocessen. Även om data lagras i ett binärt format arbetar de flesta CPU-baserade filfunktioner med bytes. 12-bitarsdata måste packas upp och läggas in i ett 16-bitars talformat, vilket kan ta tid.
Komprimera data
Datakomprimering är något som många känner till, t.ex. när man arbetar med filer och kombinerar dem till en zip-fil. Att komprimera insamlade data från RF-spektrumet är svårt eftersom komprimeringen för det mesta måste vara förlustfri så att den ursprungliga signalen kan rekonstrueras. En verkligt slumpmässig signal kan inte komprimeras. Om det finns statistiska egenskaper hos signalen som kan användas kan signalen komprimeras i viss utsträckning, men det är svårt att göra den statistiska analysen i realtid och det är inte vanligt att komprimera data.
Analysera och avmodulera data
Ett möjligt tredje steg i inspelningsprocessen är att analysera data och endast lagra analysresultaten. Genom att analysera signalen kan en stor del av den overhead som krävs för att skicka det faktiska meddelandet elimineras. Ju tidigare i systemet som signalen kan analyseras, desto bättre ur ett datalagrings- och överföringsperspektiv. Ett exempel på detta är demodulering av ljudsändningar där det kan räcka med 16-bitars ljud samplat vid 8 kHz i stället för en 50 kHz bred IQ-signal. Det bästa alternativet är om signalen kan analyseras i realtid, på så sätt behöver bara resultatet lagras istället för hela signalen. Det näst bästa alternativet är att analysera signalen efter att den har lagrats lokalt men innan den överförs till ett annat system. Även om lagringsutrymmet tillfälligt måste rymma originalsignalen, kan originalfilen raderas när analysen är klar och resultaten har överförts, vilket sparar utrymme. Genom att endast överföra resultaten minskar dessutom den nödvändiga överföringshastigheten.
Automatisk signaldetektering
De ovan nämnda teknikerna kan alla användas manuellt genom att operatören konfigurerar bandbredden och sedan startar och stoppar inspelningen. Ett bättre sätt är att låta inspelningssystemet automatiskt upptäcka och spela in de signaler som är av intresse.
För att avgöra när och hur länge signalen är aktiv eller hur mycket bandbredd den upptar kan olika typer av signaldetekteringsalgoritmer användas. De flesta generella metoder bygger på att detektera om det sker en ökning av energin. Två vanliga metoder är en frekvensmasktrigger och en analog kanttrigger. Den analoga kantdetekteringen mäter signalnivån eller effekten för hela bandet och triggar när den går över ett tröskelvärde. Även om det kallas analog edge görs det ofta digitalt. Med den här metoden är det möjligt att detektera mycket korta signaler och få en mycket exakt triggertid för när signalen startade. En nackdel är att alla frekvenser i bandet kommer att triggas, så om det finns flera signaler i bandet kan det hända att fel signal triggas. Frekvensmasktriggern bygger på FFT (Fast Fourier Transforms). FFT:en delar upp spektrumet i många frekvensbins och signalnivån i varje bin kan jämföras med ett tröskelvärde. En FFT beräknas på ett visst antal sampel, t.ex. 1024. En längre FFT ger bättre frekvensupplösning men kräver fler sampel och har därmed sämre tidsupplösning. För triggade applikationer, även om inte alla data sparas, måste alla data bearbetas i realtid för att kunna upptäcka om ett triggervillkor har inträffat. Som tidigare nämnts ökar datamängden när bandbredderna blir större, vilket innebär större påfrestningar på triggerfunktionen. Att bearbeta 4GB/s på ett deterministiskt sätt på en CPU är en utmaning och därför överlåts uppgiften att trigga normalt till hårdvara som en FPGA som kontinuerligt kan bearbeta all data som skickas till den. Ett vanligt mått på FFT-baserade system är Probability of Intercept, POI. 100% Probability Of Intercept är ett mått på hur lång tid en signal måste vara aktiv för att systemet med 100% säkerhet ska kunna detektera den med full amplitud. För att detta ska ske måste signalen vara närvarande under minst en hel FFT och genom att ändra parametrarna samplingsfrekvens, FFT-längd och FFT-överlappning kan POI-talet skräddarsys för applikationen.
Överlappning är den procentandel som FFT-samplingarna överlappar. Ett exempel där en signal samplas med en samplingsfrekvens på 1GS/s och 1024 punkters FFT som överlappar med 50% ger:
ODEN
I den här artikeln har vi gett några exempel på de olika utmaningar som finns när det gäller dataregistrering. Vilken metod eller kombination av metoder som är mest effektiv för att reducera data beror på din applikation och dina krav. De två mest effektiva metoderna för att minska den datamängd som krävs för offlinebearbetning är att begränsa datamängden i tid och bandbredd.
Ett exempel på ett system som kan göra detta är ODEN, som är ett intelligent inspelningssystem som utnyttjar flera av teknikerna på ett nytt innovativt sätt. Med en momentan bandbredd på upp till 765 MHz täcker systemet ett stort område och kan fånga upp mycket breda signaler. Tack vare den inbyggda funktionaliteten kan storleken på de inspelade signalerna minskas så mycket som möjligt utan att datakvaliteten äventyras.
Den har en frekvensmasktrigger med upp till 32768 punkter, vilket gör det möjligt att skapa mycket fina masker för att trigga endast på de frekvenser som du verkligen vill trigga på. Frekvenstriggermasken används för att automatiskt initiera inspelningar, både bredbands- och smalbandssignaler. Frekvensbandet kan delas in i flera delband med egna inspelningsregler som definierar vad som händer när frekvensmasken triggas. Systemet kan sedan antingen spela in hela den momentana bandbredden, subbandet eller enskilda smalbandssignaler. Det senare är möjligt tack vare Novator Solutions kanaliseringsteknik som gör att ODEN automatiskt kan extrahera upp till 128 enskilda smalbandssignaler samtidigt. ODEN beräknar automatiskt frekvensen för varje signal och påbörjar inspelningen. När stopptröskelvillkoret uppfylls stoppas inspelningen automatiskt. Tack vare den här innovativa tekniken är det möjligt att minska signalstorleken både i tid och bandbredd till en ny nivå.
ODEN är också utrustad med en kraftfull inbäddad dator som kan utföra alla analysuppgifter som du normalt skulle göra på din CPU. Genom att analysera data direkt på inspelaren kan den drastiskt minska mängden data som behöver skickas över nätverk eller laddas ned till externa enheter. ODEN är förberedd för att låta dig lägga till din egen anpassade signalbehandling för att extrahera de parametrar som är av intresse för dig innan du överför data.
Ladda ner artikeln eller läs mer om ODEN och dess funktioner för datareduktion på
www.novatorsolutions.com/oden