Цифровой контур ФАПЧ (digital PLL) и его свойства

Содержание

Введение
В предыдущей статье мы рассматривали аналоговый контур ФАПЧ и его основные характеристики. Мы получили нелинейную модель контура и произвели ее линеаризацию и вывели передаточную характеристику , зависящую от двух параметров: резонансной частоты и демпинг фактора . В данной статье мы рассмотрим переход от аналогового контура ФАПЧ второго порядка к цифровому, в англоязычной литературе digital PLL (DPLL) и покажем как рассчитывать коэффициенты цифрового петлевого фильтра. Кроме того, мы проанализируем устойчивость цифрового контура и произведем моделирование его работы. Предполагается, что читатель знаком с теорией z - преобразования и отображения комплексной плоскости s в комплексную z – плоскость (очень подробно данные вопросы были рассмотрены здесь).

Структурная схема и принцип работы цифрового контура ФАПЧ
Структурная схема цифрового контура ФАПЧ показана на рисунке 1.


Рисунок 1: Структурная схема цифрового контура ФАПЧ

Как можно заметить, структурная схема цифрового контура ФАПЧ аналогична структурной схеме аналогового контура, рассмотренного ранее, за исключением того, что он работает не в непрерывном времени, а в дискретном c интервалом дискретизации , где – частота дискретизации. При этом петлевой фильтр является цифровым, а ГУН работает в дискретном времени согласно рисунку 2.


Рисунок 2: Принцип функционирования цифрового ГУН

Обратим внимание, что аналоговый ГУН интегрировал сигнал ошибки . Тогда при переходе от непрерывного времени к дискретному интегрирование заменяется суммированием . Введем обозначение:

(1)
где – текущее значение фазы ГУН. Тогда можно записать:
(2)
Полученное разностное уравнение фазы цифрового ГУН соответствует передаточной характеристике цифрового ГУН вида:
(3)
Сделаем замечание. Текущее значение фазы ГУН зависит от предыдущего значения сигнала ошибки , что учитывается множителем в числителе. В литературе принято разделять передаточную характеристику , вынося элемент задержки отдельно для обеспечения каузальности.
Рассмотрим теперь работу цифрового контура ФАПЧ. На выходе фазового детектора получим сигнал :
(4)
Петлевой фильтр устраняет слагаемое на удвоенной частоте, тогда
(5)
Модель цифрового контура ФАПЧ показана на рисунке 3.


Рисунок 3: Модель цифрового контура ФАПЧ

Также как и модель аналогового контура ФАПЧ, модель цифрового контура нелинейна, но может быть линеаризована при малом значении в установившемся режиме и множитель 0.5 может быть учтен в коэффициенте .
Линеаризованная модель цифрового контура ФАПЧ показана на рисунке 4.


Рисунок 4: Линеаризованная модель цифрового контура ФАПЧ

Если и – z-образы и соответственно, то передаточная характеристика цифрового контура ФАПЧ равна
(6)
Структурная схема петлевого фильтра показана на рисунке 5.


Рисунок 5: Структурная схема петлевого фильтра цифрового контура ФАПЧ

и как и в случае с аналоговым контуром ФАПЧ – пропорциональный и интегральный коэффициенты. Передаточная характеристика петлевого фильтра равна
(7)
Окончательно можно записать передаточную характеристику линеаризованной модели контура ФАПЧ (6) с учетом (7) и (3) в виде:
(8)
Введем обозначения и , тогда
(9)
Таким образом мы получили передаточную характеристику цифрового контура ФАПЧ, которая зависит от коэффициентов и , и нам необходимо научиться рассчитывать эти коэффициенты.
Приведем также разностное уравнение петлевого фильтра, которое пригодится нам при моделировании цифрового конура ФАПЧ:
(10)

Переход от аналогового контура ФАПЧ к цифровому
Ранее мы подробно рассматривали аналоговый контур ФАПЧ и получили его передаточную характеристику в виде:
(11)
где – резонансная частота, а – демпинг фактор. Полюса передаточной характеристики можно найти приравняв знаменатель (11) к нулю:
(12)
Преобразуем полюса и к паре комплексно-сопряженных полюсов, для этого вынесем под корнем квадратным минус единицу за скобки:
(13)
При рассмотрении цифровых фильтров мы говорили, что переход от аналогового фильтра к цифровому производится путем отображения комплексной s-плоскости в комплексную z-плоскость вида:
(14)
– интервал дискретизации. Тогда полюса и передаточной характеристики аналогового контура ФАПЧ можно преобразовать в полюса и передаточной характеристики цифрового контура :
(15)
Графически отображение полюсов аналогового контура ФАПЧ в полюса цифрового контура показано на рисунке 6.


Рисунок 6: Отображение полюсов аналогового контура ФАПЧ в полюса цифрового контура

Передаточная характеристика цифрового контура ФАПЧ в этом случае может быть представлена через полюса в виде:
(16)
откуда с учетом (15) можно записать:
(17)
Сделаем важное замечание. При отображении s-плоскости в z-плосость необходимо чтобы резонансная частота была много меньше частоты дискретизации. Это связано с тем, что переход от аналогового контура к цифровому приводит к периодизации его полюсов (это подробно рассмотрено здесь) и наложению периодически повторяющихся «хвостов» частотной характеристики.

Расчет коэффициентов петлевого фильтра цифрового контура ФАПЧ
Для расчета коэффициентов петлевого фильтра и цифрового контура ФАПЧ выразим параметры и через резонансную частоту и демпинг фактор . Раскроем скобки в знаменателе передаточной функции (9) и приведем подобные:
(18)
Сравнивая знаменатель (18) и (16) можно заключить:
(19)
Подставляя выражение (17) для и получим:
(20)
Тогда окончательно выражения для коэффициентов петлевого фильтра :
(21)
Выражения (20) и (21) позволяет рассчитывать параметры цифрового петлевого фильтра через привычные значения резонансной частоты и демпинг фактора для заданного интервала дискретизации.
На рисунке 7 приведены АЧХ и ФЧХ цифрового контура ФАПЧ при различном демпинг факторе, резонансной частоте и частоте дискретизации .

Для просмотра SVG графики Вам необходимо обновить браузер

Для просмотра SVG графики Вам необходимо обновить браузер
Рисунок 7: АЧХ и ФЧХ цифрового контура ФАПЧ

Устойчивость цифрового контура ФАПЧ
Поскольку контур ФАПЧ имеет обратную связь, то необходимо определить значения коэффициентов петлевого фильтра, при которых контур устойчив. Известно, что устойчивый контур имеет полюса расположенные внутри единичной окружности. Рассмотрим полюса передаточной характеристики контура (9), для этого приравняем знаменатель к нулю (9):
(22)
Полюса цифрового контура ФАПЧ равны:
(23)
Цифровой контур ФАПЧ будет устойчивым если его полюса лежат внутри единичной окружности комплексной плоскости z, т. е. их модуль меньше единицы:
(24)
Рассмотрим два случая.
Случай первый , т.е. полюса чисто вещественные, тогда неравенство (24) можно разбить на два неравенства:
(25)
Из первого неравенства следует, что
(26)
Из второго неравенства (25) можно выразить:
(27)
Таким образом, первый случай можно записать в обобщенном виде:
(28)
Графически данная область устойчивости показана на рисунке 8 синей горизонтальной штриховкой.


Рисунок 8: Область устойчивости цифрового контура ФАПЧ

Второй случай:
т.е. полюса комплексно-сопряженные, тогда неравенство (24) можно представить:
(29)
Модуль комплексного числа можно записать как:
(30)
Возведем обе части неравенства в квадрат, и преобразуем:
(31)
Таким образом второй случай можно представить:
(32)
Графически область устойчивости, соответствующая второму случаю показана на рисунке 8 зеленой вертикальной штриховкой. Объединяя первый и второй случай получим область устойчивости цифрового контура ФАПЧ как это показано на рисунке 9.


Рисунок 9: Обощенная область устойчивости цифрового контура ФАПЧ

Таким образом, при расчете цифрового контура ФАПЧ необходимо проверять попадают ли значения и рассчитанные согласно (20) в заштрихованную область при заданных параметрах резонансной частоты, демпинг фактора и частоты дискретизации. Если не попадают – контур неустойчив и необходимо изменить исходные параметры для обеспечения устойчивости контура ФАПЧ.

Моделирование цифрового контура ФАПЧ
В данном параграфе мы рассмотрим конкретную модель цифрового контура ФАПЧ. Наша модель будет соответствовать структурной схеме показанной на рисунке 10.


Рисунок 10: Структурная схема модели контура ФАПЧ

Рассмотрим структуру модели более подробно. Исходный сигнал имеет вид:
(33)
где – частота исходного сигнала, – начальная фаза, умножается на сигнал с выхода ГУН вида:
(34)
где – частота ГУН, которая отличается от на величину , – отсчет фазы ГУН удовлетворяющий разностному уравнению (2). Отметим, что сигнал – повернутый на минус 90 градусов сигнал , т.е.:
(35)
Сигнал – разностный сигнал, который в режиме сопровождения должен стремиться к нулю. Сигнал на выходе петлевого фильтра удовлетворяет разностному уравнению (10).
Исходные данные для моделирования:
коэффициент фазового детектора ;
коэффициент ГУН: ;
резонансная частота ФАПЧ ;
демпинг фактор ;
частота дискретизации ;
частота сигнала ;
частотная расстройка ГУН ;
частота ГУН .
Ниже приведен исходный код программы на языке си, моделирующий работу цифрового контура ФАПЧ в соответствии с приведенной структурной схемой и исходными данными.


#include < stdio.h >
#include < stdlib.h >
#define _USE_MATH_DEFINES
#include < math.h >


//Функция сохранения массивов в текстовый файл
int save2txt(double* t, double* s, int n, char* fileName){
    if((!s)||(!fileName))
        return 0;
    FILE *file = fopen(fileName, "w");
    if(!file)
        return 0;
    if(t){
        for(int i = 0; i < n; i++)
            fprintf(file,"%e\t%e\n",t[i],s[i]);
    }
    else{
        for(int i = 0; i < n; i++)
            fprintf(file,"%d\t%e\n",i,s[i]);
    }
    fclose(file);
    return 1;
}


//Основная программа
int main(){
    double kd = 1.0; // коэффициент Kd фазового детектора
    double ko = 1.0; // коэффициент Ko ГУН
    double wp = 2.0*M_PI*50.0; // резонансная частота контура    (рад/с)
    double zeta = 0.5; // демпинг фактор

    double Fs = 1E4; // частота дискретизации (Гц)
    double T = 1.0/Fs; // интервал дискретизации (сек)
    double f0 = 1000.0; // частота сигнала (Гц)
    double phi = -1.5; // начальная фазовая расстройка (рад)
    double df = 4.0; // начальная частотная расстройка (Гц)
    double fg = f0-df; // частота ГУН (Гц)

    //расчет к-тов g1 и g2
    double g1 = 2.0*(1.0 - exp(-wp*zeta*T)*cos(wp*sqrt(1.0-zeta*zeta)*T));
    double g2 = exp(-2.0*wp*zeta*T)-1.0+g1;

    //расчет к-тов Ki и Kp петлевого фильтра
    double ki = g2/(ko*kd);
    double kp = g1/(ko*kd);

    
    int N = 1000; //количество точек моделирования    

    //выделяю память под массивы
    double* t = (double*)malloc(N*sizeof(double)); //время
    double* s = (double*)malloc(N*sizeof(double)); //входной сигнал
    double* v = (double*)malloc(N*sizeof(double)); //выход фазового детектора
    double* e = (double*)malloc(N*sizeof(double)); //выход петлевого фильтра

    double* p = (double*)malloc(N*sizeof(double)); //фаза ГУН
    double* y = (double*)malloc(N*sizeof(double)); //сигнал на выходе ГУН
    double* r = (double*)malloc(N*sizeof(double)); //ошибка слежения

    for(int i = 0; i < N; i++){
        t[i] = (double)i*T;     //заполняю массив времени        
        s[i] = sin(2.0*M_PI*f0*t[i]+phi); //заполняю массив исходного сигнала
    }

    //начальные условия
    p[0] = 0.0;
    v[0] = kd*s[0]*cos(2*M_PI*fg*t[0]);
    e[0] = (kp+ki)*v[0];
    y[0] = 0.0;
    r[0] = s[0];

    //цикл моделирования контура ФАПЧ
    for(int i = 1; i < N; i++){

        //выход фазового детектора    
        v[i] = kd * s[i] * cos(2.0*M_PI*fg*t[i]+p[i-1]);

        //разностное уравнение петлевого фильтра
        e[i] = kp*v[i] + (ki-kp)*v[i-1] + e[i-1];

        //разностное уравнение ГУН
        p[i] = ko * e[i-1] + p[i-1];

        //сигнал синхронизированный со входным
        y[i] = sin(2.0*M_PI*fg*t[i]+p[i-1]);

        //ошибка слежения
        r[i] = s[i] - y[i];
    }

    //сохраняю результаты в файлы
    save2txt(t,v,N,"v.txt");
    save2txt(t,e,N,"e.txt");
    save2txt(t,p,N,"p.txt");
    save2txt(t,y,N,"y.txt");
    save2txt(t,s,N,"s.txt");
    save2txt(t,r,N,"r.txt");

    //очистка памяти    
    free(t);
    free(s);
    free(v);
    free(e);
    free(p);
    free(y);
    free(r);
    return 0;
}



В результате работы будут созданы файлы:
s.txt– отсчеты сигнала ;
v.txt– отсчеты сигнала ;
e.txt– отсчеты сигнала ;
p.txt– отсчеты сигнала ;
y.txt– отсчеты сигнала ;
r.txt– отсчеты сигнала ;
Графики полученных результатов (содержимое файлов) приведены на рисунках ниже


Для просмотра SVG графики Вам необходимо обновить браузер
Рисунок 11: Осциллограмма сигнала на выходе фазового детектора



Для просмотра SVG графики Вам необходимо обновить браузер
Рисунок 12: Сигнал управления на выходе петлвого фильтра



Для просмотра SVG графики Вам необходимо обновить браузер
Рисунок 13: Фаза сигнала на выходе ГУН



Для просмотра SVG графики Вам необходимо обновить браузер
Рисунок 14: Исходный сигнал (синий), сигнал на выходе ГУН синхронизированный со входным сигналом (красный) и сигнал ошибки слежения (зеленый)

Выводы
Таким образом, мы рассмотрели цифровой контур ФАПЧ и его характеристики. Мы получили выражения, ставящие в соответствие аналоговый конур и цифровой, и позволяющие рассчитать коэффициенты петлевого фильтра исходя из заданной резонансной частоты и демпинг фактора. Также была рассчитана область устойчивости цифрового контура ФАПЧ и приведен пример модели контура в режиме сопровождения.

Любые вопросы и пожелания вы можете оставить в гостевой книге, на форуме, или прислать по электронной почте admin@dsplib.ru


Система Orphus
Любое копирование материалов сайта без разрешения автора запрещено.
Разработка и дизайн Бахурин Сергей.