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 PID’s 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 VCO’s zorgen ervoor dat zowel de 23cm band als de 13cm band
wordt bestreken.
Achter de modulator vinden we nog twee mmic’s 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.