Codor/decodor ciclic.implementare MATLAB-Simulink

Similar documents
Metrici LPR interfatare cu Barix Barionet 50 -

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Subiecte Clasa a VI-a

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin


Procesarea Imaginilor

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Versionare - GIT ALIN ZAMFIROIU

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Olimpiad«Estonia, 2003

Performanţele codurilor convoluţionale în configuraţie turbo

GHID DE TERMENI MEDIA

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Documentaţie Tehnică

Introducere în Matlab

Class D Power Amplifiers

ISBN-13:

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Constructii sintetizabile in verilog

5.3 OSCILATOARE SINUSOIDALE

The First TST for the JBMO Satu Mare, April 6, 2018

Modalitǎţi de clasificare a datelor cantitative

Specificaţiile mecanice ale interfeţei RS 232 C

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Mecanismul de decontare a cererilor de plata

Reţele Neuronale Artificiale în MATLAB

Implementation of a Temperature Control System using ARDUINO

Propuneri pentru teme de licență

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Proiectarea şi Verificarea cu HDL a Circuitelor Digitale

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

THREE CHANNELS ANALYSIS SYSTEM FOR ELECTRICAL POWER SYSTEM DISTURBANCES MEASUREMENT

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Auditul financiar la IMM-uri: de la limitare la oportunitate

Implementarea pe o placă Altera Cyclone I a unui decodor LDPC şi analiza performanţelor. Proiect de diplomă

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

AMPLIFICATOR PROGRAMABIL AVANT 3 PENTRU RECEPTIE DVB-T SI RADIO FM / DAB

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Evoluția pieței de capital din România. 09 iunie 2018

DESCRIEREA ÎN VHDL A CIRCUITELOR SECVENȚIALE. DEFINIREA CONSTRÂNGERILOR DE TIMP

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

LINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA

CMOS DELAY CELL WITH LARGE TUNING RANGE

ON THE TRANSIENTS OPTIMIZATION AND THE POWER FACTOR CORRECTION OF THE STATIC CONVERTERS

SISTEME CU CIRCUITE INTEGRATE DIGITALE (EA II) ELECTRONICĂ DIGITALĂ (CAL I) Prof.univ.dr.ing. Oniga Ștefan

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

APLICAŢIA 7 CIRCUITE SECVENŢIALE REGISTRUL CU ÎNCĂRCARE PARALELĂ

manivelă blocare a oglinzii ajustare înclinare

CERERI SELECT PE O TABELA

Lucrarea Nr.1. Sisteme de operare. Generalitati

CHAMPIONS LEAGUE 2017 SPONSOR:

NOTE PRIVIND MODELAREA MATEMETICĂ ÎN REGIM CVASI-DINAMIC A UNEI CLASE DE MICROTURBINE HIDRAULICE

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Managementul referinţelor cu

SPREADING CODES 1. INTRODUCTION. Ion POPA Societatea Română de Televiziune Studioul Teritorial Iaşi

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

ARE THE STATIC POWER CONVERTERS ENERGY EFFICIENT?

Metodologie de comparare a reţelelor 4G prin evaluarea QoS-ului total

Lucrarea 5. Portul paralel standard

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Transmiterea datelor prin reteaua electrica

CERERI SELECT PE MAI MULTE TABELE

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Prelucrarea numerică a semnalelor

DESIGN OF MICROSTRIP BANDPASS FILTERS WITH PRESCRIBED TRANSMISSION ZEROS AT FINITE FREQUENCIES

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

STUDY EVOLUTION OF BIT B ERRORS AND ERRORS OF PACKAGES IN I

Buletinul AGIR nr. 3/2012 iunie-august. Assis. Eng. Ciprian AFANASOV PhD. University "Ştefan cel Mare" Suceava

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

SAG MITTIGATION TECHNICS USING DSTATCOMS

EN teava vopsita cu capete canelate tip VICTAULIC

Platformă de e learning și curriculă e content pentru învățământul superior tehnic

Analele Universităţii Constantin Brâncuşi din Târgu Jiu, Seria Inginerie, Nr. 2/2009

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

Studiul numărătoarelor

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

SOLUŢII DE CONVERSIE PENTRU SISTEMELE DE ÎNALTĂ TENSIUNE, CURENT CONTINUU, TIP HVDC

CMOS SCHMITT TRIGGER WITH CURRENT-CONTROLLED HYSTERESIS

