Проектирование и оценка чередующегося АЦП

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

Модель

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

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)

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

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

Несовершенство синхронизации

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

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

The 10 Ошибка ps вызывает значительное ухудшение эффективности АЦП, хотя оба АЦП идеально подходят. Чтобы компенсировать ухудшение эффективности, необходима некоторая форма компенсации дрейфа. Для получения дополнительной информации смотрите SP Devices: spdevices.com/index.php/interleaving

sim(model)

Эффект диафрагмы апертуры

Удалите фиксированное смещение 10 ps и включить нарушение дрожания апертуры в каждой из подсистем АЦП.

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 Ожидается МГц, как прямой результат дрожания АЦП. Дополнительный шум вокруг 800 МГц является результатом перемежения двух некоррелированных источников шума.

sim(model)

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

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

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-го порядка вокруг двух тонов и гармонически связанных шпор вокруг 600 Область МГц.

sim(model)

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

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. Увеличенная амплитуда насыщает каждый АЦП, создавая обрезанную форму волны и грязный спектр.

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

ENOB, SFDR и другие измерения одиночных тонов

АЦП часто характеризуются своим Эффективным Количеством Битами (ENoB), Динамической Областью значений Без ПРС (SFDR) и другими аналогичными измерениями.

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

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

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

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

Этот блок требует нарастающего ребра на своих начальных и готовых портах для каждого преобразования, которое делает АЦП. В этой модели они предоставляются 4 Генератор импульсов ГГц. Чтобы использовать блок 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

Копирайт 2019 The MathWorks, Inc. Все права защищены.

См. также

Похожие темы