The 'plutoradioQPSKReceiverExample' throws the error:
'QPSKDataDecoder' is used in QPSK Transmitter and Receiver
due to a missing file 'QPSKDataDecoder' in the Support Package path. Both the 'plutoradioQPSKReceiverExample' in Pluto Hardware Support and 'QPSKTransmitterAndReceiverExample' in Communications Toolbox use a common file 'QPSKDataDecoder' that is missing in the support package directory, and returns this error as a result.
To resolve this issue:
Click on the link "QPSK Transmitter and Receiver" in the error message
'QPSKDataDecoder' is used in QPSK Transmitter and Receiver
The current folder path will then be changed to the 'QPSKTransmitterAndReceiverExample' directory in the Communications Toolbox, in which 'QPSKDataDecoder' is available,
Next, execute:
at the MATLAB Command Window to add this location to the MATLAB path. After doing so, 'plutoradioQPSKReceiverExample' and 'QPSKTransmitterandReceiverExample' will run successfully.
Best Answer
The error is because of the "plutoradioCheckConfig" function in the "init" callback of the model.
The plutoradioCheckConfig function tries to determine if the radio can be set to 100e6 Hz by setting the center frequency to 100e6 and then checking with the info method what the set value is.
It looks like, for some ADALM-PLUTO radios, the value returned by the info method (actual value) is exactly 100e6, but for some it is 99999998. This causes the plutoradioCheckConfig function to wrongly error out.
As a workaround, you can remove this function from the "init" callback and run the example and you should not face any issues.
For more information on model callbacks please refer to the following documentation:
https://www.mathworks.com/help/simulink/ug/model-callbacks.html