STARS! Students acting to reduce speed Final report

10. Modelarea şi eliminarea zgomotelor din imaginile digitale

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

PACHETE DE PROMOVARE

Medii de proiectare VLSI LABORATOR 8 Afişaj multiplexat

Transcription:

Buletinul Ştiinţific al Universităţii "Politehnica" din Timişoara Seria ELECTRONICĂ şi TELECOMUNICAŢII TRANSACTIONS on ELECTRONICS and COMMUNICATIONS Tom 46(60), Fascicola 1, 2001 Codor/decodor ciclic.implementare MATLAB-Simulink Balta Horia 1 ABSTRACT In this paper is presented a MATLAB-Simulink program able to simulate the work of any cyclic coder/decoder system who operates with words no longer then 275 bits and a generator polynom with degree no more then 16. It is indicated how can be developed this program for bigger dimensions. Also, there are presented some experimental results obtained for three codes, with the generator polynoms x 3 +x+1, x 4 +x+1 and x 5 +x 2 +1. I. INTRODUCERE Codurile ciclice sunt folosite pentru protejarea informaţiei împotriva perturbaţiilor (erorilor). Sunt coduri bloc, sistematice şi corectează o eroare pe cuvânt. Sunt numite ciclice pentru că permutarea unui cuvânt de cod este deasemenea cuvânt de cod. Structural, un cuvânt de cod ciclic (sistematic), v, este format din n biţi, dintre care primii m sunt biţii de informaţie, iar ultimii k sunt biţii de control: semnalarea prezenţei erorilor, urmând ca, funcţie de aplicaţie, să se ignore cuvântul respectiv eronat, sau să se ceară retransmisia lui. În cazul corecţiei erorilor, prin verificarea cuvântului recepţionat, se stabileşte atât prezenţa erorii (codurile ciclice în discuţie sunt corectoare de o eroare), cât şi poziţia ei. II. CODOR CICLIC IMPLEMENTARE MATLAB-SIMULINK Implementarea relaţiei (4) se poate face printr-o schemă ce utilizează un registru de deplasare cu reacţie (RDR), arătată în figura 1. Schema prezentată poate să simuleze funcţionarea oricărui codor ciclic având ca polinom generator orice polinom de grad mai mic sau egal cu 16 (primitiv sau nu). v = a n-1 a n-2...a 1 a 0 (1) sau, sub formă polinomială: v(x) = a n-1 x n-1 + a n-2 x n-2 +... + a 1 x + a 0 (2) Între parametrii n, m şi k există relaţia: n = m+k = 2 k -1, k Z (3) Figura 1 Codor ciclic. Codarea codurilor ciclice se poate face prin multiplicare sau divizare. La codarea prin divizare se utilizează relaţia: v(x) = i(x) x k + rest(i(x) x k /g(x)) (4) unde rest( /g(x)) reprezintă restul împărţirii polinomului ( ) la g(x) polinomul generator al codului (un polinom primitiv). Decodarea presupune, în cazul detecţiei de erori, verificarea corectitudinii transmisiei fiecărui cuvânt de cod recepţionat (recontruit la recepţie) şi Figura 2 Semnalele de validare a porţilor AND. 1 Facultatea de Electronică şi Telecomunicaţii, Departamentul Comunicaţii Bd. V. Pârvan Timişoara 1900 e-mail balta@ee.utt.ro

Figura 3 Decodor ciclic.

