Sort

Сортировка входных элементов по значению

  • Библиотека:
  • Системный тулбокс/статистика DSP

  • Sort block

Описание

Блок Sort ранжирует значения входных элементов вдоль каждого канала (столбца) в Ascending или Descending порядок, на основе заданных Sort order. Комплексные входы сортируются по их величине, которая является суммой квадратов действительных и мнимых компонентов входа. Можно выбрать любой из Sort algorithm Quick sort или Insertion sort. Алгоритм быстрой сортировки использует рекурсивный метод сортировки и быстрее сортирует более 32 элементов. Алгоритм сортировки вставки использует нерекурсивный метод и быстрее сортирует менее 32 элементов. Когда вы генерируете код, используйте алгоритм сортировки вставки, чтобы избежать рекурсивных вызовов функции.

Параметр Mode задает режим работы блока, который можно задать равным Value, Index, или Value and Index.

Порты

Вход

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

Блок принимает реальные или комплексные многоканальные входы. Тип входных данных должен быть двойной точности, одинарной точности, целого числа или фиксированной точки с степенью наклона два и нулевым смещением.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного числа: Да

Выход

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

Блок сортирует данные по каждому каналу и выводит отсортированные данные через этот порт. Размер, тип данных и сложность отсортированных данных совпадают с размером входных данных. Блок сортирует комплексные входы согласно их величине.

Зависимости

Чтобы включить этот порт, установите параметр Mode равным Value and index или Value.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного числа: Да

Выходы этого порта содержат индексы отсортированных данных.

Зависимости

Чтобы включить этот порт, установите параметр Mode равным Value and index или Index.

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

Параметры

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

Главная вкладка

Когда параметр Mode установлен в:

  • Value - Блок сортирует элементы в каждом канале входной матрицы M -by N в порядке возрастания или убывания, основываясь на том, что вы задаете в параметре Sort order. Выходы в каждом шаге расчета, Val, являются M матрицей -by N, которая содержит отсортированные столбцы входа.

    Блок сортирует комплексные входы согласно их величине.

  • Index - Блок сортирует элементы в каждом канале входной матрицы M -by N и выводит массив индексов, I. Каждый элемент в I является целым числом типа uint32 который индексирует отсортированное значение в соответствующем столбце входа.

  • Value and index - Блок выводит отсортированные значения входных данных, Val и соответствующих индексов в массиве индексов, I.

Задайте, чтобы отсортировать входные данные в порядке возрастания или убывания.

Алгоритм быстрой сортировки использует рекурсивный метод сортировки и быстрее сортирует более 32 элементов. Алгоритм сортировки вставки использует нерекурсивный метод и быстрее сортирует менее 32 элементов. Когда вы генерируете код, чтобы избежать рекурсивных вызовов функции, используйте алгоритм сортировки вставки.

Вкладка «Типы данных»

Примечание

Чтобы использовать эти параметры, вход данных должен быть комплексным и фиксированным. Для всех других входов параметры на вкладке Data Types игнорируются.

Задайте режим округления для операций с фиксированной точкой. Для получения дополнительной информации смотрите режим округления.

Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate и wrap, см. Режим переполнения для операций с фиксированной точкой.

Квадраты действительной и мнимой частей комплексного входа хранятся в Product output типе данных.

Можно задать этот параметр как:

  • Inherit: Same as input - Тип выходных данных продукта совпадает с типом входных данных.

  • fixdt([],16,0) - тип выходных данных продукта является автоматическим, двоичным, масштабированным, типом данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.

Также можно задать тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.

Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).

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

Можно задать этот параметр как:

  • Inherit: Same as product output - Тип данных аккумулятора совпадает с типом выходных данных продукта.

  • Inherit: Same as input - Тип данных аккумулятора совпадает с типом входных данных.

  • fixdt([],16,0) - тип данных аккумулятора является автоматическим, двоичным, масштабированным, типом данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.

Также можно задать тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.

Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).

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

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

Типы данных

double | fixed point | integer | single

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

no

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

no

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

no

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

no

Алгоритмы

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

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

.

См. также

Функции

Блоки

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