Y = step(H,X)
Y = step(H,X,EN_RX)
Y = step(H,X,PHNOISE)
Y = step(H,X,EN_RX,PHNOISE)
Y = step(H,X,PHNOISE) uses input PHNOISE as the phase noise for each sample in X when the PhaseNoiseInputPort is set to true. The phase noise is the same for all channels in X. The elements in PHNOISE represent 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.
Note: H specifies the System object™ on which to run this step method.
The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties 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 release method to unlock the object.
Enabling signal, specified as a column vector whose length equals the number of rows in X. The data type of EN_RN is double or logical. Every element of EN_RX that equals 0 or false indicates that the receiver is turned off, and no input signal passes through the receiver. Every element of EN_RX that is nonzero or true indicates that the receiver is turned on, and the input passes through.
Phase noise for each sample in X, specified as a column vector whose length equals the number of rows in X. You can obtain PHNOISE as an optional output argument from the step method of phased.Transmitter.
Output signal. Y has the same dimensions as X.
This example shows how to construct a Receiver Preamp System object with a noise figure of 5 dB and a bandwidth of 1 MHz and then use its step method to amplify a sine wave.
Construct the Receiver Preamp system object.
hrx = phased.ReceiverPreamp('NoiseFigure',5,'SampleRate',1e6);
Create the signal.
Fs = 1e3; t = linspace(0,1,1e3); x = cos(2*pi*200*t)';
Use the step method to amplify the signal and then plot the first 100 samples.
y = step(hrx,x); idx = [1:100]; plot(t(idx),x(idx),t(idx),real(y(idx))) xlabel('Time (s)') ylabel('Amplitude') legend('Original signal','Received signal')