系统对象是什么?
一个系统对象™是一个专门的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在一个函数的情况下并不适用于一个特定的对象,调用这个函数对象上的没有影响。
函数 | 描述 |
---|---|
运行目标函数,或一步 |
运行对象使用定义的算法处理数据对象。 例子:为对象
作为这个过程的一部分,对象初始化资源,返回输出,并更新对象状态。在执行期间,你只可以改变可调特性。两种方式运行一个系统对象返回常规MATLAB变量。 |
释放 |
释放资源,并允许更改系统对象属性值和额外的特征是有限的系统对象时使用。 |
重置 |
重置系统对象,该对象的初始值。 |
输入参数个数 |
返回的数量输入接受系统对象的算法定义。如果算法定义包括变长度输入宗量 ,输入参数个数 输出是负的。 |
nargout |
返回输出的数量接受系统对象的算法定义。如果算法定义包括varargout ,nargout 输出是负的。 |
克隆 |
创建另一个相同类型的对象具有相同的属性值 |
isLocked |
返回一个逻辑值指示对象是否被称为,你还没有叫释放 在对象上。 |
结束 |
仅适用于源对象继承matlab.system.mixin.FiniteSource 。返回一个逻辑值指示是否结束的数据文件。如果一个特定的对象没有资料终端能力,这个函数始终返回值假 。 |
另请参阅
相关的话题
- 系统对象和MATLAB函数
- 系统设计在MATLAB使用系统对象
- 系统设计在使用系统对象模型万博1manbetx(万博1manbetx模型)