How to count changes in binary transmission through channel
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Have a transmitter that transmits 100000 random binary bits through a noisy channel. Is there a function I can use to figure out how many of the bits received have changed? Thanks
0 commentaires
Réponses (1)
Sven
le 15 Nov 2011
Hmmm... does this answer your question, Will?
originalBits = rand(1,100000)>0.5;
returnedBits = transmitSignal(originalBits);
changedBits = xor(originalBits, returnedBits);
errorCount = nnz(changedBits);
errorRatio = errorCount / length(originalBits);
Obviously you need to have the function "transmitSignal", or some other way to get the original signal and the signal that was received into memory. Once you have these two variables, the "xor" command just returns whether a bit had changed or not. Let us know if your question is more specific than this.
As an example, maybe you just want to simulate errors by randomly changing some bits:
bitsToChange = rand(size(originalBits))>0.95;
returnedBits = originalBits;
returnedBits(bitsToChange) = ~returnedBits(bitsToChange);
changedBits = originalBits ~= returnedBits;
errorCount = nnz(changedBits);
errorRatio = errorCount / length(originalBits);
Voir également
Catégories
En savoir plus sur Transmitters and Receivers dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!