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 visualización (últimos 30 días)
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!

Respuesta aceptada

Siriniharika Katukam
Siriniharika Katukam el 30 de Oct. de 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.

Más respuestas (0)

Categorías

Más información sobre Graphics Object Programming 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