Set-up of a coherent receiver / comparison with Hilbert Transform: Error using phased.ReceiverPreamp/parenReference Not enough input arguments. Expected 2 (in addition to System object), got 1.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Clementine Chevalier
il 27 Ott 2019
Commentato: Clementine Chevalier
il 5 Nov 2019
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
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.
0 Commenti
Più risposte (0)
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!