I am a Software Engineer without much signal processing background and currently spending and experimenting to get use to it.

My scenario: Assume a speaker and a microphone array. A speaker emits an ultrasonic sound and the microphone records at the same time. From the signal recorded from the microphone array, I am subtracting the emitted signal which was 1) directly recorded and 2) recorded after reflected from stationary objects. The spectral subtraction should leave only the reflected signals from moving objects. Given the spectral information of the movements, by applying correlation algorithms, I plan to localize the movement.

What I have tried: Without subtracting, I am able to localize the movements. However, the movements are difficult to identify without knowing the direction of the movement as the sounds reflected from stationary objects are also getting localized at the same time.

Problem: I have recorded the reference signal when there were no movements and subtracted it from the signal which were recorded while movements were present. However, using correlation algorithms on subtraction results no longer provides location of the movement.

A little bit more details: Given the fft result refSig (reference signal) and tarSig (reference signal + reflected movement signal), assume that refSig is a+bi and tarSig is (c+di). To only leave movement, I did (a-c) + (b-d)i.

I got such subtraction idea from reading papers related to MTI filters (usually used for detecting fast moving object like airplanes).

How could I fix this or improve this?

  • $\begingroup$ How do you envision "localisation"? What do you see at the end of this process? Also, have you had a look at established techniques such as Continuous and Pulsed radar and phased arrays? $\endgroup$
    – A_A
    Jul 15 '18 at 18:21
  • $\begingroup$ I work in radar where we do stuff like this all the time, so hopefully I can be of help. Could you elaborate a bit more for me regarding the setup? From how I interpreted what you wrote, your transmitter signal has 100% duty, i.e. it is on while you are also trying to listen for Doppler shifts with your microphone array. Have you considered using a Wiener filter or some similar easily implemented adaptive filter? This should be fairly straight forward if you have access to the transmit signal. One more thing: keep the phase of your transmit signal in mind! Simply subtracting won’t always work $\endgroup$ Jul 17 '18 at 2:25
  • $\begingroup$ @matthewjpollard Thanks. I'll take a look at Wiener filter. Yes. The transmitter (the speaker) is always emitting the sound. Without further details, many articles and papers in signal processing area mentions that they subtracted the reference signal from the doppler signal. Is what they are doing different from simple signal subtraction (e.g., (a-c) + (b-d)i)? Also, as the objects that I am detecting are mostly in far field, I was planning to use TDOA based localization algorithms such as SRP or GCC PHAT. In such case is phase information still important while doing subtraction? $\endgroup$ Jul 18 '18 at 17:15
  • $\begingroup$ @matthewjpollard Could you elaborate a little bit more on how (for what purpose) I should use the Wiener filter or an adaptive filter? $\endgroup$ Jul 18 '18 at 19:42
  • $\begingroup$ @DeepMind You can use a Wiener filter to remove a known signal from a mixture of signals. So in your case, you can characterize the the transmit signal, and have the adaptive filter adjust the weights appropriately such that the signal is canceled. The signal has to be stationary for it to work, but there are methods to attempt to force some local stationary assumptions. For radar systems we have simultaneous transmit and receive (STAR) systems. While it's RF and not audio signals, the math/ideas should still apply to your problem I think. $\endgroup$ Jul 19 '18 at 13:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.