Измерение Беспобочного динамического диапазона (SFDR)

Этот пример показывает, как анализировать осциллятор с программным управлением (NCO) цифрового понижающего преобразователя (DDC), реализованного в вычислениях с фиксированной точкой. Пример измеряет побочный свободный динамический диапазон (SFDR) NCO, и исследуйте эффекты добавляющего dither фазы. Количество битов dither влияет на выбор аппаратной реализации. Пример показывает компромиссы среди уровня уровня шума, побочных эффектов и количества битов dither. DDC в примере, разработанном, чтобы соответствовать спецификации GSM, моделирует Graychip 4016.

Введение

Осцилляторы с программным управлением (NCOs) являются действенными средствами генерации синусоидальных сигналов и полезны, когда вы требуете непрерывной фазы синусоидальный сигнал с переменной частотой.

DDC является ключевым компонентом цифровых радио. Это переводит высоко введенные частоты дискретизации цифрового радио вниз, чтобы понизить частоты дискретизации (основная полоса) для далее и более легкая обработка. Наш DDC имеет входной уровень 69,333 МГц и определен задачу с преобразованием уровня вниз к 270,833 кГц в соответствии со спецификациями GSM.

DDC состоит из NCO, и микшер к квадратуре вниз преобразовывают входной сигнал в основную полосу. Каскадная расческа интегратора (CIC) затем фильтры нижних частот, основополосный сигнал, и наряду с двумя КИХ-фильтрами десятикратного уменьшения субдискретизирует сигнал достигнуть желаемой низкой частоты дискретизации, которая затем готова к последующей обработке. Заключительный этап, в зависимости от приложения, часто включает resampler, который интерполирует или десятикратно уменьшает сигнал достигнуть желаемой частоты дискретизации. Дальнейшая фильтрация может быть достигнута с resampler. См. блок-схему типичного DDC, ниже. Обратите внимание на то, что Simulink® обрабатывает комплексные сигналы, таким образом, мы не должны обрабатывать меня, и Q образовывает канал отдельно.

В то время как этот пример особое внимание согласно анализу NCO, пример, названный, "Реализовывая Цепочку Фильтра Цифрового Понижающего преобразователя", фокусируясь на разработке трехэтапной, многоскоростной цепочки фильтра фиксированной точки и генерации HDL-кода, доступен в DSP System Toolbox™.

Осциллятор с программным управлением

Цифровой раздел микшера DDC включает множитель и NCO, которые обеспечивают выбор канала или настраивающийся для радио. Микшер является в основном генератором косинуса синуса, создавая комплексные числа для каждой пары косинуса синуса. Типичный NCO имеет четыре компонента: аккумулятор фазы, сумматор фазы, генератор dither и интерполяционная таблица косинуса синуса.

Вот типичная схема NCO, смоделированная в Simulink, подобном тому, что вы можете видеть в таблице данных Graychip.

open_system('ddcncomodel')

На основе входной частоты аккумулятор фазы NCO производит значения, которые обращаются к интерполяционной таблице косинуса синуса. Сумматор фазы задает смещение фазы, которое модулирует вывод аккумулятора фазы. Генератор Dither обеспечивает фазу, размывающуюся, чтобы уменьшать амплитудный шум квантования, и улучшающий SFDR NCO. Блок Sine/Cosine Lookup производит фактический комплексный синусоидальный сигнал, и вывод хранится в переменной nco_nodither.

В Graychip настраивающаяся частота задана как нормированное значение относительно тактовой частоты чипа. Таким образом для настраивающейся частоты F, нормированная частота является F/Fclk, где Fclk является тактовой частотой чипа. Смещение фазы задано в радианах, в пределах от 0 к 2pi. В этом примере нормированная настраивающая частота установлена в 5/24, в то время как смещение фазы установлено в 0. Настраивающаяся частота задана как 32-битное слово, и смещение фазы задано как 16-битное слово.

Поскольку NCO реализован с помощью вычислений с фиксированной точкой, он испытывает нежелательные амплитудные эффекты квантования. Эти числовые искажения происходят из-за эффектов конечного размера слова. В основном синусоиды квантуются, создавая совокупные, детерминированные, и периодические ошибки во временном интервале. Эти ошибки, появитесь как спектры строки или шпоры в частотном диапазоне. Объем затухания от пика сигнала интереса для самой высокой шпоры является SFDR.

SFDR Graychip составляет 106 дБ, но спецификация GSM требует, чтобы SFDR были больше, чем 110 дБ. Существует несколько способов улучшить SFDR, и вы исследуете добавляющий dither фазы к NCO.

