Сверхдискретизация DAC интерполяции

В этом примере показано, как смоделировать 12-битный DAC Интерполяции Сверхдискретизации.

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

Модель

DAC интерполяции сверхдискретизации имеет три основных функциональных блока. Первый блок является КИХ-блоком фильтра Интерполяции из DSP System Toolbox™, чтобы увеличить частоту дискретизации с входной частоты дискретизации Fs к частоте дискретизации DAC M * Fs. Вторым блоком является блок MATLAB function, который обрабатывает освобождение буфера выхода блока FIR Interpolation. Блок MATLAB function имеет инициированную часами природу, которая позволяет, он выводится, чтобы иметь дрожание. Это дает ему преимущество перед блоком Unbuffer из DSP System Toolbox™. Третий блок является DAC Mixed-Signal Blockset™, действующим в M * Fs.

Параметры DAC от таблицы данных AD9773.

Параметры переменной рабочей области:

  • Fin = 66.176 kHz является частотой входного сигнала.

  • Fs = 1.125 МГц является входной демонстрационной частотой.

  • M = 8 сверхдискретизировать фактор/отношение.

  • N = 12 количество битов DAC.

  • Ref = 1.2 ссылка (динамическая выходная область значений) DAC.

Демонстрационная частота DAC определяется сверхдискретизировать фактором и входной демонстрационной частотой:

$$F_{s_{DAC}} = M \cdot F_s = 9 MHz$$

Для простоты ошибку Смещения и ошибку Усиления оставили в 0 %FS в этой модели.

model = 'InterpolatingDAC';
open_system(model);

Динамическое тестирование

Чтобы определить ОСШ, ENOB и другие динамические характеристики DAC интерполяции, используют блок DAC AC Measurement из Mixed-Signal Blockset™.

Используйте Спектр Анализатор, чтобы сравнить вход низкой частоты дискретизации с выходом сверхдискретизированного DAC интерполяции. Блок усиления рядом со Спектром Анализатор совпадает с входной волной к амплитуде выхода DAC для сравнения друг с другом.

open_system([model '/Spectrum Analyzer']);
sim(model);

Статическое тестирование

Чтобы определить ошибку смещения, ошибка усиления, INL и DNL используют блок DAC DC Measurement. Установите ошибку Смещения Бинарного Взвешенного DAC к -0.02 %FS (-0.8192 LSB) и набор это - ошибка Усиления к 1.0 %FS (40,96 LSB).

bdclose(model);
model = 'InterpolatingDACDC';
open_system(model);

О сводных данных измерений сообщают относительно значка блока. Откройте маску блока и нажмите кнопку Plot, чтобы просмотреть полный INL и графики DNL.

sim(model);
mask = Simulink.Mask.get([model '/DAC DC Measurement']);
button = mask.getDialogControl('PlotBtn');
eval(regexprep(button.Callback, 'gcb',['"' model '/DAC DC Measurement"']));

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