Converting MATLAB code to Arduino code

I need to convert this code made in MATLAB for use using the Arduino program which I believe uses C code. I am not sure how to do so and any help will be apreciated! It is for filtering data a data set.
function Hd = Lowpass_2
%LOWPASS_2 Returns a discrete-time filter object.
% MATLAB Code
% Generated by MATLAB(R) 9.5 and Signal Processing Toolbox 8.1.
% Generated on: 08-Mar-2019 11:28:05
% Equiripple Lowpass filter designed using the FIRPM function.
% All frequency values are in Hz.
Fs = 100; % Sampling Frequency
Fpass = 0.4; % Passband Frequency
Fstop = 0.45; % Stopband Frequency
Dpass = 0.057501127785; % Passband Ripple
Dstop = 0.0001; % Stopband Attenuation
dens = 20; % Density Factor
% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);
% Calculate the coefficients using the FIRPM function.
b = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);
% [EOF]

Antworten (3)

Fakhril
Fakhril am 24 Jun. 2026 um 13:26
Bearbeitet: Walter Roberson am 24 Jun. 2026 um 15:46

0 Stimmen

[System]
Name='Simulasi_TDS_2'
Type='mamdani'
Version=2.0
NumInputs=1
NumOutputs=2
NumRules=0
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='TDS'
Range=[0 1000]
NumMFs=3
MF1='Rendah':'trapmf',[0 0 150 220]
MF2='Normal':'trapmf',[180 200 600 620]
MF3='Tinggi':'trapmf',[580 650 1000 1000]
[Output1]
Name='Pompa_1'
Range=[0 400]
NumMFs=4
MF1='Sedikit':'trimf',[30 100 170]
MF2='Banyak':'trapmf',[230 310 400 400]
MF3='Tidak_Perlu':'trapmf',[0 0 30 60]
MF4='Sedang':'trimf',[120 200 280]
[Output2]
Name='Pompa_2'
Range=[0 400]
NumMFs=4
MF1='Tidak_Perlu':'trapmf',[0 0 30 60]
MF2='Sedang':'trimf',[120 200 280]
MF3='Banyak':'trapmf',[230 310 400 400]
MF4='Sedikit':'trimf',[30 100 170]
[Rules]

1 Kommentar

Walter Roberson
Walter Roberson am 24 Jun. 2026 um 15:48
This appears to be a ruleset for fuzzy logic. It is completely unclear to me how this answers the question of how to convert MATLAB code into Arduino code.

Melden Sie sich an, um zu kommentieren.

Fakhril
Fakhril am 24 Jun. 2026 um 13:30
Bearbeitet: Walter Roberson am 24 Jun. 2026 um 15:46

0 Stimmen

[System]
Name='Simulasi_TDS_2'
Type='mamdani'
Version=2.0
NumInputs=1
NumOutputs=2
NumRules=0
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='TDS'
Range=[0 1000]
NumMFs=3
MF1='Rendah':'trapmf',[0 0 150 220]
MF2='Normal':'trapmf',[180 200 600 620]
MF3='Tinggi':'trapmf',[580 650 1000 1000]
[Output1]
Name='Pompa_1'
Range=[0 400]
NumMFs=4
MF1='Sedikit':'trimf',[30 100 170]
MF2='Banyak':'trapmf',[230 310 400 400]
MF3='Tidak_Perlu':'trapmf',[0 0 30 60]
MF4='Sedang':'trimf',[120 200 280]
[Output2]
Name='Pompa_2'
Range=[0 400]
NumMFs=4
MF1='Tidak_Perlu':'trapmf',[0 0 30 60]
MF2='Sedang':'trimf',[120 200 280]
MF3='Banyak':'trapmf',[230 310 400 400]
MF4='Sedikit':'trimf',[30 100 170]
[Rules]

Kategorien

Gefragt:

am 27 Mär. 2019

Kommentiert:

am 24 Jun. 2026 um 15:48

Community Treasure Hunt

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

Start Hunting!

Translated by