# LabVIEW

cancel
Showing results for
Did you mean:

## FFT in Labview

Hi,

I create simple program which generate signal.

1 singal: Sine Frequency:5Hz Amplitude:1

2 singal: Sine Frequency:1Hz Amplitude:0,8

3 singal: Sine Frequency:100Hz Amplitude:0,5

The signal is the sum of 3 of these signals.

Why in my program i can't see correct amplitude value in FFT spectrum? For example i can see on graph 0,12 for amplitude 0,5.

What is more, after filtration i can't see correct value frequency. For 100Hz is 0.1. Why?

Regards

Message 1 of 9
(1,829 Views)

## Re: FFT in Labview

Because filters don't have sharp cutoff frequencies.

Your filter is set for 0.125  (with sampling rate 1, or 125 for sampling rate of 1000)  (Your VI would be easier to work with if you used the same sampling rate input into the filters as you used for creating the sinewaves.)

At the filter point, you have some attenuation of the signal that is -3db.  If you want to have.

Message 2 of 9
(1,815 Views)

## Re: FFT in Labview

But if i don't active a Case Structure with filters the FFT after filtration still show a 0,1 for 100Hz.

How to resolve?

Message 3 of 9
(1,804 Views)

## Re: FFT in Labview

When I run your VI with both buttons off, and thus no filter, both the before and after FFT's show 0.125

Message 4 of 9
(1,773 Views)

## Re: FFT in Labview

My sampling info in Sine waveform is set:

Fs: 1000

#s: 1000

So can you easily explain where change value and what and why such a value?

I would be very grateful.

Message 5 of 9
(1,762 Views)

## Re: FFT in Labview

Which creates an array of data.  You then fed that array into the filter, but told the filter your sample rate is 1, not 1000.

When you do the later FFT, it is working on the raw array data and assumes the sample rate is 1, whereas the original FFT used the waveform wehre the dT in the waveform was 1/1000.

Message 6 of 9
(1,752 Views)

## Re: FFT in Labview

I create array of data and didn't work:/

Message 7 of 9
(1,718 Views)

## Re: FFT in Labview

In what way didn't it  work?  Statements like that don't tell us anything.  Did it cause an error?  Did it just not give the results you were expecting?

I ran your VI and I see an error on the bottom sine wave creator.

"Error -20061 occurred at NI_MABase.lvlib:Sine Waveform.vi:2090004 >> NI_MABase.lvlib:ma_Trap Fgen Parameter Errors.vi:5950001
frequency must be <= sampling rate/2"

Your frequency is 100 and the sampling rate is 100.  I changed the frequency to 40 (less than 1/2 of 100) and that error went away.  Then I found an out of memory error.  Because you have a 0 in Number of samples, and subtracting 1 give a -1, the while loop never stops because it is never equal to i because i starts at 0.  I put another number in for "number of samples", then the VI runs.

What is the point of the that while loop, anyway?

Message 8 of 9
(1,694 Views)

## Re: FFT in Labview

... creating a array subset. Use "Array Subset" or "Delete From Array" instead - it is more effective. And you can try to look into e.g. http://www.ni.com/white-paper/5509/en/ (to get more insinght into signal theory).

Jozef Lipták
Message 9 of 9
(1,677 Views)