Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 10
  • Codifica del segnale. Tipi e metodi di codifica dei dati

Codifica del segnale. Tipi e metodi di codifica dei dati

I codificatori/decodificatori vocali più semplici che non utilizzano affatto le informazioni su come si è formato il segnale codificato, ma cercano semplicemente di portare il segnale recuperato il più vicino possibile nella forma all'originale, sono codificatori/decodificatori di forme d'onda... In teoria, sono invarianti rispetto alla natura del segnale fornito al loro ingresso e possono essere utilizzati per codificare qualsiasi segnale, incluso quello non vocale. Questi encoder sono i più semplici in termini di funzionamento e dispositivo, ma non possono fornire velocità di compressione elevate (velocità di codice bassa).

Il modo più semplice per codificare una forma d'onda è il cosiddetto modulazione del codice a impulsiICM (o PCM - Pulse Code Modulation), quando si utilizza il quale viene eseguito il semplice campionamento e quantizzazione uniforme del segnale di ingresso, nonché la trasformazione del risultato in un codice binario uniforme.

Per i segnali vocali con una larghezza di banda standard da 0,3 a 3,5 kHz per la trasmissione vocale, viene solitamente utilizzata la frequenza di campionamento Fa discr 2 Fa max = 8kHz. È stato dimostrato sperimentalmente che con quantizzazione uniforme, per ottenere una qualità del parlato pressoché ideale, è necessario quantizzare il segnale di almeno ± 2000 livelli, in altre parole, sono necessari 12 bit per rappresentare ciascun campione e il code rate risultante sarà

R= 8000 campioni/s * 12 bit/campione = 96000 bps = 96 kbps.

Usando quantizzazione irregolare(più accurato per piccoli livelli di segnale e più grossolano per grandi livelli di segnale, quindi in modo che l'errore di quantizzazione relativo sia costante per tutti i livelli di segnale), è possibile ottenere la stessa qualità soggettiva del ripristino del segnale vocale, ma con un numero molto inferiore di livelli di quantizzazione - circa ± 128. In questo caso, per la rappresentazione binaria dei campioni di segnale, sono necessari 8 bit e il code rate risultante sarà di 64 kbit/s.



Tenendo conto delle proprietà statistiche del segnale vocale (il tipo di distribuzione di probabilità dei valori istantanei), nonché delle proprietà non lineari dell'udito, che distingue molto meglio i suoni deboli, la scala di quantizzazione logaritmica è ottimale, che è stata adottata come standard a metà degli anni '60 ed è ora ampiamente utilizzato oggi. ... È vero, negli Stati Uniti e in Europa gli standard per la quantizzazione non lineare sono leggermente diversi (compressione m-law e compressione A-law), il che porta alla necessità di ricodificare i segnali.

Pertanto, il punto di partenza per qualsiasi confronto dell'efficienza e della qualità della codifica dei segnali vocali può essere una velocità di codifica di 64 kbit / s.

La prossima tecnica che consente di ridurre la frequenza di codice risultante può essere un tentativo di prevedere il valore del campione corrente del segnale da molti dei suoi valori precedenti, quindi la codifica non è il campione stesso, ma gli errori della sua previsione - la differenza tra il valore reale del campione corrente e il suo valore previsto... Se l'accuratezza della previsione è sufficientemente elevata, l'errore di previsione del campione successivo sarà molto inferiore al valore del campione stesso e sarà necessario un numero di bit molto inferiore per codificarlo. In questo modo, quanto più prevedibile è il comportamento del segnale codificato, tanto più efficiente sarà la sua compressione.

L'idea descritta è alla base del cosiddetto modulazione differenziale del codice a impulsi - DICM (DPCM ) - un metodo di codifica in cui non sono codificati i valori del segnale stessi, ma i loro differenze rispetto ad alcuni valori previsti. Il modo più semplice per prevedere è usando il campione precedente del segnale come previsione del suo valore attuale:

x * io = x io –1, e io = x io - x * io . (8.10)

Questo è il cosiddetto previsione di ordine zero, il più semplice, ma anche il meno accurato. Più accurata, ovviamente, sarà la previsione del campione attuale basata su una combinazione lineare di due precedenti, ecc.:

x * i = å a k x io - k, e io = x io - x * io . (8.11)

Sfortunatamente, l'accuratezza della previsione non aumenta sempre con un aumento dell'ordine di previsione, poiché le proprietà del segnale tra i campioni iniziano già a cambiare, quindi di solito sono limitate alla previsione non superiore al 2° - 3° ordine.

Nella fig. 8.16 e 8.17 sono diagrammi DICM codificatore e decodificatore.

Quando si codificano i segnali vocali, tenendo conto del grado della loro prevedibilità a breve termine (per diversi campioni successivi), la frequenza di codifica risultante per DICM (DPCM ) è di solito da 5 a 6 bit per campione o da 40 a 48 kbps.

Efficienza DICM può essere leggermente aumentato se la previsione e la quantizzazione del segnale verranno eseguite non sulla base di alcune delle sue caratteristiche mediate, ma tenendo conto del loro valore attuale e delle variazioni nel tempo, cioè in modo adattivo. Quindi, se la velocità di variazione del segnale è diventata maggiore, è possibile aumentare il passo di quantizzazione e, al contrario, se il segnale inizia a cambiare molto più lentamente, la dimensione del passo di quantizzazione può essere ridotta. In questo caso, l'errore di predizione diminuirà e, quindi, sarà codificato con meno bit per campione. Questo metodo di codifica è chiamato adattivo DICM , o ADICM (ADPCM ). Oggi questo metodo di codifica è standardizzato ed è ampiamente utilizzato nella compressione vocale nei sistemi di comunicazione digitale a lunga distanza, in un sistema di comunicazione microcellulare DECT , nei telefoni cordless digitali, ecc. utilizzo ADICM con un code rate di 4 bit/campione o 32 kbps fornisce la stessa qualità soggettiva del parlato di 64 kbps - ICM , ma a metà della frequenza del codice.

Oggi sono anche standardizzati ADICM - codec per 40, 24 e 16 kbps (in quest'ultimo caso, con una qualità del segnale leggermente peggiore rispetto a 32 kbps - ADPCM). Pertanto, si può vedere che la compressione dei segnali vocali basata sulla codifica della loro forma fornisce, nel migliore dei casi, una diminuzione da due a tre volte della velocità di codifica. Un'ulteriore diminuzione della velocità porta ad un netto deterioramento della qualità del segnale codificato.

I codificatori di forme d'onda sopra descritti hanno utilizzato un approccio puramente temporale per descrivere questa forma d'onda. Tuttavia, sono possibili anche altri approcci. Un esempio è il cosiddetto codifica sottobanda(Codifica sottobanda - SBC ), in cui il segnale in ingresso è suddiviso (o filtrato) in più gamme di frequenza (sottobande) e il segnale in ciascuna di queste sottobande è codificato separatamente, ad esempio, utilizzando la tecnica ADICM .

Poiché ciascuna delle sottobande di frequenza ha una larghezza di banda più stretta (tutte le sottobande si sommano alla larghezza di banda del segnale originale), anche la frequenza di campionamento in ciascuna sottobanda sarà inferiore. Di conseguenza, la frequenza totale di tutti i codici sarà almeno non superiore alla frequenza di codice per il segnale originale. Tuttavia, questa tecnica presenta alcuni vantaggi. Il fatto è che la sensibilità soggettiva dell'udito ai segnali e alle loro distorsioni è diversa a frequenze diverse. È massimo alle frequenze di 1 - 1,5 kHz e diminuisce alle frequenze più basse e più alte. Pertanto, se il segnale viene quantizzato in modo più accurato nell'intervallo di maggiore sensibilità uditiva e più grossolanamente nell'intervallo di bassa sensibilità, è possibile ottenere un guadagno nella frequenza di codice risultante. Infatti, quando si utilizza la tecnologia codifica sottobanda una buona qualità del parlato codificato è stata ottenuta con un code rate di 16 - 32 kbit/s. L'encoder risulta essere un po' più complesso rispetto a un semplice ADPCM, tuttavia è molto più semplice rispetto ad altri metodi efficaci di compressione vocale.

Uno schema semplificato di tale encoder (suddiviso in 2 sottobande) è mostrato in Fig. 8.18.

La codifica vicino alla sottobanda è un metodo di compressione basato sull'applicazione di trasformazioni lineari a un segnale, ad esempio una trasformata del coseno o del seno discreta. La cosiddetta tecnologia viene utilizzata per codificare il parlato. ATC (Adaptive Transform Coding), in cui il segnale viene suddiviso in blocchi, a ciascun blocco viene applicata una trasformata coseno discreta e i coefficienti ottenuti vengono quantizzati in modo adattativo in base alla natura dello spettro del segnale.

Più significativi sono i coefficienti di trasformazione, più bit vengono codificati. La tecnica è molto simile a JPEG ma si applica ai segnali vocali. Le velocità di codifica ottenute con tale codifica sono di 12-16 kbit/s con una qualità del segnale abbastanza soddisfacente. Questo metodo non è stato ampiamente utilizzato per la compressione vocale, poiché sono noti metodi di codifica molto più efficienti e facili da usare.

Riso. 8.18. Diagramma per spiegare la codifica della sottobanda

La prossima grande classe di codificatori vocali sono i codificatori di sorgenti.

Codice sorgente

a differenza di codificatori di forme d'onda che non utilizzano affatto informazioni su come si è formato il segnale codificato, codificatori sorgente sono basati esattamente sul modello sorgente e dal segnale codificato vengono estratte le informazioni sui parametri di questo modello. in cui il risultato della codifica non sono i codici dei segnali, ma i codici dei parametri della sorgente di questi segnali. Vengono chiamati i codificatori sorgente per la codifica del parlato vocoder(VOCE CODERS) e funziona così. Il tratto formante la voce è rappresentato come un filtro lineare con parametri variabili nel tempo, eccitato da una sorgente di rumore bianco (quando si formano consonanti), o da sequenze di impulsi con un periodo di altezza (quando si formano vocali) - Fig. 8.19.

Il modello lineare del sistema di produzione vocale e i suoi parametri possono essere trovati in vari modi. E il tipo di vocoder dipende da come vengono determinati.

L'informazione che il vocoder riceve a seguito dell'analisi del segnale vocale e trasmette al decoder è parametri del filtro per la generazione del parlato, indicatore di vocali / suoni non pronunciati, intensità del segnale di eccitazione e periodo di intonazione per le vocali... Questi parametri devono essere aggiornati ogni 10-20 ms per tenere traccia della non stazionarietà del segnale vocale.

Un vocoder, a differenza di un codificatore di forme d'onda, cerca di generare un segnale che suona come il discorso originale e non presta attenzione alla differenza tra la forma d'onda e l'originale. in cui la velocità risultante del codice alla sua uscita di solito non è superiore a 2,4 kbps, cioè quindici volte meno di ADICM ! Sfortunatamente, la qualità del parlato fornita dai vocoder è molto lontana dall'ideale, sebbene il suo suono sia abbastanza intelligibile, è completamente innaturale. Allo stesso tempo, anche un aumento significativo della velocità di codifica praticamente non migliora la qualità del parlato, poiché per la codifica è stato scelto un modello troppo semplice del sistema di produzione vocale. Particolarmente ruvido è l'assunto che il discorso consista solo di vocali e consonanti, il che non consente stati intermedi.

I vocoder vengono utilizzati principalmente in campo militare, dove la cosa principale non è la naturalezza del parlato, ma un alto grado di compressione e una frequenza di codice molto bassa, che protegge efficacemente dall'intercettazione e classifica il discorso trasmesso. Diamo una rapida occhiata ai principali tipi conosciuti di vocoder.

Vocoder di canale. Questo è il tipo più antico di vocoder, proposto già nel 1939. Questo vocoder sfrutta la bassa sensibilità dell'udito umano a piccoli cambiamenti di fase (tempo) nel segnale.

Per segmenti del parlato di lunghezza compresa tra 20 e 30 ms circa, lo spettro di ampiezza viene determinato utilizzando un set di filtri a banda stretta. Maggiore è il numero di filtri, migliore è la stima dello spettro, ma più bit sono necessari per codificarlo e maggiore è la frequenza di codice risultante. I segnali provenienti dalle uscite dei filtri vengono rilevati, fatti passare attraverso un filtro passa basso, campionati e codificati in binario (Fig. 8.20).

Pertanto, vengono determinati i parametri che cambiano lentamente del tratto vocale e, inoltre, con l'aiuto di rilevatori del tono principale e dei suoni vocalici, il periodo del tono principale di eccitazione e il segno - un suono vocale / non detto.

Il vocoder di canale può essere implementato sia in forma digitale che analogica e fornisce un parlato sufficientemente intelligibile a una velocità di codice alla sua uscita di circa 2,4 kbps.

Riso. 8.20. Circuito vocoder iniziale

Il decodificatore (Fig. 8.21), ricevuta l'informazione generata dal codificatore, la elabora in ordine inverso, sintetizzando alla sua uscita un segnale vocale, per certi versi simile all'originale.

Data la semplicità del modello, è difficile aspettarsi un parlato ricostruito di buona qualità dalla compressione del vocoder. Infatti, i vocoder di canale vengono utilizzati principalmente solo dove sono principalmente richiesti intelligibilità e un elevato rapporto di compressione: nelle comunicazioni militari, aeronautiche, nelle comunicazioni spaziali, ecc.

Discorso sintetizzato

Vocoder omomorfo. L'elaborazione del segnale omomorfo è una tecnica di elaborazione non lineare che può essere efficacemente applicata a segnali complessi come il parlato.

Tenendo conto del modello del sistema vocoder utilizzato nei vocoder, il segnale vocale può essere rappresentato come una convoluzione temporale della risposta transitoria all'impulso del tratto vocale con il segnale di eccitazione. Nel dominio della frequenza corrisponde al prodotto della risposta in frequenza del tratto vocale per lo spettro del segnale di eccitazione. Infine, se prendiamo il logaritmo di questo prodotto, otteniamo la somma dei logaritmi dello spettro del segnale di eccitazione e della risposta in frequenza del tratto vocale. Poiché l'orecchio umano è praticamente insensibile alla fase del segnale, è possibile operare con spettri di ampiezza:

log (| S (e jw) |) = log (| P (e jw) |) + log (| V (e jw) |,(8.12)

dove S (e jw) - spettro del parlato, P (ejw) lo spettro del segnale di eccitazione e V (ejw) - risposta in frequenza del tratto vocale.

Se ora travolgi log (| S (e jw) |) inversa trasformata di Fourier ( OPF ), allora otteniamo il cosiddetto segnale cepstrum. I parametri del tratto vocale cambiano nel tempo in modo relativamente lento (il loro spettro è nella regione delle basse frequenze - LF), mentre il segnale di eccitazione è una funzione rapidamente oscillante (il suo spettro è concentrato nella regione delle alte frequenze - HF). Così nel cepstrum del segnale vocale questi componenti sono separati (fig. 8.22) e possono essere codificati separatamente.

Riso. 8.22. Rappresentazione di un segnale vocale sotto forma di componenti LF e HF

Uno schema di un codificatore/decodificatore vocale omomorfo è mostrato in Fig. 8.23, utilizzandolo, è possibile ottenere un code rate dell'ordine di 4 kbps.

Vocoder formanti. Come notato in precedenza, le informazioni di base su un segnale vocale sono contenute nella posizione e nella larghezza dei suoi formanti costituenti. Se si determinano e si codificano i parametri di questi formanti con elevata precisione, è possibile ottenere una velocità di codice risultante molto bassa, inferiore a 1 kbps. Sfortunatamente, questo è molto difficile da fare, quindi i codificatori vocali formanti non hanno ancora trovato un uso diffuso.

Vocoder di predizione lineare. Vocoder basati su previsione lineare utilizzare lo stesso modello di produzione vocale del resto di quelli considerati. Ciò che li distingue è il metodo per determinare i parametri del percorso. I codificatori predittivi lineari, o LPK, considerano il tratto vocale come un filtro lineare con una risposta all'impulso continua, in cui ogni successivo valore di segnale può essere ottenuto come combinazione lineare di un numero dei suoi valori precedenti.

Riso. 8.23. Circuito encoder/decodificatore omomorfo

Nel vocoder LPK, il segnale vocale è suddiviso in blocchi con una lunghezza di circa 20 ms, per ciascuno dei quali vengono determinati i coefficienti di filtro predittivo. Questi coefficienti vengono quantizzati e trasmessi al decodificatore. Quindi il segnale vocale viene fatto passare attraverso un filtro, la cui risposta in frequenza è inversa alla risposta in frequenza del tratto vocale. L'errore di previsione si ottiene all'uscita del filtro. Lo scopo del predittore è eliminare la correlazione tra campioni di segnale adiacenti. Di conseguenza, la correlazione a lungo termine nel segnale è molto più pronunciata, il che consente di determinare con maggiore precisione la frequenza del tono fondamentale e di evidenziare il segno di un suono vocale / consonante.

I vocoder di predizione lineare sono ora i più popolari perché tutti i modelli di filtro del tratto vocale che usano funzionano molto bene. Le velocità di codice ottenute con il loro aiuto con una buona qualità vocale sono fino a 2,4 kbit / s.

La mappatura dei canali logici sui canali fisici avviene attraverso i processi di codifica e cifratura dei messaggi trasmessi.

Per proteggere i canali logici dagli errori che si verificano durante la trasmissione, vengono utilizzati tre tipi di codifica: codifica a blocchi - per il rilevamento rapido di errori durante la ricezione; super accurato - per correggere singoli errori; interleaving - per convertire raffiche di errori in singoli.

Per proteggere i canali dalle intercettazioni, la crittografia viene utilizzata nei canali di comunicazione e controllo.

Per la trasmissione di messaggi su canali fisici, viene utilizzata la codifica a spostamento di frequenza gaussiana con spostamento di frequenza minimo (GMSK).

Modulazione RF

Lo standard GSM utilizza il gaussian Minimum Shift Frequency Shift Keying (GMSK). La manipolazione è chiamata "gaussiana" perché la sequenza di bit di informazione prima del modulatore passa attraverso un filtro passa basso gaussiano (LPF), che si traduce in una significativa riduzione della larghezza di banda del segnale radio trasmesso. La formazione del segnale radio GMSK viene eseguita in modo tale che la fase della portante cambi di 90 ° nell'intervallo di un bit di informazione. Questo è il più piccolo cambiamento di fase possibile rilevabile con questo tipo di modulazione. La continua variazione della fase di un segnale sinusoidale determina una modulazione di frequenza con discreti cambiamenti di frequenza. L'utilizzo di un filtro gaussiano consente di ottenere "transizioni fluide" con una discreta variazione di frequenza. Nello standard GSM, la modulazione GMSK viene utilizzata con il valore della larghezza di banda BT normalizzata - 0,3, dove B è la larghezza di banda del filtro al livello di meno 3 dB, T è la durata di un bit di un messaggio digitale. Il cuore dello shaper del segnale GMSK è un modulatore in quadratura (1/Q). Il circuito è composto da due moltiplicatori e un sommatore. L'obiettivo di questo circuito è fornire una modulazione di fase continua e altamente accurata. Un moltiplicatore modifica l'ampiezza dell'oscillazione sinusoidale e il secondo l'oscillazione del coseno. Il segnale in ingresso prima del moltiplicatore viene suddiviso in due componenti in quadratura. La scomposizione avviene in due blocchi denominati "sin" e "cos".

La modulazione GMSK ha le seguenti proprietà preferite per le comunicazioni mobili:

    inviluppo a livello costante, che consente l'utilizzo di dispositivi trasmittenti efficienti con amplificatori di potenza in modalità classe C;

    spettro compatto all'uscita dell'amplificatore di potenza del dispositivo trasmittente, che fornisce un basso livello di radiazione fuori banda;

    buone caratteristiche di immunità ai disturbi del canale di comunicazione.

CODIFICA E MOVIMENTAZIONE NEI CANALI DI COMUNICAZIONE E CONTROLLO DELLO STANDARD GSM

Schema a blocchi generale di codifica e interlacciamento nello standard GSM

La codifica convoluzionale e interleaving a blocchi viene utilizzata per proteggere dagli errori nei canali radio mobili GSM PLMN. Interleaving converte raffiche di errori in singoli. La codifica convoluzionale è un potente strumento per gestire i singoli errori. La codifica a blocchi viene utilizzata principalmente per rilevare errori non corretti.

Il codice a blocchi (n, k, t) converte k simboli di informazione in n simboli aggiungendo simboli di parità (n-k) e può anche correggere t errori di simbolo.

I codici convoluzionali (CK) appartengono alla classe dei codici correttivi continui. Una delle caratteristiche principali di SC è il valore di K, che è chiamato lunghezza del vincolo, e mostra quale numero massimo di simboli di output è influenzato da un dato simbolo di informazione. Poiché la complessità di decodifica di un CS secondo l'algoritmo di Viterbi, che è il più vantaggioso dal punto di vista implementativo, aumenta esponenzialmente con l'aumentare della lunghezza del vincolo di codice, i valori tipici di K sono piccoli e giacciono nell'intervallo 3-10. Un altro svantaggio dei circuiti integrati è che non possono rilevare errori. Pertanto, lo standard GSM per il rilevamento degli errori esterni utilizza un codice a blocchi basato su un codice convoluzionale (2, 1, 5) con un tasso di r = 1/2. Il guadagno maggiore di SC prevede solo errori singoli (casuali) nel canale.

Nei canali con dissolvenza, che si verifica in GSM PLMN, è necessario utilizzare CK in combinazione con l'interlacciamento.

In GSM PLMN, le proprietà di base della voce e dei canali di controllo differiscono significativamente l'una dall'altra. I canali vocali richiedono una comunicazione in tempo reale con brevi ritardi con requisiti di errore di canale relativamente bassi. I canali di controllo richiedono l'assoluta integrità dei dati e il rilevamento degli errori, ma sono consentiti tempi di trasmissione e latenze più lunghi.

In conformità con la struttura di trama generale nello standard GSM, i messaggi di informazione e i segnali di controllo vengono trasmessi in un normale intervallo di tempo (NB) di una trama TDMA. La struttura NB (due pacchetti di 57 bit di informazione ciascuno) richiede che il numero di bit codificati m corrispondente a n - bit non codificati nello schema generale di codifica e interleaving sia un multiplo intero di 19. Questi bit vengono quindi crittografati e combinati in gruppi I . Anche il numero di bit in questi gruppi dovrebbe essere 19, i gruppi I vanno negli slot I. Il numero I è chiamato grado di interleaving.

Canali logici diversi utilizzano codici convoluzionali diversi perché anche le velocità di trasmissione e i requisiti di protezione dagli errori sono diversi. Per semplificare i meccanismi di codifica e decodifica, vengono utilizzati solo pochi polinomi per generare i codici. Ciò consente l'uso di un codice convoluzionale con un tasso r = 1/2. Tuttavia, per soddisfare i requisiti della formazione di un canale di comunicazione a piena velocità, nonché per allineare la struttura di allocazione dei bit con la struttura di trama, è richiesta la velocità r = 244/456 = 0,535. Per equalizzare la velocità nel canale vocale a r = 1/2, viene utilizzata la decimazione, ovvero il salto periodico di alcuni simboli codificati. Questa operazione si chiama punzonatura, ei codici così generati vengono detti punzonati. In ricezione, il decoder, conoscendo l'algoritmo di decimazione, interpola i dati ricevuti.

La punzonatura non viene utilizzata durante la trasmissione del canale di controllo condiviso veloce logico FACCH.

Codifica convoluzionale e interlacciamento nel canale vocale a velocità massima

Il codec vocale trasmette ogni 260 bit di sequenza di informazioni a una velocità di 13 kbps a uno schema di codifica di canale. I primi 182 bit di questo frame, chiamati bit di classe 1 nello standard GSM, sono protetti con un codice di blocco debole per rilevare errori al ricevitore.

La codifica viene eseguita come segue: i bit di classe 1 sono ulteriormente suddivisi in controlli di parità. Il codice a blocchi è un sistematico troncato di 50 bit di classe 1a e 132 bit di classe 1b. I bit di classe 1a sono integrati da tre bit di codice ciclico (53, 50).

In accordo con la regola accettata per la generazione di un codice sistematico, il tasto Sw viene chiuso per la durata dei primi cinque-dieci impulsi di clock e i bit di informazione che arrivano all'ingresso dell'encoder vengono contemporaneamente inviati al blocco per il riordino e la generazione i bit di parità. Dopo cinquanta impulsi di clock, l'interruttore Sw viene attivato e i bit di parità vengono ricevuti dall'encoder. In questa fase viene eseguita la prima fase di interleaving. I bit pari sono raccolti nella prima parte della parola informativa, seguiti da tre bit di parità. I bit con indice dispari vengono quindi archiviati nella memoria buffer e scambiati. Seguono quattro bit zero, necessari per il funzionamento dell'encoder, che genera un codice che corregge errori casuali nel canale. Quindi 189 bit di classe 1 sono codificati con un codice convoluzionale (2,1,5) con una velocità di r = 1/2.

Dopo la codifica convoluzionale, la lunghezza totale del frame è 2x189 + 78 = 456 bit. Successivamente, il frame a 456 bit è diviso in otto sottoblocchi a 57 bit, che sono intercalati diagonalmente e intraframe. Più specificamente, i sottoblocchi B0 e B4 sono formati in pacchetti da 114 bit, che sono il risultato dell'interleaving diagonale dei blocchi (DI/B). I bit B0 e B4 dei sottoblocchi sono interlacciati a coppie per formare un processo di interlacciamento di bit intra-frame (IBI/B). Il pacchetto risultante include due flag principali h1, h0, che vengono utilizzati per classificare diversi pacchetti di trasmissione.

Codifica e interleaving dei canali a velocità piena

trasmissione dati

Per migliorare l'efficienza della codifica convoluzionale nei canali di trasmissione dati a velocità piena, è necessario un lungo periodo di interleaving. In questi canali è implementato l'interleaving intra-frame (IBI/B) per il grado di interleaving I = 19, che porta ad un ritardo di trasmissione dati di 19x116 = 2204 bit. Se i bit del pacchetto I-esimo (intervallo di tempo) prima dell'interlacciamento sono indicati come C (Km), m = 1 ... 116, allora lo schema di interlacciamento, ovvero le posizioni dei bit dopo l'interlacciamento, sono determinate dal seguente formula:

I (K + j, j + 19t) = C (K, m) per tutti K j = m mod 19, t = m mod 6.

). La codifica fisica può modificare la forma, la larghezza di banda e la composizione armonica del segnale per sincronizzare il ricevitore e il trasmettitore, eliminare la componente CC o ridurre i costi dell'hardware.

YouTube collegiale

  • 1 / 5

    Il sistema di codifica del segnale ha una gerarchia multilivello.

    Codifica fisica

    Il livello più basso nella gerarchia di codifica è la codifica fisica, che determina il numero di livelli di segnale discreti (ampiezza di tensione, ampiezza di corrente, ampiezza di luminosità).

    La codifica fisica considera la codifica solo al livello più basso della gerarchia di codifica, il livello fisico e non considera i livelli superiori nella gerarchia di codifica, che includono la codifica logica di diversi livelli.

    Dal punto di vista della codifica fisica, un segnale digitale può avere due, tre, quattro, cinque, ecc. livelli di ampiezza di tensione, ampiezza di corrente, ampiezza di luce.

    Nessuna delle versioni della tecnologia Ethernet utilizza la codifica binaria diretta del bit 0 con una tensione di 0 volt e del bit 1 con una tensione di +5 volt, poiché questo metodo porta all'ambiguità. Se una stazione invia la stringa di bit 00010000, l'altra stazione può interpretarla come 10000 o 01000, poiché non è in grado di distinguere "nessun segnale" dal bit 0. Pertanto, la macchina ricevente ha bisogno di un modo per determinare in modo univoco inizio, fine e metà di ogni bit senza l'aiuto di un timer esterno. La codifica fisica del segnale consente al ricevitore di sincronizzarsi con il trasmettitore su una variazione di tensione a metà del periodo di bit.

    Codifica logica

    Il secondo livello nella gerarchia di codifica è il livello più basso di codifica logica con scopi diversi.

    Insieme, la codifica fisica e la codifica logica formano il sistema di codifica di livello più basso.

    Formati di codice

    Ciascun bit di una parola di codice viene trasmesso o scritto utilizzando segnali discreti come gli impulsi. Il modo in cui il codice sorgente è rappresentato da determinati segnali è determinato dal formato del codice. È noto un gran numero di formati, ciascuno dei quali presenta vantaggi e svantaggi ed è destinato all'uso in apparecchiature specifiche.

    • Formato BVN (nessun ritorno a zero) corrisponde naturalmente al modo di funzionamento dei circuiti logici. Un singolo bit viene trasmesso all'interno di un ciclo, il livello non cambia. Un fronte positivo significa una transizione da 0 a 1 nel codice sorgente, un fronte negativo - da 1 a 0. L'assenza di fronti indica che i valori dei bit precedenti e successivi sono uguali. Per decodificare i codici nel formato BVN, sono necessari impulsi di clock, poiché il suo spettro non contiene una frequenza di clock. Il segnale corrispondente al codice formato BVN contiene componenti a bassa frequenza (non si verificano cadute durante la trasmissione di lunghe serie di zero o uno).
    • Formato BVN-1 (nessun ritorno a zero con caduta della trasmissione 1)è una sorta di formato BVN. A differenza di quest'ultimo, il livello BVN-1 non trasmette dati, poiché sia ​​le gocce positive che quelle negative corrispondono a singoli bit. Durante la trasmissione 1 si verificano cadute di segnale. Con la trasmissione 0, il livello non cambia. L'orologio è necessario per la decodifica.
    • Formato BVN -0 (nessun ritorno a zero con dropoff durante la trasmissione 0)è complementare a BVN-1 (le pendenze corrispondono a zero bit del codice sorgente). Nei sistemi multitraccia per la registrazione di segnali digitali, gli impulsi di clock devono essere registrati insieme al codice nel formato BVN. Una possibile opzione è registrare due segnali aggiuntivi corrispondenti ai codici nei formati BVN-1 e BVN-0. In uno dei due segnali, le cadute si verificano in ogni ciclo di clock, il che consente di ottenere impulsi di clock.
    • Formato VN (ritorno a zero) richiede la trasmissione di un impulso che occupi solo una parte dell'intervallo di clock (ad esempio metà), con un solo bit. Con un bit zero non viene generato alcun impulso.
    • Formato VN-P (con pausa attiva) significa la trasmissione di un impulso di polarità positiva con un solo bit e negativo - con un bit zero. Un segnale di questo formato ha componenti di frequenza di clock nel suo spettro. Viene utilizzato in diversi casi per la trasmissione di dati su linee di comunicazione.
    • Formato DF-0 (bifase con salto di fase in trasmissione 0) Corrisponde al metodo di presentazione in cui si formano i salti all'inizio di ogni misura. Con i singoli bit, il segnale in questo formato cambia con la frequenza di clock, cioè a metà di ogni ciclo si verifica un calo di livello. Quando viene trasmesso un bit zero, non si forma una differenza a metà del ciclo, cioè c'è un salto di fase. Il codice in questo formato ha la capacità di auto-sincronizzarsi e non richiede la trasmissione di segnali di clock.

    La direzione del differenziale quando si trasmette un segnale 1 è irrilevante. Pertanto, la modifica della polarità del segnale codificato non influisce sul risultato della decodifica. Può essere trasmesso su linee bilanciate senza un componente DC. Inoltre, semplifica la registrazione magnetica. Questo formato è anche conosciuto come Manchester 1. Viene utilizzato nel codice dell'indirizzo temporale SMPTE, ampiamente utilizzato per la sincronizzazione di supporti audio e video.

    Sistemi di codifica a due livelli

    Nessun ritorno a zero

    Codifica potenziale, chiamata anche codifica senza ritorno a zero (NRZ (Inglese) russo).

    Quando si trasferisce lo zero, trasferisce il potenziale che è stato impostato nel ciclo precedente (cioè non lo cambia) e quando si trasferisce uno, il potenziale viene invertito al contrario. Questo codice è chiamato codice di inversione potenziale (NRZI).

    NRZ

    Per trasmettere uno e zero vengono utilizzati due potenziali stabilmente distinguibili:

    • i bit 0 sono rappresentati da una tensione zero 0 (V);
    • i bit 1 sono rappresentati dal valore U (B).

    NRZ (invertito):

    • i bit 0 sono rappresentati dal valore U (B);
    • i bit 1 sono rappresentati da 0 (V) tensione zero.

    Il codice più semplice, un normale segnale digitale (discreto) (può essere convertito in polarità inversa o livelli corrispondenti a zero e uno può essere cambiato).

    Vantaggi - Implementazione semplice; non c'è bisogno di codificare e decodificare alle estremità. Elevata velocità di trasmissione per una determinata larghezza di banda (per fornire una larghezza di banda di 10 Mbps, la larghezza di banda sarà di 5 MHz, poiché un'oscillazione è di 2 bit). Un bit di start-stop viene utilizzato per sincronizzare il trasferimento di byte.

    Svantaggi - Presenza di un componente costante, che rende impossibile fornire l'isolamento galvanico tramite un trasformatore. Elevati requisiti per la sincronizzazione della frequenza alle estremità di ricezione e trasmissione: durante la trasmissione di una parola (byte), il ricevitore non dovrebbe perdere più di un bit (ad esempio, per una parola lunga un byte con bit di inizio e fine, ovvero, solo 10 bit di informazioni sul canale, le frequenze di desincronizzazione del ricevitore e del trasmettitore non possono superare il 10% in entrambe le direzioni, per una parola di 16 bit, ovvero 18 bit di informazioni sul canale, la desincronizzazione non deve superare il 5,5%, e anche meno in implementazioni fisiche).

    NRZI

    Quando si trasmette una sequenza di unità, il segnale, a differenza di altri metodi di codifica, non torna a zero durante un ciclo di clock. Cioè, il cambiamento del segnale si verifica quando l'unità viene trasmessa e il trasferimento di zero non porta a un cambiamento di tensione.

    Vantaggi del metodo NRZI:

    • Facilità di implementazione.
    • Il metodo ha un buon riconoscimento degli errori (dovuto alla presenza di due potenziali nettamente differenti).
    • La fondamentale f0 ha una frequenza sufficientemente bassa (pari a N/2 Hz, dove N è il bit rate dei dati discreti bit/s), che porta ad uno spettro ristretto.

    Svantaggi del metodo NRZI:

    • Il metodo non ha la proprietà di autosincronizzazione. Anche in presenza di un generatore di clock ad alta precisione, il ricevitore può sbagliare nella scelta del momento di acquisizione dei dati, poiché le frequenze dei due oscillatori non sono mai del tutto identiche. Pertanto, a velocità di dati elevate e lunghe sequenze di uno o zero, un piccolo disadattamento della frequenza di clock può portare a un errore in un intero ciclo e, di conseguenza, alla lettura di un valore di bit errato.
    • Il secondo grave svantaggio del metodo è la presenza di un componente a bassa frequenza, che si avvicina a un segnale costante durante la trasmissione di lunghe sequenze di uno e zero (è possibile aggirare comprimendo i dati trasmessi). Per questo motivo molte linee di comunicazione che non forniscono un collegamento galvanico diretto tra il ricevitore e la sorgente non supportano questo tipo di codifica. Pertanto, nelle reti, il codice NRZ viene utilizzato principalmente sotto forma di varie modifiche di esso, in cui vengono eliminati sia la scarsa autosincronizzazione del codice che i problemi della componente costante.

    MLT-3 Multi Level Transmission - 3 (trasmissione multilivello) - un po' simile al codice NRZI, ma a differenza di quest'ultimo ha tre livelli di segnale. L'unità corrisponde alla transizione da un livello del segnale all'altro e la variazione del livello del segnale avviene in sequenza tenendo conto della transizione precedente. Quando si trasmette "zero", il segnale non cambia.

    Questo codice, come NRZI, deve essere pre-codificato. Utilizzato in Fast Ethernet 100Base-TX.

    Codice ternario ibrido (Inglese) russo

    Bit di ingresso Stato precedente
    all'uscita
    Bit di uscita
    0 +
    0
    0
    1 +
    0 +

    4B3T[rimuovi modello]

    Tabella di codifica:

    Tabella di codifica dell'MMS 43
    Ingresso Offset CC accumulato
    1 2 3 4
    0000 + 0 + (+2) 0−0 (−1)
    0001 0 − + (+0)
    0010 + − 0 (+0)
    0011 0 0 + (+1) − − 0 (−2)
    0100 − + 0 (+0)
    0101 0 + + (+2) − 0 0 (−1)
    0110 − + + (+1) − − + (−1)
    0111 − 0 + (+0)
    1000 + 0 0 (+1) 0 − − (−2)
    1001 + − + (+1) − − − (−3)
    1010 + + − (+1) + − − (−1)
    1011 + 0 − (+0)
    1100 + + + (+3) − + − (−1)
    1101 0 + 0 (+1) − 0 − (−2)
    1110 0 + − (+0)
    1111 + + 0 (+2) 0 0 − (−1)

    Tabella di decodifica.

    Conversione del segnale

    Errori di quantizzazione e rumore.

    Quantizzazione di livello, quantizzazione uniforme e non uniforme.

    Conversione del segnale.

    Canale esiste un insieme di mezzi tecnici tra la fonte dei messaggi e il consumatore. I dispositivi tecnici che compongono il canale sono progettati per garantire che i messaggi raggiungano il consumatore nel miglior modo possibile: per questo, i segnali vengono convertiti. Tali utili trasformazioni di segnale sono la modulazione discussa in precedenza e la conversione di segnali continui in segnali discreti. Di conseguenza, i canali sono classificati in base agli stati - continuo e discreto.

    I segnali che trasportano informazioni sullo stato di un oggetto o di un processo sono per loro natura continui, proprio come sono continui i processi stessi. Pertanto, tali segnali sono chiamati analogici, perché sono analoghi al processo o agli stati dell'oggetto che rappresentano. Il numero di valori che un segnale analogico può accettare è infinito. Di conseguenza, anche i canali sui quali vengono trasmessi questi segnali sono analogici.

    Nelle centrali telefoniche automatiche, il compito si riduce spesso alla distinzione tra un numero finito di stati dell'oggetto, ad esempio se un circuito ferroviario è occupato o libero. Per trasmettere questo numero di stati è sufficiente confrontare il segnale ricevuto con qualche segnale di riferimento. Se è più di quello di riferimento, l'oggetto è in uno stato, meno - in un altro. Maggiore è il numero di stati dell'oggetto, maggiori dovrebbero essere i livelli di riferimento.

    D'altra parte, è sufficiente che il consumatore riceva informazioni sullo stato dell'oggetto non continuamente nel tempo, ma periodicamente, e se il periodo di polling è legato al tasso di variazione dello stato dell'oggetto, allora il consumatore non avrà alcuna perdita di informazioni.

    Come risultato di trasformazioni di un segnale continuo, chiamato quantizzazione e campionamento ottenere segnali conteggi, considerati come numeri nell'uno o nell'altro sistema di numerazione. Questi campioni sono segnali discreti. Questi numeri vengono convertiti in combinazioni di codici di segnali elettrici, che vengono trasmessi sulla linea di comunicazione come continui. Se utilizzato come portante a stato costante, si ottiene una sequenza di impulsi video. Se necessario, questa sequenza modula un'oscillazione armonica e ottiene una sequenza di impulsi radio.

    Per codifica si intende la conversione di segnali discreti in una sequenza o combinazione di alcuni simboli. Il simbolo del codice è il segnale elementare , diverso da un altro carattere per punto di codice . Il numero di valori delle caratteristiche del codice è chiamato la base del codice - m... Il numero di caratteri in una combinazione di codici P determina la lunghezza del codice. Se la lunghezza del codice è costante per tutte le combinazioni, il codice è detto uniforme. binario uniforme ( m= 2) codici. Il numero massimo di combinazioni di codici per la codifica uniforme: n= m n.



    Viene chiamata la rappresentazione di segnali continui mediante campioni e campioni - mediante un insieme di simboli modulazione digitale... Di questi, i più comuni sono modulazione del codice a impulsi(PCM) e modulazione delta(DM).

    Considera PCM. Supponiamo di dover trasmettere un segnale continuo con un intervallo di variazione da zero a 15 volt. Riteniamo che sia sufficiente per noi trasferire 16 livelli, ad es. n= 16. Quindi, se m= 2, quindi n= 4. Codifichiamo: 0 V - 0000, 1 V - 0001, 2 V - 0010, 3 V - 0011, ecc. Questi numeri sotto forma di impulsi e pause vengono immessi nella linea di comunicazione, quindi decodificati al ricevitore e convertiti, se necessario, nuovamente in un segnale continuo. La conversione di un segnale continuo in un segnale discreto viene effettuata in dispositivi chiamati convertitori analogico-digitale(ADC), conversioni inverse - nei dispositivi conversione da digitale ad analogico(DAC).

    Quando si utilizza la codifica digitale di informazioni discrete, vengono utilizzati codici di potenziale e impulsi.

    Nei codici potenziali, per rappresentare gli uno e gli zeri logici, viene utilizzato solo il valore del potenziale del segnale e non vengono prese in considerazione le sue cadute, che formano impulsi completi. I codici a impulsi consentono di rappresentare i dati binari o come impulsi di una certa polarità o come parte di un impulso, una potenziale caduta in una certa direzione.

    Requisiti per i metodi di codifica digitale

    Quando si utilizzano impulsi rettangolari per trasmettere informazioni discrete, è necessario scegliere un metodo di codifica che raggiunga contemporaneamente diversi obiettivi:

    Aveva la larghezza dello spettro più piccola del segnale risultante allo stesso bit rate;

    Fornisce la sincronizzazione tra trasmettitore e ricevitore;

    Possedeva la capacità di riconoscere gli errori;

    Possedeva un basso costo di implementazione.

    Uno spettro di segnali più ristretto consente velocità di trasmissione dati più elevate sulla stessa linea (con la stessa larghezza di banda). Inoltre, è spesso necessario che lo spettro del segnale non abbia alcuna componente CC, ovvero la presenza di corrente CC tra il trasmettitore e il ricevitore. In particolare, l'utilizzo di diversi circuiti di isolamento galvanico del trasformatore impedisce il passaggio di corrente continua.

    La sincronizzazione del trasmettitore e del ricevitore è necessaria in modo che il ricevitore sappia esattamente in quale momento è necessario leggere nuove informazioni dalla linea di comunicazione. Questo problema nelle reti è più difficile da risolvere rispetto allo scambio di dati tra dispositivi ravvicinati, ad esempio tra unità all'interno di un computer o tra un computer e una stampante. A brevi distanze, funziona bene un circuito basato su una linea di comunicazione di temporizzazione separata (Fig), in modo che l'informazione venga rimossa dalla linea dati solo al momento dell'arrivo dell'impulso di clock. Nelle reti, l'uso di questo schema causa difficoltà dovute alla disomogeneità delle caratteristiche dei conduttori nei cavi. Su lunghe distanze, una velocità di propagazione irregolare può far sì che l'orologio arrivi molto prima o dopo il segnale di dati corrispondente che un bit di dati viene saltato o riletto. Un altro motivo per cui le reti stanno abbandonando l'uso degli impulsi di clock è quello di risparmiare conduttori in cavi costosi.

    Nelle reti vengono quindi utilizzati codici cosiddetti autosincronizzanti, i cui segnali vengono portati al trasmettitore da un'indicazione dell'istante in cui è necessario riconoscere il bit successivo (o più bit, se il codice è orientato verso più di due stati di segnale). Qualsiasi caduta improvvisa del segnale - chiamata front - può essere una buona indicazione per sincronizzare il ricevitore con il trasmettitore.

    Quando si utilizzano sinusoidi come segnale portante, il codice risultante ha la proprietà di auto-sincronizzazione, poiché un cambiamento nell'ampiezza della frequenza portante consente al ricevitore di determinare il momento in cui appare il codice di input.

    Il riconoscimento e la correzione dei dati distorti è difficile da implementare tramite il livello fisico, quindi, molto spesso questo lavoro viene svolto dai protocolli che si trovano sopra: canale, rete, trasporto o applicazione. D'altro canto, il riconoscimento dell'errore a livello fisico fa risparmiare tempo, poiché il ricevitore non aspetta che il frame completo venga inserito nel buffer, ma lo rifiuta immediatamente al riconoscimento dei bit errati all'interno del frame.

    I requisiti per i metodi di codifica sono reciprocamente contraddittori, pertanto ciascuno dei popolari metodi di codifica digitale considerati di seguito ha i suoi vantaggi e svantaggi rispetto ad altri.

    Codice potenziale senza tornare a zero

    Nella fig. 2.16, a mostra il metodo di codifica potenziale precedentemente menzionato, chiamato anche codifica senza ritorno a zero (NonReturntoZero, NRZ). Il cognome riflette il fatto che quando viene trasmessa una sequenza di unità, il segnale non torna a zero durante un ciclo di clock (come vedremo di seguito, in altri metodi di codifica, in questo caso si verifica un ritorno a zero). Il metodo NRZ è semplice da implementare, ha un buon riconoscimento degli errori (dovuto a due potenziali nettamente differenti), ma non ha la proprietà di auto-sincronizzazione. Quando viene trasmessa una lunga sequenza di uno o zero, il segnale sulla linea non cambia, quindi il ricevitore non è in grado di determinare dal segnale di ingresso i tempi in cui è necessario rileggere i dati. Anche con un generatore di clock ad alta precisione, il ricevitore può commettere un errore durante la raccolta dei dati, poiché le frequenze dei due oscillatori non sono mai completamente identiche. Pertanto, a velocità di dati elevate e lunghe sequenze di uno o zero, un piccolo disadattamento della frequenza di clock può portare a un errore in un intero ciclo e, di conseguenza, a leggere un valore di bit errato.

    Un altro grave inconveniente del metodo NRZ è la presenza di un componente a bassa frequenza, che si avvicina allo zero quando si trasmettono lunghe sequenze di uno o zero. Per questo motivo molti canali di comunicazione che non prevedono un collegamento galvanico diretto tra il ricevitore e la sorgente non supportano questo tipo di codifica. Di conseguenza, il codice NRZ non viene utilizzato nelle reti nella sua forma pura. Tuttavia, vengono utilizzate le sue varie modifiche, in cui vengono eliminate sia la scarsa autosincronizzazione del codice NRZ che la presenza di una componente costante. L'attrattiva del codice NRZ, per cui ha senso migliorarlo, risiede nella frequenza piuttosto bassa dell'armonica fondamentale fo, che è pari a N / 2 Hz, come mostrato nella sezione precedente. Altri metodi di codifica, come Manchester, hanno una frequenza fondamentale più alta.

    Metodo di codifica dell'inversione alternativa bipolare

    Una delle modifiche del metodo NRZ è il metodo di codifica bipolare con inversione alternativa (BipolarAlternateMarkInversion, AMI). Questo metodo (Fig. 2.16, b) utilizza tre livelli di potenziale: negativo, zero e positivo. Per codificare uno zero logico, viene utilizzato un potenziale zero e uno logico è codificato da un potenziale positivo o negativo, mentre il potenziale di ogni nuova unità è opposto al potenziale della precedente.

    Il codice AMI elimina parzialmente i problemi di DC e non di autoscatto insiti nel codice NRZ. Ciò si verifica quando si trasmettono lunghe sequenze di quelli. In questi casi il segnale sulla linea è una sequenza di impulsi bipolari con lo stesso spettro del codice NRZ, che trasmette zeri e uno alternati, cioè senza componente continua e con armonica fondamentale di N/2 Hz (dove N è il bit rate della trasmissione dei dati). Lunghe sequenze di zeri sono pericolose anche per il codice AMI, così come per il codice NRZ: il segnale degenera in un potenziale costante di ampiezza zero. Pertanto, il codice AMI richiede ulteriori miglioramenti, sebbene il compito sia semplificato: non resta che gestire le sequenze di zeri.

    In generale, per diverse combinazioni di bit sulla linea, l'uso del codice AMI determina uno spettro di segnale più ristretto rispetto al codice NRZ e quindi un throughput di linea più elevato. Ad esempio, quando vengono trasmessi uno e zeri alternati, la fondamentale fo ha una frequenza di N / 4 Hz. Il codice AMI fornisce anche alcune possibilità per riconoscere segnali errati. Quindi, la violazione della stretta alternanza della polarità dei segnali indica un falso impulso o la scomparsa dell'impulso corretto dalla linea. Un segnale con polarità errata è chiamato violazione del segnale.

    Il codice AMI utilizza non due, ma tre livelli di segnale sulla linea. Lo strato aggiuntivo richiede un aumento della potenza di trasmissione di circa 3 dB per garantire la stessa affidabilità di ricezione dei bit sulla linea, svantaggio comune dei codici con più stati di segnale rispetto ai codici che distinguono solo due stati.

    Codice potenziale con inversione ad uno

    Esiste un codice simile all'AMI, ma con solo due livelli di segnale. Quando si trasferisce lo zero, trasferisce il potenziale che è stato impostato nel ciclo precedente (cioè non lo cambia) e quando si trasferisce uno, il potenziale viene invertito al contrario. Questo codice è chiamato codice potenziale con inversione a uno.

    (NonReturntoZerowithonesInverted, NRZI). Questo codice è utile nei casi in cui l'uso del terzo livello di segnale è altamente indesiderabile, ad esempio nei cavi ottici, dove vengono riconosciuti stabilmente due stati di segnale - chiaro e scuro. Vengono utilizzati due metodi per migliorare potenziali codici come AMI e NRZI. Il primo metodo si basa sull'aggiunta di bit ridondanti contenenti unità logiche al codice sorgente. Ovviamente in questo caso si interrompono lunghe sequenze di zeri e il codice diventa autosincronizzante per qualsiasi dato trasmesso. Anche la componente costante scompare, il che significa che lo spettro del segnale si restringe ancora di più. Ma questo metodo riduce la larghezza di banda utile della linea, poiché le unità ridondanti di informazioni utente non vengono trasportate. Un altro metodo si basa sulla "miscelazione" preliminare delle informazioni iniziali in modo che la probabilità della comparsa di uno e zero sulla linea si avvicini. I dispositivi, o blocchi, che eseguono tale operazione sono chiamati scrambler (scramble). Durante lo scramble viene utilizzato un algoritmo ben noto, quindi il ricevitore, dopo aver ricevuto i dati binari, li trasmette al descrambler, che ripristina la sequenza di bit originale. I bit in eccesso non vengono trasmessi sulla linea. Entrambi i metodi riguardano la codifica logica, non fisica, poiché non determinano la forma dei segnali sulla linea. Sono esplorati più in dettaglio nella sezione successiva.

    Codice impulso bipolare

    Oltre ai potenziali codici, nelle reti vengono utilizzati anche i codici a impulsi quando i dati sono rappresentati da un impulso completo o da una parte di esso, ovvero da un fronte. Il caso più semplice di questo approccio è un codice di impulso bipolare, in cui uno è rappresentato da un impulso di una polarità e zero è rappresentato dall'altra (Fig. 2.16, c). Ogni impulso dura mezzo battito. Tale codice ha eccellenti proprietà di autosincronizzazione, ma può essere presente una componente costante, ad esempio, quando si trasmette una lunga sequenza di uno o zero. Inoltre, il suo spettro è più ampio di quello dei potenziali codici. Quindi, quando si trasmettono tutti gli zeri o gli uno, la frequenza dell'armonica fondamentale del codice sarà pari a N Hz, che è due volte superiore all'armonica fondamentale del codice NRZ e quattro volte superiore all'armonica fondamentale del codice AMI durante la trasmissione di uno e zero alternati. A causa dello spettro troppo ampio, il codice a impulsi bipolari viene utilizzato raramente.

    Codice di Manchester

    Nelle reti locali, fino a poco tempo fa, il metodo di codifica più diffuso era il cosiddetto codice Manchester (Fig. 2.16, d). Viene utilizzato nelle tecnologie Ethernet e TokenRing.

    Il codice di Manchester utilizza la caduta potenziale, cioè il fronte dell'impulso, per codificare uno e zero. Nella codifica Manchester, ogni barra è divisa in due parti. Le informazioni sono codificate da potenziali cadute che si verificano a metà di ogni ciclo di clock. Uno è codificato dalla pendenza dal livello del segnale basso a quello alto e zero è codificato dalla pendenza inversa. All'inizio di ogni ciclo, può verificarsi una caduta del segnale di sovraccarico se devono essere rappresentati più uno o zeri in una riga. Poiché il segnale cambia almeno una volta per ciclo di trasmissione di un bit di dati, così. Il codice di Manchester ha buone proprietà di autoscatto. La larghezza di banda del codice Manchester è più stretta di quella dell'impulso bipolare. Inoltre non ha una componente costante e l'armonica fondamentale nel peggiore dei casi (quando si trasmette una sequenza di uno o zero) ha una frequenza di N Hz, e nella migliore delle ipotesi (quando si trasmette uno e zero alternati) è uguale a N / 2 Hz, come nei codici AMI o NRZ. In media, la larghezza di banda del codice Manchester è una volta e mezza più stretta di quella del codice bipolare a impulsi e la fondamentale oscilla intorno a 3N/4. Il codice Manchester ha un altro vantaggio rispetto al codice a impulsi bipolari. In quest'ultimo vengono utilizzati tre livelli di segnale per la trasmissione dei dati e in Manchester due.

    Codice potenziale 2B1 Q

    Nella fig. 2.16, e mostra un codice potenziale con quattro livelli di segnale per la codifica dei dati. Questo è un codice 2B1Q, il cui nome riflette la sua essenza: ogni due bit (2B) vengono trasmessi in un ciclo di clock da un segnale che ha quattro stati (1Q). Una coppia di bit 00 corrisponde a un potenziale di -2,5 V, una coppia di bit 01 corrisponde a un potenziale di -0,833 V, una coppia 11 corrisponde a un potenziale di +0,833 V e una coppia 10 corrisponde a un potenziale di + 2,5 V. Questo metodo di codifica richiede misure aggiuntive per combattere lunghe sequenze delle stesse coppie di bit, poiché in questo caso il segnale si trasforma in una componente costante. Con l'interleaving casuale dei bit, lo spettro del segnale è due volte più stretto di quello del codice NRZ, poiché a parità di bit rate il tempo di ciclo è raddoppiato. Quindi, utilizzando il codice 2B1Q, è possibile trasmettere dati sulla stessa linea due volte più velocemente rispetto all'utilizzo del codice AMI o NRZI. Tuttavia, per la sua implementazione, la potenza del trasmettitore deve essere maggiore in modo che i quattro livelli siano chiaramente distinti dal ricevitore sullo sfondo dell'interferenza.

Principali articoli correlati