SIMULINK Datatype mysmatch error

Hello all!
I'm quite new to SIMULINK model-design and i have stumbled into an error, and I though I might ask for help here, since there may be a better way to handle this implementation.
Currently, I'm implementing this piece of (a fft benchmark) C code into SIMULINK Model-based design:
for ( i=rev=0; i < NumBits; i++ )
{
rev = (rev << 1) | (index & 1);
index >>= 1;
}
So far, this what I've got:
However, i got these two datatype mismatch error,
Data type mismatch. Input port 2 of 'fftModel/iteratorNumSamples /For Iterator Subsystem/Bitwise Operator' expects a signal of data type 'uint32'. However, it is driven by a signal of data type 'ufix32_E1'.
Data type mismatch. Output port 1 of 'fftModel/iteratorNumSamples /For Iterator Subsystem/Shift Arithmetic' is a signal of data type 'ufix32_E1'. However, it is driving a signal of data type 'uint32'.
To fix this, I thought into putting a Data Type Conversion block, but this block changes the code behavior. Is there an easy way to fix this?
Thanks in advance.

回答 (1 件)

Mark McBroom
Mark McBroom 2020 年 6 月 14 日

0 投票

In Shift Arithmetic block, make sure the "Binary points to shift" is set to zero.

カテゴリ

ヘルプ センター および File ExchangePrepare Model Inputs and Outputs についてさらに検索

製品

リリース

R2012b

質問済み:

2020 年 6 月 11 日

回答済み:

2020 年 6 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by