Угол значения, чтобы объединить

Преобразуйте значение и/или угловой сигнал фазы объединить сигнал

  • Библиотека:
  • Simulink / Математические операции

    HDL Coder / Операции Плавающей точки HDL

Описание

Поддерживаемые операции

Угол Значения к блоку Complex преобразовывает значение и угловые входные параметры фазы к комплексному выходу. Угловой вход должен быть в раде.

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

  • Два входных параметров равных размерностей

  • Один скалярный вход и другой n-мерный массив

Если вход блока является массивом, вывод является массивом комплексных сигналов. Элементы входного вектора значения сопоставляют со значениями соответствующих элементов комплексного выхода. Точно так же элементы углового входного вектора сопоставляют с углами соответствующих элементов комплексного выхода. Если один вход является скаляром, он сопоставляет с соответствующим компонентом (значение или угол) всех сигналов комплексного выхода.

Эффект входа из области значений на приближениях CORDIC

Если вы используете метод приближения CORDIC (см. Определения), вход блока для угла фазы имеет следующие ограничения:

  • Для фиксированных точек со знаком входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Для фиксированных точек без знака входной угол должен находиться в пределах области значений [0, 2π), рад.

Следующая таблица обобщает то, что происходит для входа из области значений:

Блокируйте использованиеЭффект входа из области значений
СимуляцияОшибка появляется.
Сгенерированный кодНеопределенное поведение происходит.
Режимы Accelerator

Гарантируйте, что вы используете вход в области значений для Угла Значения к блоку Complex, когда вы используете приближение CORDIC. Постарайтесь не полагаться на неопределенное поведение для сгенерированного кода или режимов Accelerator.

Порты

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

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

Значение, заданное как скаляр с действительным знаком, вектор или матрица.

Зависимости

  • Чтобы включить этот порт, установите Input на Magnitude and angle.

Ограничения

  • Если один вход имеет тип данных с плавающей точкой, другой вход должен использовать совпадающий тип данных. Например, обоими сигналами должен быть double или single.

  • Типы данных с фиксированной точкой поддерживаются только, когда вы устанавливаете Approximation method на CORDIC. Когда один вход имеет тип данных с фиксированной точкой, другой вход должен также иметь тип данных с фиксированной точкой.

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

Угол фазы Radian, заданный как скаляр с действительным знаком, вектор или матрица. Чтобы вычислить приближение CORDIC, входной угол должен быть между:

  • [–2π, 2π) рад, для фиксированных точек со знаком

  • [0, 2π) рад, для фиксированных точек без знака

Для получения дополнительной информации смотрите Эффект Входа Из области значений на Приближениях CORDIC.

Зависимости

  • Чтобы включить этот порт, установите Input на Magnitude and angle.

Ограничения

  • Если один вход имеет тип данных с плавающей точкой, другой вход должен использовать совпадающий тип данных. Например, обоими сигналами должен быть double или single.

  • Типы данных с фиксированной точкой поддерживаются только, когда вы устанавливаете Approximation method на CORDIC. Если один вход имеет тип данных с фиксированной точкой, другой вход должен также иметь тип данных с фиксированной точкой.

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

Значение или угол фазы радиана, заданный как скаляр с действительным знаком, вектор или матрица.

  • Когда вы устанавливаете Input на Magnitude, вы задаете значение во входном порту и угол на диалоговом окне.

  • Когда вы устанавливаете Input на Angle, вы задаете угол во входном порту и значение на диалоговом окне.

Зависимости

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

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

Вывод

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

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

Если вход блока является массивом, вывод является массивом комплексных сигналов. Элементы входного вектора значения сопоставляют со значениями соответствующих элементов комплексного выхода. Точно так же элементы углового входного вектора сопоставляют с углами соответствующих элементов комплексного выхода. Если один вход является скаляром, он сопоставляет с соответствующим компонентом (значение или угол) всех сигналов комплексного выхода.

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

Параметры

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

Задайте вид входа: вход значения, угловой вход или оба.

Программируемое использование

Параметры блоков: Input
Ввод: символьный вектор
Значения: 'Magnitude' | 'Angle' | 'Magnitude and angle'
Значение по умолчанию: 'Magnitude and angle'

