Code covered by the BSD License

### Highlights fromBit-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

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.

File Information
Description

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

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
Tags I've Applied
Comments and Ratings (1)
23 Feb 2012

Thank you.