.Modelica_Requirements.ChecksInFixedWindow_withFFT.WithinAbsoluteDomain

Information

Syntax

property = WithinAbsoluteFFTdomain(condition=..., u=..., f_max=..., f_resolution=..., maxAmplitude=...).y;

Description

Whenever the Boolean input condition has a rising edge, the Real input u is sampled and stored in a buffer. Once enough values of u are stored in the buffer (depending on parameters f_max and f_resolution) a Fast Fourier Transform (FFT) of the buffer u-values is computed. The amplitudes and frequencies of the computed FFT are stored on file and displayed in the icon. The ampltiudes must be below the polygon defined by parameter maxAmplitude (maxAmplitude[fi,Ai] defines the maximum amplitude Ai at frequency point fi in [Hz]. fi ≥ 0 required). The check is performed in the range: 0 ≤ f ≤ min(f_max, maxAmplitude[end,1]) and the maxAmplitude values are linearly interpolated for this check.

For more details, see the description of package ChecksInFixedWindow_withFFT.

Example

This block is demonstrated with the following first example:

The amplitutes of the FFT are dynamically displayed in the icon of the block (in black), as well as the maximume amplitudes maxAmplitude (in red).

Simulating this examples results in

simulation result

As can be seen, the simulation is terminate (via instance terminate1 of block FallingEdgeTerminate) once the FFT has been computed (signaled via the falling edge of FFT_computation). Since all FFT amplitudes between 0 ≤ f ≤ min(f_max, maxAmplitude[end,1]) are below the maximally allowed limit, the block returns Property.Satisfied.

A plot of the FFT result file is shown in the next figure:

This block can be also used to compute several FFTs along a simulation as demonstrated with the following second example:

The amplitutes of the FFT are dynamically displayed in the icon of the block (in black), as well as the maximume amplitudes maxAmplitude (in red). At the end of the simulation, one of the amplitudes is larger as allowed:

Simulating this examples results in

simulation result

As can be seen, the first FFT fulfills the check (scaledDistance = 0), whereas the second FFT has amplitudes that are larger as allowed (scaledDistance = -0.1).

Revisions

Date Description
Nov. 29, 2015 Initial version implemented by Martin R. Kuhn and Martin Otter (DLR Institute of System Dynamics and Control)
The research leading to these results has received funding from the European Union’s Seventh Framework Programme (FP7/2007-2016) for the Clean Sky Joint Technology Initiative under grant agreement no. CSJU-GAM-SGO-2008-001.

Generated at 2024-03-27T19:15:56Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos