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
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
RE: Removing multiple frequency peaks
RE: Removing multiple frequency peaks
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
TTFN
RE: Removing multiple frequency peaks
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
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
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
>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
RE: Removing multiple frequency peaks
You are correct...That would be multiplication in time <-> Convolution in frequency and vice versa...
MG