how can I get binary output '0'or '1' according to sign of the input value ?

9 views (last 30 days)
Hi. I have output of ADC which give sampled value either negative or positive. I want to decode these values in binary form '1' or '0'. let say if positive value appear, the logic should show '1' otherwise '0'. it means it should be sign-based detection. this logic I need at the end of the system (difference block in attached file). is there any block in simulink or can I make customized code in MATLAB function block ? It would be appreciated if someone can help in this regard.
Thanks in Advance
  2 Comments
Sarfaraz Ahmed
Sarfaraz Ahmed on 24 Oct 2018
Edited: Sarfaraz Ahmed on 24 Oct 2018
The sign function gives -1 and 1. for example: V = [-0.5 3]; sign(V) Ans -1 1
But I want to get 0 and 1 because I have to forward these binary to XOR logic gate. so how can I decode signed values into binary ?
Thanks

Sign in to comment.

Accepted Answer

Ghetto blaster
Ghetto blaster on 24 Oct 2018
Actually what you would want is step function. heaviside() is most optimal except I assume that you want for the input value of 0 for output to also be 0? In that case you would need to set the HeavisideAtOrigin to be 0. Also I assume you want output to be logical or floating point? heaviside outputs floating.
oldparam = sympref('HeavisideAtOrigin',0);
output_logical = heaviside(input_voltage);
  5 Comments
Sarfaraz Ahmed
Sarfaraz Ahmed on 25 Oct 2018
Edited: Sarfaraz Ahmed on 25 Oct 2018
Hi. I embed this code in MATLAB function block but it shows an error that: Size mismatch for MATLAB expression 'heaviside'. Expected = 1x1 Actual = 1x0 and if I put output_logical = logical(heaviside(input_voltage)); then it shows an error Class mismatch for variable 'logical'. Expected 'double', Actual 'logical'.
it must be some dimension error how can I resolve this error ? snap is attached.
Thanks

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!