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 visualizzazione (ultimi 30 giorni)
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!

Risposta accettata

Siriniharika Katukam
Siriniharika Katukam il 30 Ott 2019
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.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by