3
$\begingroup$

I am recently acquiring data through ADC on signals ranging from $0.1\textrm{ Hz}$ to $50\textrm{ kHz}$ ($F_s = 128\textrm{ kHz}$). I noticed that apart from the white noise, I have something similar to $1/f$ noise with a cutoff frequency near $1\textrm{ Hz}$. There isn't much that I found on equalizing this $1/f$ noise on google. I am wondering what type of filters or algorithms that I can use to equalize the noise and have a flat noise bed in my frequency range as post-processing, so that I can see my input signals without the decay of magnitude caused by $1/f$ noise.

Also, I am wondering if I am able to equalize this noise, will it cause distortion in my signal in the time domain, or phase response?

Any advice, links to references or help would be greatly appreciated.

$\endgroup$
4
  • $\begingroup$ what end goal would your equalization be? you don't wanna whiten it, do you? $\endgroup$ Jan 26, 2015 at 22:04
  • $\begingroup$ No, I am sending square waves ranging from 0.1 Hz to a few KHz as input signal, however, I am told to create a fft result where, the noise floor is flattened such that one can compare the magnitude of the input signals (having the 1/f noise causes my lower frequency input signals have a higher magnitude, and higher frequency signals have a lower one, and considering all the harmonics from the square waves, it becomes a little confusing. The input signals have about 15dB higher magnitude, but it would be better if I can flatten the noise floor for viewing purpose, and pitch detection in future $\endgroup$
    – user8481
    Jan 26, 2015 at 22:07
  • $\begingroup$ One approach to this is simply to add white noise to the signal so it flattens out the noise. By appropriately filtering it you should end up with noise bed that's constant across frequency. A other way is simply to fix the numbers based on the theoretical distribution of 1/f noise, IE subtract the 1/f component from the harmonics. Just a thought. $\endgroup$
    – Dole
    Dec 30, 2015 at 7:15
  • $\begingroup$ It would help if you added pictures showing the results from your FFT. $\endgroup$
    – aksadv
    Jan 25, 2017 at 20:19

4 Answers 4

1
$\begingroup$

I guess that your problem may not really be 1/f noise, but rather the effects from using the FFT directly on your time signal (without any windowing). If that is true, then try applying the Hann window to the time signal before the FFT and check the result.

There is plenty of information available about the window functions and how to use them.

$\endgroup$
6
  • $\begingroup$ Hi, Thanks for the suggestion, I followed your advice, and added a Hann window (tried Hamming as well), the signal did get better, but it did not remove the increase in dB for all signals as the frequency got lower $\endgroup$
    – user8481
    Feb 2, 2015 at 19:37
  • $\begingroup$ Just to add details, I noticed that my higher frequencies are still losing power compared to low frequencies (input bipolar waves between 0.1Hz to 1KHz, Fs = 16KHz) the drop for higher frequencies are around 1Hz (-15dB/decade), Hann was done with Hann(2^20), with a 2^20 point FFT with FVTool in Matlab, would that mean it is flicker noise still? or am I using the window wrong? $\endgroup$
    – user8481
    Feb 2, 2015 at 19:48
  • $\begingroup$ To get a decent spectrum from even the window weighted time signal you need at least a few periods of the signal within the FFT. As you lower the frequency you may end up analyzing only a fraction of a period. $\endgroup$
    – Jens
    Feb 2, 2015 at 19:49
  • $\begingroup$ I agree with the multiple periods for proper spectrum analysis, but I still don't understand, why there is at 15dB/decade drop from low frequency to high frequency, the drop smooths out some where around 1KHz-2KHz, is this caused by noise? or is it the way I did FFT? $\endgroup$
    – user8481
    Feb 2, 2015 at 19:52
  • $\begingroup$ Just for an added note, after windowing (hamming, or hann), if I assume that it is flicker noise (1/f), and I multiplied all my FFT magnitude values by their corresponding frequency, would that be considered as "solving" my flicker noise problem?, or am I just distorting my signal? (end goal: find if input signals exist, and the magnitude, and frequency of each one) $\endgroup$
    – user8481
    Feb 2, 2015 at 20:08
1
$\begingroup$

Does your system has an Anti-Aliasing filter before the ADC? If not, I would suggest adding one. Depending on the spectra of the signals you are working with, aliasing can create 1/f noise.

$\endgroup$
1
$\begingroup$

There are many natural noises that have $1/f^n$ spectra. Ocean Noise has a $1/f$ spectrum out to 100KHz , so it is possible but without knowing what you are recording, it is hard to know.

The phenomenon is related to higher frequencies being attenuated more than low. Wave guides also have low frequency cutoffs.

In terms of finding a rationale , look for a derivation of the matched filter in colored noise. The optimal filter includes a whitening.

.1 to 50KHz is in many cases not an easy data collection. Your problem is more likely related to insufficient isolation.

$\endgroup$
0
$\begingroup$

Usually we assume that noise is additive. That is, the combined signal that you observe is the sum of a pure signal, and noise. The same applies to their Fourier transforms. Looking at a frequency bin, if the magnitude of the noise is less than the magnitude of the pure signal, then the magnitude of the sum cannot exceed the magnitude of the pure signal by more than 6 dB. You mention a large number, 15 dB (unclear what you compare), which makes me think that the observed frequency-dependency is due to something else than noise. For instance, pure rectangular signals natively have a 6 dB/octave (20 dB/decade) decaying spectral envelope.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.