12-22-2022 03:23 AM
Hi,
Idea is to create LV application which can get some usfull sound in noise polluted atmosphere.
System will use two microphones, first to listen useful sound + noise, and second to listen only noise.
Hardware is DAQ Meilhaus 1208FS, which do the sampling of mics signals at 25000 samples each.
Mics are placed relatively close.
If i just subtract second signal from first, i get only worse situation, and not sure how to filter it.
So I think second signal should be processed before removing from the first signal.
I must say i didn't have opportunity to work with sound and signal processing earlier, so any help is very welcome. Thanks.
12-22-2022 07:22 AM
Without any example data we can only point to possible approaches
Subtracting noise from signal and noise with no noise correlation between input sources will only worsen the SNR. You apparently have seen that empirically demonstrated.
A potential approach may be to run both inputs through a FFT, subtract those results and output the inverse FFT of the difference.
Better estimations could be found if we knew more about the information signal and the obscuring signal.
12-22-2022 09:15 AM
ANC or Noise Cancellation is quite tricky technology and hence you don't see them on cheap hardware.
A simple subtract is not enough as the noise you captured may not be exactly the same noise you captured with the useful sound as it is 'noise' as there are a lot of types of noises and each type requires a different technique to reduce them.
12-23-2022 01:10 AM - edited 12-23-2022 01:15 AM
Thanks both of you for reply.
Regarding example explanation:
i intend to hear couple of mechanical clicks in work area full of loud machinery. First mic is set close to the click source, second mic just 10cm away from first, but not able to pick up click sound.
First there was only one microphone, and i tried to filter click sound from signal, it works, but sometimes, surrounding provide also noise at same frequency, and i detect click if there was no click. That's why i go for noise cancellation.
Even if i use FFT on both signals, and then subtracting them, i get also mess from the signal.
Next question is, for such task is it enough to have sampling rate 25000 per mic?
Or should i look for some faster hardware? What would you recommend?
I need to mention that i use basic condenser mics.
like this:
https://my.rs-online.com/web/p/condenser-microphone-components/7542107
Or should i go for some MEMS microphones?
12-23-2022 02:44 AM - edited 12-23-2022 02:48 AM
That's actually a very specific case. If you know the sound you want to find, and the sound doesn't change very much (it is all the same click over and over), then getting the cross-correlation of the recorded signal and prerecorded click specimen can be useful. And it would work with one microphone only. You can look at the FFT of the click only, then you might preprocess the signal (band pass) to get rid of some of the noise that is not important for the detection process. If the click varies a little, you can record multiple clicks and maybe average them together (after precise alignment) and compute a single cross-correlation, or you can compute a cross-correlation for every click specimen and make a statistics above the cross-correlation values. If this brings any sign of positive output, you can play with the click specimens - you can record hundreds of them and then somehow select the most common one. You can utilize the second microphone as well - you can diminish number the false positives by the condition that the click is detected only in the first mic and not in the second.
12-23-2022 09:28 AM - edited 12-23-2022 09:39 AM
Since the signal of interest is the "Click," you MUST learn all you can about that signal. Does it have any defined frequency, spectral phenomenal, repetition rate? Can you identify a cause of the click you might use as a trigger?
Again, files of sample data would help us find possible solutions. Helpful information on your target environment would be appropriate too! "A loud workspace" is just too vague. "An industrial textile loom" looking for "shuttlecock end stop clicks" would be an example of a specific environment to aid us in understanding what the sound file information contains.
If the human ear can register the click.25kHz sample rate is sufficient.
12-23-2022 01:45 PM
Instead of filtering the noise, filter the click detection.
If Mic 1 detects a click AND Mic 2 detects a click, ignore it. If Mic 1 detects a click and Mic 2 does NOT, then it's a valid click.
12-26-2022 05:34 AM - edited 12-26-2022 05:58 AM
Click depends on worker in production hall, because it is manual assembly.
In enviroment there is forklifts, presses, electric motors running, etc.
I intend to record audio of click and noise in production, but recordings are such low quality that are useless. Not sure why.
Looks like there is lot of white noise in recording. I will try to get this better somehow.
You can also take a look onto my microphone shematic, but it seems to me it is just fine.
Also you can find VI in attachment.
12-26-2022 06:58 PM
This mic circuit is too basic for your application, you need a good preamp along with a condenser mic.
Or consider purchasing a professional microphone with an inbuilt amp but that could be pretty expensive.
12-28-2022 03:21 AM
I will go definitely with some better preamp which use op-amp.
But till i waiting components for preamp, i tried to capture some hand clapping with two microphones.
For some reason, mic 2 (which need to capture only surround sounds) and which is directed more to surrounding then mic1, capture weaker surround signal then mic1.
Mic 1 is placed in plastic holder, with almost all sides is protected, so much less surrounding sounds should be captured.
But i got stronger signal on MIC1 from surround sound.
Even sometimes, mic1 pick up surround sounds, and mic2 doesn't, which is very strange.
Both mics have A/D sampling rate 25000. Both are connected on separate differential analog inputs.
Power supply for microphone circuit are separated, on two different analog outputs 2.5V.
Have someone idea what is going on here?
Thanks