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

조회 수: 3 (최근 30일)
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
Mathieu NOE
Mathieu NOE 2024년 5월 13일
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

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

답변 (1개)

MULI
MULI 2024년 9월 23일
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.

카테고리

Help CenterFile Exchange에서 Nonlinear Operators에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by