Studiu asupra preciziei curbelor BER construite prin simularea funcţionării turbo-codurilor as.ing. Horia Balta, as.ing. Maria Kovaci Universitatea Politehnica Timişoara, balta@etc.utt.ro, kmaria@etc.utt.ro Résumé Dans cet article on donne des formules pour calculer la précision de la courbe du taux d erreur du bit dans le cas de la simulation des turbo-codes. Sur la base de ces formules sont calculés le nombre imum de bits d information nécessaires pour être transmis et le nombre imum de bits erronés nécessaires à être obtenus par les simulations afin d obtenir une précision désirée pour les courbes du taux d erreurs. Les conclusions obtenues par calcul sont vérifiées sur quelques simulations pratiques. 1. Introducere Codarea canalului reprezintă o soluţie foarte eficientă şi comodă de îmbunătăţire a performanţelor unui sistem de comunicaţie digital. Dintre codurile corectoare utilizate la ora actuală, cea mai performantă clasă o constituie turbocodurile (TC). Performanţele acestora, evaluate prin curbele ratei erorii de bit (BER) funcţie de raportul semnal per zgomot (Signal to Noise Ratio, SNR), se apropie de limita Shannon [BGT]. Limita Shannon [SHA] se referă la raportul semnal per zgomot im necesar pentru a putea realiza o transmisie sigură, şi are valoarea ln(2) = 1,59 db, în condiţiile ideale ale unui canal de bandă infinită. În cazurile practice, această limită teoretică depinde de lungimea blocurilor de date transmise [JEZ]. Pentru blocuri cu lungimea de 1000 de biţi şi o rată a erorii de 10-4, valoarea limitei teoretice este de 0,8 db [DDP]. 35
Deoarece TC-urile operează la mai puţin de 1dB distanţă de limita teoretică, devine necesară obţinerea unei precizii suficient de mari asupra curbelor BER/SNR în vederea unei comparaţii veridice. 2. Calculul preciziei curbei ratei erorii Rata erorii (BER) este definită ca şi raport între numărul de biţi eronaţi, x, şi numărul total de biţi transmişi, N: BER = x / N, (1) unde x numărul de biţi eronaţi este o funcţie de raportul semnal per zgomot, dat în decibeli: x = x(ξ). (2) În general, o curbă BER este reprezentarea grafică a funcţiei: b = lg(ber) = b(ξ), (3) aşa cum se prezintă în Fig.1. Definim eroarea curbei BER în punctul (b 0, ξ 0 ) ca: E = b / b (4) Logaritmul ratei erorii lg(ber) b = b(ξ) Lg(BER) = 0 BER = 1 b0 b 0 b ξ (db) ξ 0 Raport semnal per zgomot Fig.1 Exemplu de curbă BER 36
Dorim să calculăm numărul de biţi necesar a fi transmişi, N nec, pentru ca eroarea curbei BER, pe domeniul [b, b max ], să fie sub o valoare impusă, E M. Deoarece pentru o aplicaţie dată, N este constant, presupunem că b este o funcţie continuă de x, şi diferenţiem pe b după x: b = ( lg(x / N)) = x / x. (5) Împărţind ultima relaţie la b = lg(x /N) şi impunând valoarea maximă E M pentru eroarea curbei, rezultă: x x lg(n) - lg(x) E M. (6) Dar x reprezintă creşterea imă în numărul de erori. Pentru un turbo-cod x este dat de distanţa imă dintre două cuvinte de cod, sau altfel spus, x este identic cu d free. Înlocuind pe x cu d free şi înmulţind toată ecuaţia cu N, rezultă: N -1 dfree BER (E -1 M ) -1. (7) lg(ber ) Fig.2 Dependenţa N = 200 y/lg(y) 37
Ecuaţia (7) este o dependenţă crescătoare a lui N de y = BER -1, aşa cum demonstrează Fig.2, unde s-a considerat d free /E M = 200. Ca atare, se poate calcula N impunând ca rata erorii să fie cea imă (corespunzătoare lui b ): N d free (BER - lg(ber ) ) 1 (E M ) -1. (8) În Tabelul 1 sunt calculate valorile numărului de biţi necesar a fi transmişi într-o simulare a unui turbo-cod având o distanţă liberă d free =2 [HLY], la care se doreşte o precizie de 1% pentru curba BER măsurată până la b. BER M 10-3 10-4 10-5 10-6 10-7 Tabelul 1 N (biţi) 66.667 500.000 4.000.000 33.333.334 2,857 10 8 În Tabelul 2 sunt calculate valorile ratei erorii ime pentru care, într-o simulare a unui turbo-cod având distanţa liberă d free =2, precizia curbei BER este de cel puţin 1%, funcţie de numărul total de biţi transmişi. N (biţi) 5 10 +5 10 +6 2 10 +6 5 10 +6 10 +7 Tabelul 2 BER M 10-4 4.6125 10-5 2.1413 10-5 7.8333 10-6 3.6792 10-6 Obs. În calculele precedente s-a considerat o variaţie im posibilă a numărului de erori. Rezultă valori im necesare, N şi x. Pentru a avea valori suficiente, în relaţiile (8), respectiv (9), trebuie înlocuit d free cu valoarea variaţiei x maxim posibile în cazul unei aplicaţii date. Din ecuaţia (8), ţinând cont de (1), se poate deduce o relaţie pentru numărul im de erori, x, necesar a fi obţinut la o simulare pentru a avea o precizie dată a curbei BER: 38
d x free (E M ) -1. (9) - lg(ber ) În Tabelul 3 sunt date valorile pentru x funcţie de BER, în cazul unui turbocod având distanţa liberă 2 şi la o precizie dorită de 1%. BER M 10-3 10-4 10-5 10-6 10-7 x (biţi) 67 50 40 34 29 Tabelul 3 3. Evoluţia asimptotică a valorii BER Verificarea rezultatelor teoretice obţinute în paragraful precedent este posibilă practic în felul următor. Atunci când se calculează, prin simulări, valoarea BER pentru un anume SNR, utilizând formula (1), se reţin toate rezultatele intermediare x 1 /N 1, x 2 /N 2,... x n /N n = x/n, unde N k N k-1 = const.= N. Reprezentând grafic lg(ber(k)) = lg(x k /N k ), se află valoarea lui N pentru care lg(ber(k)) diferă cu mai puţin de p% faţă de lg(ber( )). În Fig.3 sunt prezentate graficele lg(ber(k)) pentru diferitele valori ale SNR-ului, în cazul simulărilor efectuate cu un TC definit de parametrii: datele: aleatoare, în blocuri de lungime 1000 de biţi; dispozitivul de întreţesere: pseudo-aleator; codurile componente: convoluţionale, recursive, sistematice, G=[1,5/7]; modulaţia: BPSK (Binary Phase Shift Keying); canalul: AWGN (Aditive, White, Gaussian Noise); algoritmul de decodare: MAP; numărul de iteraţii: opt. Pe fiecare grafic sunt indicate: raportul semnal per zgomot la care s-a făcut simularea; valoarea finală a ratei erorii obţinute (linia punctată orizontală); abaterile cu ±1% din valoarea finală a ratei erorii (liniile continue orizontale); 39
valoarea lui N obţinut prin măsurări (linia punctată verticală). În Tabelul 4, aceste valori ale lui N sunt comparate cu cele teoretice găsite anterior. Diagramele din Fig.3 arată că oscilaţiile valorii BER se atenuează cu creşterea numărului de blocuri transmise. Însă, conform observaţiei anterioare, numărul de biţi necesar a fi transmişi pentru ca oscilaţiile valorii BER să fie SNR = 0,1dB 10 2 SNR = 0,5dB 10 2 10-4 SNR = 0,9dB 10 2 Fig.3 Rata erorii funcţie de numărul de blocuri în simularea unui turbocod la diferite rapoarte semnal per zgomot 40
Tabelul 4 SNR[dB] 0,1 0,3 0,5 0,7 0,9 1,1 BER 6 10-2 3 10-2 1,1 10-2 3 10-3 5,3 10-4 8 10-5 t N (teoretic) p N (practic) p t N / N =k m 2728 4378 9283 26425 115200 610220 1,25 10 6 1,7 10 6 1,9 10 6 6,9 10 6 1,2 10 7 1,22 10 7 458 388 205 261 104 20 în limitele preciziei impuse de 1%, este mult mai mare decât cel calculat considerând x = d free. Totuşi, pentru SNR mari, valorile măsurate tind către cele calculate, fapt datorat micşorării probabilităţilor grupurilor de erori în număr mult mai mare decât d free [JZG]. Astfel, simulările practice vor trebui să conţină un număr de biţi transmişi calculat cu formula: N = k(snr) N (10) unde pentru k trebuie aleasă o dependenţă descrescătoare cu SNR. Cea propusă aici este: k = 10 3 exp( SNR 2 ). (11) În figura 4 s-a desenat dependenţa lui k m (măsurat) şi a lui k (propus) de raportul SNR. 4. Concluzii În lucrare se dau formule de calcul a preciziei curbei ratei erorii de bit în cazul simulării turbo-codurilor. Pe baza acestor formule sunt calculate numărul im de biţi de informaţie necesar a fi transmiţi şi numărul im de biţi eronaţi necesar a fi obţinuţi prin simulări pentru a obţine o precizie dorită pentru curbele ratei erorii. De asemenea, pe baza mărurărilor practice, sunt indicaţi şi 41
coeficienţi de corecţie a acestor valori ime în vederea obţinerii unor valori suficiente. k k m Fig.4 Variaţia coeficienţilor de corecţie, măsurat şi propus, funcţie de SNR (db) Bibliografie [BGT] C. Berrou, A. Glavieux, P. Thitimajshima, Near Shannon Limit Error Correcting Coding and Decoding: Turbo Codes, Proc. of ICC, Geneve, may 1993, pp. 1064-1070 [DDP] S. Dolinar, D. Divsalar, F. Pollara, Code performance as a function of block size, TMO progres report 42-133, JPL, NASA [HLY] L.Hanzo, T.H.Liew, B.L.Yeap, Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Fading Channels, John Wiley & Sons Ltd, England, 2002 [JZG] R. Johannesson, K. Sh. Zigangirov, Fundamentals of Convolutional Coding, IEEE Press, 1999 [JEZ] M.Jézéquel, Turbo codes (convolutifs), sear Timişoara, 18-20 martie 2003 [SHA] C.E. Shannon, A Mathematical Theory of Communications, The Bell System Technical Journal, Vol.27, pp. 379-423, 623-656. October, 1948 42