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