Undskyld forsinkelsen - der kom ting i vejen. Men nu kan jeg ikke trække den længere, så hermed næste bud på et effektivt sovemiddel. I kan følge mig på https://www.facebook.com/en.noerds.bekendelser, hvor jeg vil annoncere når jeg har nye klummer klar og snakke løst og fast om teknologi. I kan også tage fat i mig der, hvis I har forslag til emner.
Læs også de forgående artikler i serien:
- Del 1: Dine internetkabler er en Ferrari på en grusvej (om signalstyrker og kabler)
- Del 2: Langsomt internet? Der er nok (også) støj på din linje (om støj på kobberkablerne)
- Del 3: Hvor mange fejl er for mange på dit DSL-internet?
Min senste klumme handlede om de grundlæggende krav til et DSL system, og vi er nu klar til at snakke lidt om kapacitet og om den grundlæggende opgave:
Jeg har taget et billede af min datter, som skal sendes til hendes farmor.
Billedet er et digitalt foto, og består derfor basalt set af en lang række ettaller og nuller. Denne digitale strøm af data skal sendes igennem en analog transmissionskanal (i vores tilfælde et kobberkabel), og på den anden side modtages som en nøjagtig kopi af den samme digitale strøm.
Der er altså behov for en oversættelse fra den digitale verden til "noget, der kan sendes i den analoge verden" og så tilbage igen. Dette kaldes, at signalet moduleres og efterfølgende demoduleres.
Dét at modulere et signal er faktisk en ganske gammel teknik, bedst illustreret med on/off-keying, hvor information transmitteres ved at tænde og slukke for signalet (bærebølgen).
Morse er et godt eksempel
Det bedste praktiske eksempel på on/off-keying må vel næsten være en opfindelse, som blev gjort omkring 1840 af en kunstner ved navn Samuel F.B. Morse.
Modulationsteori er et interessant felt, og jeg kan varmt anbefale læserne at fordybe sig i det. Der er stof til mange lange vinteraftener.
Denne artikel vil blive for lang, hvis jeg skal gå i detaljer, så jeg vil springe let hen over nogle få eksempler og skynde mig frem til VDSL's modulationstype, hvor jeg vil gå mere i dybden.
Non Return to Zero
En basal modulationsteknik kaldes NRZ (Non Return to Zero), hvor et digitalt '1' repræsenteres ved en positiv spænding og et '0' ved en negativ spænding. Denne teknik benyttes for korte kabler med begrænset bitrate, f.eks. ved RS232.
Problemet ved denne teknik er for det første, at DC niveauet ikke er nul (= spild af energi), clockrecovery er besværlig, og dernæst vil mange på hinanden følgende 1-taller eller 0'er give problemer med decaying af signalet. Sluttelig er det en ret ineffektiv modulationsteknik - overførselshastigheden er for lav til vores formål på en båndbreddebegrænset kanal.
NRZ er en af en række modulationsvarianter, som alle repræsenterer data ved ændringer i signalets amplitude. Den ultimative version er PAM (Pulse Amplitude Modulation), som benyttes til f.eks. ISDN (åhh det var tider...) og G.SHDSL (en DSL-type brugt primært til erhvevslinjer).
Et par begreber
Vi skal lige have defineret et par begreber: Symbol og symbolrate. Et symbol er dét signal, der på et givet tidspunkt transmitteres. I NRZ tilfældet er det enten et '1' eller et '0', og symbolstørrelsen er altså 1 bit. Symbol raten (også kaldet baudraten) er altså for NRZ den samme som bitraten, da der kun er to amplituder til rådighed.
PAM tilføjer flere amplitudeniveauer og kan dermed repræsentere flere bits per symbol. F.eks. PAM-32, hvor amplituden kan antage 32 forskellige værdier, og dermed kan bære 5 bits per symbol. I dette tilfælde er bitraten altså 5 gange højere end baudraten, og PAM er derfor en mere effektiv modulationsform.
Jamen, hvis vi nu tillader endnu flere forskellige amplitudenivauer, så bliver PAM jo endnu mere effektiv?
Det er fuldstændig korrekt, men vi skal huske, at vores transmissionskanal er pålagt en række begrænsninger: Vi må kun sende med en bestemt effekt, og der er derfor en maksimal værdi, som amplituden kan antage.
Husk støjgulvet
Husk fra den tidligere artikel om støj, at der altid er et støjgulv, der dermed begrænser den mindste værdi, som amplituden kan antage. Inden for dette område kan vi frit give den gas.
Kanalens støj og begrænsninger i modtagerens præcision gør, at 5-6 bits per symbol i praksis er loftet for PAM på et kobberkabel.
Gode gamle Claude Shannon må lige på banen (grundlæggeren af moderne informationsteori - tag en tur på wiki) som faderen til Shannon-Hartley teoremet. Det, Shannon meget elegant definerer, er, at en transmissionskanal har en kapacitet, som er en funktion af den tilgængelige båndbredde og så signal/støj-forholdet.
$C=BW\cdot lo{{g}_{2}}\left( 1+\frac{S}{N} \right)$,
hvor C er kanalens kapacitet i bits per sekund, BW er den tilgængelige båndbredde i Hertz, S er den gennemsnitlige modtagne effekt over frekvensbåndet i Watt, og N er støjen modtaget over frekvensbåndet i Watt.
Hvad kan vi lære af dette udtryk? Jo vi kan se at, hvis kapaciteten C skal maksimeres, så kan vi skrue på parametrene således:
- Båndbredden, BW gøres større.
- Signalet S øges.
- Støjen N mindskes.
Kablet kvæler ved høje frekvenser
Dernæst, selv om vi valgte at blæse det et stykke, så skal signalet jo igennem et kabel (skulle I have glemt alt om dette, er der hermed en opfordring til at genlæse artiklen om kabler og karakteristikker).
Kablet kvæler signalet ved høje frekvenser for alle dem, som ikke har en lejlighed inde på selve telefoncentralen. Så det er ligesom udelukket.
Støjen kan vi ikke rigtig gøre noget ved. Med mindre der decideret er noget galt, er den så lav, som den kan blive med det tilstedeværende miljø.
Klassisk fest-teknik
Jamen, så råber vi bare noget højere!
Klassisk fest-teknik, som ender med, at alle råber for at overdøve hinanden og musikken, og ingen kan høre en skid alligevel.
Den går heller ikke. Spektralmasken sætter et loft på, hvor meget man må transmittere.
Jamen med sølle 12 Volt kunne man jo med 50 mV mellem niveauerne have 8 bit (256 niveauer). Det kan selv et Harald Nyborg multimeter måle.
Ak-ja, men djævlen ligger i detaljen. Læg mærke til, at definitionen på S er den modtagne effekt. Efter bare 1.000 meter kabel er signalet dæmpet med 30 dB ved 1 MHz.
Det vil så være niveauer på 50 mikrovolt, som skal skelnes i modtageren, hvilket med støjen overlejret (som jo ikke er dæmpet af kablet) bliver svært at gøre pålideligt.
Et sidespring om G.SHDSL
Et lille sidespring - jeg er ikke specielt begejstret for G.SHDSL, da PAM modulationen ikke er særlig spektralt venlig mod andre typer DSL.
Det betyder i praksis, at en enkelt G.SHDSL linje forstyrrer ADSL mere, end 49 ADSL linjer gør. SHDSL forstyrrer endda sig selv ret meget, og det er den primære årsag til, at et SHDSL system ikke kan opnå bitrater på mere end omkring 5-6 Mbps symmetrisk per kabelpar.
PAM er en såkaldt baseband kodning (der er ingen bærebølge), og der er ikke umiddelbart mulighed for at separere upstream og downstream i frekvens. Derfor sendes signalet for begge retninger i samme frekvensbånd, og der benyttes så echo-canceling for at skille de to fra hinanden.
Dette giver voldsom NEXT (Near-End CrossTalk, som læsere med klæbehjerne måske husker fra artiklen om støj) sammenlignet med ADSL og VDSL.
Jamen, hvad nu hvis ...
Jamen, hvad nu hvis vi nu lægger en bærebølge (en carrier) ind og kigger på amplituden af den? Så hedder det Amplitude Shift Keying, som er en generalisering af on/off-keying, på samme måde som PAM er det for NRZ.
Det er svært at skelne mellem niveauerne, så denne modulationsform er ikke udbredt.
Hvad så med at kigge på frekvenser i stedet for amplituder? Hvis vi nu repræsenterer '0' med en frekvens og '1' med en anden frekvens, og så lader modtageren tage beslutningen, hvis der er energi ved den ene frekvens, men ikke ved den anden. Dette hedder Frequency Shift Keying (FSK), og er en ganske robust modulationsform, som derfor benyttes i forskellige sammenhænge.
Problemet ved metoden er, at frekvenserne skal monitoreres i et stykke tid før en beslutning kan tages.
Det er dermed en relativt langsom modulationsform. Det er en klassisk ingeniørdisciplin at veje systemkravene op mod hinanden i forhold til den opgave der skal løses, og et eksempel hvor en langsom men robust teknologi er relevant er f.eks. kommunikationssystemet som benyttes i Rosetta missionen: Hastighed er næsten fuldstændig underordnet, men robustheden og simplicitet i implementering er altafgørende.
Bitraten for det datalink er i omegnen af 10-22 kbps, og latenstiden er heller ikke just fremmende for en god IPTV oplevelse, da det vil tage en god times tid, fra der klikkes på fjernbetjeningen til kanalen skifter.
Det SKAL bare virke
Hvad nu hvis det ikke virker? Man sender ikke lige en TDC tekniker de i skrivende stund omkring 525 millioner km op til 67P/Churyumov-Gerasimenko for at "skifte KAP stikket".
Det skal virke første gang, og det skal virke hver gang!
Jeg ved ikke, præcis hvilken modulationsform der er valgt til Rosetta, men FSK ville være en af kandidaterne, hvis valget havde været mit.
Det er væsentlig hurtigere at detektere en faseforskel. Hvis vi nu benytter samme frekvens, men laver symbolet ved at skifte fasen, begynder det at ligne noget. Denne teknik hedder Phase Shift Keying (PSK)
Med to bits per symbol hedder det Quadrature Phase Shift Keying (QPSK) og blev f.eks. benyttet i de tidlige modemmer (V.22). Der er et væld af varianter over PSK, som jeg ikke vil komme ind på her.
Nu bliver det rigtig sjovt
Hvis vi nu kombinerer nogle af de ovenstående modulationsteknikker og kigger på både fase og amplitude ender vi der hvor det bliver rigtig sjovt. Quadrature Amplitude Modulation (QAM) er basis for ADSL, VDSL og en lang række andre transmissionsteknologier, f.eks wifi og DVB.
Signalet på et givent tidspunkt kan udtrykkes som en amplitude og en fase med følgende udtryk
\[x\left( t \right)=A\left( t \right)\cdot cos\left( 2\pi {{f}_{C}}t+\varphi \left( t \right) \right)\]
Hvor $A\left( t \right)$ er den øjeblikkelige amplitude og $\varphi \left( t \right)$ den øjeblikkelige fase. ASK og PSK indgår tydeligvis som specialtilfælde af dette udtryk, der hvor henholdsvis amplituden og fasen holdes konstante.
Nu bliver det også langhåret
Hvordan finder vi fasen og amplituden? Nu bliver det lidt langhåret, men hold ud. Konceptet er enkelt, selvom matematikken kan være lidt svær. Det giver alt sammen mening om lidt.
$A\left( t \right)$ og $\varphi \left( t \right)$ kan udtrykkes i et koordinatsystem ved Hilbert transformationen $\hat{H}$, som giver en 90 graders faseforskydning, altså $\hat{H}\left( cos\left( \varphi \left( t \right) \right) \right)=sin\left( \varphi \left( t \right) \right)$.
Så $x\left( t \right)=A\left( t \right)\cdot cos\left( 2\pi {{f}_{C}}t+\varphi \left( t \right) \right)$ og $y\left( t \right)=\hat{H}\left( x\left( t \right) \right)=~A\left( t \right)\cdot sin\left( 2\pi {{f}_{C}}t+\varphi \left( t \right) \right)$
Hvis vi betragter $A\left( t \right)$ som en euklidisk vektor kan afstanden fra origo (centerpunktet i det kartesiske koordinatsystem) beregnes som $A\left( t \right)=~\sqrt{{{x}^{2}}\left( t \right)+{{y}^{2}}\left( t \right)}$ og tilsvarende er $\varphi \left( t \right)$ vektorens vinkel og beregnes ved $\varphi \left( t \right)=arctan\left( \frac{y\left( t \right)}{x\left( t \right)} \right)$. Jo længere fra origo, jo større effekt transmitteres.
Den nemmeste måde at generere et signal med en bestemt amplitude og fase er at mikse to sinusbølger, hvor den ene er 90 grader faseforskudt. Ved at justere amplituden alene på de to signaler kan man påvirke såvel fase som amplitude af det resulterende signal.
De to sinussignaler repræsenterer in-phase (I) og quadrature-phase (Q) komponenterne af vores QAM signal, og kan skrives som $I=A\cdot cos\left( 2\pi {{f}_{C}}t \right)$ og $Q=A\cdot sin\left( 2\pi {{f}_{C}}t \right)$.
Hvad betyder det?
Så hvad betyder alt dette? Det betyder, at QAM bærer informationen (=symbolet) i fasen og amplituden af signalet.
Fasen og amplituden kan visualiseres i et koordinatsystem, som en "prik" for hver kombinationsmulighed af bits i symbolet.
Billedet viser de mulige kombinationsværdier af et 4-bit symbol. I praksis vil altså kun en prik vises ad gangen - repræsenterende lige præcist de data som sendes i det pågældende øjeblik. Det er så op til modtageren at dekode, hvilket bitmønster der blev sendt.
Som vi kan se på grafen giver en 4-bit symbolstørrelse 16 mulige kombinationer (2^4). Dette kaldes QAM konstellationen.
QAM fås i mange forskellige konstellationsstørrelser -ADSL og VDSL understøtter QAM konstellationer fra 1 bit og helt op til 15 bits, hvor modtageren altså skal skelne mellem hele 32768 forskellige konstellationspunkter.
Hvordan kanalens faseforskydning og andre underligheder håndteres, gemmer jeg til en senere klumme om fejlhåndtering.
Vi skifter gear
Nu kan det da ikke blive frækkere? Jo det kan det, så nu skifter vi gear.
QAM fungerer ved at modulere fase og amplitude på en enkelt bærebølge - dette kaldes single-carrier modulation (SCM). Eksempel: Den højeste frekvens som må benyttes for ADSL2+ er 2,208MHz.
Hvis vi nu genererer et 15-bit QAM signal ved den frekvens er den teoretisk maksimalt opnåelige bitrate uden framing overhead osv =$15\cdot 2,208\cdot {{10}^{6}}\cong 33~Mbps$.
Det ser jo meget godt ud på papiret, men hvordan adskiller vi upstream og downstream - uden introduktionen af excessive NEXT som i SHDSL tilfældet?
Ved denne metode er baudraten 2,208 MHz og dermed er et symbols periodetid under et halvt mikrosekund.
Som beskrevet i artiklen om kabler er den typiske impulsrespons for et kabel i omegnen af 40 mikrosekunder, så signalet vil komme til at lide under kraftig ISI (Inter-Symbol Interferens: det modtagne signal er forurenet af de tidligere signaler. Det svarer til at tale i et rum med hårde overflader.
Multi-Carrier Modulation
Genklangen gør det næsten umuligt at forstå, hvad der siges). Det vil kræve ganske kompliceret tidsequalisering og introduktionen af et voldsomt overhead i form af et meget langt cyclic prefix for at få det til at virke pålideligt.
Så hermed trækker vi endnu en kanin op af hatten: Multi-Carrier Modulation (MCM).
Fidusen er nemlig, at vi ikke benytter et enkelt QAM signal ved den højest tilladelige frekvens. Vi benytter derimod mange QAM signaler, spredt ud over hele frekvensbåndet i en række subcarriers. ADSL2+ består således af op til 512 parallelle modemmer (VDSL2 op til 4096), hvilket giver en række store fordele, som jeg afslutningsvis vil komme ind på.
Vi udnytter det faktum, at hvis man adskiller centerfrekvenserne for sine subcarriers med præcist det inverse af baudraten, eksklusiv cyclic prefix og sync, så opnår man, at en given subcarrier har et lokalt minimum præcist ved centerfrekvensen for den næste subcarrier.
Udnytter frekvensspektret optimalt
Det siges at de enkelte subcarriers er orthogonale, og denne teknik kaldes derfor OFDM (Orthogonal Frequency-Division Multiplexing). Specifikt for ADSL og VDSL kaldes det DMT (Discrete Multitone Modulation).
Det smarte ved denne teknik er at vi dermed kan udnytte frekvensspektret optimalt, da der ikke er behov for "buffer-frekvenser" mellem subcarriers.
For ADSL og VDSL er der valgt en baudrate på 4 kHz, hvilket når man medregner synkroniserings symbol og cyclic prefix (lidt mere om dette i en kommende artikel) giver en afstand mellem subcarriers på 4,3125 kHz.
I forhold til det tidligere eksempel er baudraten nu reduceret fra mere end 2 MHz til kun 4kHz, men til gengæld er det enkelte symbol meget større, så netto bit raten er næsten uændret.
Hvis vi antager at samtlige subcarriers benyttes og SNR er tilstrækkelig til at vi kan bære 15 bits på hver subcarrier, kan den maksimale bitrate nu beregnes som $4000\cdot 15\cdot 512\cong 30~Mbps$.
I forhold til single-carrier eksemplet, hvor symbolets periodetid var under $0,5~\mu s$ er periodetiden nu øget til $250~\mu s$ og vi kan dermed sagtens håndtere kanalens typiske impulsrespons på omkring $40~\mu s$.
Separation
Næste fidus er separationen mellem upstream og downstream, som vi nu kan realisere ved at allokere forskellige subcarriers til hver retning.
Det betyder, at vi slipper for problemet med, at nabolinjer forstyrrer hinanden med NEXT (helt forsvinder det ikke, men det reduceres kraftigt).
Der er mange varianter, men hvis vi nu tager ADSL2+ Annex M som eksempel, så er subcarriers 8-64 reserveret til upstream og 65-512 til downstream (Subcarriers 0-8 er reserveret til analog telefoni - også selvom de ikke benyttes på den aktuelle linje, ellers vil det støje på eventuelle nabolinjer).
Hermed kan den maksimalt opnåelige bitrate beregnes til ca 3 Mbps upstream og ca 26 Mbps downstream. For VDSL2 med 4096 subcarriers kan den maksimale samlede hastighed tilsvarende beregnes til ca. 245 Mbps - i praksis er omkring 100 Mbps symmetrisk opnåelig (på korte linjer).
Sidste fidus ved DMT, som jeg vil fremhæve her, er, at vi frit kan vælge konstellationsstørrelsen for hvert individuelle "modem", og vi kan dermed tilpasse bitloadingen til den konkrete transmissionskanal.
Hvis der er meget støj ved en bestemt frekvens, så reducerer vi bitloadingen på lige præcis den subcarrier, og dermed får vi en udnyttelse af kanalens kapacitet, som er meget tæt på Shannon's optimale grænse.
En særdeles effektiv algoritme
Det lyder frygtelig kompliceret at lave tusindvis af individuelle QAM modemmer.
Heldigvis findes der en særdeles effektiv algoritme, som kan benyttes til dette: Den inverse Diskrete Fourier-Transformation (IDFT) benyttes til at konvertere fra frekvens til tidsdomænet.
Fra moduleringen af bits over til konstellationer på alle QAM subcarriers har vi jo som beskrevet allerede frekvens, fase og amplitude for alle subcarriers. Kombinerer vi de data for alle subcarriers har vi det samlede signal i frekvensdomænet.
Dette hældes igennem en IFFT (konkret og meget effektiv implementering af IDFT) algoritme, som spytter det tilsvarende tidssignal ud.
Dette signal konverteres fra digital til analog, forstærkes og sendes gennem det analoge kabel, og i modtageren digitaliseres det, og bliver kørt igennem en DFT (Discrete Fourier Transform) hvorved alle QAM konstellationerne atter fremkommer, som efterfølgende demoduleres til det oprindelige bitmønster.
De dunkle sider
Der er nogle flere trin fra output fra IFFT, til vi ender på kablet, men her bevæger vi os ind i de mere dunkle sider af digital signal behandling, som bliver for omfattende til denne artikel.
Den analoge frontend er også et helt kapitel for sig selv, men her tror jeg næsten, at jeg trætter alle andre end analog-fetichister for meget.
Det er svært at begrænse sig, når man har det sjovt... men fingerspidserne er ømme, så jeg må hellere runde af for denne gang.
I korte træk
Den serielle datastrøm, som er billedet af min datter, bliver altså først hakket i bidder, som passer med det antal bits, vi kan bære i et enkelt symbol.
Dernæst bliver hver enkelt klump af data splittet i mindre bidder fra 1 til 15 bits og moduleret til den tilsvarende QAM-konstellation på de forskellige subcarriers.
Alle disse konstellationer fodres til en IFFT-algoritme, som spytter et tidssignal ud som en seriel bitstrøm.
Denne konverteres til analog og sendes til linedriveren, som forstærker signalet. Herefter løber det igennem kablet til centralen, hvor processen gennemløbes i omvendt rækkefølge.
Derfra videre ud på internettet - en smuttur omkring NSA til screening og registrering - og derfra videre, indtil billedet forhåbentlig når godt frem til Farmor.
Hermed ikke mere om modulation i denne omgang.
Jeg har som sædvanlig kun ridset overfladen, men jeg håber I har nydt turen alligevel. En ting jeg har lært i processen er, at jeg ikke kan skrive kortfattet om DSL.
Næste klumme i DSL føljetonen kommer til at handle om fejlkorrektion i forskellige varianter, men jeg kan mærke at der presser sig en afstikker på omkring wifi. Det kan være, at den kommer først.
Skulle der være enkelte masochistiske læsere som slet ikke kan vente på at blive kedet med trivialiteter til næste klumme, så kan I som sagt følge mig på https://www.facebook.com/en.noerds.bekendelser.
Spørgsmål og kommentarer til klummerne tager vi selvfølgelig stadig i debatten under hver artikel.