Code covered by the BSD License  

Highlights from
Bit-slicing function for integer matrices

5.0

5.0 | 1 rating Rate this file 2 Downloads (last 30 days) File Size: 1.91 KB File ID: #34173

Bit-slicing function for integer matrices

by Damon Bradley

 

11 Dec 2011 (Updated 12 Dec 2011)

function E = bitreslice(A,b_old, b_new, echo_on) Re-packages bits of a matrix of integers.

| Watch this File

File Information
Description

function E = bitreslice(A,b_old, b_new, echo_on)

Author: Damon Bradley

Purpose: A is an [M by N] matrix of integers. Implicit is each element's
representaiton in binary, which is b_old bits wide. Matrix E is output
which is an [M by L] matrix of integers, with the bits of A concatenated
column-wise and re-split into b_new bit-wide elements. The number of bits
per row, b_old*N must be evenly divisible by b_new to work.

Inputs:
A - An M by N matrix of unsigned integers
b_old - Number of bits to represent A, should be based on maximum value
b_new - New number of bits to slice each bit-concatenated row of A
echo_on - Choose 1 to display underlying bit representation. Don't specify otherwise

Outputs:
E - A new matrix, same number of rows as A, but whose elements
            a new set of integers based on the concatenation of ALL bits
            for every row, repackaged as elements "b_new" bits wide.
Usage Example:
Re arrange the 4-bit elements of matrix A into a new matrix with 3-bit
elements. The product of the number of columns of A and how many bits
each element is originally represented with must be evenly divisible by
b_new, the new number of bits the output matrix elements are represented
with.

A =

     1 4 7
     2 3 5
     3 3 0

B =

    '0001' '0100' '0111'
    '0010' '0011' '0101'
    '0011' '0011' '0000'

C =

000101000111
001000110101
001100110000

D =

    '000' '101' '000' '111'
    '001' '000' '110' '101'
    '001' '100' '110' '000'

E =

     0 5 0 7
     1 0 6 5
     1 4 6 0

MATLAB release MATLAB 7.8 (R2009a)
Other requirements None that immediately come to mind. I nested a few custom functions in there.
Tags for This File  
Everyone's Tags
bit slicing, bit vector, communications, data import, digital signal processing, dsp, fpga, matrix, rearrange bits, signal processing
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
23 Feb 2012 Michael Chan

Thank you.

Updates
12 Dec 2011

Just fixed a comment typo.

12 Dec 2011

Fixed another comment

Contact us