A - F

Algoritme


Het is de procedure die beschrijft hoe een probleem moet worden opgelost. Bij het programmeren is het belangrijk om het probleem te ontrafelen om vervolgens de flowchart op te schrijven van logische/wiskundige stappen en van beslissingen om een probleem op te lossen. Je zou dit kunnen beschouwen als het algoritme of de te volgen procedure.

Daarna zet de programmeur elk flowchart-blok om in overeenkomstige programmeercode. De volgorde van alle instructies in het programma wordt ook wel het algoritme genoemd.

Common Interleaved Frame


Het CIF is een onderverdeling van het MSC-frame in 4 gelijke delen. Inzicht in het transmissieframe en het MSC-deel daarvan is de sleutel tot inzicht in het CIF-frame. Het transmissieframe geeft aan hoe de antenne bits verzendt.


Het MSC, onderdeel van het transmissieframe, bestaat uit 72 keer een modulatiecyclus van (D)QPSK-modulatie. Vergeet niet dat een modulatiecyclus gelijktijdig plaatsvindt op de 1536 dragers en dat de (D)QPSK-modulatie symbolen van 2 bits gebruikt.

We herhalen dus dat één modulatiecyclus 1536 dragers x 2 bits = 3072 bits de aether in stuurt.


(Aether is een fysiek niet-bestaand materiaal, een woord dat gebruikt werd toen men niet kon begrijpen welk medium licht vervoerde. Het werd in de middeleeuwen beschouwd als het 5e element, "kwintessens", een materiaal dat het hele universum vult)


De MSC bestaat uit 72 opeenvolgende modulatiecycli met audiobits.

Delen van de MSC door 4 levert CIF's op van 72/4 = 18 modulatiecycli.


Figure – division of the MSC into 4 CIF frames.

Hoeveel bits kan een CIF de lucht in sturen?

Achttien modulatiecycli vermenigvuldigd met 3072 bits per modulatiecyclus resulteren in een totaal van 55269 bits per CIF.

Nu hebben we de CIF gekwantificeerd als een eenheid van 55269 bits.


Laten we eens kijken naar de CIF timing.

Een transmissieframe wordt elke 96 ms herhaald, dus elk deel van het transmissieframe wordt elke 96 ms herhaald. Dit geldt ook voor de MSC. Het mag duidelijk zijn dat het verdelen van de MSC in 4 CIF's slechts kan resulteren in CIF's van 24 ms duur.


Vergeet niet dat 24 ms een zeer belangrijke tijdsronde is in DAB(+) audio. Het is de duur van een DAB audio frame en 1/5 van het DAB+ superframe, dat een periode heeft van 120ms.

Het verhaal over de CIF gaat verder met de CU (Capacity Unit), een verdere onderverdeling van de CIF (zie glossarium).

Compiler


Wat is een COMPILER en wat is "een programma compileren"?


Een compiler is een computerprogramma. Het vertaalt een programmeertaal op hoog niveau (C, C++, enz.) in binaire code voor een bepaalde CPU (Central Processing Unit).

CPU's voeren hun programma uit door instructies in binaire code (vaak hexadecimale woorden) uit het geheugen te lezen. Deze codes verschillen per type CPU.


Een belangrijk voordeel van high-level talen en het compileren ervan is de overdraagbaarheid van programma's op verschillende CPU-platforms. "Overdraagbaarheid van programma's" betekent het compileren van broncode met verschillende compilers voor verschillende CPU-platforms.


De compiler zet de high-level programmeertaal om in codes die overeenkomen met verschillende CPU-instructiesets. Een bronprogramma gecompileerd door een Apple C++ compiler zal ook draaien op Windows wanneer het wordt gecompileerd met een Windows C++ compiler.