Постоянный угол фазы выходного сигнала, в раде. Чтобы вычислить приближение CORDIC, входной угол должен быть между:

  • [–2π, 2π) рад, для фиксированных точек со знаком

  • [0, 2π) рад, для фиксированных точек без знака

Для получения дополнительной информации смотрите Эффект Входа Из области значений на Приближениях CORDIC.

Зависимости

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

Программируемое использование

Параметры блоков: ConstantPart
Ввод: символьный вектор
Значения: постоянный скаляр
Значение по умолчанию: '0'

Постоянное значение выходного сигнала, заданного как скаляр с действительным знаком, вектор или матрица.

Зависимости

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

Программируемое использование

Параметры блоков: ConstantPart
Ввод: символьный вектор
Значения: постоянный скаляр
Значение по умолчанию: '0'

Задайте тип приближения для вычисления вывода.

Метод приближенияПоддерживаемые типы данныхКогда использовать этот метод
None (значение по умолчанию)

Плавающая точка

Вы хотите использовать алгоритм Ряда Тейлора по умолчанию.

CORDIC

И фиксированная точка с плавающей точкой

Вы хотите быстрое, приближенное вычисление.

Когда вы используете приближение CORDIC, следуете этим инструкциям для входного угла:

  • Для фиксированных точек со знаком входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Для фиксированных точек без знака входной угол должен находиться в пределах области значений [0, 2π), рад.

Блок использует следующие правила распространения типа данных:

Тип данных входа значенияМетод приближенияТип данных комплексного выхода

Плавающая точка

None или CORDIC

То же самое, как введено

Фиксированная точка со знаком

CORDIC

fixdt (1, WL + 2, FL)

где WL и FL являются размером слова и дробная продолжительность значения

Фиксированная точка без знака

CORDIC

fixdt (1, WL + 3, FL)

где WL и FL являются размером слова и дробная продолжительность значения

Программируемое использование

Параметры блоков: ApproximationMethod
Ввод: символьный вектор
Значения: 'None' | 'CORDIC'
Значение по умолчанию: 'None'

Количество итераций, чтобы выполнить алгоритм CORDIC. Область значений возможных значений зависит от типа данных входа:

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

Зависимости

Чтобы включить этот параметр, установите Approximation method на CORDIC.

Программируемое использование

Параметры блоков: NumberOfIterations
Ввод: символьный вектор
Значения: положительное целое число, меньше чем или равное размеру слова фиксированной точки, вводится
Значение по умолчанию: '11'

Установите этот флажок, чтобы масштабировать действительные и мнимые части комплексного выхода фактором (1/CORDIC gain). Это значение зависит от количества итераций, которые вы задаете. Когда количество итераций повышается, значение приближается 1.647.

Этот флажок устанавливается по умолчанию, который приводит к более численно точному результату для комплексного выхода, X + iY. Однако масштабирование вывода добавляет две дополнительных операции умножения, один для X и один для Y.

Зависимости

Чтобы включить этот параметр, установите Approximation method на CORDIC.

Программируемое использование

Параметры блоков: ScaleReciprocalGainFactor
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.

Программируемое использование

Параметры блоков: SampleTime
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

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

Типы данных

double | single

Прямое сквозное соединение

yes

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

yes

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

yes

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

no

Больше о

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

Ссылки

[1] Volder, JE. “Тригонометрический вычислительный метод CORDIC”. Транзакции IRE на электронно-вычислительных машинах EC-8 (1959); 330–334.

[2] Andraka, R. “Обзор алгоритма CORDIC для основанных на FPGA компьютеров”. Продолжения 1998 шестых международных симпозиумов ACM/SIGDA по Программируемым пользователем вентильным матрицам. 22-24 февраля (1998): 191–200.

[3] Вальтер, J.S. “Объединенный Алгоритм для Элементарных функций”. Hewlett-Packard Company, Пало-Альто. Компьютерная Конференция по Соединению Spring (1971): 379–386. (из набора Компьютерного Исторического музея). www.computer.org/csdl/proceedings/afips/1971/5077/00/50770379.pdf

[4] Schelin, Чарльз В. “Приближение функций калькулятора”. Американская Mathematical Monthly 90, № 5 (1983): 317–325.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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