Simulink bit operations

Hi all, I wanted to ask if from a number of bits that are represented with 1 and 0 is possible to invert the ones to -1 each lets say two bits? Thanks in advance.

2 个评论

Not clear to me what do you mean by "from a number of bits" and "to invert the ones to -1 each lets say two bits". Are you saying that if you have an inputs of 10 bits, six 1s and four 0s, alternate randomly, you want to invert the first two 1s into -1?
basicaly i was trying to create an ami nrz line code, i think flip flops is the only way to do that. I havent finish it yet though.

请先登录,再进行评论。

回答(1 个)

[1 0]------>Gain(-1)----->[-1 0]
Use the Gain block and define that gain as -1

7 个评论

but wont this transform all ones to -1?
i want for excmple [1 1 0 1]---->[1 -1 0 1]
Yes you are right, it's something easy to do in MATLAB but not in Simulink, maybe someone can help you with a better solution
For that example you can try the Product block and use element wise operations
[1 1 0 1]----->Product>----[1 -1 0 1]
[1 -1 1 1]---->_______
Still it wont work as i am using a bernoulli generator so i dont know the number of the bits. I think the best way to do it is using logical excpresions and timers, but i havent figured out how yet.
How many bits per time sample is your generator producing? If it is one bit per time sample then perhaps use a step function that flips between -1 and 1 every two steps.
Ah, instead of a step function, you could perhaps use a Repeating Sequence block, as mentioned at http://www.mathworks.com/matlabcentral/answers/15874-hi-all-i-am-having-a-difficulty-in-switching-a-signal-i-need-a-switch-in-simulink-that-must-be-on
I was thinking more of using a flip flop as it has memmory, The general idea was to create a simple ami-nrz line code.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Simulink 的更多信息

提问:

2011-12-16

Community Treasure Hunt

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

Start Hunting!

Translated by