In de begindagen van computers schreef men programma's ("objectcode") rechtstreeks in binaire code die door de CPU kon worden begrepen. Het aantal instructies dat nodig was om een programma te schrijven was enorm, moeilijk en omslachtig. Tegenwoordig programmeren we computers in high-level talen met instructies geschreven als leesbare tekst (vaak vergelijkbaar met het Engels). Nadat we het programma in broncode hebben geschreven, moeten we de broncode compileren tot code die door de CPU kan worden uitgevoerd.


De broncode, geschreven in C++ van de ODR-mmbTools, is te vinden op GitHub. Eenmaal gedownload, moet je het compileren naar uitvoerbare objectcode voor de CPU op je PC. Het Linux-besturingssysteem gebruikt de ISO C++ GCC (GNU Compiler Collection).

CU's

(Noodzakelijke voorkennis: Transmissieframe, MSC en CIF)


Wat zijn Capacity Units ?


Capacity Units geven de capaciteit aan die een radiostation gebruikt op de DAB(+) MUX.


Laten we beginnen met het CIF-frame met 55296 bits per 24 ms.

De CU komt overeen met een hoeveelheid van 64 bits.


Het is dan gemakkelijk om het aantal CU's in één CIF frame te berekenen:

55296 (bits in één CIF) / 64 (bits in één CU) = 864 CU's (in één CIF van 24 ms)


Dus 864 CU's worden elke 24 ms herhaald. Hiervan worden er 4 per 96 ms (transmissieframe) verzonden.


Opeenvolgende CU's bevatten de audiobits en de foutcorrectie van één radiostation.


De foutcode is een convolutie-code die audiobits en foutbits met elkaar verbindt. Het uiteindelijke aantal bits is de audiobitsnelheid gedeeld door de foutcorrectiefactor.


Op basis van de audiobitsnelheid en de foutcode kan gemakkelijk het aantal CU's voor een audiosubkanaal in de MUX berekend worden.

Voorbeeld:

  • Neem de bitsnelheid van het audiosignaal en deel die door de foutcorrectiefactor. Neem de bitsnelheid van het station op 96 kbps en EEP-3A (factor ½), dan geeft dat 96 kbps gedeeld door ½ of 192 kbps totale bits in het audio(sub)kanaal


  • Wij rekenen deze bitrate om van 1 seconde naar 0,024s (24ms)

    192 kbps x 0,024 = 4608 kbit / 24 ms


  • We delen het verkregen aantal kbits per 24ms door 0,064 kb (64-bit) om het aantal CU's te krijgen:

    4608 kbit / 24ms gedeeld door 0,064 kb (64 bit) geeft 72 CU's voor een 96kbps AAC audio bitrate en foutcorrectie EEP-3A


Het is dus belangrijk te onthouden dat één CU 64 bits groot is en berekend wordt per 24 ms.


Hieronder vinden jullie conversietabel voor CU's. Vergeet niet dat het maximum aantal CU's in een CIF 864 is (dit komt ook overeen met de totale MUX-capaciteit). Vergeet ook niet dat het zendgebied iets afneemt van EEP-1A naar EEP-4A, terwijl het aantal stations dat in de MUX past, toeneemt.   

Voor "Equal Error Protection (EEP)" (fout correctie) zijn twee opties, A en B, beschikbaar. Elke optie bestaat uit 4 verschillende beschermingsniveaus van 1 tot 4.


Optie A gaat uit van een verdeling van de audiosubkanalen in veelvouden van 8kbps. Deze indeling geeft de maximale flexibiliteit voor de door DAB(+) providers gebruikte audiokanaalindeling.


Optie B gaat uit van een verdeling van de subkanalen in veelvouden van 32 kbps en is minder flexibel voor audiodiensten. Deze optie is te gebruiken bij DMB-videodiensten.


Een audiokanaal van 80kbps is bijvoorbeeld onmogelijk met optie B omdat 80 geen veelvoud van 32 is!

Dus optie B staat alleen 32kbps, 64kbps en 96kbps toe als audio bit rates!


Neem aan dat optie B niet bruikbaar is voor DAB+ en dat het mengen van opties A en B in dezelfde MUX geen optie is bij het uitrollen van DAB+.

Continue & discrete data


Wat is het verschil?


Omdat we het KISS-principe (Keep It Simple & Stupid) omarmen, hadden we ook "Analoog en Digitaal" kunnen gebruiken.

  • met Continue bedoelen we Analoog
  • met Discreet bedoelen we Digitaal


Hoewel beide gegevens zijn, willen we voor een beter begrip een onderscheid maken tussen hun aard.


Gewoonlijk is data een tijdreeks (het gebeurt terwijl de tijd verder loopt).

De signaaltheorie moet echter rekening houden met tijdreeksen en frequentiereeksen.


Deze begrippenlijst legt meer uit over het tijdsdomein en het frequentiedomein. Omdat het principe hetzelfde is, zullen we voor de eenvoud op dit moment alleen gegevens als tijdreeks beschouwen.



Continue signaal/data


De gemeten gegevenswaarden zijn oneindig wanneer een signaal continu met een recorder zoals een plotter gemeten wordt. In theorie kunt u de tijd opdelen in het oneindige (omdat tijd ook continue gegevens zijn).


Twee metingen op het tijdstip van 1 seconde en het tijdstip van 2 seconden zullen een waarde van 0,5 seconde ertussen hebben.

Tussen 1 seconde en 0,5 seconde heb je een waarde van 0,25 seconde.

We kunnen doorgaan tot oneindig 0,125 - 0,0625 - 0,3125 ... -> oneindig.


Voorbeelden van continue gegevens zijn temperatuur, gewicht, lengte, snelheid, enz.

Alles wat je met een meetinstrument kunt meten zijn continue gegevens. Zie de tabel hieronder.



Discreet signaal/data


We hebben gezien dat tijd in het oneindige kan worden verdeeld omdat het ook continue gegevens of signalen zijn. Sommige gegevens zijn echter niet in het oneindige te verdelen. Deze gegevens noemen we discrete gegevens.


De voorbeelden zijn eenvoudig:

  • Het aantal kinderen dat je telt in een klaslokaal
  • Het aantal bomen dat je telt in een park
  • Het aantal auto's dat je telt in een parkeergarage


We hebben geen meetinstrumenten om dit soort gegevens te meten. Discrete gegevens moeten we tellen (of het meetinstrument zou altijd een teller zijn). Het resultaat is altijd een eindige waarde. Je kunt geen half kind, halve boom of halve auto hebben. Er is niets tussen de discrete waarden.



DAB(+)


Aangezien DAB(+) een digitaal systeem is, zullen we vaak discrete gegevens of signalen tegenkomen. Bovenstaande kennis kan ons helpen om de DAB(+) principes die we uitleggen op op lokaaldigitaal.vlaanderen en localdab.org beter te begrijpen.

Energie verspreiding


Wat is het probleem dat energie verspreiding moet oplossen?


Informatie (data, audio of video) in digitale vorm is altijd een verzameling bits die we zullen moeten moduleren op een draaggolf als we ze willen verzenden. Bitreeksen gemoduleerd op een drager voor draadloze transmissie beïnvloeden het RF-spectrum, goedschiks of kwaadschiks.


Het goede is dat uitgezonden willekeurige (random) bitreeksen zich goed zullen gedragen. Ze zullen ideale en continue frequentiespectra produceren.


Het slechte is dat uitgezonden niet-willekeurige bitreeksen ernstige pieken in de energie van het frequentiespectrum (niet-verspreide energie) vertonen. Dit kan interferentie veroorzaken met aangrenzende kanalen.



Wat kunnen we doen om dit probleem op te lossen?


We zullen de energie moeten verspreiden door een willekeurige bitreeks te maken. De bitreeks bevat echter onze (audio)informatie. Als we de bitreeks willekeurig maken, gaat de informatie verloren. Welk willekeurig algoritme we ook gebruiken, de ontvanger moet weten hoe hij de willekeurige bitreeks kan omzetten in de oorspronkelijke bitreeks.


