DATV zender
Start ] Inhoud ] Zoeken ]

 

De Praktijk

 

Bij de ATV ers is de digitale revolutie niet onopgemerkt gebleven. Op verschillende plaatsen is de afgelopen jaren gewerkt aan het beschikbaar maken van de DVB techniek voor amateurgebruik.          Een en ander is in een stroomversnelling gekomen door het op de markt komen van een "low-cost" single-chip mpeg2 encoder voor consumenten electronica.

Het is deze encoder-chip die het hart vormt van de hieronder beschreven DATV-zender van de Adacom groep.

In het onderstaande relaas staan onze ervaringen tot nu toe met deze modulen opgetekend. Het is de bedoeling deze informatie periodiek aan te vullen.

Eerst wat achtergrondinformatie voor diegenen die nog geheel onbekend zijn met digitale televisie.

Mpeg-2

Het alleen digitaliseren van video, zeg maar door een AD-converter jagen levert echter een gigantische hoeveelheid data op, wat bij opslag en transport een grote capaciteit vergt.

Met dit besef is men op zoek gegaan naar een mogelijkheid de hoeveelheid data belangrijk te reduceren. Dit heeft geleid tot de totstandkoming van de MPEG-2 standaard voor video compressie.

Hoe gaat e.e.a. in z'n werk?

Standaard PAL video werkt met 25 frames per seconde. Als er niks veranderd aan het beeld, zijn al die frames hetzelfde. Het is dan in theorie overbodig ze steeds weer opnieuw uit te zenden. Bij een kleine verandering van de beeldinhoud is het voldoende om informatie uit te zenden die de verandering t.o.v. het voorgaande beschrijft. Dit levert een enorme datareductie op. Met alleen veranderingen doorgeven zijn we er echter niet, bij een scenewisseling is alles anders t.o.v. het voorgaande. Op zo'n moment moet weer een compleet beeld verstuurd worden. Om deze reden kent de Mpeg standaard drie soorten frames:

I(Intra-coded) frames, deze bevatten alle data voor een compleet plaatje. Op het verzonden frame is ook al een gecompliceerde compressietechniek toegepast die hier verder buiten beschouwing wordt gelaten.

P(Predicted) frames, deze bevatten alleen data die de verandering t.o.v. van voorgaande beelden bevat. Ze bevatten slechts half zoveel data als een I frame.

B(Bi-directional) frames, deze bevatten data die verandering t.o.v. voorgaande en toekomstige beelden bevat. Ze bevatten slechts een kwart data t.o.v. een I frame.

Een B-frame kan pas benut worden als ook het toekomstige beeld "binnen" is, daarom heeft een Mpeg-decoder een ruim werkgeheugen nodig en wordt de volgorde op een interessante manier door elkaar gehusseld in de encoder. Omdat elk frame genummerd is weet de decoder in welke volgorde ze getoond moeten worden.

GOP

Hoeveel P en B frames tussen opeenvolgende I frames verstuurd worden hangt af van de gewenste kwaliteit van het beeld, de maximaal toelaatbare vertraging in de encoder of de mogelijkheid het signaal te "snijden" (bij video editing). Een bepaalde reeks van P en B frames achter een I frame noemt met een Group Of Pictures (GOP) Vaak heeft zo'n GOP een lengte van 12 of 15 frames, het eerste I frame meegeteld. Eenmaal gekozen herhaalt de encoder steeds dit patroon.

Voorbeeld: IBBPBBPBBPBBPBB.

Het achter elkaar verzenden van de GOP's leidt tot een continue datastroom, de z.g. Elementary Stream. Een dergelijke datastroom is niet handig wanneer hij gecombineerd moet worden met andere datastromen, zoals bijv. het bijbehorende audio. Daarom wordt de stroom opgedeeld in z.g. packets, korte datapakketjes, elk voorzien van een header en timing informatie. Zo ontstaat de PES (packetized elementary stream)

Ook het audiosignaal ondergaat een soortgelijke behandeling en dit levert de audio PES.

 

 

 

 

 

 

 

 

Packetized Elementary Stream

 

Transport-stream

Beide PES streams worden dan tot een Program stream samengevoegd die voor gemakkelijke verdere verwerking nogmaals in kleinere mootjes gehakt wordt; de Transport stream. Deze bestaat uit packets met een vaste lengte van 188 bytes.

Behalve de audio of video data bevat elk packet ook nog een zg PID (packet identifier). Audio en video packets hebben elk hun eigen PID, ook zijn er packets met additionele data zoals de PMT(Program map table) hierin staat welke PID's allemaal bij een transportstream horen en de PCR(Program clock reference) Deze laatste levert informatie over de tijdsrelatie tussen video en audio zodat een lipsynchrone weergave mogelijk is.

Het samenstel van al deze packets is de datastroom zoals die bijvoorbeeld uit onze Mpeg encoder komt.

Transportstream-Multiplexer.

Onze DATV zender heeft vier z.g. transportstream ingangen, het zijn ingangen die een digitaal signaal kunnen verwerken zoals boven beschreven. Dit principe wordt ook bij vrijwel alle satellietzenders gebruikt, via een kanaal kunnen zo meerdere programma's verzonden worden, wat bijzonder kosteneffectief is.

De multiplexer schuift de toegevoerde packets van alle ingangen achter elkaar zodat een trein van packets, met elk hun eigen PID het gevolg is.

Tevens voegt de multiplexer nog z'n eigen packets toe met de z.g. SI-tabellen. (Service information) Voor deze tabellen zijn specifieke PIDs gereserveerd binnen de DVB norm. Een DVB ontvanger zoekt naar deze tabellen en weet zo welke programma's er in de multiplex stream zitten en welke PID's hij nodig heeft voor een bepaald programma. De overige packets uit de stream worden dan door de ontvanger genegeerd.

Belangrijke tabellen zijn de PAT tabel (Program association table, PID 0) en de NIT tabel (Network info table, PID10)

DVB-S

Het opdelen in kleinere packets heeft op zich niets te maken met mpeg codering, het maakt deel uit van de DVB norm (Digital Video Broadcast) en maakt het signaal geschikt voor versturen via een broadcast netwerk. Broadcast wil zeggen n zender levert signaal aan vele (een onbekend aantal) ontvangers.   Een fundamenteel aspect hiervan is dat er geen retourpad tussen ontvanger en zender is. Dit houdt in dat wanneer de data niet of corrupt aankomt bij de ontvanger, deze niet kan verzoeken om heruitzending, zoals bij veel andere communicatievormen. Omdat er, zeker bij etherverbindingen, altijd storing kan optreden is er een ander mechanisme nodig om fouten zo veel mogelijk te corrigeren.

Hiervoor worden verschillende technieken op de datastroom losgelaten. Zo is er de (vaste) Reed-Solomon Outer Forward Error Correctie. Hierbij worden aan de packets van 188 bytes 16 bytes extra toegevoegd als redundante informatie. Hiermee kunnen tot op zekere hoogte bitfouten gecorrigeerd worden. Vervolgens is daar nog de interleaver, dit is een techniek die ook bij andere vormen van digitale communicatie en data opslag vaak wordt toegepast. Het gaat hier om het verspreiden van de inhoud van datapackets over verder uit elkaar liggende packets zodat bij een "langere" stoorpuls niet een heel packet de mist in gaat maar de pijn verdeeld wordt over meerdere packets, die elk voor zich met de RS correctie de fout wel kunnen repareren.

Tot slot is er nog de instelbare Inner forward error correction, ook deze voegt extra redundante bytes toe. Hoeveel extra bytes erbij komen is instelbaar, de FEC waarden 1/2, 2/3, 3/4, 5/6 en 7/8 worden gebruikt. De breuk geeft aan welk deel de echte informatie bevat, de rest zijn de redundante bytes. Hoe groter aandeel echte bytes, hoe hoger het rendement van het transportmedium, echter hoe minder fouten er gecorrigeerd kunnen worden.

Welke waarde gebruikt wordt hangt o.a. af van de te verwachten signaal-ruisverhouding aan de ontvangstzijde.

De zo ontstane datastroom belandt vervolgens in de QPSK modulator die tot taak heeft het digitale signaal in QPSK op een RF draaggolf te moduleren.

QPSK

Bij QPSK(Quadrature Phase Shift Keying) wordt een draaggolf in fase gemoduleerd. Afhankelijk van de inkomende data wordt de draaggolf in een van vier fases gebracht, zie figuur.

 

           

 


Omdat zo vier verschillende toestanden in een keer overgedragen kunnen worden, kan zo een tweebits getal worden verzonden. Dit getal wordt een symbol genoemd. Uit het voorgaande blijkt zien we dat bij QPSK 2 bits per symbol verzonden kunnen worden, andere modulatietechnieken werken met meer of minder bits per symbol, bijv QAM-16 werkt met 16 mogelijke toestanden, dus 4 bits per symbol.

Als regel geldt hoe meer bits per symbol, hoe groter de lineariteit van de transmissieweg moet zijn om foutloze overdracht mogelijk te maken.

Bij QPSK is er geen echte amplitude-informatie in de data, de amplitude (lengte van de vector) is op de momenten waarop de ontvanger een sample neemt altijd hetzelfde. Hierdoor zijn de lineariteitseisen niet al te hoog bij deze modulatievorm, zeker voor amateurgebruik een extra reden hiervoor te kiezen.

 

Verschillende Modulatievormen

Binnen de DVB norm zijn de volgende drie varianten beschikbaar:

DVB-S (satellite) Qpsk

DVB-T (terrestrial) Ofdm

DVB-C (cable) Qam

