Wednesday, September 26, 2018

matlab - Need help cleaning noise


I have been recording sound sample from mouse vocalisations and noticed that a background noise appeared in the recording room. the noise is clearly visible in the spectrograms of the recordings as horizontal lines at frequencies 20, 40, 60, 80, and 100 kHz (ultrasonic range). I have tried to record in an acoustically isolated box, lined with sound absorbing material, and it helps, however, the box retains unwanted odours which effect the behaviour of the mice, rendering it unusable.


My question is if there is a method to isolate and remove the noise without affecting the rest of the sounds. I want to study the vocalisations, with an emphasis on the frequency in which the mice communicate under different social encounters, and having that constant noise in the background may affect the results of the study.


Vocal communications were recorded using a 1/4 inch microphone, connected to a preamplifier and an amplifier (Bruel & Kjaer) from mice. Vocalisations were sampled at 250 kHz with a CED Micro 1401-3 (Cambridge Electronic Design Limited, Sunnyvale, CA).



The samples were recorded using spike2, a "DC removal" filter was added to the recording. the files were then transferred to Matlab for splicing further analyses.


I know that there is a strict policy here against attaching files to questions, therefor I'm adding a link to the audio sample and the spectrogram


link to an audio sample and a spectrogram via google drive.



Answer



I disagree somewhat with Hilmar.


Technically, what you are calling noise is really an interfering source. Since the fundamental and harmonics are so clear in your spectrum, I think that the hypothesis that you have a steady tone interfering is a good bet.


Yes, it would be better to remove it from the source, but if it is a steady tone it is not that difficult to remove. All you have to do is get a good estimate of it and subtract it from your signal. If it is a steady hum, and you can get a good estimate (at least across several DFT frames), when you remove it, your signal's values in the affected bins should remain. You want to make sure that your DFT frames have a width of a whole number of cycles of your lowest harmonic. Your higher harmonics will also then be whole cylcles in your frame and have leakless bins.


This problem is very similar to removing unwanted powerline noise out of regular audio recordings. Do a search on "remove power main hum from audio recording" for more ideas, and possible hardware solutions for the hum removal.


No comments:

Post a Comment

periodic trends - Comparing radii in lithium, beryllium, magnesium, aluminium and sodium ions

Apparently the of last four, $\ce{Mg^2+}$ is closest in radius to $\ce{Li+}$. Is this true, and if so, why would a whole larger shell ($\ce{...