主要内容

导入数据到信号标签

成员导入信号贴标签机创建标记信号集的三种方法之一:

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

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

  3. 在信号标签中导入和播放音频文件数据-导入音频文件和文件夹(需要audio Toolbox™许可证)。

金宝app支持信号类型

信号贴标签机应用程序与实值或复数向量,矩阵,MATLAB®时间表,labeledSignalSet对象,signalDatastore对象。该应用程序还支持mat文件金宝app和CSV文件。

请注意

信号贴标签机不支持信号与金宝app值、多维数组或稀疏矩阵。

  • 例如:数值型数组

    num = cos (pi. /(4; 2) *(0:159))”+ randn (160 2);
    指定由嵌入白噪声中的正弦波组成的双通道信号。信号不包含时间信息,除非您指定它。在信号贴标签机,可以在样本中导入信号,也可以在导入时添加时间信息。

  • 例如:MATLAB时间表

    tt1 =时间表(num,“SampleRate”, 100);tt2 =时间表(秒((0:159)/ 100),num);
    两者都指定噪声双通道正弦信号以100 Hz采样。有关更多信息,请参见时间表文档。

  • 例子:labeledSignalSet对象

    lss = labeledSignalSet (num);
    指定采样中的噪声正弦波。

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

    lst1 = labeledSignalSet (num,“SampleRate”, 100);lst2 = labeledSignalSet(时间表(秒((0:159)/ 100),num));
    两者都指定噪声正弦信号的采样频率为100hz。

  • 例如:Multisignal成员

    msn = labeledSignalSet ({randn (10, 3), randn(17日9)});
    有两个成员。第一个成员包含三个10样本信号。第二个成员包含9个17样本信号。

    mst = labeledSignalSet({{时间表(秒(1:10),randn (10, 3))},...{时间表(秒(1:7)”,randn (7, 2)),...1)时间表(randn(30日,“SampleRate”, 100年)}});
    有两个成员。第一个成员包含三个以1hz采样10秒的信号。第二个成员包含两个在1hz下采样7秒的信号和一个在100hz下采样30个信号。

  • 例子:signalDatastore指向文件的对象

    使用MATLAB®指定一组采样声音信号的路径,包括在MAT-files中。每个文件包含一个信号变量和一个采样率。列出文件的名称。

    文件夹= fullfile (matlabroot,“工具箱”“matlab”“音视频”);lst = dir(添加文件夹,“/ * .mat”));nms = {lst (:) . name}’
    nms =7 x1细胞{的唧唧声。垫的}{'gong.mat' } {'handel.mat' } {'laughter.mat'} {'mtlb.mat' } {'splat.mat' } {'train.mat' }

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

    sds = signalDatastore(文件夹,“SampleRateVariableName”“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设在信息。
采样率 当你知道信号被采样的速率时,使用这个选项。采样率可以用Hz、kHz、MHz或GHz表示。要指定采样率,可以使用数值、MATLAB工作区中的标量变量名称或任何有效的MATLAB表达式。设定采样率,使成员以时间为单位绘制。
样本率变量从文件 当样本速率保存为导入文件中的变量时,使用此选项。
样品时间 当您知道样本之间的时间间隔时,请使用此选项。样本时间可以用秒、年、天、小时、分钟、毫秒、微秒或纳秒表示。要指定示例时间,可以使用数值、MATLAB工作区中标量变量的名称或任何有效的MATLAB表达式。设置样本时间,使成员以时间为单位绘制。
样本时间变量从文件 当将示例时间保存为正在导入的文件中的变量时,使用此选项。
时间值

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

在所有情况下,应用程序从时间值派生一个抽样率,并显示在时间列的标记信号集浏览器。在抽样率前的星号表示成员是非均匀抽样的。

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

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

MATLAB工作空间

将信号导入信号贴标签机从MATLAB的工作区,上贴标签机选项卡上,单击进口并选择从工作空间成员列表。在对话框中选择要导入的信号。

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

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

  • 如果您最初导入一个数字数组并在示例中指定它,或者如果您最初导入一个labeledSignalSet对象,则可以随后只选择样本中的信号。如果你选择一个数字数组,信号贴标签机进口并在样品中处理。

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

请注意

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

为了成功导入,标记信号集必须遵守以下附加规则:

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

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

  • 如果您选择两个或两个以上labeledSignalSet对象标识,信号贴标签机合并它们并创建一个包含输入集的所有成员和标签值的单一标记信号集。这个动作相当于使用合并在命令行。

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

从文件中导入信号

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

请注意

  • 信号贴标签机金宝app支持mat文件和CSV文件。CSV文件中除头外的所有值必须为数字。

  • 使用音频工具箱许可证,您可以从具有兼容音频文件扩展名的文件导入信号到信号贴标签机使用从音频文件从音频文件夹

  • 进口labeledSignalSet不支持来自文件的对象。金宝app导入labeledSignalSet对象,将其加载到MATLAB工作区并从那里导入。

“从文件导入成员”对话框

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

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

  • 信号贴标签机不支持同时处理内存金宝app中的数据和文件中的数据。

    • 如果您最初从MATLAB Workspace导入内存中的成员,则从文件选项从进口菜单的贴标签机选项卡。

    • 如果您最初从文件中导入数据,那么您可以从MATLAB工作区中导入的惟一工作区变量是labeledSignalSet对象的输入数据源是signalDatastore指向文件的对象。例如,请参见金宝app支持信号类型

默认情况下,信号贴标签机读取每个文件的第一个信号变量。要确定文件中第一个变量的名称,signalDatastore遵循这些步骤:

  • mat文件:

    s =负载(文件名);varNames =字段名(s);firstVar = s。(varNames {1});

  • CSV文件:

    选择= detectImportOptions(文件名,“PreserveVariableNames”,真正的);varNames = opts.VariableNames;字符串(varNames firstVar = {1});

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

提示

如果CSV文件没有在标题行中指定变量名,则调用变量Var1对于第一列,Var2第二列,依此类推。

另请参阅

应用程序

功能

相关的例子

更多关于