DVB-T en DVB-C zijn dermate gecompliceerd dat gebruik door amateurs nog niet tot de mogelijkheden behoort.

Om te beginnen met amateur-middelen komt momenteel alleen DVB-S in aanmerking, niet in de laatste plaats omdat er een veelheid aan geschikte ontvangers op de markt is, voor acceptabele prijzen.

Een eenvoudige z.g. Free-to-air DVB satelliet ontvanger (prijs onder de 200 euro) en een geschikte voorversterker of LNC is voldoende.

 

De DATV-zender

Figuur 1 toont het blokschema van de datv-zender. Aan de ingang kunnen we een normale analoge videobron en audiobron aansluiten. Het analoge signaal wordt in de Mpeg encoder gedigitaliseerd en gecomprimeerd en als Mpeg transportstream aan de basisband processor toegevoerd. Deze basisband processor kan meerdere transportstreams tot een multiplex stream samenvoegen, en voegt bovendien de nodige tabellen bij volgens de DVB-standaard. Vervolgens wordt het complete dvb basisband signaal in de QPSK modulator rechtstreeks op de eindfrequentie gemoduleerd. Een eindtrap versterkt tenslotte het RF-signaal tot het gewenste uitgangsvermogen.

De MPEG-2 encoder

Een van de belangrijkste componenten van de datv-zender is de single-chip mpeg-2 encoder van Fujitsu, de MB86391. Deze chip comprimeert het audio en video volgens het mpeg algoritme en voegt de juiste tabellen bij zoals in de DVB norm gedefinieerd. Een complete transportstream voor een videokanaal en een stereo audiokanaal is aan de uitgang beschikbaar. De encoder bevat een snelle RISK-processor die tijdens het opbooten met behulp van een externe microcontroller van firmware voorzien moet worden. Bij onze DATV zender wordt dit vanuit het basisband board gedaan.

Het basisband processor-board

 

Blokschema Stream Multiplexer

Het basisband board heeft vier transportstream ingangen Elke ingang bestaat in principe uit 10 lijnen, acht databits, een klok en synclijn. De kloklijn geeft de beschikbaarheid van een nieuwe databyte aan, de synclijn geeft aan dat er een compleet packet van 188 bytes verzonden is.

Ingang 1 en 2 bezitten een fifo-buffer, waardoor het mogelijk is deze ingangen te voeden vanuit een bron met eigen kloksignaal, bijvoorbeeld een dvb-ontvanger. De richting van het kloksignaal kan daartoe worden omgeschakeld, vanuit de basisband processor naar de bron (mpeg encoder board) of vanuit de bron. Het FIFO geheugen is hierbij noodzakelijk om de inkomende data te bewaren tot de multiplexer de data nodig heeft. Dit gaat uiteraard alleen goed als de inkomende datastroom kleiner of gelijk is aan de beschikbare capaciteit van de mux.

De ingangen 3 en 4 hebben geen FIFO, en kunnen dus alleen gevoed worden uit bronnen die gesynchroniseerd worden vanuit de multiplexer klok.

De multiplexer voegt de vier datastromen samen, de arbiter zorgt voor een optimale verdeling van de capaciteit.

Op de complete datastroom worden vervolgens nog de nodige bewerkingen uitgevoerd zoals toevoegen van de redundante bits t.b.v. de error correctie, interleaving, parallel naar serie conversie en uiteindelijk belandt het signaal bij de QPSK generator.

Vrijwel de gehele multiplexer wordt gevormd door een forse Xilinx Spartan II FPGA. De FPGA wordt geladen vanuit een Fujitsu 90F583 microcontroller die tevens zorgt voor het laden van firmware in de mpeg encoder boards. Alle benodigde firmware en settings zijn opgeslagen in een flash-eprom. De settings kunnen via de aanwezige compoort met behulp van een PC gewijzigd worden. Ook kan via deze poort nieuwe firmware worden geladen.

Het digitale I en Q signaal wordt in een speciale dubbele DAC omgezet in een analoog signaal. Met dit signaal wordt een QPSK modulator van Analog devices aangestuurd, die direct op de uitgangsfrequentie kan werken. De ongemoduleerde draaggolf wordt aangeleverd vanuit een VCO met synthesiser, die vanuit de microcontroller op de gewenste zendfrequentie wordt ingesteld.

Twee aparte VCOs zorgen ervoor dat zowel de 23cm band als de 13cm band wordt bestreken.

Achter de modulator vinden we nog twee mmics die het uitgangsvermogen van de DATV-zender op ca 10 mW brengen.

De drie modulen tesamen, links de encoder, rechts de multplexer met daarop gestoken het HF-deel.

De complete DATV zender

terug

 

 

U kunt een e-mailbericht met vragen of opmerkingen over deze website verzenden aan pe1chy@qsl.net.
Copyright 2001 administrator
Laatst bijgewerkt: 21 november 2002