How to use unsupported function when using Coder

Hi,
I wanna use fdesign.audioweighting('WT','ITUT041',..) and design() function. However both of them are not supported by Matlab coder.
How can i create C .dll with these function in 2023a?

Réponses (1)

Kanishk
Kanishk le 9 Août 2024
Hi @BERKAY,
Yes, ‘fdesign.audioweightingis not supported by MATLAB coder for code generation. But you can follow a hybrid approach. This involves designing the filter in MATLAB, extracting the filter coefficients, and then using these coefficients in a MATLAB function that can be converted to C code.
d = fdesign.audioweighting('WT', 'ITUT041');
Hd = design(d, 'butter');
[b, a] = tf(Hd);
save('filterCoefficients.mat', 'b', 'a');
You can use these saved variables with ‘filter’ function which is supported by MATLAB coder for code generation.
filter(b, a, x);
To load variables from MAT file during compile time in MATLAB Coder see coder.load: https://www.mathworks.com/help/simulink/slref/coder.load.html
Also to learn more about ‘filter’ function you can refer: https://www.mathworks.com/help/releases/R2024a/matlab/ref/filter.html

Catégories

En savoir plus sur MATLAB Coder dans Centre d'aide et File Exchange

Produits

Version

R2023a

Question posée :

le 17 Mai 2023

Réponse apportée :

le 9 Août 2024

Community Treasure Hunt

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

Start Hunting!

Translated by