主要内容

将数据导入信号贴标器

进口成员进入信号贴标器以三种方式创建标记信号集之一:

  1. 从MATLAB工作区导入信号—导入每个信号作为一个成员,分别对其进行标记,或导入一个已标记的信号集。

  2. 从文件导入信号- 将每个文件作为成员导入,以将文件中包含的所有信号一起标记在一起。

  3. 导入音频文件数据到信号标签- 导入音频文件和文件夹(需要音频工具箱™许可证)。

万博1manbetx支持信号类型

信号贴标器应用程序适用于实际或复数的向量,矩阵,Matlab®时间表,LabeledSignalSet.对象,SignalDataStore.对象。该应用程序还支持MAT文件万博1manbetx和CSV文件。

笔记

信号贴标器不支持信号万博1manbetxINF.要么值,多维数组或稀疏矩阵。

  • 例如:数值型数组

    num = cos(pi ./ [4; 2] *(0:159))'+ Randn(160,2);
    指定由嵌入白噪声的正弦曲线组成的双通道信号。除非您指定它,否则信号不包含时间信息。在信号贴标器,您可以在示例中导入信号,或者您可以在导入时添加时间信息。

  • 示例:MATLAB时间表

    tt1 =时间表(num,'采样率', 100);tt2 =时间表(秒((0:159)/ 100),num);
    两者都指定了在100 Hz上采样嘈杂的双通道正弦曲线。有关更多信息,请参见时间表文档。

  • 例子:LabeledSignalSet.对象

    lss = labeledsignalset(num);
    指定嘈杂的正弦曲线在样本中。

  • 例子:LabeledSignalSet.具有时间信息的对象

    lst1 = labeledsignalset(num,'采样率', 100);LST2 = LabeledSignalSet(时间表(秒((0:159)'/ 100),num));
    两者都指定嘈杂的正弦曲线在100 Hz上采样。

  • 示例:多目标成员

    MSN = LabeledSignalSet({Randn(10,3),Randn(17,9)});
    有两个成员。第一构件包含三个10个样本信号。第二构件包含九个17样本信号。

    MST = LabeledSignalSet({时间表(秒(1:10)',Randn(10,3))},......{时间表(秒(1:7)',Randn(7,2)),......1)时间表(randn(30日,'采样率',100)}});
    有两个成员。第一构件包含在1 Hz上采样的三个信号10秒。第二构件包含在1 Hz上采样的两个信号7秒,并在100Hz上采样一个30样本信号。

  • 例子:SignalDataStore.指向文件的对象

    使用MATLAB®指定包含作为MAT文件的一组样本声音信号的路径。每个文件都包含一个信号变量和采样率。列出文件的名称。

    文件夹= fullfile (matlabroot,“工具箱”“matlab”“音频视频”);lst = dir(附加(文件夹,“/*。垫”));nms = {lst(:)。name}'
    nms =7x1细胞{'chirp.mat'} {'gong.mat'} {'handel.mat'} {'笑笑。

    创建指向指定文件夹的信号数据存储。将采样率变量名称设置为Fs,这对所有文件都是常见的。生成排除文件的数据存储的子集mtlb.mat,它与其他文件不同,因为不调用信号变量y

    sds = signaldataStore(文件夹,“samplerevariablename”“Fs”);SDSS =子集(SDS,〜StrcMP(NMS,“mtlb.mat”));

    类的源使用子集数据存储LabeledSignalSet.目的。

    lss = labeledSignalSet (sdss)
    lss = labeledSignalSet with properties: Source: [1x1 signalDatastore] NumMembers: 6 TimeInformation: "inherent" Labels: [6x0 table] Description: ""使用labelDefinitionsHierarchy查看标签和子标签的列表。使用setLabelValue将数据添加到集合。

指定时间信息

你输入的信号信号贴标器可在样品或时间上进行标记。此规格保持固定,以确保一致的标签。不能将样本中的信号和在同一会话中含有时间信息的信号混合使用。

在指定未具有它的一组信号的时间信息时,请在“导入”对话框中选择“时间规范”选项。

时间规范选项 描述
样本 该选项使您可以探索和标记信号,而不需要指定采样率或采样时间。它相当于在MATLAB中绘制信号X-AXIS信息。
采样率 在知道信号已采样的速率时,请使用此选项。采样率可以以Hz,kHz,MHz或GHz表示。要指定采样率,可以使用数字值,MATLAB工作区中的标量变量或任何有效的MATLAB表达式。设置采样率,以便以时间为单位绘制成员。
来自文件的采样率变量 当样本速率保存为导入文件中的变量时,使用此选项。
采样时间 当您知道样本之间的时间间隔时,请使用此选项。样本时间可以用秒、年、天、小时、分钟、毫秒、微秒或纳秒表示。要指定示例时间,可以使用数值、MATLAB工作区中标量变量的名称或任何有效的MATLAB表达式。设置样本时间,使成员以时间为单位绘制。
来自文件的采样时间变量 当将示例时间保存为正在导入的文件中的变量时,使用此选项。
时间值

当您知道每个样本对应的时间值时,请使用此选项。使用有效的MATLAB表达式或MATLAB工作区中的变量名指定时间值。时间值可以存储在数字或持续时间以秒表示的实时值矢量。取值必须唯一,不能为空,但不需要均匀间隔。时间阵列必须具有与成员相同的长度。

在所有情况下,该应用程序从时间值中源性率并显示它时间栏目标记信号集浏览器.样品速率前面的星号表示构件是不均匀的采样的。

从文件中的时间值变量 当时间值保存为正在导入的文件中的变量时,使用此选项。

一旦一个或一组信号被输入信号贴标器,所选择的时间规格在整个标记过程中保持固定。

从中导入信号MATLAB工作区

进口信号到信号贴标器从MATLAB的工作区,上贴标者选项卡,单击进口并选择来自工作区在里面成员列表。在对话框中选择要导入的信号。

从工作区对话框中导入成员

每个信号变量被视为已标记信号集的一个成员,并且可以被单独标记。当你想在不同的标记信号集中标记多个信号变量时,你也可以遵循这个步骤。

  • 如果您最初导入数字数组并在样本中指定,或者您最初导入了一个LabeledSignalSet.对象在示例中,您可以随后仅选择样本中的信号。如果选择数字数组,信号贴标器导入并将其视为样本。

  • 如果您最初导入一个数字数组并指定了它的时间信息,或者您最初导入一个MATLAB时间表或LabeledSignalSet.对象随着时间信息,您可以随后仅使用时间信息选择信号。如果选择数字数组,则必须在导入时设置其时间信息。

笔记

不能修改a的时间信息LabeledSignalSet.来自内部的对象信号贴标器.如果标记的信号集没有时间信息,应用程序将其成员视为样本。如果标记的信号集有时间信息,应用程序在导入信号时就会包含该信息。有关更多信息,请参见LabeledSignalSet.文档。

要成功导入,标记的信号集必须遵守这些附加规则:

  • 如果选择包括两个或更多个标记的信号集,则标记的信号集必须具有唯一的信号标签定义。如果两个或多个集合共享标签定义,则定义必须具有所有集合的类型和数据类型。有关更多信息,请参阅创建或导入信号标签定义

  • 如果选择包含两个或多个标记信号集,则标记信号集必须具有唯一的成员名称。不能从内部更改成员名信号贴标器.若要更改标记信号集成员的名称,请使用setMemberNames在命令行。

  • 如果你选择了两个或更多LabeledSignalSet.标签的对象,信号贴标器合并它们并创建包含所有成员和输入集的标记值的单个标记信号集。此操作相当于使用合并在命令行。

  • 标签值LabeledSignalSet.对象必须是标量。信号贴标器忽略那些没有标量值的标签。

从文件导入信号

进口信号到信号贴标器从文件,在贴标者选项卡,单击进口并选择从文件在里面成员列表。在对话框中,浏览以选择包含要导入的信号的文件。

笔记

  • 信号贴标器万博1manbetx支持mat文件和CSV文件。CSV文件中除头外的所有值必须为数字。

  • 使用Audio Toolbox许可证,您可以将信号从带有兼容的音频文件扩展的文件导入信号贴标器使用从音频文件要么从音频文件夹

  • 进口LabeledSignalSet.不支持文件中的对象。万博1manbetx进口A.LabeledSignalSet.对象,将其加载到MATLAB工作区并从那里导入。

从文件对话框导入成员

每个文件被视为标记信号集的成员。文件中包含的所有信号属于单个成员,并标记在一起。您还可以将具有与相同标记信号集的成员导入与相同信号变量相同的其他文件。

  • 导入的所有成员都必须具有相同的扩展名和相同的变量。

  • 信号贴标器不支持与内存中的内万博1manbetx存数据和来自文件的数据同时运行。

    • 如果您最初从MATLAB工作区导入内存成员,则从文件选项已禁用进口菜单的贴标者选项卡。

    • 如果您最初从文件导入数据,那么您可以从MATLAB工作区导入唯一的工作区变量LabeledSignalSet.对象的输入数据源是SignalDataStore.指向文件的对象。例如,看到万博1manbetx支持信号类型

默认情况下,信号贴标器读取每个文件的第一个信号变量。要确定文件中第一个变量的名称,SignalDataStore.按照以下步骤操作:

  • 对于MAT文件:

    s = load(文件名);varnames = fieldnames;firstvar = s。(varnames {1});

  • CSV文件:

    opts = detectimportoptions(文件名,'preservevariablenames',真的);varnames = opts.variablenames;firstvar = string(varnames {1});

要指定要读取的信号变量,请单击指定然后输入一个用逗号分隔的信号变量名称列表。

小费

如果CSV文件没有在标题行中指定的变量名,则调用变量var1对于第一列,var2对于第二列,等等。

也可以看看

应用

功能

相关例子

更多关于