Unpack K Bits: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(Created page with "Category:Block Docs Opposite of Pack K Bits make(unsigned int k) -> unpack_k_bits_bb_sptr Converts a byte with k relevant bits to k output bytes with 1 bit in...")
 
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
Opposite of [[Pack K Bits]]
Opposite of [[Pack K Bits]] - Converts a byte with k relevant bits to k output bytes with 1 bit each, located in the LSB.


make(unsigned int k) -> unpack_k_bits_bb_sptr
In other words, this block picks the K least significant bits from a byte, and expands them into K bytes of 0 or 1.
        Converts a byte with k relevant bits to k output bytes with 1 bit in the LSB.
 
        This block picks the K least significant bits from a byte, and expands them into K bytes of 0 or 1.
Example:
        Example: k = 4 in = [0xf5, 0x08] out = [0,1,0,1, 1,0,0,0]
 
        Constructor Specific Documentation:
k = 4
        Make an unpack_k_bits block.
 
        Args:
in = [0xf5, 0x08]
            k : number of bits to unpack.
 
out = [0,1,0,1,1,0,0,0]
 
Each input byte produced four output bytes (that are either 0 or 1).  Remember that there is no item type of "bit" in GNU Radio, so we have to use bytes to represent single bits.
 
== Parameters ==
; K
: Constant for unpacking bits
 
== Example Flowgraph ==
 
[[File:Qpsk_stage6_fg.png|800px|]]
 
== Source Files ==
 
; C++ files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/unpack_k_bits_bb_impl.cc Byte implementation]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/unpack_k_bits.cc Base class]
 
; Header files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/unpack_k_bits_bb_impl.h]
 
; Public header files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/include/gnuradio/blocks/unpack_k_bits_bb.h Byte implementation]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/include/gnuradio/blocks/unpack_k_bits.h Base class]
 
; Block definition
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/grc/blocks_unpack_k_bits_bb.block.yml]

Latest revision as of 14:40, 9 December 2023

Opposite of Pack K Bits - Converts a byte with k relevant bits to k output bytes with 1 bit each, located in the LSB.

In other words, this block picks the K least significant bits from a byte, and expands them into K bytes of 0 or 1.

Example:

k = 4

in = [0xf5, 0x08]

out = [0,1,0,1,1,0,0,0]

Each input byte produced four output bytes (that are either 0 or 1). Remember that there is no item type of "bit" in GNU Radio, so we have to use bytes to represent single bits.

Parameters

K
Constant for unpacking bits

Example Flowgraph

Qpsk stage6 fg.png

Source Files

C++ files
Byte implementation
Base class
Header files
[1]
Public header files
Byte implementation
Base class
Block definition
[2]