Imperfect steering vectors in an uniform linear array for Robust adaptive beamforming
2 views (last 30 days)
Show older comments
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.
0 Comments
Answers (1)
Abhimenyu
on 13 Oct 2023
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.
0 Comments
See Also
Categories
Find more on Beamforming 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!