ISO 2631 Acceleration filter

41 views (last 30 days)
Minh Tran
Minh Tran on 11 Dec 2022
Answered: Asad on 12 Feb 2026 at 17:55
Hi guys,
I currently want to filter this acceleration curve by using ISO 2631 standard,
It would be a big save of time if you alreadly have the code of this filter,
And I very appreciated it, thanks so much guys
  1 Comment
Star Strider
Star Strider on 11 Dec 2022
That function does not appear to exist anywhere in MATLAB (R2022b):
which iso22631 -all
'iso22631' not found.
It may be available in the Fille Exchange, however I did not do that search.
.

Sign in to comment.

Answers (3)

Mathieu NOE
Mathieu NOE on 12 Dec 2022
hello
found this , but as I don't have the ISO standard to double check , use at your own risks
%ISO 2631 standard filter
% Hw = tf([4*pi 2*pi*2*4*pi],[1 2*pi*2/0.63 (2*pi*2)^2]); %weighting filter
Hw_num = [4*pi 2*pi*2*4*pi];
Hw_den = [1 2*pi*2/0.63 (2*pi*2)^2];
% Hu = tf([1 0 0],[1 2*pi*0.4/0.71 (2*pi*0.4)^2]); % 2HP
Hu_num = [1 0 0];
Hu_den = [1 2*pi*0.4/0.71 (2*pi*0.4)^2];
% Ho = tf((2*pi*100)^2,[1 2*pi*100/0.71 (2*pi*100)^2]); % 2LP
Ho_num = [0 0 (2*pi*100)^2];
Ho_den = [1 2*pi*100/0.71 (2*pi*100)^2];
% HC = Hw*Hu*Ho; % transfer fcn of comfort filter (ISO)
[HC_num,HC_den] = series(Hw_num,Hw_den,Hu_num,Hu_den);
[HC_num,HC_den] = series(HC_num,HC_den,Ho_num,Ho_den);
bode(HC_num,HC_den)

Umar
Umar on 21 Aug 2024

Hi @Minh Tran ,

You asked, “I currently want to filter this acceleration curve by using ISO 2631 standard, It would be a big save of time if you alreadly have the code of this filter”

Please see my response to your comments below.

To filter an acceleration curve using the ISO 2631 standard, I need to follow a systematic approach that involves understanding the mathematical formulation provided and implementing it in MATLAB. The weighted r.m.s. acceleration is a crucial metric for assessing vibration exposure, and it is calculated using the following equation on page 6 of the standard. So, first you need to have your acceleration data in a time series format which can be collected from sensors or simulations. The ISO 2631 standard specifies different frequency-weighting curves. You will need to implement these curves in your MATLAB code. For simplicity, let’s assume I am using a basic weighting function. Also, the integral in the formula can be computed using numerical integration methods available in MATLAB. Below is a MATLAB code snippet that demonstrates how to calculate the weighted r.m.s. acceleration.

% Sample MATLAB Code to Calculate Weighted r.m.s. Acceleration
% Sample acceleration data (in m/s^2)
t = 0:0.01:10; % Time vector from 0 to 10 seconds with 0.01s intervals
a = sin(2*pi*0.5*t) + 0.5*randn(size(t)); % Example acceleration data with 
noise
% Define the weighting function (example: ISO 2631-1)
% This is a simple example; actual weighting functions should be defined 
 based on ISO tables
 weighting_factor = 1 ./ (1 + (t/1).^2); % Example weighting function
% Apply the weighting function to the acceleration data
a_weighted = a .* weighting_factor;
% Calculate the duration of the measurement
T = t(end); % Total time duration
% Calculate the weighted r.m.s. acceleration
Aw = sqrt((1/T) * trapz(t, a_weighted.^2));
% Display the result
fprintf('The weighted r.m.s. acceleration (A_w) is: %.4f m/s^2\n', Aw);

So, if you look at the code, it generates a sample acceleration signal using a sine function combined with random noise to simulate real-world data.A simple weighting function is defined. In practice, you would replace this with the appropriate function from the ISO 2631 standard. The acceleration data is multiplied by the weighting factor to obtain the weighted acceleration and trapz function is used for numerical integration over the time vector. Finally, weighted r.m.s. acceleration is computed and displayed. This process not only aids in understanding vibration exposure but also ensures compliance with international standards, thereby enhancing safety and comfort in various applications. If you have specific weighting functions or additional parameters from the ISO tables, you can easily integrate them into the provided framework. Hope this answers your question.


Asad
Asad on 12 Feb 2026 at 17:55
@Minh Tran, were you able to find a Wk weighting filter? I want to apply it to vertical acceleration obtained from simulating a full car model.
Thanks

Community Treasure Hunt

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

Start Hunting!