generate odd and even numbers from randn function in simulink

i need to generate odd and even numbers from a random binary array in simulink. Can someone help me with that. For example if i have a random arrary of binary numbers i.e. 0 1 1 1 0 0 1 and would like to split this array to even and odd index. So for even it would be: 1 1 0 and for odd: 0 1 0 1. I did it in matlab but could not do it in simulink. the matlab code is
data=randn(1,N)>=0; %Generating a uniformly distributed random 1s and 0s
oddData = data(1:2:end);
evenData = data(2:2:end);

2 commentaires

It is not obvious why you are using randn()>=0 instead of rand() >= 0.5 ?
that will work as well. The issues is generating odd and even from the binary numbers.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 21 Août 2019
https://www.mathworks.com/help/dsp/ref/variableselector.html -- use twice, once to select row 1 (odd indices), once to select row 2 (even indices)
The above two require DSP.
If you have a fixed signal length then you could use https://www.mathworks.com/help/simulink/slref/selector.html listing all of the desired indices directly (I am not sure if you can use colon notation there.)

4 commentaires

Thanks for the answer. I tried to follow but was not successful. I’m not getting the odd and even numbers
Walter Roberson
Walter Roberson le 21 Août 2019
Modifié(e) : Walter Roberson le 21 Août 2019
Which approach did you use?
Is your input a vector, and each time you want to take odd/even elements of the vector?
Or is your input a scalar signal, and you want to direct alternate bits different ways? Is it perhaps a Serial to Parallel convertor?
Walter Roberson
Walter Roberson le 21 Août 2019
Modifié(e) : Walter Roberson le 21 Août 2019
After which you can use variableselector or https://www.mathworks.com/help/simulink/slref/selector.html to select the two different elements.
Moved from an answer to a comment:
"I’m trying to replicate the code below using simulink"
data=randn(1,N)>=0.5;
%Generating a uniformly distributed random 1s and 0s
odddata = data(1:2:end);
evenData = data(2:2:end);

Connectez-vous pour commenter.

Commenté :

le 23 Août 2019

Community Treasure Hunt

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

Start Hunting!

Translated by