Beamforming performance depends on the frame size?

I used the example from Mathworks' website "https://www.mathworks.com/help/phased/examples/acoustic-beamforming-using-a-microphone-array.html" to learn toe Frost beamformer. I changed the number of microphone to 4, and use variant frame size: 64, 128, 256,512, 1024.
I noticed the greater the frame size is the better speech quality I get. It does not make sense to me.
I also notice the weights are not adapted. It seems you use the optimal weight. Am I right?
Thanks,
Yun

Answers (1)

The Frost beamformer has an FIR filter whose coefficients are derived using sample matrix inversion (SMI) so the frame size is relevant. However the speech quality is tricky because it also depends on how fast the machine can process the data. The larger the frame size, the longer the processing so if it passes certain threshold, one starts to feel the voice is dropped. Therefore it does require some tuning.
What do you mean by adapting the weights? The weights is updated with each new section of data but on the other hand it is an optimal one based on SMI so there is no convergence process like an LMS if that's what you mean.
HTH

2 Comments

Hi Honglei,
I did simulation instead of real time processing. The framesize should not affect the speech quality much for simulation. When the framesize is 64 samples, the speech lost intelligibility complete. Can you try that example using framesize of 64 samples to listen to the results?
Thanks,
Yun
I tried it with frame size of 64 and I saw warning in the command line window that the estimated covariance matrix is close to singular so looks like this frame size cannot provide a reliable covariance matrix estimate, thus the beamformer fails to work properly. I'll look into if there are other variants of Frost beamformer that could use a smaller training size. If you could point me to any relevant reference, I would really appreciate it.

Sign in to comment.

Asked:

on 3 Nov 2017

Commented:

on 7 Nov 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!