Сортировка входных элементов по значению
Инструментарий/статистика системы DSP
Блок сортировки ранжирует значения входных элементов по каждому каналу (столбцу) в Ascending или Descending порядок на основе указанного порядка сортировки. Комплексные входы сортируются по их величине, которая является суммой квадратов вещественной и мнимой составляющих входа. Можно выбрать алгоритм сортировки: Quick sort или Insertion sort. Алгоритм быстрой сортировки использует метод рекурсивной сортировки и быстрее при сортировке более 32 элементов. Алгоритм сортировки вставки использует нереверсивный метод и быстрее при сортировке менее 32 элементов. При создании кода используйте алгоритм сортировки вставки, чтобы избежать рекурсивных вызовов функций.
Параметр Mode определяет режим работы блока, для которого можно установить значение Value, Index, или Value and Index.
Port_1 - Ввод данныхБлок принимает вещественные или комплексные многоканальные входы. Тип входных данных должен быть двойной точностью, единственной точностью, целым числом или фиксированной точкой с наклоном мощности два и нулевым смещением.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного номера: Да
Val - Отсортированные данныеБлок сортирует данные по каждому каналу и выводит отсортированные данные через этот порт. Размер, тип и сложность отсортированных данных совпадают с размером и сложностью входных данных. Блок сортирует сложные входы в соответствии с их величиной.
Чтобы включить этот порт, установите для параметра Mode значение Value and index или Value.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного номера: Да
Idx - Индекс отсортированных данныхВыходные данные этого порта содержат индексы отсортированных данных.
Чтобы включить этот порт, установите для параметра Mode значение Value and index или Index.
Типы данных: uint32
Mode - Укажите, возвращает ли блок значения, индексы или обаValue and Index (по умолчанию) | Value | IndexЕсли для параметра Mode установлено значение:
Value - Блок сортирует элементы в каждом канале входной матрицы M-by-N в порядке возрастания или убывания на основе того, что указано в параметре Порядок сортировки. Выходной сигнал в каждый момент времени выборки, Val, является матрицей M-by-N, которая содержит отсортированные столбцы входного сигнала.
Блок сортирует сложные входы в соответствии с их величиной.
Index - Блок сортирует элементы в каждом канале входной матрицы M-by-N и выводит массив индексов, I. Каждый элемент в I является целым числом типа uint32 индексирует отсортированное значение в соответствующем столбце ввода.
Value and index - Блок выводит отсортированные значения входных данных, Val, и соответствующие индексы в индексном массиве, I.
Sort order - Порядок сортировкиAscending (по умолчанию) | DescendingУкажите сортировку входных данных в порядке возрастания или убывания.
Sort algorithm - Метод сортировкиQuick sort (по умолчанию) | Insertion sortАлгоритм быстрой сортировки использует метод рекурсивной сортировки и быстрее при сортировке более 32 элементов. Алгоритм сортировки вставки использует нереверсивный метод и быстрее при сортировке менее 32 элементов. При создании кода во избежание рекурсивных вызовов функций используйте алгоритм сортировки вставки.
Примечание
Для использования этих параметров ввод данных должен быть сложным и фиксированным. Для всех остальных входных данных параметры на вкладке «Типы данных» игнорируются.
Rounding mode - Метод операции округленияFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroУкажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Режим округления.
Saturate on integer overflow - Метод действия переполненияПри выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой. Для получения подробной информации о saturate и wrap, см. режим переполнения для операций с фиксированной точкой.
Product output - Тип выходных данных продуктаInherit: Same as input (по умолчанию) | fixdt([],16,0)Квадраты вещественной и мнимой частей комплексного ввода хранятся в типе выходных данных Product.
Для этого параметра можно установить значение:
Inherit: Same as input - тип выходных данных продукта совпадает с типом входных данных.
fixdt([],16,0) - Тип выходных данных продукта - это тип данных с автоматической, двоичной точкой, масштабированный, с фиксированной точкой и длиной слова 16 бит и длиной дроби 0.
Кроме того, можно задать тип выходных данных продукта с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant
.
Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).
Accumulator - Тип данных аккумулятораInherit: Same as product output (по умолчанию) | Inherit: Same as input | fixdt([],16,0)Результат суммирования квадратов вещественной и мнимой частей комплексного ввода сохраняется в типе данных Accumulator.
Для этого параметра можно установить значение:
Inherit: Same as product output - Тип данных накопителя совпадает с типом выходных данных продукта.
Inherit: Same as input - Тип данных накопителя совпадает с типом входных данных.
fixdt([],16,0) - Тип данных накопителя - это тип данных с автоподписью, двоичной точкой, масштабированный, с фиксированной точкой с длиной слова 16 бит и длиной дроби 0.
Кроме того, тип данных Accumulator можно задать с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant
.
Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).
Lock data type settings against changes by the fixed-point tools - Предотвращение переопределения типов данных инструментами с фиксированной точкойВыберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в блоке.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Блок выдает результаты, идентичные MATLAB
®sort функция.
Вывод блока эквивалентен следующему коду MATLAB, если для параметра Порядок сортировки установлено значение:
Ascending — [Val,I] = sort(u,'ascend')
Descending — [Val,I] = sort(u,'descend')
где:
u - ввод данных.
Val - отсортированный выходной сигнал.
I - индекс отсортированного выходного сигнала.
Когда входные данные сложны, блок сортирует данные в соответствии с величиной. Блок вычисляет величину, беря сумму квадратов вещественной и мнимой составляющих комплексного ввода. Это идентично вызову sort функция как [Val,I] = sort(u,...,'ComparisonMethod','abs').
Созданный код зависит от memcpy или memset функции (string.h) при определенных условиях.
Параметры на вкладке «Типы данных» используются только для сложных вводов с фиксированной точкой. Комплексные входы сортируются по их величине, которая является суммой квадратов вещественной и мнимой составляющих входа. Результаты квадратов вещественной и мнимой частей сохраняются в типе выходных данных Product. Результат суммирования квадратов сохраняется в типе данных Accumulator. Параметры на вкладке «Типы данных» игнорируются для всех остальных входных данных.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.