How to convert to C-code from MATLAB code by using MATLAB CODER for case of Low-pass filter
13 views (last 30 days)
Show older comments
Mitsuhiro OTSUKI
on 2 Feb 2022
Commented: Benjamin Thompson
on 16 Feb 2022
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 Comments
Walter Roberson
on 15 Feb 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)
Accepted Answer
Benjamin Thompson
on 15 Feb 2022
Here is the online documentation page for functinos in the Signal Processing Toolbox that can be generated to C/C++:
Your code can only use these functions if you want to generate C/C++ code using MATLAB Coder.
2 Comments
More Answers (0)
See Also
Categories
Find more on Filter Analysis 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!