# Duplex

Duplex, nelle telecomunicazioni e in informatica, indica una modalità di trasmissione e ricezione di informazioni digitali o analogiche su un canale di comunicazione con caratteristiche tipiche di completa bidirezionalità. Si contrappone, invece, alla modalità simplex, che ha, invece, caratteristiche di monodirezionalità. Si distingue in due modalità: full-duplex (trasmissione bidirezionale simultanea) e half-duplex (trasmissione bidirezionale alternata).
In telefonia è una tecnologia inventata nel 1928 dalla Stipel allo scopo di rendere accessibile il servizio telefonico a più abbonati a costi inferiori. Consisteva nella condivisione di una linea tra due abbonati, che veniva occupata in ingresso o in uscita da uno dei due mediante sollevamento della cornetta microfonica che comandava un relè che escludeva l'altro utente. Al termine della telefonata un breve squillo avvertiva della disponibilità di linea libera.

## Generalità

In particolare in una connessione full-duplex, il mezzo trasmissivo permette di definire due percorsi separati per i due sensi del flusso dati, ovvero non vi è contesa per il suo utilizzo; la modalità full-duplex permette di fatto di raddoppiare la banda passante aggregata del mezzo trasmissivo, ad esempio in una connessione 100BASE-TX full-duplex, entrambi i nodi possono operare alla velocità di 100 Mbit/s, ottenendo di fatto 200 Mbit/s. Complementare alla modalità full-duplex è invece la modalità half-duplex che sta per bidirezionale alternata.
Il termine full-duplex indica quindi la modalità di conversazione in un sistema di telecomunicazioni, ed è la modalità tipica di una conversazione telefonica tradizionale. Significa che i due utenti parlano e ascoltano contemporaneamente, a differenza di quanto avviene in sistemi dotati di tasti parla-ascolta o di sistemi automatici di commutazione del canale (VOX). L'half-duplex ad esempio si realizza invece con i sistemi tipo walkie-talkie.
I sistemi duplex vengono impiegati in quasi tutte le reti di telecomunicazioni, sia per permettere una comunicazione "a due vie" tra le due parti connesse che per avere un "cammino inverso" per il monitoraggio e la regolazione remota di equipaggiamento sul campo.

## Half-Duplex

Un sistema half-duplex fornisce una comunicazione in entrambe le direzioni, ma con la possibilità di usare soltanto una direzione alla volta (non simultaneamente). Quando una parte comincia a ricevere un segnale deve poi aspettare che il trasmettitore interrompa la trasmissione prima di poter rispondere.
Un esempio di sistema half-duplex è un sistema a due parti come quello dei "walkie-talkie" radio, dove una persona deve utilizzare una parola (ad esempio "Passo" o un'altra precedentemente decisa) per indicare la fine della trasmissione, assicurando così che soltanto una delle due parti trasmetta in un dato momento, siccome entrambe usano la stessa frequenza.
Una buona analogia per il sistema half-duplex potrebbe essere una strada a senso unico alternato controllata da semafori su ogni lato. Il traffico può scorrere in entrambi i versi, ma soltanto in un verso alla volta in base ai semafori di controllo. Per questo vi è una contesa per il suo utilizzo; è quindi necessario utilizzare un metodo che permetta la risoluzione della contesa e la riduzione degli errori, cioè un protocollo di arbitrazione per gestire il traffico.
Nelle reti Ethernet (IEEE 802.3) si impiega l'algoritmo CSMA/CD.
Da notare che questa è una delle due definizioni contraddittorie per half-duplex. Questa definizione corrisponde allo standard ITU-T per le comunicazioni Simplex.

## Full-Duplex

Un sistema full-duplex permette la comunicazione in entrambe le direzioni e, diversamente dall'half-duplex, la permette simultaneamente. Le reti telefoniche terrestri sono full-duplex, permettono cioè di parlare e ascoltare nello stesso momento. Una buona analogia per il full-duplex potrebbe essere una strada a due corsie con una corsia per ogni direzione.
Esempi: Telefono, Telefono cellulare, ecc.
Radio bidirezionali possono essere progettate, ad esempio, come sistemi full-duplex che trasmettono su una frequenza e ricevono su un'altra. Questo metodo è anche chiamato duplex a divisione di frequenza. I sistemi di questo tipo possono coprire distanze molto più grandi usando coppie di ripetitori semplici, basandosi sul fatto che le comunicazioni trasmesse su una frequenza viaggiano sempre nella stessa direzione.
Le connessioni Ethernet full-duplex (come ad esempio il comune 100BASE-TX) funzionano utilizzando contemporaneamente due coppie di cavo ethernet incrociato (che si trovano all'interno dell'isolante), dove una coppia viene usata per ricevere i pacchetti, ed una per spedirli verso la periferica collegata (altri protocolli possono usare tutte le quattro coppie presenti nel cavo). Questo rende lo stesso cavo un ambiente "collision-free" (libero da collisioni) e raddoppia teoricamente la banda massima della connessione.
Conclusione: Full duplex significa un tipo di connessione che permette la comunicazione in due direzioni contemporaneamente.
Benefici del full duplex:
* Il tempo non viene sprecato. Nessun pacchetto va ritrasmesso poiché non vi sono collisioni.
* La piena banda è disponibile in entrambe le direzioni perché le funzioni di trasmissione e ricezione sono separate.
* Le stazioni/i nodi non devono aspettare che le altre operazioni di trasmissione siano state completate poiché vi è soltanto un trasmettitore su ciascun doppino.

### Emulazione del full duplex su mezzi fisici condivisi

Dove il Media Access Control (MAC) è usato in reti con protocollo point-to-point (PPP) come le reti dei telefoni cellulari, per suddividere lo stesso canale fisico tra il segnale di andata e quello di ritorno, si possono utilizzare queste tecniche:

#### Time division duplex

Il Time division duplex (TDD, duplex a divisione temporale) è l'applicazione del Time Division Multiplexing per separare i segnali in uscita e in entrata. Emula le comunicazioni full duplex su un collegamento half duplex. Il time division duplex ha notevoli vantaggi nei casi in cui l'asimmetria di velocità di trasmissione tra l'uplink e il downlink è variabile. Quando la quantità di dati da caricare aumenta si può allocare dinamicamente più banda all'uplink, mentre quando diminuisce è possibile toglierne. Un altro vantaggio è che i canali di uplink e downlink radio sono solitamente molto simili nel caso di un sistema il cui canale varia lentamente rispetto al ritmo di trasmissione. Quindi, tecniche trasmissive che necessitano della conoscenza del canale, ad esempio il beamforming, possono sfruttare la reciprocità tra canale uplink e downlink in sistemi TDD.
Esempi di sistemi TDD sono:
* Il modo TDD W-CDMA (per uso casalingo)
* L'interfaccia aerea dell'UMTS-TDD
* Il sistema TD-SCDMA
* DECT
* Il modo WiMAX dell'IEEE 802.16
* Le reti a commutazione di pacchetto half-duplex basate sul carrier sense multiple access, per esempio una rete ethernet a due cavi o gestita con hub, le Wireless local area network e il Bluetooth possono essere considerati sistemi TDD, anche se non hanno una lunghezza fissa per la finestra temporale.

#### Frequency division duplex

L'espressione Frequency division duplex (FDD, duplex a divisione in frequenza) significa che il trasmettitore radio e il ricevitore operano su diverse frequenze. Il termine viene spesso usato dai radioamatori quando un operatore tenta di contattare una stazione ripetitrice. La stazione deve essere in grado di mandare e ricevere una trasmissione nello stesso momento e lo fa alterando leggermente la frequenza a cui trasmette e riceve. Questo modo di operare viene definito "duplex mode" o "offset mode".
Le sotto-bande di uplink e downlink vengono dette separate da una "traslazione in frequenza". Il duplex a divisione di frequenza o frequency duplex è molto più efficiente nel caso di traffico simmetrico. In questo caso infatti il TDD spreca larghezza di banda durante lo scambio tra la modalità di trasmissione e quella di ricezione, ha una latenza interna più grande e potrebbe richiedere una circuiteria più complessa e "assetata" in termini energetici.
Un altro vantaggio della FDD è che rende più semplice ed efficiente la pianificazione delle frequenze radio siccome le stazioni non si "sentono" tra di loro (poiché trasmettono su diverse sotto-bande) e quindi normalmente non interferiscono l'una con l'altra. Al contrario con sistemi TDD bisogna fare attenzione a mantenere bande di guardia tra le stazioni vicine (diminuendo l'efficienza spettrale) o a sincronizzarle in modo che trasmettano e ricevano nello stesso momento (il che aumenta la complessità della rete e i costi e riduce la flessibilità nell'allocazione di banda poiché tutte le stazioni e settori sono forzati ad usare lo stesso rapporto di uplink/downlink).
Esempi di sistemi FDD sono:
* ADSL e VDSL
* La maggior parte di sistemi cellulari, incluse le modalità FDD UMTS/WCDMA
* La modalità FDD IEEE 802.16 WiMax

### Echo cancellation

L'echo cancellation (lett. "cancellazione dell'eco") può implementare comunicazioni full duplex su certi tipi di mezzi condivisi. In questa configurazione entrambi gli apparecchi trasmettono e ricevono sullo stesso mezzo nello stesso momento. Quando viene processato il segnale ricevuto, il transceiver rimuove l'"eco" del segnale che ha trasmesso lasciando, in teoria, soltanto il segnale dell'altro transceiver.
L'echo cancellation è nel cuore degli standard per i modem V.32, V.34, V.56 e V.90.
Esistono echo canceller (cancellatori di eco) sia software che hardware. Possono essere componenti indipendenti di un sistema di comunicazione o integrati nel processore centrale dello stesso. Gli apparecchi che non eliminano gli echi nel sistema non produrranno buone prestazioni full duplex.

## Esempi

* Reti telefoniche
* Reti GSM
* Radio CB
* Internet Relay Chat