VOLUME 2 ELETTRONICA DIGITALE CAPITOLO 7
|
|
|
- Valeria Gerardina Conte
- 9 anni fa
- Просмотров:
Транскрипт
1 VOLUME 2 ELETTRONICA DIGITALE CAPITOLO 7 ALLEGATO B CODICI BINARI
2 ELETTRONICA DIGITALE 7.B.1 ALLEGATO B CODICI BINARI B.1. Definizioni Un codice eá un insieme convenzionale di regole e di simboli idonei a rappresentare gli elementi di un altro insieme. In elettronica digitale i numeri, le lettere dell'alfabeto e i segni d'interpunzione sono rappresentati con stringhe di bit. Il codice binario eá un insieme di regole che servono per stabilire una corrispondenza biunivoca tra i numeri, le lettere dell'alfabeto, i segni d'interpunzione e le stringhe di bit che li devono rappresentare. Un codice puoá essere cosõá classificato: efficiente; ridondante; pesato; non pesato; a distanza unitaria (o ciclico); autocomplementante. Se la stringa eá lunga n bit, il numero massimo di simboli che si possono rappresentare eá 2 n.seisimbolisono N ˆ 2 n allora tutte le configurazioni binarie sono utilizzate; se N < 2 n alcune configurazioni restano inutilizzate, quindi sono senza significato. Noti gli N simboli da rappresentare, per determinare il numero intero n* di bit necessari si applica la formula: n log 2 N Un codice si dice efficiente se utilizza un numero di bit strettamente necessario, cioeá quando n ˆ n e quindi tutte le 2 n configurazioni sono utilizzate. Un codice si dice ridondante se utilizza un numero di bit superiore a quello strettamente indispensabile, cioeá se n > n. Un codice si dice pesato quando eá possibile stabilire una regola matematica che consenta di determinare la stringa di bit corrispondente al simbolo da rappresentare. Condizione necessaria ma non sufficiente percheâ un codice sia pesato eá che la somma dei pesi sia compresa tra 9 e 15. Se si rispetta questa condizione, sono rappresentate tutte le dieci cifre decimali. Un codice eá non pesato, se non esiste una regola matematica per determinarlo; affincheâ sia noto, eá necessario conoscere l'intera tabella di corrispondenza tra le stringhe di bit e i simboli da rappresentare. Per esempio, il sistema di numerazione binario puoá essere considerato un codice pesato, anche se eá difficilmente utilizzabile percheâ il numero di bit varia continuamente, mentre i circuiti digitali devono lavorare su un numero di bit fisso. Si definisce distanza il numero di bit che varia tra due configurazioni successive. Un codice eá a distanza unitaria quando, tra ogni configurazione e la successiva, cambia un solo bit. Un codice eá autocomplementante quando, invertendo ogni singolo bit (complemento a 1), si ottiene il complemento a 9 del numero decimale rappresentato. Condizione necessaria percheâ un codice pesato sia ad autocomplementazione eá che la somma dei pesi deve essere uguale a 9. I codici possono essere anche classificati come segue: numerici; alfanumerici; per gli errori. B.2. Codici numerici I codici numerici servono a rappresentare i numeri e sono il BCD (8421), AIKEN (o BCD 2421), XS3 (Eccesso 3) e Gray. Il BCD (Binary Coded Decimal, decimale codificato in binario) eá un codice pesato piuá vicino al sistema di numerazione binario. Ogni numero decimale eá rappresentato con un nibble (gruppo di quattro bit), percheâ la cifra 9, che eá la piuá grande della base, necessita di quattro bit per la sua rappresentazione. Delle sedici combinazioni che si possono scrivere con quattro bit, solo dieci sono quelle utilizzate, le altre sei sono combinazioni non utilizzate. Si tratta dunque di un codice ridondante. Partendo dal bit piuá significativo (a sinistra), i pesi sono 8, 4, 2, 1, cioeá multipli di 2 come nel sistema binario naturale. EÁ il codice piuá utilizzato per eseguire le somme e in genere per la rappresentazione dei numeri nell'interfacciamento dei sistemi digitali con periferiche, stampanti o strumenti di misura. Non eá idoneo per le sottrazioni e inoltre, per il numero di bit utilizzato, non eá efficiente. La tab. B.1 riporta le dieci cifre decimali nei tre codici numerici piuá usati. TABELLA B.1 Cifre decimali codificate nei codici numerici. Decimale BCD 8421 AIKEN 2421 XS3 Esempio In tab. B.2 eá rappresentato in BCD il numero decimale intero 359. TABELLA B.2 Il numero decimale 359 in BCD. Decimale BCD
3 7.B.2 ELETTRONICA DIGITALE TABELLA B.3 Il numero decimale 702,58 in BCD. TABELLA B.5 Il numero decimale 3619 nei vari codici. Decimale 7 0 2, 5 8 BCD , Esempio 2 In tab. B.3 eá rappresentato in BCD il numero decimale frazionario 702,58. Il BCD 2421 o AIKEN eá un codice pesato e autocomplementante. Le configurazioni sono riportate in tab. B.4. Rispetto al BCD 8421, l'aiken non eá ridondante, dato che tutte le sedici configurazioni sono utilizzate. Ogni singola cifra decimale eá convertita su quattro bit i cui pesi sono, a partire dal bit piuá significativo, 2, 4, 2, 1. Come si nota dalla tab. B.4, l'aiken, per le cifre decimali da 2 a 7, ammette due notazioni diverse. Il codice pertanto perde la caratteristica della corrispondenza biunivoca tra i numeri decimali e le stringhe di bit. EÁ necessario, ovviamente, stabilire quale delle due configurazioni adottare per i numeri da 2 a 7. La scelta non eá indifferente percheâ il codice eá costruito in modo tale che il complemento a 9 di ogni cifra decimale si ottiene con il suo complemento a 1. Per esempio, se si sceglie per il 7 la configurazione 1101, per il 2 eá obbligatoria la notazione 0010; e cosõá via per le altre coppie di numeri. Il codice Eccesso 3 (XS3) eá non pesato e autocomplementante. EÁ stato ottenuto sommando 3 a ogni configurazione del BCD Dalla tab. B.1 si nota che, anche in questo codice, il complemento a 9 si ottiene invertendo ogni singolo bit; ad esempio, 7 (1010) ha come complemento a 9 il 2 (0101). Il codice XS3 viene utilizzato da alcuni circuiti contatori. Con il codice autocomplementante sono facilitate le operazioni di sottrazione. TABELLA B.4 Codice BCD 2421 o AIKEN. Decimale BCD Decimale BCD AIKEN XS Esempio 3 In tab. B.5 eá rappresentato il numero decimale 3619 nei vari codici. Il codice Gray, non pesato e a distanza unitaria, eá utilizzato per la codifica degli angoli, generalmente nei codificatori meccanici di posizione, realizzati con piste metalliche sulle quali strisciano dei contatti. Con la codifica Gray un solo contatto alla volta commuta da zona isolante a zona conduttrice. Il sistema diventa cosõá insensibile a eventuali false combinazioni che invece si verificano se piuá contatti commutano contemporaneamente. Si ipotizzi che il sistema debba commutare dalla posizione 7 alla posizione 8: nella notazione binaria vuol dire eseguire una transizione da 0111 a Poiche i circuiti reali hanno tempi di commutazione diversi quando passano da 0 a 1 piuttosto che da 1 a 0, il sistema non passa direttamente da 0111 a 1000, ma attraversa una combinazione intermedia: 0111! 0000! Si ha quindi una falsa risposta in corrispondenza di 0000, sequenza che il sistema non ha attraversato. La tab. B.6 riporta il codice Gray su 4 bit. TABELLA B.6 Codice Gray a 4 bit. Decimale Binario Gray
4 ELETTRONICA DIGITALE 7.B.3 B.3. Codici alfanumerici I codici alfanumerici sono strutturati in modo tale da rappresentare lettere (maiuscole e minuscole), numeri, segni di punteggiatura, simboli matematici e speciali, comandi per la trasmissione, la stampa e la separazione dati. Gli standard piuá utilizzati sono ASCII ed EBCDIC. L'ASCII (American Standard Code for Information Interchange) eá lo standard americano per lo scambio di informazioni; eá noto anche come US-ASCII (si pronuncia «ñski» in inglese e «asci» in italiano). EÁ un codice a 7 bit piuá un bit di paritaá (pari o dispari). Proposto nel 1963 come standard di comunicazione per telescriventi, fu in seguito approvato dall'iso (International Organization of Standardization, organismo internazionale di standardizzazione) con ISO 646 (tab. B.7) per tutte le comunicazioni. EÁ stato approvato anche dal CCITT (Consultative Committee International on Telephones and Telegraphy, comitato consultativo internazionale telefonico e telegrafico) che stabilisce gli standard per i modem. Il formato ASCII eá universalmente riconosciuto da tutti i computer, cosa non vera per i testi digitati e formattati con i diversi programmi applicativi in commercio. Qualsiasi computer puoá generare un file ASCII, ad esempio con Blocco Note di Windows o con un applicativo analogo, salvando il file in un formato esclusivamente testuale. TABELLA B.7 Codice ASCII. Colonne: b 7 b 6 b 5! Righe: b 4 b 3 b 2 b 1 # NU DLE SP P Á p 1 SOH DC1! 1 A Q a q 2 STX DC2 `` 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y 10 LF SUB * : J Z j z 11 VT ESC + ; K [ k { 12 FF FS, < L \ l - 13 CR GS - = M ] m } 14 SO RS. > N ^ n 15 SI US /? O --- o DEL Note. NUL (Ctrl-@) = nullo; SOH (Ctrl-A) = inizio intestazione; STX (Ctrl-B) = inizio testo; ETX (Ctrl-C) = fine testo; EOT (Ctrl-D) = fine trasmissione; ENQ (Ctrl-E) = interrogazione; ACK (Ctrl-F) = riconoscimento; BEL (Ctrl-G) = segnale acustico; BS (Ctrl-H) = arretramento di uno spazio; HT (Ctrl-I) = tabulazione orizzontale; LF (Ctrl-J) = interlinea; VT (Ctrl-K) = tabulazione verticale; FF (Ctrl-L) = intermodulo; CR (Ctrl-M) = ritorno carrello; SO (Ctrl-N) = fuori codice; SI (Ctrl-O) = in codice; DLE (Ctrl-P) = modifica collegamento; DC1 (Ctrl-Q) = controllo dispositivo 1 (XON); DC2 (Ctrl-R) = controllo dispositivo 2; DC3 (Ctrl-S) = controllo dispositivo 3 (XOFF); DC4 (Ctrl-T) = controllo dispositivo 4; NAK (Ctrl-U) = riconoscimento negativo; SYN (Ctrl-V) = sincronizzazione a riposo; ETB (Ctrl-W) = fine blocco trasmissione; CAN (Ctrl-X) = cancella; EM (Ctrl-Y) = fine del supporto; SUB (Ctrl-Z) = sostituzione; ESC (Ctrl-[) = fuori codice; FS (Ctrl-\) = separatore insieme dati; GS (Ctrl-]) = separatore di gruppo; RS (Ctrl-^) = separatore di record; US (Ctrl-_) = separatore di unitaá.
5 7.B.4 ELETTRONICA DIGITALE TABELLA B.8 Carattere «a» in codice ASCII. Esempio 4 Bit di colonna Bit di riga b 7 b 6 b 5 b 4 b 3 b 2 b Il codice ASCII con cui viene rappresentata la lettera «a» eá indicato in tab. B.8. I simboli codificati in ASCII possono essere suddivisi in cinque gruppi: lettere minuscole (da 61 HEX a 7A HEX ) e maiuscole (da 41 HEX a 5A HEX ) dell'alfabeto inglese (a b c... A B C...); da notare che la distanza (20 HEX ) tra ogni lettera minuscola e la stessa maiuscola eá costante per facilitare la conversione; cifre decimali ( ); segni d'interpunzione (., ; :?!); simboli aritmetici (+ - * / \ %); segnali di controllo di dispositivi periferici, trasmissione, formato dell'informazione e altre funzioni. Esempio 5 In fig. B.1 eá riportato un tipico formato di comunicazione in ASCII. ISO ha poi diffuso anche un altro standard, chiamato comunemente ASCII esteso, che si diversifica per ogni tipo di alfabeto. L'esigenza nacque dalla necessitaá di codificare i simboli degli alfabeti diversi da quello occidentale. L'ASCII esteso eá codificato su 8 bit e puoá rappresentare 256 caratteri, tra i quali sono compresi i 128 caratteri dell'ascii a 7 bit. Le denominazioni sono le seguenti: ISO (Latin-1) per i linguaggi dell'europa occidentale; ISO (Latin-2) per i linguaggi dell'europa centrale; ISO (Latin/Cirillico) per i caratteri cirillici; altri, anche per le lingue orientali. Il codice EBCDIC (Extended Binary Coded Decimal Interchange Code) eá un'estensione del BCD, strutturato su 8 bit (b 7 b 6 b 5 b 4 = bit di colonna, b 3 b 2 b 1 b 0 = bit di riga), senza bit di paritaá, e puoá codificare 256 caratteri (tab. B.9). Era utilizzato nei sistemi operativi dei minicomputer e dei mainframe dell'ibm. FIGURA B.1 Tipico formato di un dato trasmesso in codice ASCII. TABELLA B.9 Codice EBCDIC A B C D E F 0 NUL DLE DS SP & - ù é ë m { } \ 0 1 SOH DC1 SOS RSP eâ / EÂ a j Ä A J 1 2 STX DC2 FS SYN aã eã AÃ EÃ b k s B K S 2 3 ETX DC3 WUS IR aè eè AÈ EÈ c l t. C L T 3 4 PF RES BYP PN aá eá AÁ EÁ d m u # D M U 4 5 HT NL LF TRN aâ õâ AÂ IÂ e n v E N V 5 6 LC BS EOB NBS aä õã AÄ IÃ f o w } F O W 6 7 DEL POC ESC EOT aê õè AÊ IÈ g p x 1 / 4 G P X 7 8 GE CAN SA SBS cë õá CË IÁ h q y 1 / 2 H Q Y 8 9 RLF EM SFE IT n û NÄ Á i r z 3 / 4 I R Z 9 A SMN UBS SM RFF [ ] - : «a : SHY B VT CU1 CSP CU3. $, #» ë oã uã OÃ UÃ C FF IFS MFA DC4 < * ñ ± oè uè OÈ UÈ D CR IGS ENQ NAK ( ) _ Â yâ cëc YÂ.. oá uá OÁ UÁ E SO IRS ACK + ; > = á ' oâ uâ OÂ UÂ F SI IUS BEL SUB! ^? '' 1 6 oä yè OÄ EO
6 ELETTRONICA DIGITALE 7.B.5 Esempio 6 Il codice EBCDIC con cui viene rappresentata la lettera «a» eá indicato in tab. B.10. TABELLA B.10 Carattere «a» in EBCDIC. B.4. Codici a controllo di errore Le cause di errori nelle stringhe di bit possono essere due: variazioni indesiderate di tensione in fase di memorizzazione, rumore sul canale nei sistemi di trasmissione a distanza. Ne consegue che un 1 puoá trasformarsi in uno 0 e uno 0 puoá trasformarsi in un 1. La possibilitaá che un canale introduca un errore nella trasmissione di un dato eá studiato con la teoria della probabilitaá. Si definisce capacitaá di un canale il numero di bit (del dato) che puoá transitare nell'unitaá di tempo. Se un trasmettitore genera messaggi a un ritmo inferiore alla capacitaá del canale, esiste un sistema di codifica tale che la probabilitaá di errore puoá essere piccola a piacere. Viceversa se il ritmo con cui vengono generati i messaggi eá superiore alla capacitaá del canale, non saraá possibile trasmettere i messaggi senza errori. Un canale si definisce simmetrico se la probabilitaá che un 1 si trasformi in uno 0 eá uguale alla probabilitaá che uno 0 si trasformi in un 1. Un'ulteriore ipotesi eá che gli errori siano tutti eventi indipendenti tra loro. Ogni canale eá caratterizzato da un parametro BER (Bit Error Rate) definito come rapporto tra il numero di bit errati e il numero di bit trasmessi. In genere il BER eá compreso tra 10 7 e 10 3, valori che apparentemente sembrerebbero trascurabili, ma nell'esempio 7 si dimostra proprio che anche un BER ˆ 10 7 non eá affatto un valore irrilevante. Esempio 7 Bit di colonna Bit di riga b 7 b 6 b 5 b 4 b 3 b 2 b 1 b Assegnato un canale con una velocitaá di trasmissione di bit/s, si vuole calcolare il numero medio di bit errati in un secondo, supponendo un BER = 10 ±7. Indicando con N il numero bit errati e con v la velocitaá di trasmissione, si ha N ˆ vber ˆ ˆ 10 3 bit=s da cui si deduce che un canale, caratterizzato da un errore di trasmissione di un bit ogni dieci milioni di bit trasmessi BER ˆ 10 7, quindi estremamente basso, commette un errore di mille bit in un secondo. EÁ possibile ridurre la probabilitaá di errore sui bit del dato utilizzando tecniche di codifica di canale, che consiste nell'aggiungere bit di ridondanza al dato da trasmettere. In ricezione la presenza dei bit di ridondanza permette di rilevare e/o correggere i bit errati nella trasmissione del messaggio. La codifica di canale non riduce la probabilitaá di errore in trasmissione (errore che eá dovuto unicamente al rumore presente sul canale), ma riduce gli errori sul dato in ricezione. L'inconveniente della codifica di canale consiste proprio nella ridondanza, cioeá nella trasmissione di bit non appartenenti al dato e quindi nella necessitaá di un tempo maggiore per la trasmissione, e nella maggiore complessitaá circuitale. I codici a controllo di errore possono essere di due tipi: rilevatori di errori, cioeá codici in grado di rilevare la presenza di un errore, ma non di correggerlo; correttori di errori, cioeá codici in grado di rilevare i bit errati e di correggerli. I codici a controllo di errore sono finalizzati alla ricerca dell'errore singolo. Infatti la probabilitaá che si verifichi un errore singolo, ovvero che un solo bit del dato in trasmissione sia errato, eá di gran lunga superiore alla probabilitaá che si verifichi un errore doppio, ovvero che due bit siano errati contemporaneamente. Gli errori multipli, cioeá piuá di due bit errati contemporaneamente, hanno ovviamente probabilitaá molto piuá bassa rispetto all'errore doppio e quindi a quello singolo. La strategia di impiego dei codici puoá essere di due tipi: ARQ (Automatic Repeat and request); FEC (Forward Error Correction). La strategia ARQ utilizza il codice per rilevare la sola presenza dell'errore nel dato ricevuto. In presenza di errore e non essendo in grado di correggerlo, il ricevitore chiede al trasmettitore di ritrasmettere il messaggio. Questa operazione necessita di un canale di ritorno, come mostrato in fig. B.2 Quando non eá possibile la ritrasmissione del messaggio, si utilizza la strategia FEC, cioeá il codice viene utilizzato per rilevare l'errore e per FIGURA B.2 Struttura hardware per strategia ARQ.
7 7.B.6 ELETTRONICA DIGITALE FIGURA B.3 Struttura hardware per strategia FEC. correggere il bit errato. L'architettura del sistema con strategia FEC eá indicata in fig. B.3 I codici a controllo di errore si possono classificare in base al modo con cui si inseriscono nel dato i bit di ridondanza. Si possono dividere in due grandi categorie: a blocchi; convoluzionali. I codici a blocchi sono cosõá definiti percheâ ogni parola (o blocco) eá composta da k bit del messaggio e q bit di ridondanza: n = k + q. Ogni blocco non ha una correlazione con gli altri blocchi e per questo motivo sono chiamati codici senza memoria. Sono noti anche come codici (n, k). I codici convoluzionali, invece, sono strutturati in modo tale da non generare parole indipendenti l'una dall'altra, ma da generare bit che influenzano anche gli altri bit della sequenza trasmessa. I codici a blocchi possono essere: lineari; non lineari; sistematici. I codici a blocchi si definiscono lineari quando la somma di due parole del codice produce un'altra parola che fa parte ancora del codice. I codici a blocchi si definiscono sistematici quando, in ogni parola del codice, i bit del messaggio sono posizionati all'inizio e i bit di controllo sono posizionati alla fine (tab. B.11). TABELLA B.11 Struttura di un codice a blocchi sistematico. I codici a blocchi lineari possono essere: a paritaá (pari o dispari); a ripetizione; Hamming. Bit del messaggio Bit di controllo Parola del codice b 1 b 2... b k c 1 c 2... c n-k I piuá utilizzati per la sola rilevazione dell'errore singolo sono i codici a controllo di paritaá. Hanno un grado minimo di ridondanza; infatti, ai bit della parola del codice viene aggiunto un solo bit di controllo, scelto in modo da ottenere parole tutte caratterizzate dalla stessa paritaá pari (even parity) o paritaá dispari (odd parity). In tab. B.12 eá riportato il codice BCD con il bit di paritaá pari e dispari. EÁ indifferente la posizione del bit di paritaá: puoá essere posizionato in testa o in coda. Tuttavia eá importante che anche il ricevitore ne conosca la posizione per ricostruire il dato trasmesso. Un codice a controllo di paritaá non ha capacitaá correttiva e puoá rilevare solo un numero dispari di errori. Quando la parola del codice arriva al ricevitore TABELLA B.12 Codice BCD con bit di paritaá. Decimale BCD ParitaÁ pari ParitaÁ dispari si possono verificare due casi: la paritaá (pari o dispari) risulta violata ma il ricevitore non eá in grado di effettuare la correzione del bit errato, che potrebbe essere quello del messaggio o quello di paritaá; sono possibili allora due strategie: la semplice segnalazione dell'errore oppure la richiesta di ritrasmissione del messaggio (strategia ARQ); la paritaá risulta violata ma l'errore eá stato doppio o quadruplo; in questo caso il ricevitore non eá in grado di segnalare l'errore. Il codice a controllo di paritaá conferisce una buona immunitaá dall'errore singolo. Il codice a ripetizione eá un codice a blocchi (n, k) lineare e sistematico. Ogni bit del messaggio viene trasmesso n volte; i bit di ridondanza sono q ˆ n 1, quindi eá un codice (n, 1). Esempio Supponiamo di voler trasmettere il messaggio 1011 con n ˆ 3. In tab. B.13 eá mostrato un esempio di messaggio errato arrivato in ricezione. Si sono verificati quindi tre errori. TABELLA B.13 Dato trasmesso con codice a ripetizione. Messaggio Messaggio trasmesso Messaggio ricevuto
8 ELETTRONICA DIGITALE 7.B.7 In funzione del sistema di codifica/decodifica adottato, eá possibile, dopo aver rilevato gli errori, adottare una delle seguenti strategie: ARQ, cioeá chiedere al trasmettitore di inviare nuovamente il messaggio; FEC, cioeá correggere i bit errati. Nel caso di strategia FEC, la ricostruzione del dato avviene di solito con decisione a maggioranza. Se n eá il numero di bit del blocco trasmesso (nell'esempio precedente, trattandosi di terne, era n ˆ 3), si considerano n 1 =2 ibit corretti. Pertanto se n ˆ 3, due bit del blocco si considerano corretti, mentre il terzo eá considerato errato, quindi da cambiare. Se si verificano due o tre errori nello stesso blocco non eá possibile la correzione. Naturalmente, all'aumentare del numero n di bit di ogni blocco diminuisce la probabilitaá di errore, ma aumenta il tempo di trasmissione. Per distanza si intende il numero di bit di cui differiscono tra loro due parole consecutive di un codice. Ad esempio, nel caso del codice BCD, il passaggio da 0 a 1 comporta il cambiamento di un solo bit, quindi la distanza eá uno. Nel passaggio da 7 a 8 cambiano tutti i quattro bit, percioá la distanza eá quattro. Vi sono poi situazioni intermedie. Si definisce distanza di Hamming la distanza minima d H tra due parole consecutive di un codice. In generale la distanza di Hamming per i codici vale uno. Ci sono alcuni codici in cui questa distanza eá superiore a uno. Per esempio, nel BCD con controllo di paritaá (tab. B.12) la distanza di Hamming vale due. Si deduce che se si presenta un solo bit errato, non appartenendo la nuova parola al codice, si puoá rivelare l'errore. La regola generale eá la seguente: se il numero e di bit errati per ogni dato eá minore della distanza di Hamming e < d H allora eá possibile rivelare l'errore. Se invece e d H non eá possibile rivelare gli errori. La capacitaá rivelativa di un codice eá d H 1. Se risulta che e < d=2, eá possibile correggere la parola sostituendola con quella piuá vicina appartenente al codice. Se invece risulta e d=2, la correzione non eá possibile percheâ la parola piuá vicina potrebbe non essere quella trasmessa. La regola generale per valutare la capacitaá correttiva di una codice eá la seguente: d H 2e 1. In ogni codice i bit di paritaá vengono posti in una posizione che dipende dall'azione che devono svolgere. Nel codice di Hamming, ad esempio, i bit di paritaá sono posti in una posizione tale da consentire di individuare esattamente il bit errato nella trasmissione. Se il dato da trasmettere eá a n bit, il codice Hamming introduce k bit di paritaá tali da soddisfare la relazione: 2 k k n 1 Per n ˆ 4, che eá il caso dei codici numerici, la relazione eá verificata se k ˆ 3. La posizione dei bit di paritaá eá indicata in tab. B.14. I bit del messaggio appaiono sempre in piuá TABELLA B.14 Posizione dei bit di controllo nel codice Hamming. Posizione Composizione messaggio b 4 b 3 b 2 c 3 b 1 c 2 c 1 Note. Bit del dato da trasmettere = b 4 b 3 b 2 b 1 ; c 1 = bit di controllo di paritaá sulla terna = b 4 b 2 b 1 ; c 2 = bit di controllo di paritaá sulla terna = b 4 b 3 b 1 ; c 3 = bit di controllo di paritaá sulla terna = b 4 b 3 b 2. controlli di paritaá, mentre i bit di controllo in una sola prova. In tab. B.15 eá riportato lo schema di individuazione dei bit errati in funzione della combinazione c 3 c 2 c 1. Il codice Hamming rileva errori singoli e doppi, ma eá in grado di correggere soltanto errori singoli. La presenza di un errore doppio, infatti, induce il decodificatore a una non corretta segnalazione di errore singolo e pertanto la relativa correzione comporta un ulteriore errore. TABELLA B.15 Bit errato individuato con codice Hamming. c 3 c 2 c 1 Decimale Esempio 9 Si supponga di voler trasmettere il dato BCD 0111 e di scegliere la paritaá pari. Ipotizzando un errore in ricezione del bit b 3, si vuole verificare se il codice sia in grado di rilevare e correggere il bit errato. I due messaggi, quello trasmesso e quello ricevuto, sono riportati in tab. B.16. Nella fase di codifica vengono assegnati i valori ai bit di paritaá: b 4 b 2 b 1 ˆ 0 1 1; c 1 ˆ 0; b 4 b 3 b 1 ˆ 0 1 1; c 2 ˆ 0; b 4 b 3 b 2 ˆ 0 1 1; c 3 ˆ 0. Il decodificatore esegue le tre prove di paritaá pari sui seguenti gruppi: C 1 ˆ 7531ˆ b 4 b 2 b 1 c 1 ˆ 0110ˆ 0; C 2 ˆ 7632ˆ b 4 b 3 b 1 c 2 ˆ 0010ˆ 1; C 3 ˆ 7654ˆ b 4 b 3 b 2 c 3 ˆ 0010ˆ 1. Posizione bit errato Nessuno (c 1 ) (c 2 ) (b 1 ) (c 3 ) (b 2 ) (b 3 ) (b 4 ) La terna C 3 C 2 C 1 ˆ indica il bit sei (b 3 ) come errato, quindi il suo valore viene corretto. TABELLA B.16 Esempio di messaggio errato. Posizione Composizione messaggio Messaggio trasmesso Messaggio errato ricevuto b 4 b 3 b 2 c 3 b 1 c 2 c
9 7.B.8 ELETTRONICA DIGITALE Esempio 10 Si vuole risolvere il problema precedente con la paritaá dispari. Nella fase di codifica vengono assegnati i valori ai bit di paritaá: b 4 b 2 b1 ˆ 0 1 1; c 1 ˆ 1; b 4 b 3 b 1 ˆ 0 1 1; c 2 ˆ 1; b 4 b 3 b 2 ˆ 0 1 1; c 3 ˆ 1. Il decodificatore esegue le tre prove di paritaá dispari sui seguenti gruppi: C 1 ˆ 7531ˆ b 4 b 2 b 1 c 1 ˆ 0111ˆ 0; C 2 ˆ 7632ˆ b 4 b 3 b 1 c 2 ˆ 0011ˆ 1; C 3 ˆ 7654ˆ b 4 b 3 b 2 c 3 ˆ 0011ˆ 1. La terna C 3 C 2 C 1 ˆ indica il bit sei (b 3 ) come errato. TABELLA B.17 Esempio di codice Hamming. Posizione Composizione messaggio b 4 b 3 b 2 c 3 b 1 c 2 c 1 Messaggio trasmesso Messaggio errato ricevuto Esempio 11 Si supponga di voler trasmettere il dato BCD 1000 e di scegliere la paritaá pari (tab. B.17). Ipotizzando un errore in ricezione sul bit c 2, si vuole verificare che il codice sia in grado di rilevare e correggere il bit errato. Si assegnano i valori ai bit di controllo: b 4 b 2 b 1 ˆ 1 0 0; c 1 ˆ 1; b 4 b 3 b 1 ˆ 1 0 0; c 2 ˆ 1; b 4 b 3 b 2 ˆ 1 0 0; c 3 ˆ 1. Il decodificatore esegue le tre prove di paritaá pari: C 1 ˆ 7531ˆ b 4 b 2 b 1 c 1 ˆ 1001ˆ 0; C2 ˆ 7632ˆ b 4 b 3 b 1 c 2 ˆ 1001ˆ 1; C3 ˆ 7654ˆ b 4 b 3 b 2 c 3 ˆ 1001ˆ 0. La terna C 3 C 2 C 1 ˆ indica il bit due (c 2 ) come errato. Esempio 12 Si vuole trasmettere il messaggio 1001 con la codifica della paritaá pari, ipotizzando che in ricezione vi siano due bit errati, c 2 e b 3 (tab. B.18). Si assegnano i valori ai bit di controllo: b 4 b 2 b 1 ˆ 1 0 1; c 1 ˆ 0; b 4 b 3 b 1 ˆ 1 0 1; c 2 ˆ 0; b 4 b 3 b 2 ˆ 1 0 0; c 3 ˆ 1. TABELLA B.18 Esempio di codice Hamming. Posizione Composizione messaggio b 4 b 3 b 2 c 3 b 1 c 2 c 1 Messaggio trasmesso Messaggio errato ricevuto Il decodificatore esegue le tre prove di paritaá pari: C 1 ˆ 7531ˆ b 4 b 2 b 1 c 1 ˆ 1010ˆ 0; C 2 ˆ 7632ˆ b 4 b 3 b 1 c 2 ˆ 1111ˆ 0; C 3 ˆ 7654ˆ b 4 b 3 b 2 c 3 ˆ 1101ˆ 1. La terna C 3 C 2 C 1 ˆ 100indicacomeerratoilbit quattro (c 3 ).
La codifica dei caratteri di un testo
La codifica dei caratteri di un testo L obiettivo è quello di comunicare con il calcolatore usando il nostro linguaggio. Dobbiamo rappresentare le lettere dell alfabeto L insieme di simboli comunemente
La Rappresentazione dell Informazione
La Rappresentazione dell Informazione Parte III I codici Codici a.a. 27-28 Un codice è una funzione che associa ad una sequenza di simboli un significato Codice : {entità} {sequenze di simboli} Un codice
Floating-point: mantissa La mantissa e codicata in modulo e segno su 24 bit, la mantissa e sempre normalizzata nella forma 1:XXXXX si rappresenta solo
Rappresentazione in oating-point Utilizzata per rappresentare numeri frazionari nella notazione esponenziale: numero =(mantissa) 2 esponente Il formato piu utilizzato e quello IEEE P754, rappresentato
Elementi di informatica
Elementi di informatica problema della rappresentazione dei valori delle informazioni la rappresentazione deve essere effettuata attraverso un insieme finito di simboli disponibili il numero di simboli
CODIFICA DELL INFORMAZIONE E CODICI BINARI
Codifica dell informazione 1 CODIFICA DELL INFORMAZIONE E CODICI BINARI Andrea Bobbio Anno Accademico 2001-2002 Codifica dell informazione 2 La codifica dell informazione I sistemi di elaborazione operano
Tabella dei codici ASCII standard
Tabella dei codici standard 0 00000000 0 nul 43 00101011 2B + 86 01010110 56 V 1 00000001 1 soh 44 00101100 2C, 87 01010111 57 W 2 00000010 2 stx 45 00101101 2D - 88 01011000 58 X 3 00000011 3 etx 46 00101110
Introduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
Andrea Bobbio CODIFICA DELL'INFORMAZIONE E CODICI BINARI Anno Accademico 1996-1997 1 Codiæca dell'informazione 2 La codiæca dell'informazione sistemi di elaborazione operano al loro interno soltanto I
Sistemi di numerazione e codici. Capitolo 1
Sistemi di numerazione e codici Capitolo 1 Generalità Sistema di numerazione n Insieme di simboli (cifre) e regole stringa di cifre valore numerico codici posizionali (il valore dipende dalla posizione
Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Tipi di dati Informatica Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle
Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano
Rappresentazione di dati: caratteri Appunti a cura del prof. Ing. Mario Catalano 1 Rappresentazione di caratteri Tipologia di caratteri: alfabeto e interpunzioni: A, B,.., Z, a, b,.., z, ;, :,,.. cifre
R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010
1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono
1.2d: La codifica Digitale dei caratteri
1.2d: La codifica Digitale dei caratteri 2 Bibliografia Curtin, 3.6 (vecchie edizioni) Curtin, 2.5 (nuova edizione) CR pag. 9-14 Questi lucidi 3 La codifica dei caratteri Un testo è rappresentato attraverso
Numeri e caratteri in binario. Prof.ssa Antonella Serra
Numeri e caratteri in binario SISTEMI DI NUMERAZIONE Viene definito sistema di numerazione o numerazione l'insieme delle regole e dei simboli per rappresentare i numeri. Assumono particolare caratteristica
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche
1.2d: La codifica Digitale dei caratteri
1.2d: La codifica Digitale dei caratteri 2 12 ott 2011 Bibliografia Curtin, 3.6 (vecchie edizioni) Curtin, 2.5 (nuova edizione) CR pag. 9-14 Questi lucidi 3 12 ott 2011 La codifica dei caratteri Un testo
Codifica dell Informazione
Francesco Folino CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati e istruzioni in un formato tale che l esecutore automatico
La codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
La rappresentazione delle informazioni
La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare
Codifica dell Informazione
Introduzione all Informatica Fabrizio Angiulli Codifica dell Informazione CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati
Codifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
Rappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
La codifica binaria. Fondamenti di Informatica. Daniele Loiacono
La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni
modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
La codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
I.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
Somma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
Codifica dell Informazione
Codifica dell Informazione Programmazione - Michele Colajanni, 2003/2004 1 Esempi di segnali binari levetta: alta/bassa contatto: aperto/chiuso lampadina: accesa/spenta tensione elettrica: High/Low cristallo
Cap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
10.. Codici correttori d errore. Modulo TLC:TRASMISSIONI Codici correttori d errore
10.. Codici correttori d errore Codici correttori d errore 2 Obiettivi: correggere o rivelare errori nella trasmissione di sequenze numeriche (sequenze di simboli, usualmente binari) Correzione di errore
Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano
Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze
La codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
2.1 Rappresentazione binaria dell informazione I Interruttore I 0 alto 1 1 basso 0
Capitolo 2 Bit 2. - Rappresentazione dell informazione 2.2 Codici binari 2.3 - Trasmissione dell informazione 2.4 - Protezione dell informazione Descrizione dei segnali Variabili binarie Bit (binary digit)
Rappresentazione e Codifica dell Informazione
Rappresentazione e Codifica dell Informazione Capitolo 1 Chianese, Moscato, Picariello, Alla scoperta dei fondamenti dell informatica un viaggio nel mondo dei BIT, Liguori editore. Sistema di numerazione
Rappresentazione dell informazione
Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito
Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.
Codifica di Dati e Istruzioni Fondamenti di Informatica Codifica dell Informazione Prof. Francesco Lo Presti Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare
Codifica di canale. (dalle dispense e dalle fotocopie) Trasmissione dell Informazione
Codifica di canale (dalle dispense e dalle fotocopie) Codici lineari a blocchi Un codice lineare (n,k) è un codice che assegna una parola lunga n ad ogni blocco lungo k. Si dice che il codice abbia un
Tipi di elaboratori Rappresentazione della informazione Codifica della informazione
Contenuti del corso Introduzione all informatica L elaboratore Tipi di elaboratori Rappresentazione della informazione Codifica della informazione HW dell elaboratore SW dell elaboratore 1 Tipi di Elaboratori
Rappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
Informatica (A-K) 3. Aritmetica del Computer
Esempi - 1 Informatica (A-K) 3. Aritmetica del Computer Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi In qualsiasi base, l essere il sistema di numerazione
Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN [email protected]
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN [email protected] Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1
Rappresentazione dell Informazione Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1 Il bit Si consideri un alfabeto di 2 simboli: 0, 1 Che tipo di informazione si può rappresentare
Calcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
Rappresentazione di dati: caratteri di testo. Appunti a cura del prof. Ing. Mario Catalano
Rappresentazione di dati: caratteri di testo Appunti a cura del prof. Ing. Mario Catalano Come si presenta un testo di un documento da un programma di videoscrittura Testo formattato Per migliorare la
LETTORE BARCODE V 2.1 EN MANUALE UTENTE
LETTORE BARCODE V 2.1 EN MANUALE UTENTE INSTALLAZIONE LETTORE Connessione PS-2 Connessione RS-232 (Necessita di alimentatore 5V) 1 INSTALLAZIONE LETTORE Connessione USB 2 COME USARE IL MANUALE Per impostare
Guida di riferimento dei codici a barre
Guida di riferimento dei codici a barre Versione 0 ITA 1 Introduzione 1 Panoramica 1 1 Questa guida di riferimento contiene informazioni sulla stampa dei codici a barre attraverso l invio diretto di comandi
La codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi
