Domanda:
Perché l'intervallo delle cifre del transponder è da 0 a 7 anziché da 0 a 9?
Hugo Woesthuis
2017-04-28 01:04:42 UTC
view on stackexchange narkive permalink

Come controllore su IVAO a volte assegno codici come 0168 e scopro in seguito che il codice non è valido. Per me, l'intervallo 0-9 sembra più logico. Perché dobbiamo usare numeri ottali e non decimali?

Possibile duplicato di [Perché i transponder introducono codici invece di utilizzare i numeri di registrazione dell'aeromobile?] (Https://aviation.stackexchange.com/questions/30483/why-do-the-transponders-introduce-codes-instead-of-using -immatricolazione-aeromobile-n)
Sei risposte:
#1
+84
Lnafziger
2017-04-28 01:05:53 UTC
view on stackexchange narkive permalink

Il codice transponder a quattro cifre immesso da un pilota è un numero ottale anziché un numero decimale e nel sistema di numerazione ottale sono valide solo le cifre 0-7.

Per quanto riguarda il perché , internamenteèun numero binario a 12 bit e l'ottale funziona molto bene poiché può essere usato come "scorciatoia" per inserire gruppi di tre cifre binarie alla volta (000 - 111, che è 0-7 in ottale).

Se fosse progettato oggi, con la potenza di calcolo aggiuntiva e la complessità del software disponibile, sarebbe possibile utilizzare un numero decimale anche se fosse archiviato come binario internamente, solo per renderlo più familiare. Al momento in cui è stato creato il sistema, però, cambiare i quadranti imposta direttamente il codice nell'hardware ed eseguire la conversione sarebbe stato molto più complesso / difficile / costoso.

In breve, era conveniente per gli ingegneri e produttori, e solo una stranezza per gli utenti finali, quindi l'hanno lasciata così.

Inoltre, anche se oggigiorno sarebbe possibile utilizzare la codifica decimale, con quadranti che consentono di impostare 0000 ... 4095, sarebbe necessario impedire l'impostazione di 4096 ... 4999 (o 9999 se non si limitava il primo quadrante a 0 ... 4). Utilizzando dial ottali, non è possibile selezionare al di fuori della gamma valida di 0000 ... 7777.
Come nota a margine; Questo è lo stesso motivo per cui gli indirizzi IPv4 contengono 4 0-255 numeri (2 ^ 8 opzioni), gli indirizzi MAC sono scritti come un insieme di coppie esadecimali (2 ^ 8 opzioni nell'intervallo da 00 a FF). Entrambi vengono utilizzati a causa della conversione molto semplice da / a sistema binario. Poiché l'utente non esegue operazioni matematiche con tali indirizzi, non vi è alcun inconveniente.
"Se fosse progettato oggi ..." userebbero codici esadecimali a 24 bit :)
@J.Hougaard Non necessariamente, come ha menzionato Crowley nel suo commento, gli indirizzi IP sono comunemente indicati in decimali anche se sono memorizzati come codici a 24 bit ... :)
@Lnafziger Mi riferivo a mode-S
Voglio dare un voto positivo a questa risposta, ma il suo valore è esattamente 2 ^ 6 e non posso distruggere questo bellissimo numero e osare chiunque lo voti!
#2
+63
mins
2017-04-28 03:16:02 UTC
view on stackexchange narkive permalink

La rappresentazione ottale è un modo economico per gestire piccoli numeri binari

I transponder in modalità A e C inviano il loro ID utilizzando un treno di impulsi di portante non modulato, che può essere visto come una sequenza di bit. Oggi, tali transponder utilizzano 12 impulsi (i transponder S in modalità utilizzano un indirizzo a 24 bit diverso):

enter image description here
Fonte

Gli impulsi sono etichettati A4-A2-A1, B4-B2-B1, C4-C2-C1 e D4-D2-D1 (interleaved in la trasmissione). Sono contenuti all'interno di due impulsi di inquadratura a scopo di sincronizzazione trasmettitore-ricevitore, e c'è un ulteriore impulso X nel mezzo, sempre a 0 oggi, ma usato nei giorni di gloria come dati personalizzati dai produttori (ad esempio per segnalare ad ATC la posizione di un carrello retrattile).

Al transponder deve essere comunicato in qualche modo il valore di ogni bit. Oggi non sarebbe un problema inserire l'ID come numero decimale (compreso tra 0 e 4095), ma quando il transponder fu inventato, decenni prima dell'arrivo di chip programmabili poco costosi, un convertitore affidabile era un dispositivo costoso.

D'altra parte, non era possibile fornire solo i 12 valori utilizzando gli interruttori On / Off:

enter image description here
Esempio di interruttori in miniatura, sorgente

Ovviamente gli errori sarebbero stati numerosi, sia durante la trasmissione vocale dell'ID, sia durante l'inserimento dell'ID.

La soluzione più semplice ampiamente utilizzata quando si ha a che fare con i bit è raggrupparli e associare un singolo simbolo a ogni possibile combinazione nel gruppo.

Sarebbe bene usare gruppi con 10 combinazioni, abbiamo già simboli Da "0" a "9" per rappresentarli. Purtroppo quando si raggruppano i bit per due, si ottengono gruppi con 4 combinazioni ciascuno. Se raggruppiamo per tre bit, i gruppi hanno 8 combinazioni. Per quattro, i gruppi hanno 16 combinazioni, ecc.

Poiché abbiamo a che fare con un numero espresso in radix 2, il numero di simboli da utilizzare è sempre una potenza di due, mai una potenza di 10. Quindi gli ingegneri non avevano scelta in quel momento , che dimenticare i numeri decimali e utilizzare un numero dispari di combinazioni. Ad esempio, raggruppiamo per 2 bit e utilizziamo lettere greche per i 4 simboli richiesti:

enter image description here

Saremmo poveri designer per produrre questo (ad eccezione di un remake di Airplane!), ma hai il principio. Per mantenere il sistema semplice, possiamo usare simboli numerici decimali se abbiamo bisogno di un massimo di 10 simboli e completare con lettere se ne abbiamo bisogno di più. Questo è esattamente ciò che viene fatto quando si scrivono i numeri in ottale (gruppi di 3 bit) e radici esadecimali (gruppi di 4 bit).

Come spiegato in altre eccellenti risposte, i primi transponder avevano solo 6 bit per loro ID, quindi ottale era la scelta sensata e gli ID sono stati presentati come 2 cifre ottali, ad es "75" per rappresentare "111 101". Quando la lunghezza dell'ID è stata estesa, il sistema ottale è rimasto in uso.

Nel caso in cui sei interessato ai dettagli su come viene utilizzato ottale, propongo i dettagli di seguito.


Specifiche tecniche: un numero binario a 12 bit e 4096 valori

Il segnale radio del transponder per la trasmissione dell'ID è composto da 12 impulsi (modalità A / C) che possono essere bassi o alto, questo consente 4096 ( $ 2 ^ {\ small {12}} $ ) combinazioni.

Poiché gli impulsi hanno solo due stati, basso o alto, possiamo riferirli direttamente come un numero binario a 12 bit compreso tra 0 e 4095. Illustriamolo con alcuni valori:

enter image description here

Possiamo aggiungere quanti 0 a sinistra vogliamo (ad esempio per avere 12 bit), come facciamo in decimale: 25 = 025 = 00025.

Rappresentazioni ottali ed esadecimali di numeri binari

Per comodità, di solito sostituiamo gruppi di bit con un equivalente per ridurre il numero di segni utilizzati. È comune utilizzare gruppi di 3 e 4 bit:

enter image description here

Ottale : un gruppo di 3 bit può generare 8 combinazioni, possiamo facilmente sostituire questo gruppo con una singola cifra in radice 8 per coprire queste combinazioni. La radice 8 è denominata numerazione " ottale".

Esadecimale : allo stesso modo un gruppo di 4 bit genera 16 combinazioni (il doppio del numero di combinazioni per un gruppo di 3, in quanto i due valori del bit aggiuntivo possono essere associati a tutte le combinazioni di 3 bit. Possiamo sostituire i 4 bit di un gruppo con una cifra in radice 16. Tale sistema è denominato " esadecimale "numerazione.

enter image description here

Tornando ai nostri esempi, sostituendo i gruppi di bit con i loro equivalenti in radice 8 e 16:

enter image description here

Seleziona quale radice utilizzare

Cosa abbiamo ottenuto finora? Abbiamo iniziato con un Numero a 12 bit, bit raggruppati per 3 o 4, ha ottenuto il valore ottale (da 0000 a 7777) e il valore esadecimale (da 000 a fff), due rappresentazioni dello stesso numero binario.

Quale è la migliore in questo caso? La risposta è stata fornita in altri ottimi post: All'inizio c'erano solo 6 impulsi assegnati per l'ID. Logicamente, erano raggruppati per 3, e ottale era scelto.

Se ci fossero stati 7 impulsi, probabilmente sarebbe stata selezionata la rappresentazione esadecimale, con valori da 00 a 7f.

Da radix a elettromeccanico switch

È facile progettare un interruttore a rotella (rotella) con 8 simboli ottali che gestisca 3 interruttori effettivi per generare 3 segnali elettrici on / off (basso / alto):

enter image description here
Sorgente

Usiamo la posizione angolare della ruota per chiudere o aprire i tre contatti. Ci sono molti progetti per farlo, uno è usare pennelli che ruotano su un disco con tracce conduttive stampate:

enter image description here
Fonte

Gli interruttori forniscono direttamente il gruppo binario. Assemblando quattro interruttori, potremmo fornire al transponder il codice "squawk", ovvero la configurazione binaria per gli impulsi ID.

È facile usare 3 ruote esadecimali con 4 contatti.

Perché non 10 simboli?

Non possiamo raggruppare bit di un numero binario in gruppi che possono avere esattamente 10 combinazioni. Questa proprietà è limitata alla potenza di 2 radix (4, 8, 16, 32 ...)

È stato possibile in seguito, con l'introduzione dei circuiti integrati (semplici come memorie) convertire abbastanza facilmente i decimali binario. Il 74S484 è stato uno di questi circuiti integrati. Potrebbe gestire due input che rappresentano valori decimali (" decimale codificato in binario", BCD) e convertirli in binario puro. Il convertitore per 4 cifre decimali (da 0 a 4095) sarebbe progettato in questo modo, utilizzando 5 di questi circuiti:

enter image description here


Come vedi, è più semplice usare solo 8 simboli ( $ 2 ^ {\ small {3}} $ ) o 16 ( $ 2 ^ {\ small {4}} $ ), e più in generale una potenza di due.

È legittimo pensare di poter utilizzare anche una logica basata su semplici porte booleane (NAND , XOR ...) per gestire la conversione da decimale a binario invece di una memoria. Questo non è evidente a prima vista, ma in realtà richiederebbe un'enorme quantità di gate.

Per essere convinto, ho svolto l'esercizio solo per un singolo bit (su 12) e per solo due ruote decimali su 4. Ho rimosso i dettagli dell'esercizio, ma possono essere visualizzati nella cronologia delle modifiche. Ecco il risultato:

enter image description here

La minimizzazione ha permesso di ridurre il numero di termini (quindi porte) a 10. Tuttavia, questo è solo per un bit e due ruote. A volte non vale la pena affrontare la difficoltà aggiuntiva, specialmente in un momento in cui non c'erano circuiti integrati, attenersi ai decimali.

Ingegnere molto? :) Ottima spiegazione!
Perché diavolo dovresti fare una riprogettazione ora usando una complicata tecnologia degli anni '70 come quella, quando tutto ciò di cui hai bisogno è una semplice tastiera e un microcontrollore - solo \ $ 10 per entrambi, rispetto ad almeno \ $ 50 per le parti per costruire questo pezzo da museo? Questo presumendo che tu possa persino procurarti le parti: il chip 74S484 è fuori produzione da tempo, sebbene ci siano equivalenti più moderni.
@alephzero: Questa è una risposta educativa, deve fornire i concetti, non lo stato dell'arte. A proposito, una "tastiera semplice e un microcontrollore" sono più costosi di quanto si pensi nel mondo dell'aviazione, devi renderli certificati. Questo non è un mondo in cui puoi telefonare ad Apple per dire loro che hai un problema.
Questa è una risposta molto migliore di quella di Lnafziger.
@TylerDurden Credo che dipenda dal livello tecnico del lettore, e questa risposta sarà migliore per una persona più tecnica (come noi) mentre la mia risposta è più adatta per tipi meno tecnici. Quando rispondo a una domanda, uso la complessità appropriata alla domanda originale e la formulazione della sua domanda ha fatto sembrare che non avesse bisogno di questo livello di dettaglio. Buone informazioni per gli altri, però, e ho sicuramente votato su questa risposta per mostrare apprezzamento per le informazioni e lo sforzo che ci ha messo! :)
#3
+9
mongo
2017-04-28 01:07:07 UTC
view on stackexchange narkive permalink

La risposta semplice è che un transponder in modalità A o in modalità C consente 12 bit di dati di identificazione e tre bit possono essere descritti come una cifra ottale. Quindi ci sono quattro cifre ottali, di cui un intervallo compreso tra 0000 e 7777.

La domanda è cambiata, quindi sto completando questa risposta. La convenzione di utilizzare i numeri ottali per i codici dei transponder risale a una precedente implementazione dei transponder che avevano 6 bit di dati di identificazione dell'aeromobile. È stato deciso (credo da qualche COTR in camicia bianca) di utilizzare cifre ottali. Trattare con i computer, ottale o esadecimale sono più facili dei decimali. Successivamente il campo di identificazione dell'aereo transponder divenne 12 bit e la convenzione ottale fu mantenuta. È una convenzione ed è stata mantenuta.

Supplementare: Ricordo un transponder che aveva 6 interruttori a levetta per l'immissione del codice, prima dello standard a 12 bit. Gli interruttori sono stati contrassegnati da tre con 4-2-1 sotto di loro. Prima dell'alfabetizzazione informatica delle masse, una volta si può ipotizzare la selezione di cifre, piuttosto che, ad esempio, esadecimale, presa in considerazione durante lo sviluppo della tecnologia IFF e transponder. Un codice squawk VFR potrebbe essere inserito come 12, che avrebbe 1 interruttore più significativo in alto e il 2 meno significativo in alto. Ricordo che il radar secondario mostra che è uguale a 1200, anche se proveniva da un transponder senza lo standard a 12 bit. 77, o tutte le opzioni erano per le emergenze, e 76 e 75 sono state tutte mappate rispettivamente sui codici 7700, 7600 e 7500 dei giorni nostri.

#4
+9
Greg Bacon
2017-04-28 20:13:15 UTC
view on stackexchange narkive permalink

Risposta breve

L'immissione di codici squawk in ottale o base 8 dove le cifre consentite sono da 0 a 7, rende l ' interfaccia uomo-macchina tra pilota e transponder il più semplice possibile.

Background

I transponder compatibili con la modalità A e la modalità C utilizzano codici di identità o beacon a 12 bit. Ogni bit ha due opzioni, alta o bassa, che corrispondono a un totale di 2 12 = 4.096 rappresentabili ( ie , che rientrano in 12 bit) identificatori, compresi tra 0 e 4095 in base 10, scritti 4095 10 . Ora, non tutti gli identificatori rappresentabili sono validi . Ad esempio, 7500 8 è riservato a situazioni specifiche, ma non è compito del circuito preoccuparsi.

Le quantità che rientrano esattamente in un certo numero di bit non si allineano in modo pulito con potenze di dieci. Considera un ipotetico transponder che accetta quattro cifre decimali da 0000 a 9999 o 10 4 = 10.000 possibili ingressi. Il pilota è più propenso a schiacciare a mano un falso squawk che uno rappresentabile. Questa interfaccia "più semplice" ora ha una condizione di errore che deve affrontare: input rappresentabili e non rappresentabili. Se il pilota digita o gira i quadranti su un valore superiore a 4095, come risponderà il transponder? Dovrebbe lampeggiare una spia di errore che il pilota potrebbe perdere? Come dovrebbe rispondere all'interrogatorio mentre è in cattivo stato? Ritaglia silenziosamente il codice beacon a tutti i bit alti (111 111 111 111 2 = 4095 10 = 7777 8 )? Smettere del tutto di rispondere? Più modalità significano più test e più spese.

Compromessi

"Ah", pensa l'ingegnere intelligente della vecchia scuola. "Niente più pulsanti fantasiosi; daremo al quadrante più a sinistra solo cinque posizioni, da 0 a 4. "Ma per quanto riguarda il secondo quadrante che deve essere 0 quando il primo è 4 ma può essere qualsiasi cifra altrimenti?

Abbiamo dodici bit da riempire. Forse il pilota entra direttamente nel binario. "Cessna 123AB, squawk zero-zero-uno-zero-uno-zero-zero-zero- ..." Immagina la congestione della frequenza con istruzioni, riletture, correzioni e conferme così lunghe.

la memoria dei termini è utile per circa sette elementi, dare o prendere due. Dodici cifre binarie ("bit") sono troppo ingombranti. Altri fattori di 12 sono 6 × 2 e 4 × 3.

Fattorizzare i dodici bit di identità in sei e due significa codici squawk in due quantità da 6 bit (0-63) o sei bit da 2 ( 0-3) pezzi. Immagina di avere a che fare con quadranti a 64 posizioni ai vecchi tempi. Farlo con i tasti decimali ci riporta al problema dei codici non rappresentabili. Sei quadranti ciascuno da 0 a 3 possono funzionare, ma ciò rende i quadranti più piccoli e costringe il pilota ad affrontare il limite della memoria a breve termine, rendendo questa opzione soggetta a errori e quindi meno desiderabile.

Tre gruppi di quantità a 4 bit o esadecimali potrebbero funzionare. Sebbene i valori esadecimali siano compresi tra 0 e 15 10 , una convenzione comune consiste nell'usare le cifre da 0 a 9 e quindi da A a F per le cifre da dieci a quindici. In altre parole, siamo scesi a una cifra per posizione, ma ai vecchi tempi ciò avrebbe significato utilizzare quadranti a 16 posizioni. Oggi, ciò significherebbe sedici pulsanti sulla parte anteriore del transponder. Tuttavia, "Avvicinati, Cessna tree-alpha-bravo che dichiara un'emergenza e strilla foxtrot-charlie-zero per questo charlie foxtrot!" ha qualche valore mnemonico.

The Sweet Spot

Considerando il contrario, abbiamo quattro gruppi di tre bit. In binario, i valori di posizione sono potenze di due (non potenze di dieci come siamo abituati a pensare in decimale). Lavorando con tre bit ciascuno, il valore massimo per ogni cifra del codice beacon è

$$ (1 \ cdot 2 ^ 2 = 4) + (1 \ cdot 2 ^ 1 = 2) + (1 \ cdot 2 ^ 0 = 1) = 7 $$

Qui troviamo diversi vantaggi:

  • I codici Squawk hanno quattro posizioni - facilmente gestibili nella memoria a breve termine.
  • Tutte le cifre sono familiari da 0 a 7, quindi
    • Gli ingressi di selezione hanno solo otto posizioni o
    • Otto pulsanti sono sufficienti.
  • Tutti gli ingressi pilota a quattro cifre sono rappresentabili in Modalità A o Modalità C .
  • Il transponder non deve preoccuparsi di cosa fare con input errati.
Ottima risposta!
#5
+2
Avionics CEng
2018-10-25 02:01:55 UTC
view on stackexchange narkive permalink

I 12 bit erano impostati dalla temporizzazione del sistema e dalla precisione della generazione di impulsi e dalla tecnologia di elaborazione disponibile al momento. Avendo impostato 12 bit avrebbero potuto fare da 0 a 4095 ma ciò avrebbe richiesto interruttori e / o rapporti speciali per il display. Quindi, per mantenere le cose semplici, hanno utilizzato Octal con 4 semplici interruttori a 8 posizioni.

#6
-1
alex
2017-04-28 01:29:55 UTC
view on stackexchange narkive permalink

Nei sistemi informatici, tutto è binario. Ciò è dovuto al circuito logico che ha solo 2 stati, alta e bassa tensione. Per questo motivo, il decimale non sarebbe così semplice da convertire in binario come ottale o esadecimale.

La traduzione da decimale a binario è del tutto banale per qualsiasi sistema informatico (anche il calcolatore più economico può farlo!) - Ma i primi transponder per aerei furono usati verso la fine della seconda guerra mondiale, ben prima che esistessero computer abbastanza piccoli da entrare in un piano e abbastanza affidabile da essere utile per questo tipo di applicazione,
Questi sistemi sono stati progettati molti decenni fa e il sistema rimane invariato per semplicità. Ma tutti i computer sono ancora binari. E il codice macchina non è decimale per questo motivo.
e il calcolo quantistico ti lascerà a bocca aperta se sei un fan del conteggio dei possibili stati [qu] bit :)
@mins Ho sentito parlare di computer analogici, ma non richiedono una sintonizzazione quasi costante per essere precisi?
@alex: Sappiamo come avere tensioni stabili, o clock stabili, con una data precisione. Possiamo usare [amplificatori operazionali] (https://en.wikipedia.org/wiki/Operational_amplifier), [PLL] (https://en.wikipedia.org/wiki/Phase-locked_loop), ecc. Come base.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...