Phase Noise on QPSK Signal
1 view (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Chandresh Vora
on 17 Jun 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
0 Comments
More Answers (0)
See Also
Categories
Find more on Transmitters and Receivers in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!