How to convert to C-code from MATLAB code by using MATLAB CODER for case of Low-pass filter
Afficher commentaires plus anciens
Situation:
1) I made a low-pass filter by using Filter-Designer.
2) I exported a function with MATLAB code by using Filter-Designer.
3) I added a script for calling the function as MATLAB code .
4) I convert to a C code from the MATLAB code. Then I cannot convert to a C code.
Created MATLAB code:
Low-pass Filter:
function Hd = untitled
%UNTITLED 離散時間フィルター オブジェクトを返します。
% MATLAB Code
% Generated by MATLAB(R) 9.9 and Signal Processing Toolbox 8.5.
% Generated on: 02-Feb-2022 10:51:19
% FIR Window Lowpass filter designed using the FIR1 function.
% All frequency values are in Hz.
Fs = 1000; % Sampling Frequency
N = 20; % Order
Fc = 48; % Cutoff Frequency
flag = 'scale'; % Sampling Flag
Beta = 0.5; % Window Parameter
% Create the window vector for the design algorithm.
win = kaiser(N+1, Beta);
% Calculate the coefficients using the FIR1 function.
b = fir1(N, Fc/(Fs/2), 'low', win, flag);
Hd = dfilt.dffir(b);
% [EOF]
Script:
Fs = 2882;
t = linspace(0,1,Fs);
y2 = filter(Hd,x);
plot(t,x,t,y2);
t = linspace(1,2882,Fs);
plot(t,x,t,y2);
How can I convert the above MATLAB code using MATLAB Coder?
Could you please tell me the method and procedure?
8 commentaires
Walter Roberson
le 2 Fév 2022
I seem to recall that the general technique is to design the filter first, and save it to a .mat file, and then create a function (not a script) that load()'s the filter from the file and uses it.
If I recall, the load() will effectively be done at compile time, and the filter effectively becoming hard-coded.
Mitsuhiro OTSUKI
le 2 Fév 2022
Raghu Boggavarapu
le 2 Fév 2022
Do you want to generate the code for the function that generates filter coefficients ?
Walter Roberson
le 2 Fév 2022
As their script does not show invoking the design function, I suspect they want to generate code for using the designed filter. (If I recall correctly, the design functions are not supported for code generation.)
Mitsuhiro OTSUKI
le 14 Fév 2022
Mitsuhiro OTSUKI
le 14 Fév 2022
Walter Roberson
le 15 Fév 2022
As far as I can see, code cannot be generated for the filter design functions that you are using. (I did not check whether you can generate for simpler functions such as butterord)
Mitsuhiro OTSUKI
le 16 Fév 2022
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Signal Processing Toolbox dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!