NCO Грейчипа содержит генератор dither фазы, который является в основном случайным целочисленным генератором, используемым, чтобы улучшить выходную чистоту осциллятора. Размывание вызывает непреднамеренные периодичности шума квантования (который вызывает "скачки" в спектрах и таким образом плохом SFDR) быть распространенным через широкий спектр, эффективно уменьшая этот нежелательный спектральный peaks. Сохранение энергии применяется, однако, таким образом, распространение эффективно повышает полный уровень шума. Таким образом, размывание хорошо для SFDR, но только в какой-то степени.

Давайте запустим модель NCO и анализировать ее вывод в рабочем пространстве MATLAB. Эта модель не использует размывание.

sim('ddcncomodel')
whos nco*
  Name              Size                  Bytes  Class     Attributes

  nco_nodither      1x1x20545            328720  double    complex   

График ниже отображает действительную часть первых 128 выборок вывода NCO, сохраненного в переменной, nco_nodither.

plot(real(squeeze(nco_nodither(1:128))))
grid
title('Real Part of NCO Output - No Dithering')
ylabel('Amplitude')
xlabel('Samples')

SFDR NCO Вывод

Давайте смотреть на SFDR вывода NCO.

Вычислите и постройте SFDR NCO вывод

Fs = 69.333e6;
sfdr(real(nco_nodither),Fs);

Как ожидалось график спектра мощности показывает пик на уровне 14,44 МГц, который является настраивающей частотой NCO, 5/24*Fs = 14,444 МГц.

SFDR, однако, составляет приблизительно 106,17 дБ, который слишком высок, чтобы соответствовать спецификации GSM, которая требует 110 дБ или больше. Мы можем улучшить этот динамический диапазон при помощи размывания фазы.

Исследование эффектов размывания

Чтобы исследовать добавляющий dither к NCO, схема NCO, показанная выше, инкапсулировалась в подсистеме и копировала три раза. Различная сумма dither была выбрана для каждого NCO. Несмотря на то, что NCO позволяет области значений 1 - 19 битов dither быть заданной, вы попробуете только немного значений. Выполнение этой модели произведет три различных NCO выходные параметры на основе суммы добавленного dither.

open_system('ddcncowithdithermodel')

Выполнение симуляции произведет три сигнала в рабочем пространстве MATLAB, что можно затем анализировать использование алгоритма спектрального анализа, заданного выше. Можно запустить симуляцию из модели или из командной строки с помощью sim команды.

sim('ddcncowithdithermodel')

После того, как симуляция завершается, вас оставляют с сигналами, которые являются выводом ВОЕННОСЛУЖАЩИХ СЕРЖАНТСКОГО СОСТАВА. Каждый сигнал показывает различный объем размывания.

whos nco*
  Name              Size                  Bytes  Class     Attributes

  nco_dither3       1x1x20501            328016  double    complex   
  nco_dither5       1x1x20501            328016  double    complex   
  nco_dither7       1x1x20501            328016  double    complex   
  nco_nodither      1x1x20545            328720  double    complex   

Вычислите и постройте SFDR после добавления 3 битов размывания.

figure
sfdr(real(nco_dither3),Fs)
ans =

  107.6285

С тремя битами добавленного dither самая высокая шпора - теперь приблизительно-112 дБ. SFDR составляет 107,63 дБ. Этому все еще не удается соответствовать спецификации GSM.

Теперь добавьте 5 битов размывания.

figure
sfdr(real(nco_dither5),Fs)
ans =

  123.4065

С пятью битами добавленного dither самая высокая шпора - теперь приблизительно-127 дБ.

SFDR составляет 123,41 дБ, превышая спецификацию GSM.

Кажется, что больше dither дает лучшие результаты, поэтому добавьте 7 битов размывания.

figure
sfdr(real(nco_dither7),Fs)
ans =

  113.7189

Обратите внимание на то, что наш вычисленный SFDR, ухудшенный к 113,72 дБ. Это происходит из-за широкополосного шума, сгенерированного путем размывания начинающий настигать степень побочного содержимого.

Используя 7 битов размывания соответствует спецификации GSM, но не является столь же эффективным как использование 5 битов размывания.

Сравнение результатов

Сведите в таблицу SFDR для каждого NCO вывод против объемов размывания для каждого NCO вывод.

Number of     Spur Free Dynamic
Dither bits   Range(dB)
   0            106.17
   3            107.63
   5            123.41
   7            113.72

Сводные данные

Этот пример анализировал вывод NCO, используемого в цифровом вниз конвертер для приложения GSM. Спектральный анализ использовался, чтобы измерить SFDR, различие между самой высокой шпорой и пиком сигнала интереса. Шпоры являются детерминированными, периодическими ошибками тот результат эффектов квантования. Пример также исследовал эффекты добавляющего dither в NCO, который добавляет случайные данные в NCO, чтобы улучшить его чистоту. Мы нашли, что использование пяти битов размывания достигло самого высокого SFDR.

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