carrier_rec_process
Main process for the carrier recovery
Séquence d'appel
[cr,z2] = carrier_rec_process(cr,z1)
[cr,z2,dbg] = carrier_rec_process(cr,z1);
[cr,z2] = carrier_rec_process(cr,z1) [cr,z2,dbg] = carrier_rec_process(cr,z1);
Paramètres
- cr:
Carrier recovery object
- z1:
Input I/Q sample
- z2:
Output I/Q sample, frequency and phase corrected
- dbg:
Optional debug information (recovered carrier)
Carrier recovery object
Input I/Q sample
Output I/Q sample, frequency and phase corrected
Optional debug information (recovered carrier)
Description
Run a local oscillator tuned to the input signal through a phase error detector and a loop filter. The local oscillator is used to correct the phase and frequency of the input signal:
, with
current phase of the local oscillator.
Exemple
// Build a BPSK signal mod = mod_init('bpsk',fs=1,fi=0,fsymb=1); [mod,z1] = mod_process(mod,prbs(100)); // With some noise and phase offset z1 = awgn(z1, 0.05, 'c') .* exp(%i*0.7*%pi/2); // // Build a carrier recovery object ped = ped_init('psk', 2, tc = 10); // Default PED for BPSK lf = lf_init(1, tc = 10); // First order loop filter cr = carrier_rec_init(ped, lf); // // Proceed to carrier recovery [cr,z2] = carrier_rec_process(cr,z1); // scf(0); clf(); subplot(211); plot_const(z1); xtitle("Input of carrier recovery"); subplot(212); plot_const(z2); xtitle("Output of carrier recovery"); |

Example: BPSK signal with phase offset before and after carrier recovery.