I can use “phased.Su​mDifferenc​eMonopulse​Tracker”to create a MonoPulse tracker, but how to plot the Sum or Difference beam?

ha = phased.URA('Size',4);
hstv = phased.SteeringVector('SensorArray',ha);
hmp = phased.SumDifferenceMonopulseTracker2D('SensorArray',ha);
x = step(hstv,hmp.OperatingFrequency,[60.1; 19.5]).';
est_dir = step(hmp,x,[60; 20]);
*_ _I want to see the Sum or Difference beam,how to do?__*

 Accepted Answer

The SumDifferenceMonopulseTracker only gives out the angle. It does not provide sum and difference result at this point. One way to get around it is to build it from an array. For example
pattern(ha,hmp.OperatingFrequency,-90:90,0,'Weights',ones(16,1));
plots the sum beam yet
pattern(ha,hmp.OperatingFrequency,-90:90,0,'Weights',[ones(8,1);-1*ones(8,1)]);
plots the difference beam.
HTH

13 Comments

追问一下哈,您的一时是SumDifferenceMonopulseTracker的差波束是直接取反得到的是吧?
还有一个问题,我怎么才能导出pattern(ha,hmp.OperatingFrequency,-90:90,0,'Weights',ones(16,1));画的方向图呢?我目前只能画,不会导出matlab仿的方向图
差不多,但是有个相位,你可以看看那个参考文献。你的导出是什么意思,是存成别的格式的图象文件?
把pattern图保存成俯仰角 方位角 增益的离散数据
大神你好,用相控阵工具箱计算相控阵接收信号,想请教一下CollectPlaneWave和PhaseShiftBeamformer计算非URA或非ULA接收信号的用法,MATLAB帮助文件使用的是URA或ULA作为例子,如果计算相位中心不在原点位置的阵列接收信号,需要注意什么吗? URA计算例子:
% Simulate signal
t = (0:1000)';
x = sin(2*pi*0.01*t);
c = 3e8; Fc = 3e8;
incidentAngle = [45; 0];
ha = phased.URA;
ha.Size = [2 2];
x = collectPlaneWave(ha,x,incidentAngle,Fc,c);
noise =0* 0.1*(randn(size(x)) +0* 1j*randn(size(x)));
rx = x + noise;
% Beamforming
hbf = phased.PhaseShiftBeamformer('SensorArray',ha,...
'OperatingFrequency',Fc,'PropagationSpeed',c,...
'Direction',incidentAngle,'WeightsOutputPort',true);
[y,w] = step(hbf,rx);
% Plot signals
plot(t,real(rx(:,3)),'r:',t,real(y));
xlabel('Time'); ylabel('Amplitude');
legend('Original','Beamformed');
% Plot response pattern
figure;
plotResponse(ha,Fc,c,'Weights',w);
非ULA或这URA可以用phased.ConformalArray来构造,用法都是一样的。工具箱假设相位中心在原点,如果相位中心不在原点,一般来说所有的信号会有相同的相移,如果只是对方向图感兴趣的话,那个对方向图没有影响
方式一用CollectPlaneWave和PhaseShiftBeamformer去计算相控阵在某个来波方向的接收信号,方式二用函数collector去计算每个阵元的接收信号然后将他们加起来,这两种方式是不是等效的?
collectPlaneWave不考虑阵元本身的方向图,如果是isotropic的阵元,它们就是等效的。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!