Сгенерируйте действительные или сложные синусоидальные сигналы
Системный тулбокс DSP/сигнальные операции
Системный тулбокс/источники DSP
Блок NCO генерирует многоканальный действительный или комплексный синусоидальный сигнал с независимыми частотой и фазой в каждом выходном канале. Амплитуда созданного сигнала всегда 1
. Блок NCO поддерживает только действительные входы. Все выходы действительны, кроме выхода сигнала в Complex exponential
режим. Для получения дополнительной информации о том, как блок вычисляет выход, см. Алгоритмы.
Чтобы создать многоканальный выход, задайте вектор величину для параметров Phase increment и Phase offset. Оба параметра должны иметь одинаковую длину, которая определяет количество выхода каналов. Каждый элемент каждого вектора применяется к другому выходному каналу.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Блок реализует алгоритм, как показано на следующей схеме:
Реализация численно управляемого генератора (NCO) имеет две отдельные части. Во-первых, фазовый аккумулятор накапливает шаг фазы и складывает смещение фазы. На этом этапе также может быть добавлен дополнительный внутренний dither. Выход NCO затем вычисляется путем квантования результатов секции аккумулятора фазы и использования их, чтобы выбрать значения из интерполяционной таблицы. Поскольку интерполяционная таблица содержит конечный набор записей, в своем режиме normal mode работы NCO блок позволяет числовым значениям сумматора переполняться и оборачиваться. Затем инфраструктура Fixed-Point приводит к появлению предупреждений о переполнении в командной строке. Это переполнение не имеет никакого последствия.
Учитывая необходимый выход частоту F 0, вычислите значение Phase increment параметров блоков с
где N - размер слова аккумулятора, и
Разрешение частоты NCO определяется
Учитывая желаемое смещение фазы (в радианах), вычислите Phase offset параметров блоков с
Паразитная свободная динамическая область значений (SFDR) оценивается следующим образом для интерполяционной таблицы с записи, где P количество квантованных двоичных разрядов аккумулятора:
Блок NCO использует метод интерполяционной таблицы с четвертью волны, который хранит значения таблицы от 0 до Блок вычисляет другие значения по запросу, используя тип данных аккумулятора, затем переводит их в тип выходных данных. Это может привести к эффектам квантования в пределах области значений заданного типа данных. Для примера рассмотрим случай, когда вы ожидаете, что значение синусоиды будет -1 в Поскольку значение интерполяционной таблицы в этой точке должно быть вычислено, блок может не дать точно -1, в зависимости от точности аккумулятора и типов выходных данных.