How to pass fixed-point conversion for some specific block?

Hi!
I have a Simulink model with standart block Abs and cos (trigonometric function). I'm trying to convert my scheme to fixed-point. I got the following error with Abs and cos block:
--> Input port and output port of 'rx12/Subsystem128/Abs ' must be of type 'single' or 'double' when complex --> An error occurred while propagating numeric type complex from 'rx12/Subsystem128/IFFT13 ', output port 1.
IFFT13 block is connected directly to Abs without type conversion. When I insert conversion to double before Abs, Fixed-Point Advisor doens't return error, but notes that I should convert one float-point data type to fixed-point.
The same situation I have with cos block, connected to the output of Delay block.
How I can do it?

2 Comments

You should probably chase the signal up to its original source and make sure that it produces a fixed-point type?
Is the message not effectively saying that you cannot use Abs on a complex fixed-point signal? If so it might be necessary to put in the blocks needed to calculate abs, breaking up the parts, squaring, etc.,

Sign in to comment.

Answers (1)

I've replaced these block with block from IQMath library, which are supporting fixed-point. I got next problem - there isn't HDL realisation these new blocks.

Asked:

on 11 Dec 2012

Community Treasure Hunt

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

Start Hunting!