×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Removing multiple frequency peaks
2

Removing multiple frequency peaks

Removing multiple frequency peaks

(OP)
Hi!
I have a frequency spectrum of a voice signal, recorded on a computer, which has a large noise peak at 500 Hz.
After 500 Hz peak the spectrum contains several noise peaks with an interval of 100 Hz, and a peak width of 20 Hz.
It looks like the noise is added on top of the voice spectrum.

Is there any method or filter to remove these repeating noise peaks?

TIA

RE: Removing multiple frequency peaks

Could it be 120Hz, like twice the line frequency coming from a 60Hz outlet?  If so, try filtering your incoming power.

RE: Removing multiple frequency peaks

I take that back, you can't filter the incoming power for 60Hz.

RE: Removing multiple frequency peaks

My guess is that the noise spikes you see are from the PC monitor. It produces high field strengths in this range. If you are still in the recording mode, try locating the MIC farther from the monitor and/or shielding the MIC and cord better.
I assume you are using an FFT on the input to get a spectrum. The width of the noise spikes could be due to your choice of windowing functions. Most of the time,I prefer an offset cosin window to narrow the frequency bins but this may be problematic for your application. You could record silence with the same setup and then create a weighting template of the spectrum of silence. This would then be subtracted from the spectrum result of the desired voice spectrum. A similar process with a flat noise source can be used to adjust your spectrum result for MIC and acoustic environment. Think of it as a frequency domain calibration.

RE: Removing multiple frequency peaks

Since you can fft, you can simply remove the undesired peaks from the spectrum and then inverse fft to get the signal

TTFN

RE: Removing multiple frequency peaks

(OP)
To Heydave: Thank you very much for your tips. I'll try that.

To IRstuff: Thanks. The spectrum contains more than 20 noise peaks and I'm not sure they're equally spaced so it'll be a tedious task to remove them.

RE: Removing multiple frequency peaks

But are they repeatable, e.g., do the frequencies repeat from sample to sample?  If so, you can use something like Matlab, Mathcad or even Excel to strip the noise spikes.

If they do not repeat from sample to sample, then it's just that you have too much noise and need to clean up the measurement.

TTFN

RE: Removing multiple frequency peaks

Remember that an FFT had Amplitude AND phase!!

If you modify the Amplitude of the FFT to remove the noise peaks and ignore the phase data..then invert the FFT, your data integrity goes to crap.

Remember that Addition in the time domain is multiplication in the frequency domain. The opposite is also true....Addition (Subtraction) in the frequency domain is convoltion in the time domain...

I guess it depends on what quality of audio you want to end up with. If you want to just clean up the audio recording to make it sound a little better then it is probably ok Your ear probably wont see the difference. If you want the end result to be mathematically correct and useable (that is, you do not introduce non linearities in the data processing), then you have to filter the noise out differently.

You could try implementing a cascaded set of notch filters tuned to the frequencies you need to remove...lots of trouble though.

MG

RE: Removing multiple frequency peaks


Maybe you can construct a FIR filter with
notches at the desired locations.

Then pass your stored data through it like it was real time.

There are many programs available that will give the
tap values from an input of the desired frequency response.
Search google for FIR design.

The program to implement the filter is simple. You can
do it in basic or C.

Anyone else have more info
Rodar

RE: Removing multiple frequency peaks

>Remember that Addition in the time domain is multiplication
>in the frequency domain. The opposite is also
>true....Addition (Subtraction) in the frequency domain is
>convoltion in the time domain...

Neither of those is correct!!

That sounds like some really noisy data.  I would redo the measurement with better equiptment if possible.

You can use any number of shareware programs (like goldwave) to notch filter an audio file.

RE: Removing multiple frequency peaks

Convolution in the time domain is multiplication in the frequency domain....

RE: Removing multiple frequency peaks

Opps...

You are correct...That would be multiplication in time <-> Convolution in frequency and vice versa...


MG

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources