This example is based on a 6-pulse rectifier example, calculating the harmonics with the FFT block.

Sampling starts after the initial transients are settled - waiting for
`2 periods = 2/f = 0.04 s = realFFT.startTime`

.
Choosing a maximum frequency `f_max = 2000 Hz`

,
a frequency resolution `f_res = 5 Hz`

(both given in the block `realFFT`

) and
the default oversampling factor `f_max_factor = 5`

,
we have to acquire `n = 2*f_max/f_res*f_max_factor = 4000`

sampling intervals.
The resulting sampling interval is `samplePeriod = 1/(n*f_res) = 0.05 ms`

.
Thus, we have to sample for a period of `n*samplePeriod = 1/f_res = 0.2 s`

.

The result file "rectifier6pulseFFTresult.mat" can be used to plot
amplitudes versus frequencies.
Note that for each frequency three rows exit: one with amplitude zero,
one with the calculated amplitude, one with amplitude zero.
Thus, the second column (amplitude) can be easily plotted versus the first column (frequency).
As expected, one can see the 5^{th}, 7^{th}, 11^{th},
13^{th}, 17^{th}, 19^{th}, 23^{th}, 25^{th},
… harmonic in the result.

Generated at 2024-10-14T18:25:21Z by OpenModelicaOpenModelica 1.24.0 using GenerateDoc.mos