主要内容

系统对象是什么?

一个系统对象™是一个专门的MATLAB®对象。许多工具箱包括系统对象。系统对象是专门为实现和模拟动态系统随时间变化的输入。许多信号处理、通信和控制系统是动态的。在动态系统中,输出信号的值依赖于输入信号的瞬时值和过去行为的系统。系统对象使用过去行为的内部状态存储,用于下一个计算步骤。因此,系统对象进行优化迭代计算,处理大型数据流段,如视频和音频处理系统。这种能力来处理流数据提供的优势不需要保存大量的数据在内存中。使用流数据还允许您使用简化程序,使用循环效率。

例如,您可以使用系统中的对象,从文件中读取数据,数据过滤器,然后将过滤后的输出写入另一个文件。通常,指定数量的数据传递给每个循环迭代滤波器。文件读者对象使用一个状态跟踪文件中读取下一个数据开始。同样,文件作者对象跟踪,最后写数据到输出文件数据没有覆盖。过滤器对象维护自己的内部状态,确保正确执行过滤。这张图代表一个单一的循环系统。

说明一个循环系统的对象从左向右输入数据文件文件阅读器系统对象,作者系统过滤系统对象,文件对象来过滤数据文件

这些优势使系统对象适合处理流数据。

许多系统对象支持:万博1manbetx

  • 定点算术(需要一个定点设计师™许可证)

  • C代码生成(需要一个MATLAB编码器™万博1manbetx®编码器许可)

  • 高密度脂蛋白HDL代码生成(需要一个编码器™许可)

  • 可执行文件或共享库生成(需要一个MATLAB编译器™许可)

请注意

检查确认定点的产品文档,代码生成,MATLAB编译器万博1manbetx支持您想要使用的特定的系统对象。

系统对象使用至少两个命令来处理数据:

  • 创建对象(如fft256 = dsp.FFT)

  • 运行数据通过对象(如fft256 (x))

创建从执行的分离让你创建多个,持久,可重用的对象,每个都有不同的设置。使用这种方法可以避免重复输入验证和验证,允许容易在编程中使用循环,并提高了整体性能。相比之下,MATLAB函数每次调用这个函数必须验证参数。

除了系统工具箱提供的系统对象,您可以创建自己的系统对象。看到创建系统对象

运行一个系统对象

运行一个系统对象定义的操作和执行它的算法,你叫对象就好像它是一个函数。例如,要创建一个FFT对象使用dsp.FFT系统对象,指定一个长度为1024,和名称dft使用:

dft = dsp.FFT (“FFTLengthSource”,“属性”,“FFTLength”,1024);
运行该对象的输入x使用:
dft (x);
如果你运行一个系统对象没有任何输入参数,您必须包括空括号。例如,asysobj ()

当您运行一个系统对象,它还执行其他重要任务相关的数据处理,如初始化和处理对象状态。

请注意

运行一个系统对象的另一个途径是使用一步函数。例如,对于一个对象创建的使用dft = dsp.FFT,您可以运行它步骤(dft, x)

系统对象的功能

创建一个系统对象后,您使用各种对象函数来处理数据或获取信息或对象。使用函数的语法<目标函数名称>(<系统对象名称>),再加上可能的额外的输入参数。例如,对于txfourier = dsp.FFT,在那里txfourier是一个名字你分配,你所说的吗重置函数使用重置(txfourier)

公共对象功能

所有系统对象支持以下对象的功能。万博1manbetx在一个函数的情况下并不适用于一个特定的对象,调用这个函数对象上的没有影响。

函数 描述
运行目标函数,或
一步

运行对象使用定义的算法处理数据对象。

例子:为对象dft = dsp.FFT;,运行对象通过:

  • y = dft (x)

  • y =步骤(dft, x)

作为这个过程的一部分,对象初始化资源,返回输出,并更新对象状态。在执行期间,你只可以改变可调特性。两种方式运行一个系统对象返回常规MATLAB变量。

释放

释放资源,并允许更改系统对象属性值和额外的特征是有限的系统对象时使用。

重置 重置系统对象,该对象的初始值。
输入参数个数 返回的数量输入接受系统对象的算法定义。如果算法定义包括变长度输入宗量,输入参数个数输出是负的。
nargout 返回输出的数量接受系统对象的算法定义。如果算法定义包括varargout,nargout输出是负的。
克隆 创建另一个相同类型的对象具有相同的属性值
isLocked 返回一个逻辑值指示对象是否被称为,你还没有叫释放在对象上。
结束 仅适用于源对象继承matlab.system.mixin.FiniteSource。返回一个逻辑值指示是否结束的数据文件。如果一个特定的对象没有资料终端能力,这个函数始终返回值

另请参阅

相关的话题