How should I choose the OperatingFrequency parameter in phased array system toolbox functions for audio signal processing?
2 views (last 30 days)
Show older comments
I am trying to create beamforming algorithms for speech and audio processing applications using the PhaseShiftBeamformer() and SubbandMVDRBeamformer() objects. For my applications I am using a sample rate of 16000Hz.
From the examples in MATLAB documentation, I can see that OperatingFrequency refers to the carrier frequency in applications involving electromagnetic signals. However, in audio processing, we typically do not use any form of modulation.
What should I set the OperatingFrequency parameter to for audio processing?
Or is the SubbandMVDRBeamformer() not designed to work with audio signals? Should I use the FrostBeamformer() instead?
0 Comments
Answers (1)
Shubham
on 26 Jul 2023
Hi Sattwik,
In audio processing applications, the OperatingFrequency parameter in beamforming algorithms does not have a direct correspondence to carrier frequency used in electromagnetic signal applications. Instead, it represents the centre frequency of the audio signal or the frequency of interest for beamforming.
For audio processing, you can set the OperatingFrequency parameter to the center frequency of the audio band you are interested in. This frequency should be within the range of the audio signal you are processing. For your case, since the sampling frequency is 16000 Hz, so you should keep the operating frequency around 8000 Hz.
The “SubbandMVDRBeamformer()” is designed to work with audio signals and can be used for audio beamforming applications. It operates in the frequency domain by dividing the input signal into sub bands and applying the Minimum Variance Distortionless Response (MVDR) beamforming technique to each sub band.
On the other hand, the “FrostBeamformer()” is also suitable for audio processing and operates in the time domain. It uses the Frost beamforming algorithm, which is a popular choice for speech enhancement applications.
Both “SubbandMVDRBeamformer()” and “FrostBeamformer()” can be used for audio beamforming, but they differ in their implementation and performance characteristics. You can choose the one that best suits your specific requirements and experiment with both to see which one provides better results for your application.
2 Comments
Shubham
on 31 Jul 2023
Edited: Shubham
on 31 Jul 2023
Hi Sattwack,
When using the phased.WidebandCollector object for audio processing, the 'CarrierFrequency' parameter is typically used for modulated signals, such as those used in wireless communications. Since your signals are not modulated, you can set the 'CarrierFrequency' to any value that is within the operating range of your audio system.
For audio processing, it is common to use an audio sampling rate, such as 44.1 kHz or 48 kHz, as the carrier frequency. These values are commonly used in audio applications and should work well for your microphone array data.
However, it's important to note that the 'CarrierFrequency' parameter does not have a direct impact on audio processing or the performance of the FrostBeamformer. It is primarily used for setting up the WidebandCollector object and is not directly related to your audio processing requirements.
See Also
Categories
Find more on Sonar and Spatial Audio in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!