How to break a waveform waveform into its constituent harmonics using FFT and see the harmonic waveforms at each frequency?

3 visualizaciones (últimos 30 días)
I want to use Simulink to see the harmonics of a voltage waveform. So far I have used the fft simulink tool and only found the magnitude of the harmonic frequencies. What I would like to do is issolate and observe the waveform at the different frequencies as shown in the figure below.
  1 comentario
Mathieu NOE
Mathieu NOE el 13 de Mayo de 2024
with the fft block you can get the fundamental frequency (or maybe you know it aleady before)
use that information to tune a bank of bandpass filters - each output correspond to one harmonic tone of the signal

Iniciar sesión para comentar.

Respuestas (1)

MULI
MULI el 23 de Sept. de 2024
Hi Rasula,
I understand that you need to isolate and observe the waveform at different harmonic frequencies of a voltage signal and you can follow the below steps to achieve this:
  • First, convert your voltage signal to the frequency domain using the FFT block.
  • Use a MATLAB Function block to zero out all frequency components except the one you want to observe.
  • This allows you to isolate specific harmonics, such as the fundamental frequency, 3rd harmonic, etc.
function y = isolate_harmonic(X, harmonic_index)
y = zeros(size(X));
y(harmonic_index) = X(harmonic_index); % Retain only the desired harmonic
end
  • Use the IFFT block to convert the frequency-domain data back to the time domain. This will give you the time-domain waveform of the isolated harmonic.
You can refer to these MathWorks documentation links for more information and examples related to “FFT” and “IFFT” block
This method avoids the complex designs of bandpass filters for each harmonic.

Categorías

Más información sobre Nonlinear Operators en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by