Phase Noise on QPSK Signal

1 visualización (últimos 30 días)
Lino
Lino el 31 de Mayo de 2019
Respondida: Chandresh Vora el 17 de Jun. de 2019
I am working with MATLAB R2016a. When I attempt to execute the below code I get the following error:
Array formation and parentheses-style indexing with objects of class
'comm.QPSKModulator' is not allowed. Use objects of class
'comm.QPSKModulator' only as scalars or use a cell array.
Error in qpskemv (line 23)
x = qpskModulator(d);
CODE:
qpskModulator = comm.QPSKModulator;
phNoise = comm.PhaseNoise('Level',-55,'FrequencyOffset',20,'SampleRate',1000);
d = randi([0 3],1000,1);
x = qpskModulator(d);
y = phNoise(x);
There is a note stating of course: "Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operation"
Can anyone tell me how to use this step to correct the above code?

Respuesta aceptada

Chandresh Vora
Chandresh Vora el 17 de Jun. de 2019
As the note suggests, y = obj(x) is equivalent to y = step(obj,x) starting R2016b. In R2016a, y = step(obj,x) is the correct syntax. Replace these two lines -
x = qpskModulator(d);
y = phNoise(x);
with -
x = step(qpskModulator,d);
y = step(phNoise,x);
Thanks,
Chandresh

Más respuestas (0)

Categorías

Más información sobre Transmitters and Receivers en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by