În construcţia schemei s-au folosit următoarele elemente : -16 blocuri de întârziere cu un tact,t B, notate "1/z"; -16 amplificatoare, notate g(j), j = 1 16, cu amplificările presetate la valorile conţinute în vectorul: G = [g(j)], cu j = 1 16 (5) -3 sumatoare modulo-doi, unul cu 16 intrări, celelalte cu câte două; -2 porţi ŞI (AND) cu două intrări; -2 generatoare de semnal dreptunghiular, de perioadă nt B, (semnalele de validare a porţilor, P 1 şi P 2, prezentate în Fig.2). Primul generator, P 1, având factorul de umplere (n-k)/n şi întârzierea 0, iar al doilea generator, P 2, având factorul de umplere k/n şi întârzierea (n-k)t B ; -2 conexiuni cu exteriorul, o intrare şi o ieşire. Pentru a simula un anume codor ciclic, prin subsistemul MATLAB-Simulink cu schema din figura 1, este necesară setarea următorilor parametri : -T B R, durata bitului ; -n N, numărul de biţi dintr-un cuvânt de cod ; -k N, k < n, numărul de biţi de control şi totodată gradul lui g(x) ; - g j {0, 1}, j = 1 k-1, coeficienţii binari ai lui g(x) (g k şi g 0 sunt setaţi automat la valoarea 1). Aceşti parametri sunt precizaţi apriori prin intermediul programului MATLAB : «condit.m», descris în paragraful 4. În cazul în care n<16, restul amplificărilor g(n +1),...g(16) sunt setate automat la valoarea 0, neintervenind în funcţionarea codorului ciclic ales. Pentru dezvoltarea codorului la dimensiuni superioare lui 16, este necesară adăugarea de perechi celule de întârziere-amplificatoare, în schema din Fig.1. II.DECODOR CICLIC -IMPLEMENTARE MATLAB-SIMULINK Decodorul ciclic, prezentat în figura 3, execută atât detecţia de erori cât şi corecţia de o eroare. Pentru corecţia de o eroare este necesar ca g(x) să fie un polinom primitiv. Dacă nu este aşa, circuitul, prin ieşirea «corecţie», generează o secvenţă care este şi mai eronată decât cea de la intrare. Amplificările, presetabile, conţinute în două matrici : G = [g(j)] şi H = [h(j)] cu j = 1 16 (6) unde g(j), h(j) {0, 1}, sunt fixate prin programul «condit.m». Generatoarele de semnal P 1, P 2, R 1, R 2, şi R furnizează semnalele periodice (primele patru de perioadă 2nT B, iar ultimul de perioadă nt B ), cu acelaşi nume, prezentate în Fig.4. Circuitul prezintă 3 conexiuni cu exteriorul, o intrare, IN, şi două ieşiri, corespunzătoare corecţiei, respectiv detecţiei de erori. Figura 4 Semnalele de comandă utilizate în decodor. Pentru dezvoltarea schemei la dimensiuni superioare lui 16 în mod corespunzător cu a codorului, vor trebui adăugate, la fiecare din cele două RDR-uri ale decodorului, perechi celulă de întârziere/ amplificator. Blocul «Registru n», executat sub formă de subsistem (Fig.5), întârzie secvenţa de intrare cu Figura 5 Blocul Registru n.

Figura 6 Schema under-mask a unui bloc Registru j-25. nt B, unde valoarea maximă pentru n a fost fixată la 275. Fiecare din cele 11 blocuri componente ale lui «Registru n», notate «Registru 25-j», cu j=1 11, 275 amplificatoare sunt egale cu 0, mai puţin a n-a, care are valoarea 1. În acest fel, poarta SAU (OR) din componenţa Registrului n (Fig.5) va prelua secvenţa de la ieşirea celui de-al n-lea amplificator, validată binenţeles de poarta SAU (OR) din componenţa Registrului 25-s, unde s este egal cu parte întreagă din raportul n/25. La depăşirea lungimii de 275 pentru cuvintele de cod, se vor adăuga blocuri de întârziere de tipul «Registru 25-j», modificând corespunzător denumirile amplificatoarelor. Schema decodorului din Fig.3 este compusă în esenţă din două circuite, RDR I şi RDR II, ce execută alternativ decodarea cuvintelor aduse la intrarea «IN», unul a celor cu număr par iar celălalt a celor cu număr impar. Decodarea decurge în două etape, corespunzătoare, în timp, duratelor cuprinse între momentele de tact 0 şi nt B, respectiv nt B şi 2nT B. Etapa I. (0, nt B ) Se face recepţia cuvântului w t şi totodată verificarea sa. Circuitul care face recepţia (spre exemplu RDR I) are acces doar la intrare, legătura cu ieşirea fiind blocată de AND35 (în acest caz circuitul RDR II se află în etapa II cu cuvântul său, w t-1 ). Dacă restul împărţirii lui w t (x) la g(x) este nul, starea circuitului RDR I este şi ea nulă după exact n tacte de la începerea recepţiei. Dacă restul împărţirii lui w(x) la g(x) nu este nul, starea circuitului RDR I este diferită de zero. Etapa II. (nt B, 2nT B ) Circuitul RDR I are acces la ieşire prin poarta AND35, validată de P 2. Dacă starea circuitului RDR I după tactul nt B este nulă, atunci, pe toată durata acestei etape, semnalul de la ieşirea «detecţie» va fi nul, iar la ieşirea «corecţie» se va regăsi intact w t. Dacă starea RDR-ului I după momentul de tact nt B nu este nulă, atunci, în tactul (nt B, nt B +T B ), la ieşirea «detecţie» se va genera un unu logic iar în rest zero. Acel unu logic semnalează prezenţa erorilor în cuvântul w t. La ieşirea corecţie se va furniza un cuvânt, v t, care diferă de w t printr-o singură poziţie. În cazul corecţiei, decodorul execută greşit decodarea dacă numărul erorilor din cuvântul recepţionat este mai mare sau egal cu doi ; în acest caz se modifică o poziţie care nu era eronată ; În cazul detecţiei, decodorul greşeşte dacă cuvântul recepţionat este un alt cuvânt de cod, diferit de cel emis. De remarcat că există situaţii (cu mai mult de o eroare în cuvânt) în care decodorul semnalează prezenţa erorilor prin ieşirea «detecţie», însă furnizează la ieşirea «corecţie» un cuvânt eronat. IV DEFINIREA PARAMETRILOR În continuare este prezentat programul «condit.m». Liniile programului sunt scrise îngroşat, iar alături sunt date câteva explicaţii. clear Tb=input('Tb='); %Perioada bitului n=input('n='); %Numărul total de biţi dintr-un cuvânt k=input('k='); % Numărul de biţi de control dintr-un cuvânt g=zeros(1,16); % Se resetează valorile amplificărilor amplificatoarelor g h=g; % Se resetează valorile amplificărilor amplificatoarelor h for i=2:k-1 % Se introduce polinomul generator ; implicit se fixează g(1,i)=input('polinomul g='); % şi amplificările amplificatoarelor g end g(1,k)=1; g(1,1)=1;

