Frequency based weighting in Simulink

조회 수: 7 (최근 30일)
Joan Vazquez
Joan Vazquez 2020년 1월 10일
댓글: Joan Vazquez 2020년 1월 23일
For a signal in the time domain (coming from a simulation or a data acquisition system), can I weight it in Simulink using frequency-dependent weights directly? For example these:
I feel that there should be a block that does the trick and I think that it may be the Frequency-Domain FIR Filter from the DSP System Toolbox.
From the documentation it is not clear to me how to input the above table with the weights.
Context: trying to implement ISO 2631. I have checked all the Matlab Answers on the topic. These Simulink models in github are very nice but they seem to have some transfer functions previously obtained with Matlab code for a specific sampling time. I feel that, given the table, there should be a much more straightforward implementation, valid for any sampling time.
Thanks!

채택된 답변

Aquatris
Aquatris 2020년 1월 13일
One approach can be to fit a model to that table.
For example;
f = [0.1 0.125 0.16 0.2 0.25 0.315 0.4 0.5];
m = [62.4 97.2 158 243 364 527 708 843]*1e3;
sys = frd(m,f,'FrequencyUnit','Hz');
a = ssest(sys,4);
Then you can use "state space block" or "transfer function block" to implement "a" in simulink.
Just to make note of, this would also weight your signal in every other frequency as well. I do not know of a way to weight only the particular frequencies.
  댓글 수: 2
Joan Vazquez
Joan Vazquez 2020년 1월 23일
Thanks, first time I used the System Identificaiton Toolbox!
Joan Vazquez
Joan Vazquez 2020년 1월 23일
People interested in this question may also be interested in this paper
"Low order continuous-time filters for approximation of the ISO 2631-1 human vibration sensitivity weightings"

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with DSP System Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by