Clear Filters
Clear Filters

How to get received signal at the carrier when use Phased Array ToolBox

1 view (last 30 days)
Following code is copied from help of phased.Collector, My questions are
  1. what is 'receivedsig' signal frequency?
  2. How to get signal at carrier freqeuncy fc, i.e. the array each element received signal at carrier?
fc = 1e9;
lambda = physconst('LightSpeed')/fc;
array = phased.ULA('NumElements',4,'ElementSpacing',lambda/2);
t = linspace(0,1,1e3);
x = cos(2*pi*200*t)';
collector = phased.Collector('Sensor',array, ...
'PropagationSpeed',physconst('LightSpeed'),'Wavefront','Plane', ...
incidentangle = [45;10];
receivedsig = collector(x,incidentangle);

Accepted Answer

Chen on 14 Jan 2020
Hello HTH
Many thanks for you answer!
In order to do A(t)exp(1i*2*pi*fc*t). A(t) has to sampled at fs>=2fc. Please let me know which of followings are right, or both OK.
  1. make x is (in my code above) sampled at fs=2.1*Fc, and send to collector to get 'receivedsig', and then do receivedsig.*exp(1i*2*pi*fc*t) to get carrier data.
  2. keep x is the same in the above code. get 'receivedsig' first at low-rate. then do interplation to add points in 'receivedsig' based on ts=1/(2.1*fc), after that, do receivedsig.*exp(1i*2*pi*fc*t)

More Answers (1)

Honglei Chen
Honglei Chen on 14 Jan 2020
Phased Array System Toolbox models the signal as a complex baseband representation. Normally a signal occupies certain bandwidth around a carrier in the form of A(t)exp(1i*2*pi*fc*t). So the toolbox just models A(t) as if the signal were downconvereted from the carrier.
If you want to get the origianl signal, you can just do A(t)exp(1i*2*pi*fc*t). However, make sure you really need it because to accurately represent a signal at fc, you need to at lease sample at 2*fc, which could be very high.




Community Treasure Hunt

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

Start Hunting!