Imperfect steering vectors in an uniform linear array for Robust adaptive beamforming

1 次查看(过去 30 天)
Is it possible to use the PhasedArray toolbox to generate imperfect steering vectors?
I know I can use the below commands to create a ULA of N elements.
array = phased.ULA('NumElements',N);
steervec = phased.SteeringVector('SensorArray',array);
steervec_prac = steervec + error
But then I want to change the steering vectors by a error vector and later use this array to perform MVDR?
beamformer = phased.MVDRBeamformer('SensorArray',array,...
'PropagationSpeed',c,'OperatingFrequency',fc,...
'Direction',incidentAngle,'WeightsOutputPort',true);
[y,w] = beamformer(rx);
I want the beamformer weights to consider my imperfect steering vectors.

回答(1 个)

Abhimenyu
Abhimenyu 2023-10-13
Hi Jay,
I understand that you want to produce imperfect steering vectors and then use them in MVDR beamformer.
The error can be created as follows:
error= 0.1*randn(size(steervec));
This can be added to create imperfect steering vectors.
The “phased.MVDRBeamformer object has no name-value pair that intakes the steering vectors. However, the received signal can be multiplied with the imperfect steering vectors, and then it can be passed to the beamformer function to obtain the effect of the imperfect steering vectors on the beamformer weights.
beamformer = phased.MVDRBeamformer('SensorArray',array,...
'PropagationSpeed',c,'OperatingFrequency',fc,...
'Direction',incidentAngle,'WeightsOutputPort',true);
rx1=rx*steervec_prac; %Multiplying the steering vectors with the received signal
[y,w] = beamformer(rx1);
The dimensions of the “steervec_prac must be adjusted so that modified received signal (“rx1”) also has same number of columns as the unaltered vector (“rx).
To know more about the name-value pairs of the “phased.MVDRBeamformer” object, please refer to the documentation link below:
I hope this helps!
Thank you,
Abhimenyu.

Community Treasure Hunt

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

Start Hunting!

Translated by