DigComT

DPLL

DirectoryDOS NameType
Modem dpll mex-file

Purpose

Provides a digital phase locked loop function

Calling Sequence

[y, state] = DPLL(x, para, state) or [y, state, theta, loop_error, freq_est] = DPLL(x, para, state, err_func)

INPUTS

Input Description
1 x
complex rotating data (a vector)
2 para
parameters:
para(1) - alpha, the proportional loop constant
para(2) - beta, the integral loop constant
(optional, default: 0 which means first order loop)
para(3) - err_para (optional, default: 0, see PLLerr...)
para(4) - phase_register_length in bits
(optional, default: 0, which means floating point)
para(5) - table_prec, number of bits in phase table representation;
used to build PhaseTable if required
(optional, default: 0, which means floating point,
uses: Qrotate to build PhaseTable)
para(6) - freq_register_length in bits
(optional, default: 0, which means floating point)
para(7) - freq_register_shift in bits;
the number of bits to the right of the "decimal" bit
(optional, default: 0, which means no scale)
para(8) - delay; an inserted delay before the loop_error signal in the loop
(optional, default: 0)
3 state
current state:
[last_phase, last_freq, pipe]; pipe is loop_error delay register values
(can initialize with [] or last_phase or [last_phase, last_freq])
err_func (optional, default: 'PLLerr_sign_linear')

OUTPUTS

Output Description
1 y
complex de-rotated data (a vector)
2 next_state
next state vector
theta - loop
phase estimate (optional)
3 loop_error
loop error (optional)

Notes

The phase/frequency estimate is updated by the rule:
(1) Rotate and Compute loop_error:
loop_error = err_func(x*exp(-i*theta), err_para)
(2) Update loop
next_theta = theta + alpha*loop_error + freq
next_freq = freq + beta*loop_error
Note: the phase and the frequency can be floating point or fixed precision.
DigComT Manual Table of Contents DigComT Manual Native Intelligence Home

DigComT Licensee: Chris Heegard 
Native Intelligence
Last modified: Tuesday, January 11, 2000
Date created: Tuesday, January 11, 2000

Copyright © 1997-2000, Native Intelligence, All rights reserved.