Beamforming performance depends on the frame size?
Show older comments
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)
Honglei Chen
on 5 Nov 2017
0 votes
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
Yun Zhang
on 6 Nov 2017
Honglei Chen
on 7 Nov 2017
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.
Categories
Find more on Space-Time Adaptive Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!