Цифровой замкнутый цикл фазы

В этом примере показано, как смоделировать цифровой замкнутый цикл фазы с помощью Mixed-Signal Blockset™. В цифровом замкнутом цикле фазы обнаружение фазы выполняется к цифровому конвертеру (TDC) времени, фильтрация цикла выполняется цифровым фильтром, и генератор является в цифровой форме управляемым генератором (DCO). Этот пример демонстрирует поведенческую модель TDC, использование BiquadFilter от DSP Systen Toolbox™ как цифровой контурный фильтр и использование VCOs и DACs от Mixed-Signal Blockset, чтобы смоделировать DCO.

Этот пример также демонстрирует один метод для разработки цикла управления цифрового PLL при помощи архитектур PLL от Mixed-Signal Blockset, чтобы спроектировать аналоговый PLL и затем перевести аналоговый проект в его цифровой эквивалент.

Цифровой PLL

Открытый и запуск модель в качестве примера цифрового PLL. Затем выберите PLL Testbench в модели и нажмите кнопку шума фазы Plot (или вызовите функцию обратного вызова кнопки). Сохраните форму волны контурного фильтра и данные о шуме фазы для более позднего сравнения с аналоговыми результатами PLL.

open('DigitalPLL.slx');
simout = sim(gcs);
msblks.PLL.pllTBPlotPhaseNoiseButton([gcs '/PLL Testbench']);
dpll_vcntl = simout.dpll_vcntl;
getDigitalPllPhaseNoise;

Время к цифровому конвертеру

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

open_system('DigitalPLL/TDC','force');

Цифровой управляемый генератор

Модель DCO представляет схему, в которой управление для VCO установлено цифро-аналоговым преобразователем (DAC). Преобразование в DAC инициировано ссылочными часами.

Нарушение шума фазы в VCO включено. Модель DAC может также смоделировать нарушения. Однако нарушения DAC не включены в модели в качестве примера.

Вы могли альтернативно смоделировать DCO путем прямой установки массива напряжения управления VCO Mixed-Signal Blockset на массив последовательных целых чисел, который порождает линейную оболочку столбцов цифровых входных значений. Затем можно установить выходной массив частоты предоставлять выходную частоту для каждого возможного входного значения.

open_system('DigitalPLL/DCO','force');

Цифровой контурный фильтр

Контурным фильтром является BiquadFilter от DSP System Toolbox. Это синхронизируется в ссылочной тактовой частоте выходным портом TDC.

Цифровой контурный фильтр создан с использованием функция автоматизированного проектирования Целого числа N PLL с моделью Single Modulus Prescaler от библиотеки Mixed-Signal Blockset PLL Architectures. Аналоговый контурный фильтр спроектирован, чтобы достигнуть заданной пропускной способности цикла и запаса по фазе, затем значения схемы и демонстрационный интервал переводятся в коэффициенты цифрового фильтра. Чтобы получить правильное полное усиление цикла, масштабный коэффициент применяется к модели фильтра biquad контурного фильтра.

Деривация цикла получает параллели масштабного коэффициента та из Методики проектирования для Полностью цифровых Замкнутых циклов Фазы На основе Аналогии Charge-Pump Phase-Locked-Loop.

Переменные, используемые в деривации,

  • $I_{CP}$ Заряжайте амплитуду тока максимума насоса

  • $Z(s)$ Аналоговый импеданс передачи контурного фильтра

  • $K_{VCO}$ Чувствительность VCO и для аналога и для цифрового PLLs

  • $T_{REF}$ Ссылочный период часов

  • $\Delta_{TDC}$ Разрешение времени TDC

  • $H(s)$ Цифровая передаточная функция контурного фильтра

  • $K_{DAC}$ Усиление DAC

Обратите внимание на то, что для этого примера, общая область значений TDC является двумя ссылочными периодами часов.

Уравнение, чтобы сделать усиление цикла аналога и цифрового PLLs равным:

$${{{I_{CP}}} \over {2\pi }}Z\left( s \right){{{K_{VCO}}} \over s} = {{2{T_{REF}}} \over {{2_\pi }}}{1 \over {{\Delta _{TDC}}}}H\left( s \right){K_{DAC}}{{{K_{VCO}}} \over s}$$

Поскольку TDC и DAC в этом примере были сконфигурированы, чтобы иметь то же количество битов, это уравнение уменьшает до:

$$H\left( s \right) = {{{I_{CP}}} \over 2}Z\left( s \right)$$

Начиная с функционального getSOSfromAnalogPLL включенный в этот пример производит коэффициенты фильтра, которые приводят к усилению фильтра$Z(s)$, масштабный коэффициент для контурного фильтра${{{I_{CP}}} \over 2}$.

В то время как коэффициенты контурного фильтра, входной сигнал и выходной сигнал в этом примере являются всей плавающей точкой двойной точности, также было бы возможно использовать Fixed-Point Designer™, чтобы смоделировать целый цифровой путь к обратной связи, использующий точно ту же цифровую точность в качестве в проектировании схем, таким образом получив еще более точную оценку нарушений, таких как шум квантования.

Можно спроектировать и сконфигурировать цифровой контурный фильтр путем выполнения скрипта:

%%%designDigitalLoopFilter;

Сравните с аналоговым PLL

Можно сравнить приобретение цикла аналогового PLL к тому из цифрового PLL. Дополнительная высокочастотная пульсация в аналоговом ответе контурного фильтра происходит из-за формы волны насоса заряда.

open('AnalogPLL.slx');
simout = sim(gcs);
apll_vcntl = simout.apll_vcntl;
plotLoopFilterWaveforms;
msblks.PLL.pllTBPlotPhaseNoiseButton([gcs '/PLL Testbench']);
plot(xdpll,ydpll,'LineWidth',2,'DisplayName','Digital PLL');

Для просмотра документации необходимо авторизоваться на сайте