From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how do i filter out frequencies on a power spectrum

I am using the attached vi to determine dominant frequencies of an acousitc emmision sensor or accelerometer signal. (attachment uses the simulate signal vi to demonstrate this)

 

The vi carries out a power spectum transformation, followed by a peak search to output top 5 dominant frequencies (you can ignore the case structure options as I am looking at comparing sub vi's)

 

As I will know that several of the frequencies are not of interest in my real signal, I would like to remove them from the data so they are not shown on the graph, nor included in the peak search result

 

I would like a simple sharp cut off such that, for example, any data between 90 and 110 Hz and 2450 and 2550Hz is eliminated entirely.

 

This is essentially a filtering method but is perhaps more simplistic than many filters I have looked at. I am not sure what the best way to do this is so any advice on this would be much appreciated

 

Thanks

Tom

 

 

Download All
0 Kudos
Message 1 of 7
(3,724 Views)

Hi Tom,

 

Just before I delve in, can we have a look at what software you have access to?

 

Are you perhaps at a university, and thus likely have access to all of our toolkits and modules? If so, which university?

 

Or otherwise, do you have the Digital Filter toolkit or Adaptive Filters toolkit for LabVIEW?

 

Thanks tom, I'm hoping I will be able to help out.

Rhys
Applications Engineer
National Instruments
0 Kudos
Message 2 of 7
(3,697 Views)

If you want to remove som frequencys from a FFT spectrum yoy can simply insert the lowest value found in the spectrum into those "frequency bins" you want to remove. The output from a FFT is an array of "frequency bins" with spacing df. In your case the df is 10 Hz. This means that in the FFT output array in your app. The first index in the array is the frequencys from DC up to (but not equal) 10 Hz. The next index in the array is the frequencys from 10 Hz and up to 20 (but not equal) and so on....



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 3 of 7
(3,690 Views)

If you want to remove som frequencys from a FFT spectrum yoy can simply insert the lowest value found in the spectrum into those "frequency bins" you want to remove. The output from a FFT is an array of "frequency bins" with spacing df. In your case the df is 10 Hz. This means that in the FFT output array in your app. The first index in the array is the frequencys from DC up to (but not equal) 10 Hz. The next index in the array is the frequencys from 10 Hz and up to 20 (but not equal) and so on....



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 4 of 7
(3,690 Views)

Rhys,

 

Yes I am in the University of Sheffield and have a full academic license.

 

Cheers

 

Tom

0 Kudos
Message 5 of 7
(3,668 Views)

Coq Rouge,

 

I understand your suggestion. Do you have any reccomendations how I can do this? I assume some fairly straight forward loops to handle the array and overwrite some chosen cells should do it but I'm not sure where to start.

 

Cheers

 

Tom

0 Kudos
Message 6 of 7
(3,665 Views)

Here is some links

http://zone.ni.com/devzone/cda/tut/p/id/4278

http://zone.ni.com/devzone/cda/tut/p/id/4541

They will explain it to you. Thing of the result from a FFT as a lot of bins. Each bin contain a frequency range and the  result



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 7 of 7
(3,650 Views)