Bit Extraction - Simulink

I am attempting what should be a simple task. I would like to send a sine wave through a 9-bit analog-to-digital converter (ADC) and extract the output bits. Specifically I would like to extract the first 3 bits into one "channel", the middle 3 into a separate channel, and finally the last 3 into another. I will then use these bits to create a representative pulse (e.g. if the first 3 bits are 111, then I will create a pulse that takes on the value one for a specified period. If they are 000, then the pulse will have value 0.) I have attempted using the "Extract Bits" block as shown in the attached image, however I run into an overflow error. Can anyone suggest how to fix this issue or mitigate it using an alternative technique? Thank you.

回答 (1 件)

Nikhil Vyas
Nikhil Vyas 2016 年 4 月 25 日

1 投票

You can use the Bit Slice block instead of Extract Bits to achieve the same. Something like this:
To replicate the above example, make sure to set the datatype for the constant block to something more than 8-bit since you need 9 bits. Just saying. :)

2 件のコメント

Colin Ross
Colin Ross 2016 年 4 月 26 日
Great, thank you! This works nicely.
abdulrahim evli
abdulrahim evli 2021 年 4 月 21 日
Can I convert to extracted bits to integer? With Bit to Integer to blok cant achieve this because extracted bits are vector

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeDownloads についてさらに検索

質問済み:

2016 年 4 月 21 日

コメント済み:

2021 年 4 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by