Om dit probleem op te lossen, moeten we een (al dan niet willekeurige) bitreeks omzetten in een willekeurige bitreeks. We moeten echter de randomisatie (willekeurig verdelen) kennen om de gecodeerde sequentie in de digitale ontvanger te herstellen.



Wat is de uiteindelijke oplossing?


De oplossing is de bitstream om te zetten in een pseudo-willekeurige bitstream.

DAB zal een modulo 2-optelling (XOR-functie) uitvoeren met de output van een pseudo-willekeurige generator.


Een pseudo-willekeurige bitreeks is een bitreeks die statistisch willekeurig lijkt, maar gebaseerd is op een bekend algoritme (de sleutel).


Het algoritme berust op een voorspelbaar, deterministisch (geen willekeur) algoritme. Het lijkt dus statistisch willekeurig, maar is niet echt willekeurig. We noemen het pseudo-willekeurig.


De bit-gecomprimeerde audioframes (eindige aantallen bits) ondergaan een randomisatieproces aan de zenderzijde. Maar de ontvanger kan de willekeur weer omzetten in de juiste reeks omdat hij in de ontvanger met dezelfde sleutel dezelfde deterministische pseudo-willekeurige bitreeks kan genereren.


Twee deterministische systemen, één in de zender en één in de ontvanger, zullen altijd dezelfde pseudowillekeurige bitreeks genereren als hun startvoorwaarde hetzelfde is.

FDK-AAC


Wat is Fraunhofer?


Het is een Duitse onderzoeksorganisatie die zich richt op toegepaste wetenschap op verschillende gebieden. Zij hebben een belangrijke rol gespeeld bij de ontwikkeling van Digital Audio Broadcasting (DAB).



Wat is FDK-AAC?


Het is een open-source library (open-bron bibliotheek) die gebruikt wordt om software AAC encoders en decoders te maken.

ODR-mmbTools gebruikt deze bibliotheek voor de AAC-encoder (ODR-AudioEnc).


Zorg ervoor dat deze in het geheugen wordt geladen bij het compileren van de ODR-mmbTools AudioEnc.


De bibliotheek bevindt zich op GitHub onder de naam "fdk-aac" maar wordt sowieso geïnstalleerd bij het installeren van de "ODR-AudioEnc" module. FDK-AAC accepteert PCM en WAV audio input streams en codeert ze in AAC LC (standaard), HE-AAC v1 (SBR), HE-AAC v2 (SBR+PS), AAC-LD, en AAC ELD.


Voor het realiseren van een DAB+ radiozender met ODR-mmbTools AudioEnc, zullen de volgende AAC types belangrijk zijn.

  • AAC LC (voor hoge bitrates)
  • HE-AAC v1 (+SBR voor standaard bitrates)
  • HE-AAC v2 (+SBR +PS voor lage bitrates)

G - L

Libraries


Software libraries zijn computerprogramma's die samen een geheel vormen, gemaakt voor specifieke onderwerpen (communicatie, codering, interfacing, berekeningen, enz.)


Het is een door de programmeur geschreven subroutine (subprogramma in het programma) om repeterende en complexe delen van de code af te handelen. Het gebruik van libraries breidt de mogelijkheden van de vroegere subroutines uit. Een grote gemeenschap van programmeurs heeft toegang tot de libraries, gratis of tegen betaling.

De libraries voor ODR-mmbTools zijn gratis.


Door de invoering van nieuwe high-level instructies voor specifieke doeleinden wordt de library uitgebreid tot de gebruikte programmeertaal .


In plaats van de specifieke code te schrijven, kan de programmeur gebruik maken van bestaande bibliotheken (van andere programmeurs) over het onderwerp. Dat bespaart hem/haar veel werk en versnelt de ontwikkeling van software. De programmeurs kunnen immers het werk van andere programmeurs hergebruiken. De programmeur kan zich dan concentreren op de kern van zijn broncode in plaats van veel tijd te steken in standaardcode, bijvoorbeeld voor interfacing en communicatie via seriële interfaces, USB, TCP/IP, enz.


