# Fourier transform

I have two signals one continous oscillating at a high frequency and another one instantaneous at a lower frequency.

How can I use a fourier transform to single out the low frequency one?

See at attached picture for what I am trying to do.

Edit:
Yeah by the way, data is collected in a two dimensional arrays (so discrete)

#### Attachments

• help.JPG
8.1 KB · Views: 313
Last edited:

I have two signals one continous oscillating at a high frequency and another one instantaneous at a lower frequency.

How can I use a fourier transform to single out the low frequency one?

I am not quite sure what your graphs depict, but if your low-frequency signal is really low frequency and the other is high frequency, then obviously a low pass filter will do. A crude low pass is obtained by transforming to the frequency domain, set all frequencies that are too high to zero and transform back to the time domain.

If your 2nd graph is supposed to be the "low frequency" signal, you are in trouble, because it is very "peaky", i.e. the peak has a sharp tip. This indicates that you have rather high frequencies there. The low pass would round out the tip. If you cannot live with that, I would not know off hand how to proceed.

Harald.

berkeman
Mentor
Why do you want to use a Fourier transform? Why not just run the data sets through a DSP lowpass filter of some order?

chroot
Staff Emeritus
Gold Member
The FFT technique given by birulami is actually a perfect digital filter, not a crude one. The problem is that you have to have the entire signal in memory before you can take the FFT. In some situations this is fine; in most, it's not.

- Warren

I am not quite sure what your graphs depict, but if your low-frequency signal is really low frequency and the other is high frequency, then obviously a low pass filter will do. A crude low pass is obtained by transforming to the frequency domain, set all frequencies that are too high to zero and transform back to the time domain.

If your 2nd graph is supposed to be the "low frequency" signal, you are in trouble, because it is very "peaky", i.e. the peak has a sharp tip. This indicates that you have rather high frequencies there. The low pass would round out the tip. If you cannot live with that, I would not know off hand how to proceed.

Harald.

First graph is what I have, constant vibration due to hydraulics and a peak which is a measurement of force when breaking a specimen. 2nd graph shows what I need, removal of the vibration.

I thought it was possible to single out a frequency response using fourier transform. I guess filters could be used but wouldn't they affect the peak? This is a very accurate experiment so if fourier transform is better I'd like to do that. Using matlab.

chroot
Staff Emeritus
Gold Member
ponjavic,

What birulami was trying to say is that a low-pass filter cannot make a signal more peaky -- it can only smooth out peaks.

When you speak of isolating a specific frequency, you're talking about band-pass filter with a narrow pass-band. This is a well-understood sort of digital filter, but it cannot produce the output you claim to desire. The only output you can get from such a filter is a sine wave with arbitrary amplitude.

However, your second graph showed a "hump" in the input being transformed into a "peak" in the output. This is not going to happen with any normally-designed filter. The "peak" in your output is a cusp -- an instantaneously change in the derivatives of the signal, and actually contains frequency components all the way out to infinity.

The signals that you drew were not just a simple superposition of sine waves (the kind of well-behaved input people usually consider when thinking about filters). Perhaps you're not really looking for a linear system at all, and would be better off using something else.

Can you draw us a more realistic example of the input and output you're trying to achieve?

- Warren

ponjavic,

What birulami was trying to say is that a low-pass filter cannot make a signal more peaky -- it can only smooth out peaks.

When you speak of isolating a specific frequency, you're talking about band-pass filter with a narrow pass-band. This is a well-understood sort of digital filter, but it cannot produce the output you claim to desire. The only output you can get from such a filter is a sine wave with arbitrary amplitude.

However, your second graph showed a "hump" in the input being transformed into a "peak" in the output. This is not going to happen with any normally-designed filter. The "peak" in your output is a cusp -- an instantaneously change in the derivatives of the signal, and actually contains frequency components all the way out to infinity.

The signals that you drew were not just a simple superposition of sine waves (the kind of well-behaved input people usually consider when thinking about filters). Perhaps you're not really looking for a linear system at all, and would be better off using something else.

Can you draw us a more realistic example of the input and output you're trying to achieve?

- Warren
Yeah sorry I see what the problem is now. The peaks in the first and second pictures are supposed to be the same (except for the fact the the first peak is influenced by the small sine wave). So all I want to do is to remove the effect of the sine wave, extruding the peak from the signal.

chroot
Staff Emeritus
Gold Member
Then you're looking for a basic low-pass digital filter.

- Warren

Yeah sorry I see what the problem is now. The peaks in the first and second pictures are supposed to be the same (except for the fact the the first peak is influenced by the small sine wave). So all I want to do is to remove the effect of the sine wave, extruding the peak from the signal.

If the sine wave you want to remove is itself really narrow-band, i.e. in the fourier transform only very few frequencies are non-zero, you may want to use a carefully crafted band-stop filter. Just setting these frequencies to zero and transforming back may help. Someone said that zeroing frequencies is a perfect filter, while I called it crude. I say 'crude', because this will usually generate nasty sidelines when transformed back. I am not an expert in digital filter design, but that much I do remember:-)

Harald.

chroot
Staff Emeritus
Gold Member
If the sine wave you want to remove is itself really narrow-band, i.e. in the fourier transform only very few frequencies are non-zero, you may want to use a carefully crafted band-stop filter. Just setting these frequencies to zero and transforming back may help. Someone said that zeroing frequencies is a perfect filter, while I called it crude. I say 'crude', because this will usually generate nasty sidelines when transformed back. I am not an expert in digital filter design, but that much I do remember:-)

Harald.

Well, you mean a perfect brick-wall filter in the frequency domain looks like a sinc function in the time-domain. It has a pretty nasty impulse response.

- Warren

Thank you guys that should do it =)

I thought of a filter as well but didn't realise that you could do it digitally (stupid) thought of making an actual filter for the signal :P

Anyways my coordinator definately confused me with the fourier transform but I'm on track now