From: Rune Allnor on
On 2 Mai, 20:32, dcbr...(a)gmail.com wrote:
> I'm new to DSP, learning from Understanding Digital Signal
> Processing.  I'm into the FIR filter chapter right now and I'm
> beginning to work on some real data at the same time.
>
> Basically, I have some data that I'd like to do a spectral analysis
> on.  My data contains an obvious high amplitude low frequency
> component and possibly some other higher frequency, but much lower
> amplitude components.  When I do a fft on this data, the low frequency
> component leaks into the rest of the spectrum and masks any other
> components.  I made some test data to see if I could design a filter
> to remove this low frequency component, but I haven't been successful
> so far.

I would suggest to use Welch's method and use an as long data
record as possible.

There isn't much else you can do, as there will always be some
spectral leakage. Just forget about 'choosing record lengths
which makes the strong component fall exactly on a spectrum
coefficient'. Those sorts of things only happen in classroom
excercises and discussions on comp.dsp; never in practice.

The task, then, is to accumulate enough data so that

a) you can choose a long enough record length to get a lobe width
of the winodw function narrow enough to separate the two
spectrum lines.
b) average enoug spectra to make the weaker component appear
clearly above the noise floor.

Basically then, you need a lot of data. If you can't get that
much data, you are for all intents and purposes out of luck.

Rune
From: dcbrien on
On May 4, 4:47 pm, Rune Allnor <all...(a)tele.ntnu.no> wrote:
> On 2 Mai, 20:32, dcbr...(a)gmail.com wrote:
>
> > I'm new to DSP, learning from Understanding Digital Signal
> > Processing. I'm into the FIR filter chapter right now and I'm
> > beginning to work on some real data at the same time.
>
> > Basically, I have some data that I'd like to do a spectral analysis
> > on. My data contains an obvious high amplitude low frequency
> > component and possibly some other higher frequency, but much lower
> > amplitude components. When I do a fft on this data, the low frequency
> > component leaks into the rest of the spectrum and masks any other
> > components. I made some test data to see if I could design a filter
> > to remove this low frequency component, but I haven't been successful
> > so far.
>
> I would suggest to use Welch's method and use an as long data
> record as possible.
>
> There isn't much else you can do, as there will always be some
> spectral leakage. Just forget about 'choosing record lengths
> which makes the strong component fall exactly on a spectrum
> coefficient'. Those sorts of things only happen in classroom
> excercises and discussions on comp.dsp; never in practice.
>
> The task, then, is to accumulate enough data so that
>
> a) you can choose a long enough record length to get a lobe width
> of the winodw function narrow enough to separate the two
> spectrum lines.
> b) average enoug spectra to make the weaker component appear
> clearly above the noise floor.
>
> Basically then, you need a lot of data. If you can't get that
> much data, you are for all intents and purposes out of luck.
>
> Rune

Thanks for the responses everyone. Yes, choosing my record lengths is
good for a modeled example like I gave, but not so good for a real
work example as you pointed out. Decimation seems like an interesting
prospect, especially if I have a 1000Hz signal, but I'm really only
interested in the low frequency components. I'm just reading on that
now, but after playing around with it in Matlab it might be helpful.