Pack K Bits: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
Converts a stream of bytes with 1 bit in the LSB to a byte with K relevant bits. | Converts a stream of bytes with 1 bit in the LSB to a byte with K relevant bits. | ||
In other words, it packs K unpacked bits (one bit per byte) into a single packed byte containing K bits and 8 - K zeros. | In other words, it packs K unpacked bits (one bit per byte, since the byte is the smallest item size in GNU Radio) into a single packed byte containing K bits and 8 - K zeros. | ||
This block takes in K bytes at a time, and uses the least significant bit to form a new byte. | This block takes in K bytes at a time, and uses the least significant bit to form a new byte. | ||
Example: K = 4 in = [0,1,0,1, 0x81,0x00,0x00,0x00] out = [0x05, 0x08] | Example: K = 4 in = [0,1,0,1, 0x81,0x00,0x00,0x00] out = [0x05, 0x08] |
Revision as of 23:18, 3 May 2019
Converts a stream of bytes with 1 bit in the LSB to a byte with K relevant bits.
In other words, it packs K unpacked bits (one bit per byte, since the byte is the smallest item size in GNU Radio) into a single packed byte containing K bits and 8 - K zeros.
This block takes in K bytes at a time, and uses the least significant bit to form a new byte.
Example: K = 4 in = [0,1,0,1, 0x81,0x00,0x00,0x00] out = [0x05, 0x08]