Difference between revisions of "Pack K Bits"

From GNU Radio
Jump to: navigation, search
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.
  
More specifically, 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) 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) 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]