Why is the Matlab R2015a Coder not able to generate code from resample function - but Matlab 2016b Coder is?

2 views (last 30 days)
Hi everybody, I try to generate C++ Code from my function but I cant use the resample function (it always ends with err "coder.const could not reduce this expression to a constant: Time out exceeded.") although I declare each input as a constant and i have licensed the USP System Toolbox ( license checkout signal_blocks == true). Also I ran the same code with the Matlab 2016b Coder and generated my C++ Code without any problem. So where is the difference? Best regards
My code looks like this:
Q=1000000;
% P=floor(Resampling_Faktor*Q); % floor: rounds to the nearest integer
P = 500000; % for testing
Input=1:0.1:20; % for testing
Input = resample(Input,P,Q,5,20);

Accepted Answer

Venkata Siva Krishna Madala
Hello Daniel,
Try to increase Constant Folding Timeout value.This can be done in two ways:
1. At the command line, create a configuration object for code generation. Set the property ConstantFoldingTimeout to the value that you want, like 400000:
c = coder.confi;
c.ConstantFoldingTimeout = 4e5;
2. In the Project Settings dialog box, on the All Settings tab, set the field Constant folding timeout to the value that you want.
Regards,
Krishna Madala

More Answers (1)

Daniel Burger
Daniel Burger on 20 Mar 2018
Edited: Daniel Burger on 20 Mar 2018
Dear Krishna, thanks for your advice. So do you mean that the failing code generation doesnt depend on my MATLAB version but instead on the system? Since I used two differend machines with different performance to run both MATLAB versions i mentioned above and therefore on the slower machine the time ran out before code generation was successful?
Regards, Daniel

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!