FFT of Voltage Waveform... (Check my work) - Page 1
Forum section: electronics / projects

author: Glenn0010
author_rank: Regular Contributor
timestamp: April 27, 2020, 01:31:58 pm
content: Hi All,In the file attached I have some scope data I captured of an IGBT switching.I've tried running an FFT on excel however I'm unsure the results I've achieved. The first peak I can understand since there is a large DC component, however the scond peak I am not sure of, it's aslo happening at the sampling frequency of the scope.I am really rusty with the fourier stuff so if anyone can poin any glaring messes I made I'd appreciate it.I've followed the steps in this link to achieve the FFThttp://www.stem2.org/je/Excel_FFT_Instructions.pdfCheers

author: Dr. Frank
author_rank: Super Contributor
timestamp: April 27, 2020, 04:41:18 pm
content: Hello,the formatting of your FFT output is strange for me.As you input time domain data on the order of 100ns, I would expect FFT output frequencies in the MHz range, but not in the 10-9. I also can't imagine at the moment, why there is a peak at the end frequency of the FFT.Anyhow, if you set the X-axis formatting to a maximum of 1E-11, and the y-axis to e.g. 600 maximum, you'll see the typical odd harmonics (1, 3, 5, 7..) of a step response or of a square wave. Maybe a logarithmic Y-axis output would also help.Frank

author: Mechatrommer
author_rank: Super Contributor
timestamp: April 27, 2020, 05:05:02 pm
content: you need many cycles of the signal, not the only one of its transient respond.

author: Etesla
author_rank: Regular Contributor
timestamp: April 27, 2020, 05:09:14 pm
content: How 'accurate' the output of an FFT is depends largely on the number of samples, the time between samples, and the number of cycles of the waveform that are represented in the input data.For example, taking the FFT of a single cycle of a sin wave will yield something that does not at all represent the 'expected' spectrum of a sin wave, which would be a single 'impulse' at the frequency of the sinusoid.For this reason, I am not surprised that the results of your FFT didn't match your expectations, since you only have the rising edge of your waveform as the input. To get a good idea of the frequencies involved in your waveform, I think it would be better to get a scope shot of maybe 20 or 50 cycles, and take the FFT of that.For your FFT, its obvious that something is wrong with your x axis which I'm guessing you wanted to represent frequency. Your interesting data should be around 1 Mhz. I plotted the FFT of your data. I also plotted the FFT of a single cycle sin wave vs 10 cycles of sin wave.

author: gf
author_rank: Super Contributor
timestamp: April 27, 2020, 09:41:26 pm
content: Quote from: Etesla on April 27, 2020, 05:09:14 pmNot true for a single cycle (granted that it isexactlya single cycle).To understand this we need to keep in mind that the DFT does not calculate the "spectrum of the given samples", but it calculates the (discrete) spectrum of a hypothetical infinite periodic signal which is formed by repeating the given samples again and again, an infinite number of times.So if the samples cover exaxtly a single cycle of a sine wave, then repeating the samples again and again forms an infinite sine wave, and the DFT result is fine. But if the begin and end of the samples don't stitch the waveform seamlessly, then the result of repeating the samples is no longer a sine wave and we'll face an effect called "spectral leakage".Quote... and apply a window function to mitigate spectral leakage.gf

author: Glenn0010
author_rank: Regular Contributor
timestamp: April 28, 2020, 09:01:37 am
content: Hi All,Thank you a lot for your help! I clearly was very rusty on this stuff. So taking you advice I have done some changes.Unfortunetly I am furloughed so I cannot get any scope data, however what I've done is I've created a waveform from the trun on and turn off edge. Then I've copied this to create three cycles.This gives me the following results (I am still getting a peak at the very end of the freq domain butI have limited the x axis here.)The first harmonic i sat 366210 Hz which is the switching frequency as I was limited by excel to 4096 points.We can see the odd and even harmonics of it there.So here is the full frequency domainandhere is the end peak zoomedAre these harmonics related to the switching transitions as I'd expect them to be at higher frequencies although maybe not so high.There is also this section of low amplitude in the middle here, which maybe due to the jitter of the switching transitions? I am thinking this since the jitter is quite low in amplitude.What I am trying to do with this is to recreate the noise spectrums (EMI) from double pulse test data as it would really speed up our testing if we can estimate a good spectrum at the pulse testing stage. I am trying to follow the method shown in the paper "Characterization of Power Electronics EMI Emission" by Chingchi CHEN which can be found on IEEE It shows how this spectrum can be quite accuratley predicted from the harmonics, so getting the harmonics right is the very first step.Any thoughts? thanks again for your help.

author: Dr. Frank
author_rank: Super Contributor
timestamp: April 28, 2020, 10:12:41 am
content: I just tested the excel FFT function with a square wave, and found out that the output is mirrored / doubled, so you can discard the 2nd half of the frequency domain output. The last dip on the rightmost end with amplitude 500 represents again the 1st harmonic, mirrored.Generally, when you have for example 256 time domain input data (e.g. samples from your A/D), the FFT delivers only 128 valid frequency domain output data, also due to the Nyquist theorem. The first one is the DC component, followed by the 1st up to the 127th harmonics.Frank

author: Mechatrommer
author_rank: Super Contributor
timestamp: April 28, 2020, 11:34:54 am
content: yes, FFT output needs to be post-processed, cut into half. the other half is just mirror. so if you are processing 1000 points, the only usefull points in FFT is the first 500 points, the other is dummy mirror.

author: gf
author_rank: Super Contributor
timestamp: April 28, 2020, 04:17:27 pm
content: I suggest that you try a logarithmic scale for the y axis (e.g. 20*log10(y)).From your new data (using a hannig window) I get(scale of y-axis is normalized to 0dB for the frequency with the highest amplitide)Your harmonics decay faster than for an ideal square wave. At about 15 MHz they drown in the noise floor.As you noticed yourself, there are signal components in the 210..250 MHz range which stick out from the noise floor, too. I guess they are caused by the ringing/oscillation (1) at the rising/falling edges of your pulses. But since they are close to fs/2, and even increase towards fs/2, I'm also wondering whether the sampling theorem was obeyed, so I'm rather reluctant regarding too many speculations. At least for comparison, you should try to sample them at a higher rate.There is also a small peak near ~27MHz which I can' associate with anything yet.The manual stitching of (equal) waveform fragments may have disturbed the results either to some extent (-> add discontinuities, make sampled noise correlated, on the other hand add some noise-free segments (which were noisy in reality), no jitter,...). You should really try to sample a couple of periods from the real signal.EDIT:(1) Zoom-in: Ringing/oscillation at edge of your pulseLooks indeed as if the sampling rate might not suffice to capture the fast oscillation.

author: Mechatrommer
author_rank: Super Contributor
timestamp: April 28, 2020, 09:21:50 pm
content: after much fondling with your data, this is what i come up with.. much like a fabricated data rather than real data.