generate odd and even numbers from randn function in simulink
Afficher commentaires plus anciens
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
Walter Roberson
le 21 Août 2019
It is not obvious why you are using randn()>=0 instead of rand() >= 0.5 ?
Redhwan Mawari
le 21 Août 2019
Réponses (1)
Walter Roberson
le 21 Août 2019
0 votes
https://www.mathworks.com/help/dsp/ref/convert1dto2d.html -- reshape the vector to two rows
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
Redhwan Mawari
le 21 Août 2019
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
le 21 Août 2019
Modifié(e) : Walter Roberson
le 21 Août 2019
https://www.mathworks.com/help/dsp/ref/buffer.html -- collect groups of two bits
After which you can use variableselector or https://www.mathworks.com/help/simulink/slref/selector.html to select the two different elements.
John D'Errico
le 23 Août 2019
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);
Catégories
En savoir plus sur Signal Generation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!