Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

get boolean expression for decoder if encoder logic is known

Status
Not open for further replies.

fussylogic

Newbie level 2
Newbie level 2
Joined
Jan 22, 2014
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
12
Hi Friends,

I want to generate decoder Boolean expression if I have a truth table for encoder. What is the procedure? The encoder encodes, input which is 4 bit to 5 bit. How can I used these 5 bits and get the 4 bits back.
Following is the truth table:


A B C D d4 d3 d2 d1 d0
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 1 0 0
0 0 1 0 0 0 0 0 1
0 0 1 1 0 0 1 0 1

Thanks
Fussylogic
 

I presume you should generate a new truth table, but now considering the input entry (A,B,C,D) as output (d1,d2,d3,d4), and vice versa:

Code:
d4	d3	d2	d1	d0     A	B	C	D		
0	0	0	0	0      0	0	0	0		
0	0	1	0	0      0	0	0	1		
0	0	0	0	1      0	0	1	0		
0	0	1	0	1      0	0	1	1


+++
 
Let's say your inputs are written as a (4x4) matrix, X:

Code:
X =

     0     0     0     0
     0     0     0     1
     0     0     1     0
     0     0     1     1
and your outputs are a (4x5) matrix Y:
Code:
Y =

     0     0     0     0     0
     0     0     1     0     0
     0     0     0     0     1
     0     0     1     0     1
We want to find some (4x5) "encoding" matrix, Z, such that:
Code:
X*Z = Y
One solution (with minimum Frobenius norm) is to take the Moore-Penrose pseudoinverse of X, so that Z=X+Y (where + denotes pseudoinverse). In this case, we get:
Code:
Z =

     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     1
     0     0     1     0     0
So, to encode X, we compute Y = X*Z. To decode Y, we compute X = Y*ZT (where T denotes matrix transpose).
 
hey weetabixharry,

Thanks, let me try and see..
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top