Out of Memory error!
3 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Honglei Chen
on 13 Oct 2016
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
More Answers (1)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!