Эта чередованная модель 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)
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. Все права защищены.