Set-up of a coherent receiver / comparison with Hilbert Transform: Error using phased.Rec​eiverPream​p/parenRef​erence Not enough input arguments. Expected 2 (in addition to System object), got 1.

1 次查看(过去 30 天)
Hi everyone,
I am trying to compare the behavior of a coherent receiver and the Hilbert Transform. My code for the Hilbert transform is the following and works well:
fs = 1e4;
t = 0:1/fs:1;
x=2.5 + cos(2*pi*203*t) + sin(2*pi*721*t) + cos(2*pi*1001*t);
y = hilbert(x);
plot(t,real(y),t,imag(y))
xlim([0.01 0.03])
legend('real','imaginary')
title('hilbert Function')
But I have troubles computing the receiver:
fs = 1e4;
t = 0:1/fs:1;
receiver = phased.ReceiverPreamp('NoiseFigure',60,'SampleRate',fs,'PhaseNoiseInputPort',true,'NoiseComplexity', 'Complex');
x = 2.5 + cos(2*pi*203*t) + sin(2*pi*721*t) + cos(2*pi*1001*t);
y = receiver(x);
plot(t,real(y),t,imag(y))
xlim([0.01 0.03])
xlabel('Time (s)')
legend('real','imaginary')
title('Coherent Receiver')
I have the following error: Error using phased.ReceiverPreamp/parenReference. Not enough input arguments. Expected 2 (in addition to System object), got 1.
I don't know which argument Matlab expects.
Thank you in advance for your help!

采纳的回答

Siriniharika Katukam
Hi,
You have set the property “PhaseNoiseInputPort” to 'true'. The documentation page says that whenever you set it to 'true', you need to specify the phase noise for each incoming sample. So, pass the phase noise in the line (say for example k)
y = receiver(x,k);
This resolves the error you encountered. You can refer to the property from the following link.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by