Grazie Paolo. Si potrebbe tentare l'implementazione di un calcolo ricorsivo, magari usando anche le funzioni di bitshift intrinseche del C, per ottimizzare il codice
Che domanda è? Quando viene deteriorata (basta perdere uno o più bit) il CRC calcolato sarà diverso da quello ricevuto. CRC diverso = errore! Seguirà, presumibilmente, u a richiesta di ritrasmissione.
Ho sempre pensato che il CRC (col quale mi imbatto dal 1977!) fosse la divisione binaria del blocco di dati, inteso come un singolo numero lunghissimo, per il maledetto "polinomio". Tu stesso parli di divisone ma poi, nell'esempio sulla lavagna, usi la XOR. Ho fatto questo semplice conto, esprimenedo i tuoi bit in esadecimale: AAD/B ed il risultato è F8 col resto di 5. Nel tuo conto il risultato è 6. Visto che il CRC non è sempre un concetto preciso (il polinomio viene scelto dall'implementatore, può essere di lunghezza diversa, si può partire con un valore diverso da zero, ecc.) ti chiedo se quelle XOR consecutive dovrebbero operare una divisione oppure se è una tua scelta per l'esempio e se "normalmente" il CRC (mi viene in mente quello del protocollo SNA o dell' X.25) è calcolato con delle XOR.
@@zeppelinmaker Ma, allora, perché ho due diversi risultati? Ho trovato una calcolatrice che effettua anche operazioni su numeri binari e 101010101101/1011 risulta 1111. Se poi moltiplico 1111 * 1011 ottengo 101010101000. 101010101101 - 101010101000 fa 101, cioè 5! Quindi continuo a non capire. A meno che non ti sia perso un bit nell'esempio fatto a mano!
Video veramente interessantissimo e comprensibile malgrado l'argomento. Grande Paolo
Grande Paolo! Meriti più iscritti!
Chiarissime le spiegazioni, come sempre!!! Grazie Paolo , sei un grande!!!
Ciao Paolo, video chiaro e utile, ottima spiegazione del CRC e sua implementazione su Arduino.Grazie.
Grande Paolo,un spiegazione superingegneristica😂😂😂😂😂sei un grande
Grazie per la lezione. Ora, possiamo camminare con le nostre gambe. Saluti e buona serata.
il mitico protocollo Xmodem :) bei tempi le BBS !! 😋 dopo 40 anni capisco come funzionava .. Grande Paolo 👍
Grazie Paolo, sempre ottimi ed interessanti video. 👏👏👏+👍
Grazie Paolo, sempre molto chiaro, esauriente e sintetico. Purtroppo l'audio risulta un po' saturo.
Buon fine settimana
eh lo so. mi sono accorto dopo
Grazie Paolo. Si potrebbe tentare l'implementazione di un calcolo ricorsivo, magari usando anche le funzioni di bitshift intrinseche del C, per ottimizzare il codice
Complimenti sei un grande hai una intelligenza da invidiare
miiiiiii, ma che cervello hai.....complimenti👍
Magari i miei prof avesserò spiegato come te hahahhaha
Ottima, ma sarebbe utile anche vedere la simulazione di quando la trasmissione dei bit viene deteriorata, o no?
Che domanda è? Quando viene deteriorata (basta perdere uno o più bit) il CRC calcolato sarà diverso da quello ricevuto. CRC diverso = errore! Seguirà, presumibilmente, u a richiesta di ritrasmissione.
Ho sempre pensato che il CRC (col quale mi imbatto dal 1977!) fosse la divisione binaria del blocco di dati, inteso come un singolo numero lunghissimo, per il maledetto "polinomio". Tu stesso parli di divisone ma poi, nell'esempio sulla lavagna, usi la XOR. Ho fatto questo semplice conto, esprimenedo i tuoi bit in esadecimale: AAD/B ed il risultato è F8 col resto di 5. Nel tuo conto il risultato è 6. Visto che il CRC non è sempre un concetto preciso (il polinomio viene scelto dall'implementatore, può essere di lunghezza diversa, si può partire con un valore diverso da zero, ecc.) ti chiedo se quelle XOR consecutive dovrebbero operare una divisione oppure se è una tua scelta per l'esempio e se "normalmente" il CRC (mi viene in mente quello del protocollo SNA o dell' X.25) è calcolato con delle XOR.
la divisione binaria di fatto è uno xor
@@zeppelinmaker Ma, allora, perché ho due diversi risultati? Ho trovato una calcolatrice che effettua anche operazioni su numeri binari e 101010101101/1011 risulta 1111. Se poi moltiplico 1111 * 1011 ottengo 101010101000. 101010101101 - 101010101000 fa 101, cioè 5! Quindi continuo a non capire. A meno che non ti sia perso un bit nell'esempio fatto a mano!