Effacer les filtres
Effacer les filtres

Taking the first bit (i.e. even vs odd)

1 vue (au cours des 30 derniers jours)
Eliza
Eliza le 17 Déc 2020
Commenté : Eliza le 18 Déc 2020
Hi.
I need to read a binary data file with this information: 3600000 Samples, 8-Bits, Start Location: 112. I used the command '*uint8'.
But I have to take the first bit (i.e. even vs odd) to convert to binary 0-1 from each of the 1000 bytes. Then down sampling from 1000 to 200, by taking every 5th bit.
Can you help with that, please?

Réponse acceptée

Ameer Hamza
Ameer Hamza le 17 Déc 2020
Modifié(e) : Ameer Hamza le 17 Déc 2020
Why not take the last bit of every fifth byte, to begin with. For example, something like this
f = fopen('filename.bin', 'r');
data = fread(f, inf, '*uint8');
data_5 = data(1:5:end);
bits = rem(data_5, 2);
  2 commentaires
Ameer Hamza
Ameer Hamza le 17 Déc 2020
rem(data_5, 2) return 0 if number is even and 1 if number is odd. So it is essentially giving the least significant bit in the numbers, which is what you want according to the question.
Eliza
Eliza le 18 Déc 2020
Thank you so much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown 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!

Translated by