Что такое системные объекты?

Система object™ является специализированным объектом MATLAB®. Много тулбоксов включают Системные объекты. Системные объекты специально разработаны для реализации и моделирования динамических систем с входными параметрами то изменение в зависимости от времени. Многие обработка сигналов, коммуникации и системы средств управления являются динамическими. В динамической системе значения выходных сигналов зависят и от мгновенных значений входных сигналов и на прошлом поведении системы. Системные объекты используют внутренние состояния, чтобы сохранить то прошлое поведение, которое используется на следующем вычислительном шаге. В результате Системные объекты оптимизированы для итеративных вычислений что процесс большие потоки данных в сегментах, таких как системы обработки аудиоданных и обработка видеоданных. Эта способность обработать данные потоковой передачи обеспечивает преимущество не необходимости содержать большие объемы данных в памяти. Использование потоковой передачи данных также позволяет вам использовать упрощенные программы то использование циклы эффективно.

Например, вы могли использовать Системные объекты в системе, которая считывает данные из файла, фильтрует это данные и затем пишет отфильтрованный вывод в другой файл. Как правило, заданный объем данных передается фильтру в каждой итерации цикла. Объект средства чтения файлов использует состояние, чтобы отследить где в файле, чтобы начать следующее чтение данных. Аналогично, средство записи файла возражают дорожкам, где это в последний раз записало данные к выходному файлу так, чтобы данные не были перезаписаны. Объект фильтра поддерживает свои собственные внутренние состояния, чтобы гарантировать, что фильтрация выполняется правильно. Эта схема представляет единственный цикл системы.

Эти преимущества делают Системные объекты хорошо удовлетворенными для обработки данных потоковой передачи.

Много поддержки Системных объектов:

  • Вычисления с фиксированной точкой (требует Фиксированной точки лицензия Designer™),

  • Генерация кода C (требует MATLAB Coder™ или лицензии Simulink® Coder),

  • Генерация HDL-кода (требует HDL лицензия Coder™),

  • Исполняемые файлы или совместно использованная генерация библиотек (требует лицензии MATLAB Compiler™),

Примечание

Проверьте документацию по продукту, чтобы подтвердить фиксированную точку, генерацию кода и поддержку MATLAB Compiler определенных Системных объектов, которые вы хотите использовать.

Системные объекты используют минимум двух команд, чтобы обработать данные:

  • Создание объекта (такой как, fft256 = dsp.FFT Fft

  • Рабочие данные через объект (такой как, fft256(x))

Это разделение создания от выполнения позволяет вам создать несколько, персистентные, допускающие повторное использование объекты, каждого с различными настройками. Используя этот подход избегает повторенного контроля ввода и верификации, допускает легкое использование в цикле программирования и улучшает общую производительность. Напротив, функции MATLAB должны подтвердить параметры каждый раз, когда вы вызываете функцию.

В дополнение к Системным объектам, которым предоставляют Системные Тулбоксы, можно создать собственные Системные объекты. См. Создание системных объектов.

Выполнение системного объекта

Чтобы запустить Системный объект и выполнить операцию, заданную ее алгоритмом, вы вызываете объект, как будто это была функция. Например, создать объект FFT, который использует Системный объект dsp.FFT, задает длину 1 024 и называет его dft, используйте:

dft = dsp.FFT('FFTLengthSource','Property','FFTLength',1024);
Чтобы запустить этот объект с входным параметром x, используйте:
dft(x);
Если при запуске Системный объект без каких-либо входных параметров, необходимо включать пустые круглые скобки. Например, asysobj().

Когда вы запускаете Системный объект, он также выполняет другие важные задачи, связанные с обработкой данных, такие как инициализация и обрабатывающий объектные состояния.

Примечание

Альтернативный способ запустить Системный объект состоит в том, чтобы использовать функцию step. Например, для объекта, созданного с помощью dft = dsp.FFT, можно запустить его с помощью step(dft,x).

Функции системного объекта

После того, как вы создадите Системный объект, вы используете различные объектные функции, чтобы обработать данные или получить информацию из или об объекте. Синтаксисом для использования функций является <object function name>(<system object name>) плюс возможные дополнительные входные параметры. Например, для txfourier = dsp.FFT, где txfourier является именем, вы присваиваете, вы вызываете функцию reset использование reset(txfourier).

Общие Функции объекта

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

ФункцияОписание
Запустите объектную функцию, или
шаг

Запускает объект обработать данные с помощью алгоритма, заданного тем объектом.

Пример: Для объектного обвиняемого = dsp. Fft; запустите объект через:

  • y = dft(x)

  • y = step(dft,x)

Как часть этой обработки, объект инициализирует ресурсы, возвращает выходные параметры и обновляет объектные состояния по мере необходимости. Во время выполнения можно изменить только настраиваемые свойства. Оба способа запустить Системный объект возвращают регулярные переменные MATLAB.

релиз

Высвободите средства и позвольте изменения в значениях свойств Системного объекта и дополнительных характеристиках, которые ограничиваются, в то время как Системный объект используется.

сбросСбрасывает Системный объект к начальным значениям для того объекта.
narginВозвращает количество входных параметров, принятых определением алгоритма Системного объекта. Если определение алгоритма включает varargin, nargin, вывод отрицателен.
nargoutВозвращает количество выходных параметров, принятых определением алгоритма Системного объекта. Если определение алгоритма включает varargout, nargout, вывод отрицателен.
getDiscreteStateВозвращает структуру объектных дискретных состояний. Если объект не имеет никаких дискретных состояний, getDiscreteState возвращает пустую структуру.
клонСоздает другой объект того же типа с теми же значениями свойств
isLockedВозвращает логическое значение, указывающее, был ли объект назван, и вы еще не вызвали release на объекте.
isDoneПрименяется только к исходным объектам, которые наследовались matlab.system.mixin.FiniteSource. Возвращает логическое значение, указывающее, был ли конец файла данных достигнут. Если конкретный объект не имеет возможности конца данных, это значение функции всегда возвращает false.
информацияВозвращает структуру, содержащую характеристическую информацию об объекте. Поля этой структуры отличаются в зависимости от объекта. Если конкретный объект не имеет характеристической информации, структура пуста.

Смотрите также

Похожие темы

Была ли эта тема полезной?