System object: phased.ReceiverPreamp
Receive incoming signal
Y = step(H,X)
Y = step(H,X,EN_RX)
Y = step(H,X,PHNOISE)
Y = step(H,X,EN_RX,PHNOISE)
Starting in R2016b, instead of using the
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example,
= step(obj,x) and
y = obj(x) perform
Y = step(
PHNOISE as the phase noise for each sample
X when the
true. The phase noise is the same for all
X. The elements in
the random phases the transmitter adds to the transmitted pulses.
The receiver preamp object removes these random phases from all received
samples returned within corresponding pulse intervals. Such setup
is often referred to as coherent on receive.
The object performs an initialization the first time the
is executed. This initialization locks nontunable
properties (MATLAB) and input specifications, such as dimensions, complexity,
and data type of the input data. If you change a nontunable property
or an input specification, the System
object issues an error.
To change nontunable properties or inputs, you must first call the
to unlock the object.
The size of the first dimension of this input matrix can vary to simulate a changing signal length, such as a pulse waveform with variable pulse repetition frequency.
Enabling signal, specified as a column vector whose length equals
the number of rows in
Phase noise for each sample in
This example shows how to construct a
phased.ReceiverPreamp System object™ with a noise figure of 5 dB and a bandwidth of 1 MHz. Then use the object to amplify the signal.
Construct the Receiver Preamp system object.
receiver = phased.ReceiverPreamp('NoiseFigure',5,'SampleRate',1e6);
Create the signal.
Fs = 1e3; t = linspace(0,1,1e3); x = cos(2*pi*200*t)';
step method to amplify the signal and then plot the first 100 samples.
y = receiver(x); idx = [1:100]; plot(t(idx),x(idx),t(idx),real(y(idx))) xlabel('Time (s)') ylabel('Amplitude') legend('Original signal','Received signal')