Out of Memory error!

1 visualización (últimos 30 días)
Hassam Mahmood
Hassam Mahmood el 9 de Oct. de 2016
Comentada: Hassam Mahmood el 1 de Nov. de 2016
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

Respuesta aceptada

Honglei Chen
Honglei Chen el 13 de Oct. de 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
  14 comentarios
Honglei Chen
Honglei Chen el 31 de Oct. de 2016
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 el 1 de Nov. de 2016
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

Iniciar sesión para comentar.

Más respuestas (1)

Pritesh Shah
Pritesh Shah el 10 de Oct. de 2016

Categorías

Más información sobre Signal Radiation and Collection en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by