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 5th, 7th, 11th, 13th, 17th, 19th, 23th, 25th, … harmonic in the result.

Generated at 2023-10-02T00:32:21Z by OpenModelicaOpenModelica 1.22.0~dev.02-2-ge84afdd using GenerateDoc.mos