LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Fast Fourier Transform to isolate the fundamental waveform?

This is all being done on a cRIO-9053 on the FPGA, LabVIEW 2020

 

I have a 60Hz sinusoidal waveform that is being affected by harmonics. I would like to filter out the harmonics, which I'm assuming will let me see the fundamental waveform.

 

To be more in depth, the waveform that is being affected by harmonics is a current (amp) waveform on a 3-phase 60Hz 480VAC system. In order to get True Power Factor from the voltage and current waveforms, I need to get to the fundamental current waveform.

 

From what I understand, a Fast Fourier Transform is what can do this. I'm also wondering if I can just make a bandpass filter since I already know the frequency of the waveform I want to measure (60Hz).

 

I attached a test vi (fpga file) but it's not very helpful.

Hoping for some insight from you guys. Not sure if I'm even on the right track here.

0 Kudos
Message 1 of 3
(732 Views)

And in case it's of interest, here is a screenshot of the waveform. It also includes the waveform filtered when I tried out the bandpass filter

graph.png

0 Kudos
Message 2 of 3
(724 Views)

@David99999 wrote:

And in case it's of interest, here is a screenshot of the waveform. It also includes the waveform filtered when I tried out the bandpass filter

graph.png


 

I cannot see the time units of the X axis, but whatever they are you seem to have very limited data and most frequencies contain a non-interger number of very (very!) few cycles over the measurement interval. This leads to truncation artifacts and spectra leakage. Do you have longer traces?

 

(FFT assumes that the signal is periodic. In this case, just take your waveform and (as thought experiment) append it an infinite number of times. You have that large jump at the splice points!)

0 Kudos
Message 3 of 3
(698 Views)