Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations GregLocock on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Removing multiple frequency peaks 2

Status
Not open for further replies.

JockeK

Electrical
May 26, 2003
62
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
 
Replies continue below

Recommended for you

Could it be 120Hz, like twice the line frequency coming from a 60Hz outlet? If so, try filtering your incoming power.
 
I take that back, you can't filter the incoming power for 60Hz.
 
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.
 
Since you can fft, you can simply remove the undesired peaks from the spectrum and then inverse fft to get the signal

TTFN
 
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.
 
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
 
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
 

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
 
>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.
 
Convolution in the time domain is multiplication in the frequency domain....
 
Opps...

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


MG
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor