Цифровая синхронизация с использованием дискретизации с фиксированным шагом

Этот пример показывает, как смоделировать трехступенчатый кольцевой генератор с помощью комбинации фиксированного шага и переменного шага дискретных шагов расчета.

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

Первый пример в последовательности, Logic Timing Simulation, содержит фоновую информацию об этом примере. Сначала прочитайте этот пример, если вы еще не сделали этого. После завершения этого примера можно двигаться вперед с примером Цифрового Тайминга, используя Решения для Обыкновенных Дифференциальных Уравнений.

Для каждого каскада звонка генератора блок Logic Decision преобразует вход в дискретный сигнал с переменной насыщенности, а блок Скорости нарастания преобразует выход в дискретный сигнал с фиксированным аналогом. Некоторая задержка в блоке Logic Decision неизбежна; однако большая часть задержки введена блоком Скорость Нарастания.

Блок Логического Решения генерирует дискретную выборку переменного шага на своем выходе в ответ на любое пересечение порога, которое он обнаруживает на своем входе.

Для дискретного входа шага расчета фиксированного шага пороговое время пересечения определяется линейной интерполяцией между двумя самыми последними выборками. Выходная выборка задерживается на одну выборку, потому что блок не имеет доступа к фиксированным в мелких шагах решателя ОДУ. При моделировании схемы эта задержка должна представлять либо задержку входа каскадов в многоступенчатой транзисторной схеме, либо RC линии электропередачи задержку маршрутизации.

Для входных входов фиксированного шага точность порогового времени пересечения, сообщаемого блоком Logic Decision, зависит от отношения спектрального содержимого сигнала к частоте Найквиста, заданной частотой дискретизации. Для синусоиды с частотой Nyquist 0,25 раза (8-кратная избыточная дискретизация) максимальная ошибка в отчетном времени пересечения порога составляет 1% от интервала выборки. В 0,1 раз больше частоты Nyquist, максимальная ошибка 0,15% для шага расчета. Для приложений, требующих большей точности, таких как оценка шума фазы низкого уровня на выходе ФАПЛ, подход, который зависит только от переменной дискретизации шага, может привести к более точным результатам.

Для входа переменного шага выход блока Logic Decision задерживается параметром минимальной задержки для блока.

Блок Скорость Нарастания реализует линейную временную инвариантную передаточную функцию, которая может быть применена к входному сигналу переменного шага или фиксированного шага, создавая дискретный выходной сигнал фиксированного шага со шаг расчета, который был установлен блоком Скорость Нарастания. Задержка блока Скорость Нарастания является смесью:

  • Постоянная задержка, такая как может произойти в многоступенчатой транзисторной схеме или RC-задержке маршрутизации

  • Почти постоянная скорость нарастания, такая как была бы типичной для насыщенного транзистора, приводящего в действие емкостную нагрузку

  • Экспоненциальный распад, такой как был бы типичен для RC-схемы

Загрузите смешанную аналого-цифровую модель и обновите модель, чтобы отобразить шаги расчета.

open_system('AnalogWaveform');
set_param(gcs,'SimulationCommand','update');

Блок скорости нарастания в режиме дискретизации по умолчанию

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

Для этого раздела блоки Скорость Нарастания сконфигурированы в своем режиме дискретизации по умолчанию, который максимизирует фрагмент задержки из-за почти постоянной скорости нарастания (насыщенный транзистор) и минимизирует задержку из-за постоянной задержки или экспоненциального распада.

Задержка для одного логического каскада устанавливается на несколько другое значение, чем для других каскадов, так что модель входит в правильный режим колебаний.

Поскольку модель не содержит дифференциальных уравнений, решатель является Переменным Шагом Дискретным.

Обратите внимание на то, что начало переключающих ребер слегка закруглено. В реальной схеме это обычно происходит из-за RC-ответа маршрутизации.

Запустите смешанную аналого-цифровую модель с шагами расчета по умолчанию.

sim('AnalogWaveform');

Блок скорости нарастания в расширенном режиме дискретизации

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

Выберите Расширенный режим для выборки блока Скорость Нарастания и установите Максимальную интересующую частоту на значение, которое является достаточно высоким, чтобы сделать задержку блока Скорость Нарастания, в основном из-за экспоненциального распада. Этот выбор также минимизирует задержку блока Logic Decision.

Обратите внимание на то, что начало переключающих ребер относительно резкое.

Сконфигурируйте смешанную аналого-цифровую модель, чтобы аппроксимировать однополюсную характеристику.

% Slew Rate1
set_param('AnalogWaveform/Slew Rate1','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate1','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate1','RisePropDelay','92e-12');
set_param('AnalogWaveform/Slew Rate1','RiseTime','15.5e-11');
% Slew Rate2
set_param('AnalogWaveform/Slew Rate2','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate2','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate2','RisePropDelay','92e-12');
set_param('AnalogWaveform/Slew Rate2','RiseTime','15.5e-11');
% Slew Rate3
set_param('AnalogWaveform/Slew Rate3','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate3','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate3','RisePropDelay','95e-12');
set_param('AnalogWaveform/Slew Rate3','RiseTime','16e-11');

Обновите схему, чтобы отобразить пересмотренные шаги расчета в легенде шагов расчета.

set_param(gcs,'SimulationCommand','update');

Запуск он смешал аналого-цифровую модель с подчеркнутым одним полюсным ответом.

sim('AnalogWaveform');

См. также

|

Похожие темы

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