フィルターのクリア

Out of Memory error!

4 ビュー (過去 30 日間)
Hassam Mahmood
Hassam Mahmood 2016 年 10 月 9 日
コメント済み: Hassam Mahmood 2016 年 11 月 1 日
I am scanning from azimuth 1 to 45 by using 20by20 URA narrowband tx array block. The input port 'W' is being fed by a function block which is coded as follows :
function y = SIGNAL_STEER(signal)
coder.extrinsic('phased.URA', 'steervec', 'getElementPosition');
y=zeros(400,45);
az=45;
fc=36e9;
v=3e8;
lambda=v/fc;
ss=phased.URA('Size',[20 20],'ElementSpacing' , lambda/2);
elem_pos=(getElementPosition(ss)/lambda);
for le=1:1:az;
sv=steervec(elem_pos,le);
complex_arr=conj(sv);
% y=zeros(size(sv));
y=complex_arr;
end
end
My signal is of 50000by1 dimension, output 'y'is 400by1 and it must be a column vector. When this signal is reflected back from the target and fed into Rx narrowband array block having same configuration as of Narrowband tx array block I get output dimension of 50000by400 which I believe is correct as my URA is 20by20. I believe that my dimensions are correct but I am getting out of memory error! How to resolve it

採用された回答

Honglei Chen
Honglei Chen 2016 年 10 月 13 日
I'm a bit confused by your code snippet. For example, your input, signal, is never used in the function, so I'm not sure what you intended to do with this code. This being said, you don't have to use extrinsic for phased.URA as it supports codegen. I would just do
function y = SIGNAL_STEER
az=45;
fc=36e9;
v=3e8;
lambda=v/fc;
persistent ss stv;
if isempty(ss)
ss=phased.URA('Size',[20 20],'ElementSpacing' , lambda/2);
end
if isempty(stv)
stv = phased.SteeringVector('SensorArray',ss,'PropagationSpeed',v);
end
y = conj(step(stv,fc,1:1:az));
end
BTW I still cannot reproduce the out of memory issue.
HTH
  14 件のコメント
Honglei Chen
Honglei Chen 2016 年 10 月 31 日
A1) No, it simply means that in each simulation step you are simulating 5000 samples, you need 100 steps to simulate one sweep.
A2) Like I said, it simply tries to simulate each sweep in multiple simulation steps.
A3) In real life, samples always come one after another. We need to buffer it so we can process the entire sweep at once.
HTH
Hassam Mahmood
Hassam Mahmood 2016 年 11 月 1 日
Yes, thank you for making my concepts more clear. As you saw my model and code, it is scanning from 0 to 45 azimuth having 5 degrees beamwidth with URA of 30by30.
When I change target position to greater than 50 azimuth , I still get signal strength and ultimately range. It shouldn't be like this. Why is it so

サインインしてコメントする。

その他の回答 (1 件)

Pritesh Shah
Pritesh Shah 2016 年 10 月 10 日

カテゴリ

Help Center および File ExchangeTransmitters and Receivers についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by