exponenta event banner

Оптимизация HDL от комплекса до величины-угла

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

  • Библиотека:
  • Системная панель инструментов DSP Поддержка HDL/Математические функции

  • Complex to Magnitude-Angle HDL Optimized block

Описание

Блок оптимизированной ЛПВП с комплексным углом к величине вычисляет величину и фазовый угол комплексного сигнала и обеспечивает аппаратные управляющие сигналы. Для достижения эффективной реализации ЛПВП блок использует конвейерный алгоритм 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 с указанием всех допустимых данных, возвращаемых на выходных портах величины или угла. Сигнал validOut применяется ко всем выборкам в векторном выходном сигнале.

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

Параметры

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

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

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Количество итераций источника значение Property.

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

  • Для включения выходных портов «Величина» и «Угол» выберите Magnitude and Angle (по умолчанию).

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

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

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

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

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

Примечание

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

Алгоритмы

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

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

.
Представлен в R2014b