De broncode van ODR-mmbTools bevat verschillende instructies en aanroepen naar bibliotheken over specifieke onderwerpen. De belangrijkste zijn:

  • FDK AAC-library (AAC-library van Fraunhofer, inclusief programma's voor AAC-codering)
  • ZeroMQ library bevat de programmacode voor de ZeroMQ sockets.
  • libVLC (plugins) (motor en interface voor het multimedia framework van VLC)




Wanneer de compiler de broncode met instructies op hoog niveau vertaalt, kan de broncode verwijzen naar bibliotheken om de compiler te voorzien van de informatie die nodig is voor deze "standaard" instructies op hoog niveau.


Het compileren van broncode die high-level instructies bevat met betrekking tot een bibliotheek kan niet worden gecompileerd zonder dat de bibliotheek in het geheugen is geladen!


Bibliotheken zijn een verzameling voorgeprogrammeerde instructies en gegevens die de programmeertaal uitbreiden voor specifieke onderwerpen.


Ze zijn een fantastisch hulpmiddel om het programmeren te vergemakkelijken.

M - R

S - Z

STL


Studio Transmitter Link (Studio-zender-verbinding)


Wanneer de uitzendstudio en de zender zich op verschillende locaties bevinden, is er een "Studio Transmitter Link" of STL nodig. Deze is nodig om radio-inhoud van de uitzendstudio naar de zender te sturen.

De STL kan draadloos zijn (terrestrisch of satelliet), een digitale punt-naar-punt verbinding, of een VPN-netwerk. Tegenwoordig wordt zelfs het openbare internet door veel exploitanten als STL gebruikt .


In het eerste voorbeeld gebruiken we de STL om de uitzendstudio te verbinden met de multiplex (MUX) provider door een tussenliggende standaard audio-encoder zoals we die gebruiken voor het streamen van internetradio:





Indien de DAB+ audio encoder zich in de omroepstudio bevindt, wordt een STL voor de verbinding tussen de DAB+ audio encoder en de multiplexer (MUX) (zonder tussenliggende encoder/decoder) gebruikt.




Het eerste voorbeeld is low-budget en minder professioneel. Meestal is dit de oorzaak van minder goede kwaliteit van de audio. De tweede digitale conversie (kan zowel audioformaat als sample rate conversie zijn) speelt een belangrijke rol in de audiokwaliteit. In België gebruiken bijna alle kleinschalige DAB+ radio's deze manier, hoewel velen ook klagen over slechte audiokwaliteit op DAB+.


Voor een optimale audiokwaliteit zullen radio-omroepen de DAB+ audio encoder in de studio plaatsen, die ook het toevoegen van vaak veranderende extra informatie uit de playout software gemakkelijker maakt.

Symbolen


Wat zijn symbolen in digitale communicatie?


We willen de lezer niet in verwarring brengen, maar laten we beginnen met te definiëren dat een digitaal signaal niets anders is dan een speciaal analoog signaal. Een "signaal" is immers een elektrisch signaal, of het nu analoog of digitaal is. De fysica van beide signalen is hetzelfde.



Vergelijking


  • De amplitude van het analoge signaal kan oneindig veel momentane waarden aannemen tussen het minimum (negatieve amplitude) en het maximum (positieve amplitude)
  • Het digitale signaal is een analoog signaal met slechts 2 momentane waarden


Wanneer een analoog signaal slechts twee momentane waarden kan hebben, zoals de amplitude, noemen we het een digitaal signaal.



Modulatie


Modulatietechnieken maken hier gebruik van, bij zenden worden altijd analoge signalen gebruikt. De (digitale) modulatie op de drager gebeurt door te schakelen (keying) tussen twee amplitudes, frequenties of fasen.


Er is echter een oplossing om de bitrate in digitale transmissies te verhogen door meer dan 2 momentane waarden van een signaal te kiezen:

  • Bij gebruik van 4 momentele waarden zouden we 2 bits tegelijk kunnen verzenden
  • Bij gebruik van 8 momentele waarden zouden we 3 bits tegelijk kunnen verzenden
  • Bij gebruik van 16 momentele waarden zouden we 4 bits tegelijk kunnen verzenden
  • Enz...


We noemen symbolen (vergelijkbaar met de eenheid Bauds) het aantal bits dat we tegelijk kunnen verzenden. Het bovenstaande voorbeeld toont symbolen van 2, 3 en 4 bits.


De technieken om meerdere bits in één signaal te verzenden worden bij alle manieren van "digitale modulatie" gebruikt.


Het nadeel van het verhogen van het aantal bits per symbool is dat het aantal waarden toeneemt. De discrete amplitudewaarden zullen dichter bij elkaar liggen en moeilijker correct te detecteren zijn. Hun detectietolerantie wordt kleiner.


Vergeet niet dat door de aan een signaal toegevoegde ruis, de parameters in hun tolerantiegebied gaan wiebelen.


De regel om de waarden nauwkeurig te detecteren is dat hoe meer bits een symbool bevat, hoe hoger de signaal-ruisverhouding (Signal to Noise Ratio - SNR) moet zijn. Er zal een SNR-drempel zijn om een signaal op basis van symbolen correct te kunnen detecteren.

De parameters van het elektrische signaal kunnen amplitude, frequentie en fase zijn.



DAB/DAB+


In DAB(+) bevatten de symbolen 2 bits. De 1536 draaggolven in DAB Mode-I kunnen 3072 bits in één modulatiecyclus dragen.


De gebruikte modulatie is DPQSK. De parameter van de draaggolf die verandert is de fase (Phase).


De Q betekent kwadratuur of 4 fasen en. De 4 waarden geven aan dat het symbool 2 bits bevat. "SK" betekent Shift Keying tussen de 4 waarden.

Transmission Frame


Hoe stuur je bits de lucht in (de DAB/DAB+ zendinterface)?


Voordat een voorwerp van punt A naar B wordt verzonden, wordt het eerst in een doos of envelop verpakt. Bij digitale draadloze communicatie zal dat niet anders zijn.


Bij het verzenden van digitale gegevens kun je de bits het beste in de juiste volgorde in een doosje verpakken. Deze doos wordt in de telecommunicatie een "Frame" genoemd.


Deze pagina beschrijft de organisatie van het frame voor DAB/DAB+ transmissie.



Het DAB/DAB+ transmissieframe


De DAB/DAB+ zender heeft een continue draadloze zendsnelheid van 2400 kilobits per seconde (2,4 Mbit/s). Deze snelheid bestaat uit opeenvolgende (de een na de ander zonder onderbreking) zendkaders die om de 96ms worden verzonden.

Zie figuur:


Fig. 1 – DAB Mode-I Transmission


Het verband tussen de cijfers is eenvoudig, 230400 bits/s gedeeld door 0,096 (96 ms) seconden, wat resulteert in 2400 kbits/s.


Door het frame te verdelen in 77 (0-76) onderverdelingen (tijdframes) en ze een naam te geven volgens de functie die ze vervullen, maakt het nog duidelijker:


  • We noemen het NULL-symbool de eerste subdivisie, iets langer dan alle volgende symbolen van hetzelfde tijdsbestek
  • Het Synchronisatiekanaal noemen we de tweede subdivisie
  • We noemen het Snelle Informatie Kanaal (FIC) de volgende 3 subdivisies
  • En we noemen het Main Service Channel (MSC) de laatste 72 subdivisies



Het NULL-symbool


Dit is de eerste onderverdeling van het frame dat wordt uitgezonden. In de realiteit zal er niets uitgezonden worden (stilte). De korte stilte van de zender zal fungeren als scheiding van de opeenvolgende frames. De ontvanger zal dit gebruiken als het frame-synchronisatiesignaal van 96ms. Op dit type framesynchronisatie wordt later nader ingegaan.


Elk frame begint met stilte (geen transmissie). Tijdens het NULL-symbool wordt er geen DAB/DAB+ informatie uitgezonden.
Het NULL-symbool dient uitsluitend om de DAB/DAB+-ontvanger een kans te geven het begin van elk frame te detecteren en de 96ms synchronisatie voor het zendframe op de ontvangerlocatie in stand te houden.


Fig. 2 – DAB Mode I Transmission with NULL symbols
Introducing a small pause between the frames (white space)



Het synchronisatiekanaal


De volgende subdivisie van het frame bevat een synchronisatiesequentie om de QPSK-demodulatoren te synchroniseren, die de volgende 75 onderverdelingen met DAB/DAB+ informatie zullen detecteren.


Tijdens het synchronisatiesymbool wordt geen DAB(+)-informatie of audiobits uitgezonden.



Het Fast Information Channel (FIC)


De volgende 3 subdivisies vormen het FIC-kanaal. Het FIC-kanaal bevat bits met details over de EMUX. De bitrate van een subkanaal, de naam van het subkanaal, de ID van het subkanaal, de naam van de EMUX, enz.

Er is geen audio in dit kanaal, en de 3 onderverdelingen die het FIC-kanaal vormen hebben een bitrate van 96 kb/s.


The 230400 bits per frame spread over the remaining 75 subdivisions results in 230400/75 equals 3072 bits per subdivision.

The FIC channel uses 3 subdivisions or 9216 bits per 96 ms.
Calculating this for 1-second results in an FIC channel capacity of 9216/0,096 = 96 kb/s


Het Main Service Channel (MSC)


De volgende 72 onderverdelingen vormen het MSC-kanaal.


Hier wordt de audio uitgezonden die de luidspreker van de radio-ontvanger zal weergeven. Vergeet niet dat de audio convolutiegecodeerd is voor foutcorrectie.

De 72 onderverdelingen bevatten 221184 bits per 96 ms of een snelheid van 2304 kb/s.



Het volledige DAB/DAB+ transmission frame


Het DAB/DAB+ transmissieframe wordt in de literatuur vaak weergegeven als een eendimensionale frame-presentatie in de tijd.

Een-dimensionale tijdweergave van het transmissieframe


Hoewel het frame in de frequentieruimte verdeeld is over de 1536 draaggolven, is het niet eenvoudig om deze twee dimensies weer te geven. We hebben het echter geprobeerd in het volgende diagram.


dimensietabel van het transmissieframe



Waar komen de "77 (0-76) subdivisies" vandaan?


We weten dat een DAB/DAB+ zender niet één, maar 1536 draaggolven gebruikt. Elk van onze onderverdelingen bestaat op 1536 draaggolven. We zeggen niet dat we 1536 transmissieframes hebben, maar we beschouwen slechts één transmissieframe. Elke 77 (0-76) frameverdelingen zenden een symbool van 2 bits uit over elk van de 1536 draaggolven.


Het resultaat is 3072 bits per divisie in het transmissieframe. Met de 3 divisies voor de FIC en de 73 divisies voor de MSC in totaal 75 divisies, concluderen we dat we 75 divisies hebben van 3072 bits of 230400 bits per 96ms.



De berekeningen


Alleen de kanalen FIC en MSC zenden DAB/DAB+ gerelateerde bits uit.


Inderdaad 96 kb/s voor het FIC-kanaal en 2304 kb/s voor het MSC-kanaal resulteert in een totale DAB/DAB+ zendcapaciteit van 2400 kb/s.


Ook de verdeling in 96 ms is correct:

  • FIC bevat 9216 bits per 96 ms
  • MSC heeft 221184 bits per 96ms
  • 9216 + 221184 is gelijk aan 230400 bits per 96 ms zendframe
  • 230400 / 0,096 is gelijk aan een transmissiesnelheid van 2400 kb/s


Om de capaciteit van een transmissieframe beter te begrijpen, stellen wij voor de berekening bottom-up en bottom-down opnieuw uit te voeren. En de resultaten te verifiëren.

ZeroMQ


Zero Message Queue


Het is een "message broker (communicatie makelaar)" software bibliotheek ontwikkeld om de communicatie tussen gedistribueerde applicaties gemakkelijker te programmeren. We hebben al gezegd dat ODR-mmbTools bestaat uit afzonderlijke softwaremodules op dezelfde of verschillende computers. Deze modules hebben een manier nodig om met elkaar te communiceren en gegevens uit te wisselen.


ZeroMQ is de communicatie bibliotheek die inter-applicatie communicatie makkelijker te programmeren maakt. De bibliotheek bevat sockets en is beschikbaar voor verschillende programmeertalen.


De bibliotheek maakt een abstractie van de onderliggende complexiteit van communicatieprotocollen. De Ø of nul staat voor "no broker". Er is namelijk geen message broker (software van derden) zichtbaar voor de programmeur omdat hij alleen de aangeboden ZeroMQ sockets gebruikt.


"Message Queue" staat voor het in een wachtrij plaatsen van berichten. De client kan bijvoorbeeld beginnen met het versturen van berichten, zelfs als de ontvangende server niet draait. Zodra de server online komt, begint de berichtenoverdracht in de wachtrij. De programmeur heeft geen last van extra queue software omdat ZeroMQ dit afhandelt.


Zonder ZeroMQ en de meegeleverde queues, zou het programma een foutmelding geven als de server niet draait. ZeroMQ zal ook sommige processen automatisch herstarten. ZeroMQ neemt veel lasten weg bij het programmeren van inter-applicatie communicatie software.


De complexiteit verdwijnt voor de programmeur door het gebruik van de ZeroMQ library.


Om te garanderen dat de communicatie van de ODR-mmbTools modules werkt, is installatie van de ZeroMQ library op de DAB headend computer vereist.

Wie zijn wij?
We zijn een groep techneuten die decennia lang het technisch reilen en zeilen bij verschillende lokale radio's vrijwillig op zich hebben genomen. Aan onze denktank zijn geen commerciële doeleinden verbonden. We doen dit vrijwillig omdat wij zoals jullie echte lokale-radio-pioniers waren en nog steeds zijn, mensen met een hart voor lokale radio. "Lokaal Digitaal" is een non-profit organisatie die de omschakeling van FM naar DAB+ voor lokale radio's in Vlaanderen wil faciliteren. Wij hopen hierbij een steentje bij te dragen aan technische kennis omtrent DAB+ waarmee de meeste lokale radio's te kampen hebben.

Waarom deze website?
Het is onze intentie lokale radio's via deze website zoveel mogelijk te informeren over het technische aspect van DAB+, geschreven in verstaanbare mensentaal.

Onze Missie:
Wij willen samen denken over de toekomst van lokale radio's in Vlaanderen, met name de toekomstige "FM-switch off" en de nieuwe "DAB+ standaard" voor lokale radio. Omdat we weten dat lokale radio's houden van hun zelfstandigheid, denken wij na over scenario's waarbij lokale radio's zoveel mogelijk hun onafhankelijk behouden en kosten in eigen beheer kunnen houden.

Contacteer ons

via mail

via facebook

Pas als je kennis deelt, krijg je wetenschap!


Lokaal Digitaal als vereniging, noch de medewerkers ervan als individu, kunnen verantwoordelijk gesteld worden voor eventuele fouten en de mogelijke gevolgen ervan, die zouden kunnen voorkomen in de technische artikelen op de website of in andere publicaties van Lokaal Digitaal.

Lokaal Digitaal

Copyright © 2021 Alle rechten voorbehouden