for i=1:k-1 % Se setează valorile amplificărilor amplificatoarelor h h(1,i)=1; end m=zeros(11,25); % Se resetează valorile amplificărilor amplificatoarelor m r=m; % Se resetează valorile amplificărilor r uu=1; % Se află poziţia s a ieşirii din blocul de întârziere (între cele 275 ieşiri) while uu*25<=n uu=uu+1; end s = n-25*uu+26 ; r(uu,s)=1; % Se setează amplificarea celui de-al s -lea amplificator (ieşirea Registrului n) clc V REZULTATE EXPERIMENTALE În figurile 7 şi 8 sunt prezentate schema bloc a sistemului de transmisie utilizat precum şi curbele BER obţinute. Simularea canalului de transmisie s-a făcut prin sumarea modulo doi, la secvenţa de date, a unei secvenţe pseudoaleatoare generate de o sursă binară având probabilitatea de emisie a lui «1» egală cu b, rata erorii. Curbele obţinute arată superioritatea codului n=7/k=3 din punctul de vedere al corecţiei. Codurile sunt ineficiente din punct de vedere al corecţiei pentru o rată a erorii în canal peste valoarea de 0,1. În Fig. 9 se prezintă capacitatea de detecţie pentru cele trei coduri. Sunt de remarcat valorile ridicate ale acesteia, chiar şi la rate de eroare mari. MULŢUMIRE Mulţumesc doamnei profesoare Miranda Naforniţă, de la Univ. Politehnica Timişoara şi domnului profesor Safwan EL ASSAD, de la École polytechnique de l université de Nantes, fără sprijinul cărora această lucrare nu ar fi fost posibilă. BIBLIOGRAFIE [1]--Monica Elena Borda, Teoria transmiterii informaţiei, E. Dacia, Cluj-Napoca, 1999 ; [2]--Alexandru Spătaru, Fondements de la theorie de la transmission de l information, Presses Polytechniques Romandes, Lausanne, 1987 ; [3]--Alexandru Spătaru, Teoria transmisiunii informaţiei, E.D.P., Bucureşti, 1983 ; [4]--Marin Ghinea, Virgiliu Fireţeanu, MATLAB-Calcul numeric-grafică-aplicaţii, E. Teora, Bucureşti, 1997 Figura 7. Sistemul de transmisie şi analiză.

Figura 8. Rata erorii obţinută în cazul corecţiei de o eroare. Figura 9. Capacitatea de detecţie.