Спроектируйте и оцените чередованный ADC

Эта чередованная модель ADC подсвечивает некоторые типичные нарушения, введенные преобразователями данных и их эффектами на большей системе.

Модель

В этом примере чередуйте два простых ADCs на основе модели Analyzing Simple ADC with Impairments, чтобы создать эквивалент одного ADC, действующего в 2X отдельная частота дискретизации ADC. Используйте двухцветный тестовый сигнал в 200 МГц и 220 МГц как вход, чтобы проверить искажение, введенное операцией ADC.

model = 'interleaved_adc';
open_system(model)
set_param([model '/ADC_1 at 1G SPS'],'jitter','off');
set_param([model '/ADC_1 at 1G SPS'],'nonlinearity','off');
set_param([model '/ADC_1 at 1G SPS'],'quantization','off');

set_param([model '/ADC_2 at 1G SPS'],'jitter','off');
set_param([model '/ADC_2 at 1G SPS'],'nonlinearity','off');
set_param([model '/ADC_2 at 1G SPS'],'quantization','off');

set_param([model '/Offset Delay'],'DelayTime','.5/Fs_adc');
set_param([model '/Two Tone Sine Wave'],'Amplitude','.5');
set_param([model, '/Input Switch'], 'sw', '1');

sim(model)

Чтобы обойти нарушения, используйте соответствующие положения переключателя в блоках ADC. Поведение ADC чисто идеально. Два ADCs в модели верхнего уровня идентичны за исключением того, что шумовые генераторы в каждом ADC имеют различные seed, чтобы сделать шум некоррелированым.

Каждый ADC действует в 1 Уровень GHz, установленный переменной Fs_adc MATLAB®, задан в коллбэке инициализации этой модели. Операционный уровень ADCs обозначается зелеными сигналами и блоками в схеме. Входной сигнал второго ADC задерживается суммой, равной половине периода частоты дискретизации ADC.

Синхронизация недостатка

Точность синхронизации между отдельным ADCs очень важна. Чтобы видеть эффект несоответствия синхронизации, откройте блок Offset Delay и просто добавьте 10 PS к значению задержки.

set_param([model '/Offset Delay'],'DelayTime','.5/Fs_adc + 10e-12');

10 ошибка PS вызывает значительное ухудшение эффективности ADC, даже при том, что оба ADCs совершенно идеальны. Чтобы компенсировать ухудшение эффективности, некоторая форма компенсации дрейфа необходима. Для получения дополнительной информации смотрите Устройства SP: spdevices.com/index.php/interleaving

sim(model)

Эффект апертурного дрожания

Удалите фиксированное смещение 10 PS и включает апертурное нарушение дрожания в каждой из подсистем ADC.

set_param([model '/Offset Delay'],'DelayTime','.5/Fs_adc');
set_param([model '/ADC_1 at 1G SPS'],'jitter','on');
set_param([model '/ADC_2 at 1G SPS'],'jitter','on');

Шум вокруг двухцветного тестового сигнала в 200 МГц ожидается как прямой результат дрожания ADC. Дополнительный шум вокруг 800 МГц является результатом перемежения двух некоррелированых источников шума.

sim(model)

Эффект нелинейности

Удалите нарушение дрожания и активируйте нарушение нелинейности в обоих ADCs.

set_param([model '/ADC_1 at 1G SPS'],'jitter','off');
set_param([model '/ADC_2 at 1G SPS'],'jitter','off');
set_param([model '/ADC_1 at 1G SPS'],'nonlinearity','on');
set_param([model '/ADC_2 at 1G SPS'],'nonlinearity','on');

Спектр теперь показывает 3-му порядку продукты IMD приблизительно два тона и гармонично связанные шпоры вокруг 600 Область МГц.

sim(model)

Даже при том, что ADC нелинейные эффекты идентичны и создают точно те же нечетные компоненты порядка, существует на самом деле некоторая отмена условий. Если всего одна нелинейность включена, получившийся спектр хуже чем тогда, когда оба ADCs нелинейны.

set_param([model '/ADC_2 at 1G SPS'],'nonlinearity','off');
sim(model)

Эффект квантования и насыщения

Удалите нарушение линейности и активируйте квантование. Квантизатор установлен в 9 биты и уровень сигнала близко к полному масштабу +/-1, который виден во входе Time Scope.

set_param([model '/ADC_1 at 1G SPS'],'nonlinearity','off');
set_param([model '/ADC_2 at 1G SPS'],'nonlinearity','off');
set_param([model '/ADC_1 at 1G SPS'],'quantization','on');
set_param([model '/ADC_2 at 1G SPS'],'quantization','on');

Спектр показывает уровень шума, увеличивающийся эффектом квантования.

sim(model)

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

set_param([model '/Two Tone Sine Wave'],'Amplitude','.5*1.2');
sim(model)

ENOB, SFDR и другие одно тональные измерения

ADCs часто характеризуются их Эффективным количеством битов (ENoB), Spurrious-свободным динамическим диапазоном (SFDR) и другими подобными измерениями.

Эти количества выведены из одного тонального теста. Чтобы изменить вход ADC от Двух Тонов источник Sine wave к Одному Тону источник Sine wave и назад, дважды щелкают по Входному Переключателю. Этот тест использует одну синусоиду с частотой 200 МГц.

set_param([model, '/Input Switch'], 'sw', '0');

Блок ADC AC Measurement из Mixed-Signal Blockset™ измеряет задержку преобразования, SINAD (отношение сигнала к шуму и искажению), SFDR, ОСШ (Сигнал к Шумовому Отношению), ENOB и выходной уровень шума ADC.

set_param([model, '/ADC AC Measurement'], 'Commented', 'off');

Этот блок требует возрастающего ребра на своем запуске и готовых портах для каждого преобразования, которое делает ADC. В этой модели они обеспечиваются 4 Генератор импульса GHz. Чтобы использовать блок ADC AC Measurement в этой модели, не прокомментируйте блок путем щелчка правой кнопкой по нему и выбора "Uncomment" из меню. Ожидаемый ENOB из динамического диапазона 2 и младшее значащее битовое значение (интервал квантования) 2^-8 9 биты.

sim(model);
disp(interleaved_adc_output)
           SNR: 316.1774
          SFDR: 58.7451
         SINAD: 58.7451
          ENOB: 9.4660
    NoiseFloor: -351.8345
      MaxDelay: 0
     MeanDelay: 0
      MinDelay: 0

Copyright 2019 The MathWorks, Inc. Все права защищены.

Смотрите также

Похожие темы