1. Structura generală a codificării canalului
Pentru protecția împotriva erorilor din sistemele standard radio TETRA utilizate canale canal de codificare a semnalului noiseless, care se realizează prin introducerea în semnalul transmis de o cantitate suficient de mare de (redundant) informații suplimentare. TETRA standard de codare canal este implementat sub forma de 4 tratamente:
- bloc de codare (bloc-codare);
- codificare convoluțională (codificare convoluțională);
- intercalare (interleaving);
- codare (codare).
Când informațiile de intrare codare bloc este împărțită în blocuri de simboluri k, care sunt transformate cu o anumită lege în blocurile n caractere, unde n> k [14]. Bloc de codificare este destinat în primul rând pentru detectarea erorilor unice și multiple în canalul de comunicare și, în anumite cazuri, pentru a le corecta.
În codificarea convoluțională, fiecare caracter al secvenței de informații de intrare, compusă din k biți este convertită în simbol n-bit a secvenței de ieșire, în care n> k. codificare convoluțională este un instrument puternic împotriva erorilor simple, cu toate că nu asigură detectarea lor.
Când intercalarea se efectuează schimbarea ordinii simbolurilor secvenței de informații, astfel încât stoyashie următoarele simboluri sunt separate de mai multe altele. Intercalarea prevede conversia erorilor de grup în canalul de comunicare în single.
Bruierea constă în conversia secvenței de informații de intrare la ieșire prin aceasta bitwise plus modulo 2 cu o secvență de criptare special formate. Criptării este folosit pentru a proteja anumite informații care trebuie transmise, precum și pentru autentificarea utilizatorilor.
Structura codarea canalului, prezentată în Fig. 8.1 este comun pentru toate tipurile de canale logice, deși parametrii fiecărei proceduri pentru diferite canale logice de codare canal, în mod tipic diferit. De aceea, algoritmii de ansamblu de transformare va fi dată în continuare pentru fiecare dintre procedurile și apoi setați parametrii acestor transformări pentru fiecare tip de canal logic.
standardul TETRA descrie modul de codificare canal ca o conversie secvențială a datelor la 4 nivele, în timp ce datele de intrare menționate ca biți de tip 1 blocuri de tip 1, datele după blocul codificat - biți de tip 2 bloc de tip 2, etc După codificare bloc .. la biții codificați cod bloc adăugat t. n. biți „coadă“.
Fig. 8.1. Schema generală de canal de codificare în standardul TETRA.
următoarea notație este introdus pentru a descrie în continuare procedurile de codificare canal:
- x - tipul și blocul de numere de secvență de biți, x = 1,2,3,4,5;
- Kx - numărul de biți transportate de către o unitate de tip de x;
- k - numărul de biți, k = 1,2. kx;
- bx (k) - x biți de tipul cu un număr de tip k bloc x.
2. Bloc de codificare a mărfurilor
Bloc encoder notat cu (K2, K1), unde K1 - numărul de simboluri din blocul secvenței de intrare și K2 - numărul de caractere din blocul de secvență de ieșire. Raportul R = K1 / K2 este numele unei rate de codificare (rata de codificare) și caracterizează gradul de redundanță introdusă de codor.
Când codificarea blocului în TETRA standard utilizează binar encoder sistematic, t. E. Codor, în care fiecare simbol al secvenței de intrare și de ieșire corespunde unui bit, ca în blocul de date de ieșire este inclus complet informațiile de intrare unitate, care este completat cu codul CRC p-bit (CRC - Cyclic verificare a redundanței). Astfel, de tip K1 1 biți sunt convertite în biți K2 tip 2 unde K2 = K1 + p.
CRC-coduri sunt calculate în conformitate cu regula
F (X) = X n-K1 M (X) mod G (X),
G (X) - formarea unui polinom, care este diferit pentru diferite canale logice;
n-K1 - numărul de biți de paritate generate.
F (X) polinomial este un polinom de grad (n-K1-1) cu coeficienți f (0), f (1). f (n-K1-1), m. f.
Apoi, biții K2 de tip 2 au forma:
b2 (k) = b1 (k) k = 1,2. K1
b2 (k) = f (k-K1-1), cu k = K1 + 1, K1 + 2. n.
Un polinom generator de pentru canalul de trafic de voce este după cum urmează:
pentru alte canale:
G (X) = 1 + X + 5 X 12 + X 16.
Pentru unul dintre canalele logice - acces canal destinație AACH - utilizat blocul de codificare pe baza de cod Reed-Muller. Codurile Reed-Muller sunt o clasă de coduri liniare cu o descriere simplă și decodificarea efectuată printr-un vot simplu. [15]
Matricea generatorului de Reed-Muller ordinul-r th de 2 m lungime este definită ca o colecție de blocuri
unde G0 - un vector de dimensiune n = 2 m. constând din toate cele; Gp - (m x 2 m) - matrice care conține toate coloanele ca o secvență m binară; rânduri gp matricei se obțin din rândurile de G1 matricei toate produsele posibile ale p rânduri de G1 [15].
In blocul de codificare, canal AACH TETRA secvență de informații de intrare de 14 biți standard, care urmează să fie convertită în unitatea de ieșire de 30 de biți, în conformitate cu ecuația
unde G - matricea generație având forma
unde I14 - matricea identitate de 14x14 mărime și GRM - generarea matricei dimensiunii Reed-Muller 16h14.
Acest lucru înseamnă că, atunci când blocul de codare AACH primele 14 biți corespund biți ai secvenței de ieșire a unității de informații de intrare, și următorii 16 biți sunt formate folosind un cod Reed-Muller.
3. codificare convoluțională
codificarea convoluțională oferă conversie de tip K2 biți 2 intrare obținute prin codarea bloc în secvența de bit de ieșire K3, în care K3> K2. Fiecare bit al secvenței de ieșire se obține ca un modulo însumare 2 a mai multor biți consecutivi ai secvenței de intrare.
codificatoare convoluționale tipic desemnate ca n, k, K, unde n - numărul de biți într-un simbol al secvenței de ieșire, care sunt formate într-un singur ciclu al codorului (corespunzând numărului de modulo-2 sumatoare în circuitul codificator); k - numărul de biți într-un simbol al secvenței de intrare primită la intrare codificator pentru un singur ciclu de ceas; K - .. Limitări lungime (lungime constrângere), adică, valoarea numerică corespunzătoare lungimii registrului de deplasare, care este implicat în formarea unui singur simbol de ieșire. (Simbolurile pot consta din unul sau mai mulți biți.) Raportul R = k / n, ca un codificator bloc se numește o rată de codificare.
Cu toate acestea, deoarece standardul TETRA convoluțională codificare completat în mod direct prin înțeparea informațiile primite, modifică numărul de biți ai secvenței de ieșire, ne referim la raportul dintre numărul total de biți ai secvenței de intrare la numărul total de biți ai secvenței de ieșire (K2 / K3), în conformitate cu rata de codificare.
Datorită faptului că volumul de blocuri, precum și cerințele de imunitate de zgomot și viteza de transmitere a informațiilor în diferitele canale logice sunt diferite de la fiecare alte coduri, convoluționale pentru aceste canale logice, de asemenea, variază. Codarea convoluțională în standardul TETRA constă din două proceduri:
- Codificare cod „mama“ la o rată fixă (pentru canalul TCH mesaje / S voce corespunde la 1/3 la toate canalele rămase - 1/4);
- înțeparea (subtierea, înțeparea) secvența primită r. e. omiterea unor simboluri codificate pentru a aduce structura de plasare de biți în conformitate cu o structură cadru. Schimbarea algoritmilor de străpungere permite variația ratei de codificare convoluțională pentru diferite canale logice.
Codificare cod părinte
La codificarea codului utilizat de către codorul convoluțional părinte (n, 1,5), unde n - pentru canalul de trafic de vorbire (TCH / S) este egal cu 3, și pentru toate celelalte canale - 4.
Oricare dintre polinoamele generator de cod mama poate fi scris ca
unde Gi, j = 0 sau 1, j = 0,1,2,3,4.
Acest lucru înseamnă că biții codificate sunt definite ca
în cazul în care suma este luat modulo 2 și b2 (k-j) = 0 pentru k≤j.
polinoame de cod mama Generare sunt de forma:
- pentru traficul de canal de voce:
G1 (D) = 1 + D + D 2 + D 2 + D + 3 D 4
G2 (D) = 1 + D + D + 3 D 4
G3 (D) = 1 + 2 + D D 4
Ca o ilustrare, Fig. 8.2 prezintă o diagramă a unui codificator convoluțional pentru toate canalele logice TETRA standard de canal de trafic non-voce.
Codul de mama stantare
Perforant cod mama produs de biții de selecție a K3 NK2 biții V (k), obținut prin codificarea convoluțională. Selectarea, t. E. Determinarea secvenței de ieșire de biți,
se realizează cu ajutorul T. n. perforante coeficienți P (1), P (2). P (t), determinarea numărului de biți selectate în segmentul Perioadei lungimii secvenței de intrare (t valoare corespunde numărului de biți selectabile într-un anumit interval de timp), în conformitate cu o valoare k reglare calcul
k = Perioada · ((i-1) div t) + P (i - t (i-1) div t)),
unde div este rezultatul diviziunii întregi.
Fig. 8.2. Schema convoluțional codificator TETRA canale logice.
Valori Period, i, t, și valorile specifice ale P (1), P (2). P (t) sunt definite pentru fiecare tip de canal logic separat. Pentru majoritatea canalelor i = j, dar pentru unele dintre ele valoarea i este calculată mai dificil, de exemplu, pentru TCH / 4,8 canale
i = j + (j-1) div 65.
Perioada pentru majoritatea canalelor logice este de 8, în canalele de trafic de vorbire poate lua valori 12 și 24. Parametrul t își poate asuma valorile 3, 6, 9, 17.
Atunci când este furnizat întrețesere secvența de conversie biți K3 intrare rezultată din codarea convoluțională, în secvența de ieșire K4 bit și K3 = K4, t. E. Nu intercalare introduce redundanță în semnal, dar produce numai o permutare de biți în blocul de informații.
Intercalarea este folosit pentru a converti grupul de erori care apar în canalul de comunicație datorită prezenței semnalului profund fading într-un mediu de multipath, un singur, care este mai ușor de a face cu ajutorul blocului și convoluțională de codificare [14].
Standardul TETRA folosit 2 tipuri de intercalare: și bloc intercalare de N blocuri.
Un concanalizare bloc este notat cu (K, J), unde K este numărul de biți din blocul de informații de intrare și J - numărul de biți care urmează să fie efectuate de către unitatea de intrare biți învecinate. In blocul intercalare blocul de potrivire biți de ieșire ale secvenței de biți de intrare, adică. E.
este produs de următoarea regulă:
o schemă de funcționare intercalare poate fi reprezentat ca o secvență coerentă intercalată intrare de înregistrare a informațiilor într-o matrice, în care lungimea șirului corespunde J (numărul de coloane (K div J + 1)), și apoi citirea informațiilor înregistrate pe coloane.
Block intercalarea cu diferiți parametri de conversie utilizați în canalele SCH / HD, SCH / HU, SCH / F, BNCH, STCH, BSCH și TCH / S.
Blocurile întrețesere N
Intercalarea este aplicat pe blocurile N în canalele de date logice TCH / 2,4 și TCH / 4,8, informații transmise blocuri de lungime 432 biti.
În această schemă, biții blocului intercalare permutare r completate. N. diagonale. Caracteristica sa specială este faptul că se efectuează simultan pentru mai multe blocuri consecutive, t. E. Poate fi o permutare de biți de la un bloc la altul. Numărul de blocuri implicate în intercalare, (N), poate fi egal cu 1, 4 sau 8 (N = 1 - un caz degenerat în care intercalarea este efectuată în termen de un bloc). În acest caz, format prin intercalarea M + N-1 blocuri de 432 biți, unde M - .. Un număr întreg, și anume, procedura de intercalare blocuri de N poate crește numărul total de blocuri de date.
Astfel, pentru intercalarea blocuri de conversie N informații de intrare se realizează în două etape: Etapa 1 - diagonale cu o creștere a numărului total de blocuri, etapa a 2 - bloc intercalare în fiecare dintre blocurile recepționate.
Inițial blocurile M B3 (1), B3 (2). B3 (M), implicat în procesul de transformare, printr-un dispozitiv de intercalare diagonală convertit la M + N-1 blocuri B3 '(1), B3' (2). B3 „(M + N-1). Notând bitul k B3 bloc '(m) ca b3' (m, k), unde k = 1,2. 432 și m = 1,2. M + N-1, atunci
b3 „(m, k) = 0 în afara acestei regiuni, unde
j = (1-k) div (432 / N) și i = (1-k) mod (432 / N).
Practic, aceasta înseamnă formarea M + N-1 blocuri, fiecare dintre care este format din 1 / M-bucata blocuri consecutive M (dacă M = 2 este jumătate unitate, în care M = 3 - 1/3 unitate, etc. ) .. Pentru primele și ultimele blocuri, numărul care corespunde creșterii numărului total de blocuri de biți disponibile sunt umplute cu zerouri (dacă M = 2 zerouri completate în a doua jumătate a primului și prima jumătate a ultimului bloc, m = 3 zerouri ocupate în primele două treimi ale primului bloc, prima treime din al doilea bloc , prima treime a unității penultima, iar primele două treimi din ultimul bloc). Trebuie amintit că, anterior fiecare N biți ca bloc permutate prin asamblarea unui prim bloc de biți cu indicii 1, 1 + M, 1 + 2M. urmat de 2, 2 + M, 2, și t + 2M. d.
În a doua etapă, biți bloc intercalare a primit în fiecare dintre blocurile conform regulii
unde i = 1 + ((103 · k) mod 432), și k = 1,2. 432.
Bruierea furnizează biții K4 conversia unității de informații de intrare, furnizate de întrepătrunderii la K5 bloc bit de ieșire prin adăugarea bitwise modulo 2 cu secvența de criptare.
Inițializarea a registrului de deplasare pe 32 de biți, cu feedback-ul, este utilizat pentru formarea secvenței de criptare este realizată prin c1 extins secvența de formare, c2. c30, descris în secțiunea 5.2 și doi biți suplimentari egal cu 1.
Caracteristici ale canal de codificare pentru diferite canale logice
canal de codificare a fiecărui canal logic are diferențele sale legate de prezența sau absența de codificare separată proceduri de codificare specii bloc și intercalare, și parametrii de codare de canal pentru toate procedurile. Fig. 8.3 și 8.4 prezintă structura codarea canalului pentru toate canalele logice cu excepția canalului TCH / S trafic de voce.
Fig. 8.3. Structura canalului de codificare TCH7,2 canale logice; SCH / HD; SCH / HU; SCH / F; BNCH; STCH.
Fig. 8.4. Structura canalului de codificare canal logic AACH; BSCH; TCH4,8; TCH2,4.
Discursul caracteristică de codificare de canal de trafic este de a diviza blocul de informații primare de 137 de biți de ieșire de la codificatorul de vorbire în 3 clase, în conformitate cu sensibilitate la erori în canalul de comunicație. (Biții prima clasă sunt cea mai puțin sensibilă și codificate suficient de slab, clasa 3 biți sunt foarte sensibile la interferență și, prin urmare, sub rezerva cea mai puternică eroare de corectare de codificare.)
Perioada de timp, de obicei, include două cadre de voce, fiecare dintre acestea are o dimensiune de 137 biți la ieșirea codec de vorbire (a se vedea. Secțiunea 7). După codificare canal de ieșire informații de codec de vorbire (2137 biți) este convertit într-un cadru de informații de lungime 432 biti.
Prima clasă include 51 fiecărui cadru de vorbire (2 51) Gradul 2 - 56 biți (2 56), clasa a 3 - 30 biți (2 56). Cel mai sensibil clasa treia include:
- 12 biți conținând 4 MSBs 3 8 biți coeficienți de predicție liniară;
- 6 biți conținând 6 MSBs de valori de 8 biți ale primei perioade pas (4) segment cadru de vorbire;
- 12 biți conținând 3 MSBs 4 Coeficientul de câștig 6 biți pentru fiecare cadru segmente de vorbire.
- Codificarea se face separat pentru fiecare dintre clasele:
- biți de clasa 1 sunt supuse numai intercalării și Amestecarea;
- pe biți de codificare convoluție clasa a 2-a produs, intercalare și mixate;
- biți din clasa a treia sunt expuse la toate tipurile de canal de codificare: bloc și codificare convoluțională, intercalarea și codare.
Trebuie remarcat faptul că intercalarea și bruiajul este realizată pe un bloc plin de 432 biți, care includ biți ale tuturor claselor de sensibilitate.
Structura pentru codarea canalului de trafic de voce este reprezentată în Fig. 8.5.
Fig. 8.5. Structura codarea canalului de trafic de voce.