MATLAB: What exactly is operating frequency in creating a beamformer object

beamformingnyquist rateoperating frequencyPhased Array System Toolbox

So, As an introduction to learn about beamforming, I took single frequency signals at two different points on 2D plane , say 1Khz and 3 Khz. Now, I gave fs= 8000( fs>2fmax (nyquist theorem); fmax=3Khz), Now while creating the beamformer object, I gave the operating frequency as 3.5Khz( assuming that these are the range of frequencies of the input signals to beamformer), But matlab shows an error saying that op.freq must be less than twice sampling frequency!! Isn't this an violaton of nyquist theorem? Or what exactly does this operating frequency mean in the context of creating a beamforming object mean?

Best Answer

You are using a subband beamformer. These beamformer assumes that the signal is modulated to a carrier frequency, i.e., the operating frequency of the beamformer. The signal is then divided into subbands across the entire bandwidth around the carrier. The total bandwidth that can be represented by a signal is specified by its sampling frequency. Thus, the largest banwidth a signal can have is twice the operating frequency, i.e., the total bandwidth in this case becomes 0 to twice of the carrier frequency.
From the description of your signal, it seems you are not modeling modulated bandpass signals. Therefore, this may not be the best beamformer for you. You may want to try out the Frost beamformer which works for wideband signals regardless whether it's modulated or not.
HTH
Related Question