exponenta event banner

ВОЕННОСЛУЖАЩИЙ СЕРЖАНТСКОГО СОСТАВА

Генерировать реальные или сложные синусоидальные сигналы

  • Библиотека:
  • Панель инструментов системы DSP/Операции с сигналами

    Инструментарий/источники системы DSP

  • NCO blockNCO block

Описание

Блок NCO генерирует многоканальный реальный или комплексный синусоидальный сигнал с независимой частотой и фазой в каждом выходном канале. Амплитуда создаваемого сигнала всегда 1. Блок NCO поддерживает только реальные входы. Все выходы действительны, за исключением выходного сигнала в Complex exponential режим. Дополнительные сведения о том, как блок вычисляет выходные данные, см. в разделе Алгоритмы.

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

Порты

Вход

развернуть все

Сигнал приращения фазы, заданный как действительный скаляр или вектор. Входные данные должны иметь целочисленный тип данных или тип данных с фиксированной точкой с нулевой длиной дроби. Размеры сигнала приращения фазы зависят от способа задания параметра Фазовое смещение (Phase offset).

  • При задании фазового смещения в диалоговом окне блока приращение фазы должно быть скаляром или вектором той же длины, что и значение фазового смещения. Блок применяет каждый элемент вектора к другому каналу, и поэтому длина вектора определяет количество выходных каналов.

  • При указании фазового смещения через входной порт порт смещения обрабатывает каждый столбец входного сигнала как независимый канал. Длина приращения фазы должна равняться количеству столбцов на входе в порт смещения.

Зависимости

Чтобы включить этот порт, установите для параметра Phase increment source значение Input port.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Сигнал фазового смещения, заданный как действительный скаляр, вектор или полная матрица. Входные данные должны иметь целочисленный тип данных или тип данных с фиксированной точкой с нулевой длиной дроби. Блок обрабатывает каждый столбец входа в порт смещения как независимый канал. Количество каналов в фазовом смещении должно соответствовать количеству каналов на входе данных. Для каждого кадра входного сигнала блок может применять различные фазовые смещения к каждой выборке и каналу.

Зависимости

Чтобы включить этот порт, установите для параметра «» Источник смещения фазы «» значение Input port.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Продукция

развернуть все

Синусоидальный выходной сигнал, заданный как скаляр, вектор или матрица. Тип данных сигнала можно указать с помощью параметра Output data type.

Зависимости

Чтобы включить этот порт, установите для параметра Output signal значение Sine или Sine and cosine.

Типы данных: single | double | fixed point

Косинусоидальный выходной сигнал, заданный как скаляр, вектор или матрица. Тип данных сигнала можно указать с помощью параметра Output Data Type.

Зависимости

Чтобы включить этот порт, установите для параметра Output signal значение Cosine или Sine and cosine.

Типы данных: single | double | fixed point

Комплексный экспоненциальный вывод, заданный как скаляр, вектор или матрица. Тип данных сигнала можно указать с помощью параметра Output Data Type.

Зависимости

Чтобы включить этот порт, установите для параметра Output signal значение Complex exponential.

Типы данных: single | double | fixed point
Поддержка комплексного номера: Да

Ошибка фазового квантования, заданная как скаляр, вектор или матрица.

Зависимости

Чтобы включить этот порт, установите флажок Show phase quantization error port.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

развернуть все

Главный

Параметры фазового сумматора

Выберите способ задания приращения фазы. Приращение фазы может происходить из входного порта или из параметра диалогового окна.

  • При выборе Input port, входной порт inc отображается на значке блока.

  • При выборе Specify via dialogпоявится параметр Шаг фазы (Phase increment).

Зависимости

Когда блок поступает из библиотеки операций с сигналами, значением по умолчанию параметра «Источник приращения фазы» является Input port.

Когда блок поступает из библиотеки источников, значением по умолчанию параметра «Источник приращения фазы» является Specify via dialog.

Задайте приращение фазы как скаляр или вектор с целыми значениями. Допустимы только целочисленные типы данных, включая типы данных с фиксированной точкой и нулевой длиной дроби. Размеры приращения фазы зависят от размеров смещения фазы:

  • При указании фазового смещения в диалоговом окне блока приращение фазы должно быть скаляром или вектором с той же длиной, что и фазовое смещение. Блок применяет каждый элемент вектора к другому каналу, и поэтому длина вектора определяет количество выходных каналов.

  • При указании фазового смещения через входной порт порт смещения обрабатывает каждый столбец входного сигнала как независимый канал. Длина приращения фазы должна равняться количеству столбцов на входе в порт смещения.

Зависимости

Чтобы включить этот параметр, задайте для параметра Источник приращения фазы значение Specify via dialog.

Выберите способ задания смещения фазы. Фазовое смещение может происходить от входного порта или из диалогового окна.

  • При выборе Input port, порт смещения отображается на значке блока.

  • При выборе Specify via dialogпоявится параметр Фазовое смещение (Phase offset).

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

Зависимости

Чтобы включить этот параметр, задайте для параметра «Источник смещения по фазе» значение Specify via dialog.

Используется для добавления внутреннего дизеринга в алгоритм NCO. Дизеринг добавляется с помощью генератора последовательности PN (Communications Toolbox) из продукта Communications Toolbox™.

Укажите число разрядов сглаживания как положительное целое число.

Зависимости

Чтобы включить этот порт, установите флажок Add internal dithering.

Чтобы включить квантование накопленной фазы, установите этот флажок.

Укажите количество квантованных битов накопителя как скалярное целое число больше единицы и меньше длины слова накопителя. Это значение определяет количество записей в таблице подстановки.

Зависимости

Чтобы включить этот порт, установите флажок Quantize phase.

Выберите для вывода ошибки фазового квантования. Если этот флажок установлен, на значке блока отображается порт Qerr.

Зависимости

Чтобы включить этот параметр, установите флажок Квантовать фазу (Quantize phase).

Выходные параметры

Выберите, будет ли блок выводить Sine, Cosine, Complex exponential, или оба Sine and cosine сигналы. При выборе Sine and cosine, два сигнала выводятся на разных портах.

Когда блок действует как источник, укажите время выборки в секундах как положительный скаляр.

Зависимости

Чтобы включить этот параметр, необходимо задать для параметров Источник приращения фазы (Phase increment source) и Источник смещения фазы (Phase offset source) значение Specify via dialog. Когда приращение фазы или фазовое смещение поступают через входной порт блока, время выборки наследуется, и этот параметр не виден.

Укажите число выборок на кадр как положительное целое число. Когда значение больше единицы, приращение фазы и фазовое смещение могут изменяться от канала к каналу и от кадра к кадру, но они постоянны вдоль каждого канала в данном кадре.

Когда входной порт фазового смещения существует, он имеет тот же статус кадра, что и любой имеющийся выходной порт. Если входной порт с приращением фазы существует, он не поддерживает кадры.

Зависимости

Чтобы включить этот параметр, задайте для параметра Источник приращения фазы (Phase increment source) и/или Источник смещения фазы (Phase offset source Specify via dialog.

Типы данных

Это свойство доступно только для чтения.

Когда вход фиксирован, блок NCO всегда использует режим округления Floor.

Это свойство доступно только для чтения.

Когда вход фиксирован, блок NCO всегда использует режим переполнения Wrap.

Укажите длину Word для накопителя как положительное целое число от 2 до 128. Тип данных всегда Binary point scaling, и длина дроби всегда 0.

Укажите тип данных для вывода блока.

  • Выбирать double или single для реализации с плавающей запятой.

  • При выборе Binary point scaling, можно ввести длину слова и длину дроби выходного сигнала в битах.

Примечание

Таблица подстановки для этого блока построена из значений с плавающей запятой двойной точности. Таким образом, максимальная точность, которую вы можете достичь на выходе, составляет 53 бита. Установка в качестве длины слова типа данных Output значений, превышающих 53 бита, не повышает точность вывода.

Укажите длину Word для вывода блока как положительное целое число от 2 до 128.

Зависимости

Чтобы включить этот параметр, установите тип данных для вывода в значение Binary point scaling.

Укажите длину дроби для вывода блока как скалярное целое число.

Зависимости

Чтобы включить этот параметр, установите тип данных для вывода в значение Binary point scaling.

Характеристика NCO

Панель Характеристики NCO (NCO Characterization) предоставляет доступные только для чтения сведения о сигнале NCO, реализуемом в настоящее время блоком:

Таблица подстановки реализована как четвертьволновая синусоидальная таблица. Количество точек данных таблицы подстановки определяется

2 число  квантованных  битов-накопителей 2 + 1

Пример: 1025

Размер таблицы поиска sine для четвертичных волн определяется

(количество   точек данных для  таблицы поиска) ( длина выходного слова)  8 байт

Пример: 2050 байт

Ложный свободный динамический диапазон (SFDR) рассчитывается следующим образом для таблицы поиска с 2P записями:

SFDR =  )  дБ        без d 6P  SFDR = (6P + 12) дБ   с   сглаживанием 

Пример: 84 dBc

Частотное разрешение является наименьшим возможным инкрементным изменением частоты и определяется:

Δf=1Ts⋅2NHz

Пример: 15.2588 uHz

Зависимости

Разрешение частоты появляется только в том случае, если для параметров Источник приращения фазы (Phase increment source) и Источник смещения фазы (Phase offset source) задано значение Specify via dialog.

Характеристики блока

Типы данных

fixed point | integer

Прямой проход

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Алгоритмы

Блок реализует алгоритм, как показано на следующей схеме:

Реализация осциллятора с числовым управлением (NCO) имеет две отдельные части. Во-первых, фазовый аккумулятор накапливает приращение фазы и добавляет фазовое смещение. На этом этапе также может быть добавлен дополнительный сигнал внутреннего сглаживания. Выход NCO затем вычисляется квантованием результатов секции фазового накопителя и использованием их для выбора значений из таблицы поиска. Поскольку таблица поиска содержит конечный набор записей, в нормальном режиме работы блок NCO позволяет числовым значениям сумматора переполняться и переноситься. Инфраструктура Fixed-Point затем вызывает появление в командной строке предупреждений о переполнении. Это переполнение не имеет последствий.

При требуемом F0 выходной частоты вычислите значение параметра блока приращения фазы с помощью

приращение фазы = (F0⋅2NFs)

где N - длина слова аккумулятора и

Fs = 1Ts = 1 время выборки

Частотное разрешение NCO определяется

Δf=1Ts⋅2NHz

При требуемом фазовом смещении (в радианах) вычислите параметр блока фазового смещения с помощью

фаза offset=2N⋅desired фазовое смещение2δ

Ложный свободный динамический диапазон (SFDR) оценивается следующим образом для таблицы поиска с 2P записями, где P - количество квантованных битов накопителя:

SFDR =  )  дБ        без d 6P  SFDR = (6P + 12) дБ   с   сглаживанием 

Блок NCO использует метод таблицы четвертьволнового поиска, который хранит значения таблицы от 0 до δ/2. Блок вычисляет другие значения по требованию с использованием типа данных накопителя, затем помещает их в тип выходных данных. Это может привести к эффектам квантования в пределах диапазона данного типа данных. Например, рассмотрим случай, когда вы ожидаете, что значение синусоидальной волны будет -1 при δ. Поскольку значение таблицы поиска в этой точке должно быть вычислено, блок может не получить ровно -1, в зависимости от точности типа данных накопителя и выходного типа.

Расширенные возможности

.
Представлен до R2006a