Complex to Magnitude-Angle HDL Optimized

Вычислите величину и угол фазы комплексного сигнала - оптимизировано для генерации HDL-кода с помощью алгоритма CORDIC

  • Библиотека:
  • DSP System Toolbox Поддержка HDL/математические функции

  • Complex to Magnitude-Angle HDL Optimized block

Описание

Блок Complex to Magnitude-Angle HDL Optimized вычисляет величину и угол фазы комплексного сигнала и обеспечивает аппаратно удобные сигналы управления. Чтобы достичь эффективной реализации HDL, блок использует конвейерный алгоритм вращения координат цифрового компьютера (CORDIC).

Можно использовать этот блок для реализации таких операций, как atan2 в оборудовании.

Порты

Вход

расширить все

Комплексный входной сигнал, заданный как скаляр, вектор-столбец, представляющий выборки во времени или векторе-строке, представляющий каналы. Использование векторного входа увеличивает пропускную способность данных при использовании большего количества аппаратных ресурсов. Блок реализует логику преобразования параллельно для каждого элемента вектора. Вектор входа может содержать до 64 элементов.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

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

Когда validIn trueблок захватывает данные от dataIn входного порта. Сигнал validIn применяется ко всем выборкам в векторном входном сигнале.

Типы данных: Boolean

Выход

расширить все

Величину входного сигнала, возвращенного в виде скаляра, вектора-столбца, представляющего выборки во времени или векторе-строке, представляющую каналы. Размерности этого порта совпадают с размерностями порта dataIn.

Зависимости

Чтобы включить этот порт, установите параметр Output format равным Magnitude and Angle или Magnitude.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixdt([],N,0)

Угол входного сигнала, возвращаемый как скаляр, вектор-столбец, представляющая выборки во времени или векторе-строке, представляющая каналы. Размерности этого порта совпадают с размерностями порта dataIn.

Зависимости

Чтобы включить этот порт, установите параметр Output format равным Magnitude and Angle или Angle.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixdt([],N,0)

Блок устанавливает validOut на true с каждым действительным данным, возвращаемым на Magnitude или Angle выходных портах. Сигнал validOut применяется ко всем выборкам в векторном выходном сигнале.

Типы данных: Boolean

Параметры

расширить все

  • Чтобы задать количество итераций, чтобы ввести WL − 1, выберите Auto. Если вход имеет тип данных double или singleколичество итераций по умолчанию устанавливается равным 16.

  • Чтобы задать количество итераций при помощи Number of iterations параметра, выберите Property.

Количество итераций должно быть меньше или равно входным WL − 1. Задержка блока зависит от количества выполненных итераций. Для получения информации о задержках смотрите Latency.

Зависимости

Чтобы включить этот параметр, установите Number of iterations source равным Property.

Используйте этот параметр, чтобы указать, какие выходные порты включены.

  • Чтобы включить Magnitude и Angle выходные порты, выберите Magnitude and Angle (по умолчанию).

  • Чтобы включить Magnitude выходной порт и отключить Angle выходной порт, выберите Magnitude.

  • Чтобы включить Angle выходной порт и отключить Magnitude выходной порт, выберите Angle.

  • Чтобы вернуть выход Angle как значение с фиксированной точкой, которое нормализует углы в области значений [-1,1], выберите Normalized. Для получения дополнительной информации смотрите Нормированный формат угла.

  • Чтобы возвратить Angle выход как значение фиксированной точки в области значений [-π, π], выбирают Radians. При использовании этого блока для реализации atan2 function, установите этот параметр равным Radians.

Выберите этот параметр, чтобы умножить вывод Angle на обратный коэффициент усиления CORDIC. Блок реализует этот коэффициент усиления, используя архитектуру shift-and-add для умножителя. Эта реализация может увеличить длину критического пути в вашем проекте.

Примечание

Если вы очистите этот параметр и примените коэффициент усиления CORDIC в другом месте вашего проекта, вы должны исключить термин Поскольку алгоритм квадрантного отображения заменяет первую итерацию CORDIC, отображая входы на область значений угла [0, Коэффициент усиления является продуктом cos (atan (2-n)), для n от 1 до Number of iterations - 1.

Алгоритмы

расширить все

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

.
Введенный в R2014b