本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

使用 Signal Analyzer App

Signal Analyzer App 是一款交互式工具,用于在时域、频域和时频域中可视化、测量、分析和比较信号。通过该 App 可同时和在同一视图中处理不同持续时间的许多信号。

从 MATLAB® 工具条上的 Apps 选项卡中选择该 App 将其启动。您也可以通过在 MATLAB 命令提示符下键入 signalAnalyzer 来启动该 App。

使用 Signal Analyzer App 检查和比较信号的典型工作流如下:

  1. 选择要分析的信号 - 选择 MATLAB 工作区中可用的任何信号。该 App 接受具有固有时间信息的实数数值数组和信号,例如 MATLAB 时间表、timeseries 对象和 labeledSignalSet 对象。有关详细信息,请参阅Data Types Supported by Signal Analyzer

  2. 预处理信号 - 低通、高通、带通或带阻滤波器信号。去除趋势并计算信号包络。使用移动平均值、回归、Savitzky-Golay 滤波器或其他方法对信号进行平滑处理。更改信号的采样率或将非均匀采样的信号插值到均匀网格上。使用您自己的自定义函数预处理信号。生成 MATLAB 函数来自动执行预处理操作。

  3. 探查信号 - 使用采样率、数值向量、duration 数组或 MATLAB 表达式向信号添加时间信息。绘制、测量和比较数据、其频谱、频谱图或尺度图。寻找时域、频域和时频域中的特性和模式。计算持久性频谱以分析偶发信号,并使用重排来锐化频谱图估计。从信号中提取关注的区域。

  4. 为信号添加标签 - 为机器和深度学习分类及回归任务注释信号并准备信号数据集。

  5. 共享分析 - 将显示内容作为图像从 App 复制到剪贴板。将信号导出到 MATLAB 工作区或将其保存到 MAT 文件。生成 MATLAB 脚本,以自动计算功率谱、频谱图或持久性频谱估计,并自动提取关注区。保存 Signal Analyzer 会话,以便以后或在另一台机器上继续分析。

选择要分析的信号

Signal Analyzer App 在 MATLAB 工作区中处理向量、矩阵、MATLAB 时间表、timeseries 对象或 labeledSignalSet 对象。当您启动该 App 时,工作区中所有可用的信号都会出现在左下角的工作区浏览器中。有关详细信息,请参阅Data Types Supported by Signal Analyzer

从工作区浏览器中选择信号

通过点击信号名称并将其拖到左上角的 Signal 表,从工作区浏览器中选择信号。要绘制信号,请将其拖到显示画面上。如果选中 Signal 表中某信号名称旁边的复选框,该信号将在选定的显示画面中绘制。您也可以将信号直接从工作区浏览器拖到显示画面上。拖动的信号在显示画面中绘制,并在 Signal 表中列出。

注意

Signal Analyzer 不支持 8000 个以上通道的矩阵、时序、时间表或带标签的信号集。

在 Signal 表中选择信号有两种不同方式。每种方式使用不同操作集。

  • 通过点击 Signal 表中的 NameInfoTimeStart Time 列选择信号,您可以执行 Analyzer 选项卡中的所有操作。您可以更改时间信息、预处理信号或复制它们。您不需要绘制信号来预处理它。

  • 选中信号名称左侧的复选框将在当前选定的显示画面中绘制该信号,并使您能够执行 Display 选项卡中的所有操作。您可以在频域或时频域中显示信号,也可以使用游标测量信号。

注意

如果您尝试导入超过 100 个列的信号,App 会显示警告。您尝试导入的矩阵可能是您要分析的多通道信号的转置。在这种情况下,点击警告对话框中的 No 并在工作区中转置矩阵。如果您要将列作为单独的信号导入,请点击 Yes。如果将矩阵拖到显示画面上,并在警告对话框中点击 Yes,则 App 仅绘制矩阵的前 10 列,但会导入所有列。要绘制第 10 列之后的信号列,请将它们拖到显示画面上。或者,在 Signal 表中,选中要绘制的信号名称旁边的复选框。

如果您在 MATLAB 工作区中修改了信号,工作区浏览器会自动更新。但是,App 不会自动识别这些变化,直到您通过将信号再次拖动到 Signal 表或显示画面来重新导入信号。

如果您添加或删除了矩阵列,App 会删除信号,清除其任何绘图,并使用修改后的矩阵维度创建新信号。

如果矩阵、时间表、时序和带标签的信号集包含以层次结构嵌套的通道,则会使用可清楚显示层次结构的树视图来显示数据。

注意

Signal Analyzer 将时间表视为多通道信号,即使它们只有一个通道也是如此。

  • 示例:名为 sgn 的 100×3 矩阵在 Signal 表中显示为 sgn。如果展开树视图,您可以看到三个单独的列,分别具有标签 sgn(:,1)sgn(:,2)sgn(:,3)

  • 示例:创建包含四个变量的时间表。"Temperature" 有两个通道,"WindSpeed" 有一个通道,"Electric" 有三个通道,"Magnetic" 有一个通道。

    tmt = timetable(seconds(0:99)', ...
        randn(100,2),randn(100,1),randn(100,3),randn(100,1));
    tmt.Properties.VariableNames = ...
        ["Temperature" "WindSpeed" "Electric" "Magnetic"];
    将该时间表拖到 Signal 表。展开树视图以查看各个通道。

对 Signal 表中的信号进行筛选

为了帮助搜索 Signal 表中的大量数据,您可以对信号进行筛选。筛选标准可以是包含在信号名称或其他列中的任何文本。

  • 要显示具有给定名称的信号,请在 Filter Signals 文本框中输入搜索短语。匹配项在筛选结果中突出显示。

    假设您有三个 sig 信号,即 sig01sig02sig03,以及三个 sgn 信号,即 sgn01sgn02sgn03。您可以输入 sg 显示三个 sgn 信号,或者输入 2 显示 sig02sgn02

  • 您还可以根据信号的时间信息筛选信号。要使用此功能,请在搜索结果框内点击,然后点击 Advanced。有关输入时间信息的详细信息,请参阅编辑采样率和其他时间信息

    假设您有六个信号,分别具有如下采样时间和开始时间:

    通过 Advanced 菜单,您可以根据采样率或采样时间按 “Name”、“Samples”、“Start Time” 或 “Time” 搜索信号。

    如果您选择 “Time” 选项并输入 20,App 会找到以 200 Hz 采样的四个信号。如果您还在第二个文本框中选择 “Start Time” 选项并输入 0,App 会找到 sgn01sig01

    注意

    筛选器将值视为文本而不是数字来进行匹配。例如,如果您选择 “Start Time” 选项并输入 00,则筛选器不会返回任何结果。

  • 您可以保存和存储筛选器以供将来使用。从搜索结果框的 Advanced 菜单中,点击 Quick Search Settings。在 Save Search As 框中输入名称,然后点击 Save

预处理信号

您可以使用 Signal Analyzer App 执行几项信号预处理任务。不同处理选项出现在 Analyzer 选项卡中:

预处理操作、撤消操作和函数生成会应用于 Signal 表中当前选择的所有信号。要选择信号,请点击 Signal 表中信号的 NameInfoTime 列。

注意

  • 带标签的信号集不支持预处理。

  • 预处理操作会覆盖它们所处理的信号。如果您要保留原始信号,请复制它并对副本进行操作。

您可以按任意顺序执行任意次数的预处理操作。Signal 表中的 Info 列包含图标 ,该图标指示是否已对信号执行预处理。点击该图标会列出执行的操作及其顺序。通过在 Analyzer 选项卡上或在任何由预处理操作产生的选项卡上点击 Undo Preprocessing,可以撤消预处理步骤。撤销是从最近的步骤开始,一次撤消一个步骤。

提示

要查看您采取的预处理步骤的完整汇总,包括您选择的所有设置,请点击 Analyzer 选项卡上的 Generate Function

您可以预处理一个多通道信号的各个通道。如果选择一个多通道信号及其一个通道进行预处理,App 只对该单个通道进行一次预处理。

复制和重命名信号

Signal Analyzer 使您能够复制和重命名信号,然后对其进行预处理或导出以供进一步分析。

要复制信号,请使用 Analyzer 选项卡或由预处理操作产生的任何选项卡上的 Duplicate 按钮。或者,右键点击 Signal 表中的信号,然后选择 Duplicate。副本与原始信号同名,但追加了 _copy 后缀。

如果选择一个信号及其通道进行复制,App 会创建该信号的一个副本和所选通道的一个独立副本。

要重命名信号,请双击 Signal 表中的信号名称并更改名称。或者,右键点击 Signal 表中的信号,然后选择 Rename

注意

您无法重命名一个多通道信号的单个通道。

对信号进行滤波

要对一个或多个所选信号进行滤波,请在 Analyzer 选项卡上,在 Preprocessing 库中点击 LowpassHighpassBandpassBandstop 图标。App 使用 lowpasshighpassbandpassbandstop 函数来执行滤波。您可以控制阻带衰减、通带频率和过渡区的宽度。有关更多信息,请参阅函数参考页。滤波不支持非均匀采样信号。

对信号进行平滑处理

要对一个或多个选定信号进行平滑处理,请在 Analyzer 选项卡上,点击 Preprocessing 库中的 Smooth 图标。App 使用 MATLAB 函数 smoothdata 来执行平滑处理。可使用以下平滑方法:

  • 移动均值

  • 移动中位数

  • 高斯平滑

  • 线性回归

  • 二次回归

  • 稳健线性回归

  • 稳健二次回归

  • Savitzky-Golay 滤波

对信号重新采样

要对一个或多个选定信号重新采样,请在 Analyzer 选项卡上,展开 Preprocessing 库,然后点击 Resample 图标。Signal Analyzer 使用 Signal Processing Toolbox™ 函数 resample 执行重新采样。可使用以下选项:

  • 当您的信号为非均匀采样信号时,您可以使用 App 将其插值到均匀网格上。您可以指定要对信号进行采样所用的插值方法和采样率。可使用以下插值方法:

    • 线性插值

    • 保形分段三次插值

    • 使用非结终止条件的三次样条插值

    有关详细信息,请参阅 interp1 参考页。

  • 当您的信号为均匀采样信号时,您可以使用 App 来更改其采样率。您可以指定所需的采样率或您要对信号进行上采样或下采样所用的因子。在本例中,Resample 选项卡中的插值面板被禁用,因为插值操作对于均匀采样的信号没有意义。

重新采样操作需要时间信息。如果您尝试对样本中的某个信号进行重新采样,App 会发出警告。

对信号去除趋势

要对一个或多个选定信号去除趋势,请在 Analyzer 选项卡上,展开 Preprocessing 库,然后点击 Detrend 图标。Signal Analyzer 使用 MATLAB 函数 detrend 执行去除趋势。App 可以从信号中去除以下趋势:

  • 恒定趋势。

  • 线性趋势。

  • 分段线性趋势。要去除分段线性趋势,请将以逗号分隔的列表指定断点。

计算信号包络

要计算一个或多个选定信号的包络,请在 Analyzer 选项卡上,展开 Preprocessing 库,然后点击 Envelope 图标。Signal Analyzer 使用 Signal Processing Toolbox 函数 envelope 来估计包络。您可以计算每个信号的上包络或下包络。可使用以下包络估计算法:

  • Hilbert” - 通过由 hilbert 实现的离散傅里叶变换求得的分析信号幅值来计算信号包络。

  • FIR” - 通过使用可调大小的 Hilbert FIR 滤波器对信号进行滤波并将结果用作分析信号的虚部,以此计算信号包络。

  • RMS” - 通过连接使用可调长度的移动窗计算的 RMS 值来计算信号包络。

  • Peak” - 通过对由可调数量的样本分隔的局部最大值使用样条插值来计算信号包络。

添加自定义预处理函数

要添加自定义预处理函数,请在 Analyzer 选项卡上,点击 Preprocessing 库旁边的箭头,然后选择 Add Custom Function。App 提示您输入函数名称和简短说明:

  • 如果您已编写预处理函数,并且该函数位于当前文件夹或 MATLAB 路径中,App 会将其合并到库中。您可以使用 Tab 键自动填充来搜索函数名称。

  • 如果您尚未编写函数,App 会在编辑器中打开空白模板。

自定义预处理函数有必填参数和可选参数:

  • 第一个输入参数 x 是输入信号。该参数必须为向量并被视为一个通道。

  • 第二个输入参数 tIn 是时间值的向量。该向量必须与信号具有相同的长度。如果输入信号没有时间信息,函数将此参数作为空数组读取。

  • 使用 varargin 指定其他输入参数。如果没有其他输入参数,可以省略 varargin。在 Preprocess 选项卡中,以逗号分隔的有序列表形式输入附加参数。

  • 第一个输出参数 y 是预处理后的信号。

  • 第二个输出参数 tOut 是输出时间值的向量。如果输入信号没有时间信息,tOut 将作为空数组形式返回。

  • 要实现您的算法,您可以使用任何 MATLAB 或 Signal Processing Toolbox 函数。

有关详细信息,请参阅Declip Saturated Signals Using Your Own Function

示例:以下函数通过减去信号的均值来去除信号的 DC 值:

function [y,tOut] = removeDC(x,tIn)
% Remove the DC value of a signal by subtracting its mean
   y = x - mean(x);
   tOut = tIn;
end

示例:以下函数将信号的开始时间更改为指定值:

function [y,tOut] = timealign(x,tIn,startTime)
% Change the starting time of a signal
   y = x;
   t = tIn;
   if ~isempty(t)
       t = t - t(1) + startTime;
   end
   tOut = t;
end

您可以随时使用库中的 Manage Custom Functions 选项来编辑函数、编辑函数说明或删除函数。

探查信号

您可以使用 Signal Analyzer App 执行多项任务以帮助您探查数据。

绘制信号

通过在工作区浏览器或 Signal 表中点击信号名称来选择信号。然后将您选择的信号拖到显示画面上进行绘制。此操作还会选中 Signal 表上信号 Name 左侧的复选框。您也可以通过选中此复选框来绘制信号。App 会显示一个时域波形坐标区和一个包含用于控制视图的选项的 Time 选项卡。

如果您将一个矩阵从工作区浏览器拖到显示画面上,App 会自动将每列绘制为一个单独信号,最多 10 列。App 对其余列在 Signal 表中创建信号,但您必须将其他信号拖到显示画面上。

注意

没有时间信息的信号在 x 轴上以采样单位绘制。具有时间信息的信号在 x 轴上以时间单位绘制。要在同一显示画面上绘制多个信号,请确保它们都有时间信息或都在样本中。否则,您会得到警告。

在多个绘图上查看信号

点击 Display Grid 以创建或删除显示画面。

在显示画面之间移动信号

要将信号从一个显示画面移至另一个显示画面,请点击绘制的线或在其 Legend 上选择信号名称,例如 。点击生成的较粗线,并将其拖到目标显示画面。

可视化信号频谱

使用 Signal Analyzer App 分析频域中的信号。要激活信号的频域视图,请点击 Display 选项卡上的 Spectrum ▼,然后选择 “Spectrum”。App 显示一个信号频谱坐标区和一个包含用于控制视图的选项的 Spectrum 选项卡。

  • 如果平移器是激活的并放大显示了特定关注区域,则显示画面中的频谱对应于关注区域,而不是整个信号。

  • 如果您使用 Display 选项卡上的缩放操作之一放大时间图中的某信号区域,则显示画面中的频谱对应于关注区域,而不是整个信号。

  • 您无法在 Nyquist 范围以外的频率中进行缩小显示。

  • 要并排查看同一信号的时间图和频谱图,请使用不同显示画面。将信号拖到两个显示画面上。点击 Display 选项卡上的 Time Spectrum ,以控制在每个显示画面上绘制的内容。

有关 Signal Analyzer 如何计算频谱的详细信息,请参阅Spectrum Computation in Signal Analyzer

如果信号是非均匀采样信号,则 Signal Analyzer 将基于均匀网格对信号插值以计算频谱估计值。本 App 使用线性插值,并取相邻时间点之间差值的中位数作为采样时间。要支持非均匀采样信号,时间间隔中位数和时间间隔均值必须满足

1100<Median time intervalMean time interval<100.

可视化持久性频谱

使用 Signal Analyzer App 可视化信号的持久性频谱:持久性频谱包含信号以给定频率位置和功率水平出现的时间相关概率。这种类型的频谱对于检测短暂事件很有用。

要激活持久性频谱,请点击 Display 选项卡上的 Spectrum ▼,然后选择 “Persistence Spectrum”。App 显示一个持久性频谱坐标区和一个包含用于控制视图的选项的 Persistence Spectrum 选项卡。您无法在 Nyquist 范围以外的频率中进行缩小显示。

注意

在每个显示画面上只能绘制一个信号的持久性频谱。

有关 Signal Analyzer 如何计算持久性频谱的详细信息,请参阅Persistence Spectrum in Signal Analyzer

可视化信号频谱图

使用 Signal Analyzer App 分析时频域中的信号。要激活信号的频谱图视图,请点击 Display 选项卡上的 Time-Frequency ▼,然后选择 “Spectrogram”。App 显示一个信号频谱图坐标区和一个包含用于控制视图的选项的 Spectrogram 选项卡。

注意

在每个显示画面上只能绘制一个信号的频谱图。

  • 如果平移器是激活的并放大显示了特定关注区域,则显示画面中的频谱图对应于关注区域,而不是整个信号。

  • 如果您使用 Display 选项卡上的缩放操作之一放大时间图中的某信号区域,则显示画面中的频谱图对应于关注区域,而不是整个信号。

  • 您无法在 Nyquist 范围以外的频率中进行缩小显示。

  • 要并排查看同一信号的时间图和频谱图,请使用不同显示画面。将信号拖到两个显示画面上。点击 Display 选项卡上的 Time Time-Frequency ,以控制在每个显示画面上绘制的内容。

有关 Signal Analyzer 如何计算频谱图的详细信息,请参阅Signal Analyzer 中的频谱图计算

重排法通过将每个功率谱估计重排至其能量中心位置来锐化经过时频局部化处理的频谱图。如果您的信号包含定位良好的时间分量或频谱分量,则该选项会生成更易于阅读和解释的频谱图。要将重排应用于频谱图,请在 Spectrogram 选项卡中选择 Reassign

如果信号是非均匀采样信号,则 Signal Analyzer 将信号插值到均匀网格中以计算频谱估计值。本 App 使用线性插值,并取相邻时间点之间差值的中位数作为采样时间。要支持非均匀采样信号,中位数时间间隔和均值时间间隔必须满足

1100<Median time intervalMean time interval<100.

可视化信号尺度图

使用 Signal Analyzer App 可视化信号的尺度图。对于识别具有低频分量的信号和分析频谱随时间快速变化的信号,尺度图很有用。要使用尺度图视图,您需要 Wavelet Toolbox™ 许可证。

要激活信号的尺度图视图,请点击 Display 选项卡上的 Time-Frequency ▼,然后选择 “Scalogram”。App 显示一个信号尺度图坐标区和一个包含用于控制视图的选项的 Scalogram 选项卡。

注意

在每个显示画面上只能绘制一个信号的尺度图。

  • 如果平移器是激活的并放大显示了特定关注区域,则显示画面中的尺度图对应于整个信号,而不仅仅是关注区域。Signal Analyzer 会执行光学缩放,使用插值显示平滑曲线。

  • 如果您使用 Display 选项卡上的缩放操作之一放大时间图中的某信号区域,则显示画面中的尺度图对应于整个信号,而不仅仅是关注区域。Signal Analyzer 执行光学变焦,使用插值显示平滑曲线。

  • 要并排查看同一信号的时间图和尺度图,请使用不同显示画面。在 Display 选项卡上点击 Display Grid,创建并排显示的一对显示画面,并将信号拖放到两个显示画面上。点击 Display 选项卡上的 Time Time-Frequency ,以控制在每个显示画面上绘制的内容。

注意

尺度图视图不支持非均匀采样信号。

有关 Signal Analyzer 如何计算尺度图的详细信息,请参阅Scalogram Computation in Signal Analyzer

缩放和平移信号

Signal Analyzer App 具有平移器功能,使您能够放大和导航信号,以查看它们在频率和时间上的变化。要激活平移器,请在 Display 选项卡上,点击 Panner

平移器中会显示信号的整体。要选择关注的区域,请点击平移器并通过拖动操作来创建缩放窗。使用鼠标调整缩放窗的大小或沿信号长度滑动缩放窗。

  • 如果绘制了信号的频谱,则它对应于关注的区域,而不是整个信号。有关详细信息,请参阅Spectrum Computation in Signal Analyzer

  • 如果绘制了信号的持久性频谱,则它对应于关注的区域,而不是整个信号。有关详细信息,请参阅Persistence Spectrum in Signal Analyzer

  • 如果绘制了信号的频谱图,则它对应于关注的区域,而不是整个信号。有关详细信息,请参阅Signal Analyzer 中的频谱图计算

  • 如果绘制了信号的尺度图,它对应于整个信号,而不是关注的区域。Signal Analyzer 执行光学变焦,使用插值显示平滑曲线。有关详细信息,请参阅Scalogram Computation in Signal Analyzer

  • 您无法在 Nyquist 范围以外的频率中进行缩小显示。

编辑时间信息并按时间链接显示画面

使用 Signal Analyzer App 向信号中添加时间信息。在 Signal 表中,选择要添加或修改其时间信息的信号。通过点击 Analyzer 选项卡中的 Time Values,向信号中添加时间信息。

注意

  • 您无法编辑具有继承时间信息的时间表或时序的时间信息。

  • 您无法编辑带标签的信号集的时间信息。

  • 您无法编辑多通道信号的单个通道的时间信息。您必须编辑整个信号的时间信息。

您可以用采样率或采样时间以及开始时间来表示时间信息。您还可以使用数值向量、duration 数组或 MATLAB 表达式添加显式时间值。时间值必须唯一且不能为 NaN,但它们不必均匀间隔。App 从时间值中派生一个采样率,并将其显示在 Signal 表的 Time 列中。有关详细信息,请参阅Edit Sample Rate and Other Time Information

注意

滤波和尺度图视图不支持非均匀采样信号。

  • 如果信号是非均匀采样信号,则 Signal Analyzer 将信号插值到均匀网格中以计算频谱估计值。本 App 使用线性插值,并取相邻时间点之间差值的中位数作为采样时间。Signal 表中派生的采样率具有星号以表示信号是非均匀采样信号。要支持非均匀采样信号,时间间隔中位数和时间间隔均值必须满足

    1100<Median time intervalMean time interval<100.

    注意

    插值仅用于计算频谱估计值。对时间图不会重新采样。

  • 您可以链接显示时间跨度,以便在水平平移和缩放时同步绘图响应。您要链接的显示画面中的信号必须包含时间信息。要将一个显示画面的时间跨度链接到已链接的显示画面的时间跨度,请选择该显示画面,然后在 Display 选项卡上选择 Link Time。要取消显示画面的链接,请选择它并清除 Link Time

    注意

    选择 Link Time 会将所选显示画面链接到已链接的完整显示画面集合。

    时间跨度相链接的显示画面会同步以下操作:

    • 通过选择和拖动绘图或使用显示画面平移器进行的平移。

    • 在时间轴上进行的放大、缩小或缩放。在一个显示画面上放大或缩小仅影响链接的其他显示画面中的时间轴。

    • 调整视图以适应数据。App 会拉伸公共时间轴,以显示链接的显示画面中所有信号从最早时间到最晚时间的跨度。

    • 如果两个显示画面的坐标轴在时间上相链接,则显示画面中的时间游标也会链接。

    当您添加或删除信号时,链接的显示画面的时间轴可能会更新。

注意

频率坐标轴从不在各显示画面之间链接。

测量信号、频谱和时频数据

使用数据游标测量数据:

  1. Display 选项卡上,点击 Data Cursors ▼ 以向所有显示画面添加一个或两个数据游标。时域和频域游标不会链接,可以独立移动。

  2. 持久性频谱、频谱图和尺度图视图会显示二维十字准线游标。

  3. 要移动数据游标,请将其向左、向右、向上或向下拖到关注的点。要逐个样本移动游标,请点击时间或频率字段并使用箭头键。

  4. 您可以不通过拖动操作将数据游标移至特定点。点击数据游标时间或频率字段,并输入一个值。

    如果信号在关注点处没有采样数据,则 App 会使用线性插值生成该值。对于线性插值生成的值,数据游标标签中会出现星号。

  5. 默认情况下,游标会吸附到最近的数据点。要更改此行为,请清除 Display 选项卡上的 Snap to Data 复选框。

  6. 要切换游标,请点击 Data Cursors

提取关注的信号区域

Signal Analyzer App 使您能够从正在研究的信号中提取关注的区域,并将其导出以供进一步分析。要提取关注的区域,请选择包含该区域的显示画面。在 Display 选项卡上,点击 Extract Signals,或右键点击显示画面并选择 Extract Signals

  • 选择 “Between Time Limits” 可提取由所选显示画面的时间范围定义的关注区域。要更改时间范围,您可以使用平移器,在 Display 选项卡上选择缩放操作之一,或者在 DisplayTimeSpectrogramScalogram 选项卡上更改范围值。

  • 选择 “Between Time Cursors” 以提取由所选显示画面中时域游标的位置定义的关注区域。

  • 如果信号有时间信息,您可以通过选中 Preserve Start Time 来保留关注区域的开始时间。

提取的关注区域会添加到 Signal 表的底部。

为信号添加标签

您可以使用 Signal Analyzer App 以交互方式为信号添加标签和可视化加标签的信号。您可以对信号进行注释以用于分析,并为机器学习、深度学习分类和回归任务准备信号数据集。有关详细信息,请参阅 Signal Labeler

注意

要在使用 Signal Labeler 后保存带标签的信号,您必须保存 Signal Analyzer 会话或将带标签的信号从 Signal Analyzer 导出到 MATLAB 工作区或 MAT 文件。带标签的信号导出为 labeledSignalSet 对象。

提示

Signal Labeler 在呈现对应于多通道信号的标签时,会对通道颜色取平均。为了获得最佳效果,请自定义线条颜色,使给定信号中的所有通道的颜色完全相同。请在进入 Signal Labeler 之前,在 Signal Analyzer 中进行自定义。

diffr(该信号的通道具有不同颜色)的标签颜色与 equal(该信号的通道具有相同颜色)的标签颜色进行比较。equal 的任何标签都将呈现为与所有通道相同的蓝色。diffr 的标签将呈现为与任何通道颜色都不相同的棕色。

共享分析

复制显示画面

您可以通过将一个或多个显示画面作为图像复制到剪贴板并粘贴到另一个应用程序中,来共享您使用 Signal Analyzer App 生成的绘图。

要将显示画面复制到剪贴板,请在 Display 选项卡上点击 Copy All Displays ▼。然后,您可以复制选定的显示画面或完整的显示画面布局。

要将单个显示画面复制到剪贴板,您也可以右键点击该显示画面并选择 Copy Display

导出信号

您可以将 Signal Analyzer 的 Signal 表中的任何信号导出到 MATLAB 工作区或 MAT 文件中。

要导出信号,请执行以下操作:

  1. 从 Signal 表中选择一个或多个信号。

  2. Analyzer 选项卡上,点击 Export

  3. 选择是将所选信号导出到 MATLAB 工作区,还是将其保存到 MAT 文件中。如果您选择保存信号,请浏览到您要保存文件的位置,命名文件,然后点击 Save

您也可以选择信号,右键点击,然后选择 Export

根据信号的类型,导出信号的方式也有所不同:

  • 没有时间信息的信号导出或保存为数值向量。

  • 以时间表形式存储的信号导出或保存为时间表。

  • 具有时间信息但不以时间表形式存储的信号导出或保存为数值向量。如果您要保留时间信息,可以将信号保存为时间表。在 Analyzer 选项卡上,点击 Preferences 并选中 “Always use timetables when signals have time information”。

  • 多通道信号的导出行为取决于您选择的信号和通道以及您设置的预设项。

    • App 导出的信号尽可能与原始信号具有相同名称和类型(数值或时间表)。

    • 如果您选择具有多个通道的信号,且各个通道具有相同的长度和时间信息,则 App 会将该信号导出为单一矩阵或时间表。

    • 如果您选择的一个信号包含具有不同长度或不同时间信息的多个通道,App 会将这些通道导出为独立信号。

    • 如果您同时选择了一个信号及其一个或多个通道,App 会导出整个信号的一个副本以及与所选通道对应的自变量。

    示例:创建三个双通道信号。sgn 的每个通道都有 100 个样本。sgt 的每个通道都有 200 个样本。时间表 tmb 有两个包含 20 个样本的通道,采样率为 1 Hz。

    sgn = randn(100,2);
    sgt = randn(200,2);
    tmb = timetable(seconds(0:19)',randn(20,2));
    将这些信号拖到 Signal 表中。展开树视图以查看各个通道。选择 sgt,然后在 Analyzer 选项卡上点击 Time Values。选择 “Sample Rate and Start Time”,并指定 25 Hz 的采样率。选择 sgnsgt 的第一个通道和 tmb 的唯一变量的第二个通道。

    Analyzer 选项卡上,点击 Export 以将所选信号导出到 MAT 文件。使用默认文件名。将该文件加载到 MATLAB 工作区中。

    load New_Export
    whos
      Name              Size            Bytes  Class
    
      sgn             100x2              1600  double
      sgt_1           200x1              1600  double
      tmb_Var1_2       20x1              1368  timetable
    App 将 sgt_1 导出为向量,即使它有时间信息。在 Analyzer 选项卡上,点击 Preferences 并选中 “Always use timetables when signals have time information”。再次导出信号。sgt_1 成为时间表。

    示例:创建包含四个变量的时间表。"Temperature" 有两个通道,"WindSpeed" 有一个通道,"Electric" 有三个通道,"Magnetic" 有一个通道。

    tmt = timetable(seconds(0:99)', ...
        randn(100,2),randn(100,1),randn(100,3),randn(100,1));
    tmt.Properties.VariableNames = ...
        ["Temperature" "WindSpeed" "Electric" "Magnetic"];
    将该时间表拖到 Signal 表。展开树视图以查看各个通道。选择 tmttmt.Temperaturetmt.Electric 的第二个通道和 tmt.Magnetic

    Analyzer 选项卡上,点击 Export 以将所选信号导出到 MAT 文件。使用默认文件名。将该文件加载到 MATLAB 工作区中。

    load New_Export
    whos
      Name                   Size            Bytes  Class
    
      tmt                  100x4              8180  timetable
      tmt_Electric_2       100x1              2656  timetable
      tmt_Magnetic         100x1              2652  timetable
      tmt_Temperature      100x1              3458  timetable
    App 将 tmt 导出为一个四变量时间表,将 tmt_Temperature 导出为一个具有双通道变量的时间表,并将 tmt_Electric_2tmt_Magnetic 导出为两个单变量单通道时间表。

生成 MATLAB 脚本和函数

您可以生成 MATLAB 脚本来提取关注的信号区域,或者自动计算使用 Signal Analyzer App 获得的功率谱、持久性频谱、频谱图或尺度图估计值。

要生成 MATLAB 脚本,请在 Display 选项卡上,点击 Generate Script。生成的脚本将在编辑器中打开。

  • 选择 “ROI Script Between Time Limits” 生成的 MATLAB 脚本会提取由所选显示画面的时间限制定义的关注区域。根据预设项,关注的区域可保存为数值向量或时间表。

  • 选择 “ROI Script Between Time Cursors” 生成的 MATLAB 脚本会提取由所选显示画面中时域游标的位置定义的关注区域。根据预设项,关注的区域可保存为数值向量或时间表。

  • 选择 “Spectrum Script” 生成的 MATLAB 脚本会计算所选显示画面的频谱视图中出现的功率谱,包括所有当前设置。

  • 选择 “Persistence Spectrum Script” 生成的 MATLAB 脚本会计算所选显示画面的频谱视图中出现的持久性频谱,包括所有当前设置。

  • 选择 “Spectrogram Script” 生成的 MATLAB 脚本会计算所选显示画面的频谱图视图中出现的频谱图,包括所有当前设置。

  • 选择 “Scalogram Script” 生成的 MATLAB 脚本会计算所选显示画面的尺度图视图中出现的尺度图,包括所有当前设置。要使用尺度图视图,您需要 Wavelet Toolbox 许可证。

您可以生成 MATLAB 函数以自动执行使用 Signal Analyzer App 执行的信号预处理步骤。

要生成 MATLAB 预处理函数,请在 Analyzer 选项卡上,点击 Generate Function。生成的函数将在编辑器中打开。

保存和加载 Signal Analyzer 会话

如果您要共享会话快照或将其存档以供以后查看,请将 Signal Analyzer 会话保存到 MAT 文件或 MLDATX 文件中。使用 MLDATX 文件可以加快保存和加载速度。

要将会话保存到 MAT 文件或 MLDATX 文件,请执行以下操作:

  1. Analyzer 选项卡上,点击 Save ▼ 并选择 “Save”。

  2. 浏览到您要保存文件的位置,命名文件,选择格式,然后点击 Save

如果要更新文件,请点击 Save。如果要将会话保存到不同文件,请点击 Save ▼并选择 “Save as”。

要加载保存的会话,请执行以下操作:

  1. Analyzer 选项卡上,点击 Open

  2. 浏览到从上一个会话保存的 MAT 文件或 MLDATX 文件,选择它,然后点击 Open。信号数据和属性显示为它们在上次保存文件时的状态。

要开始新会话,请在 Analyzer 选项卡上,点击 New

自定义 Signal Analyzer

指定线条颜色和线型

要指定线型和颜色,请点击信号的 Line 列。如果未显示线条列,请使用列选择器按钮 添加列。从调色板中选择一种颜色并选择一个线型。点击 Custom 为您的信号选择自定义颜色。您可以将自定义颜色指定为 RGB 三元组或十六进制代码。

在 Signal 表中添加或删除列

Signal 表中的列显示绘图配置和信号属性。要添加或删除列,请点击列选择器按钮 。从列表中选择要显示的列,然后点击 OK。选择列后,新列将按其在列选择列表中出现的顺序添加到表中。

修改 Signal Analyzer 显示画面

目的操作
隐藏工作区浏览器或 Signal 表以扩大显示区域。

Analyzer 选项卡上,点击布局按钮之一。

缩放和平移以检查数据。

Display 选项卡上,选择缩放操作之一。

或者,通过点击 Panner 激活平移器。

对当前功率或密度限制进行频谱图、尺度图或持久性频谱颜色图拟合。

Display 选项卡上,点击 Fit Colormap 按钮

设置绘图坐标轴的最小值和最大值。

TimeSpectrumPersistence SpectrumSpectrogramScalogram 选项卡上,输入坐标轴范围值。您还可以在 Display 选项卡上更改最小和最大时间值。

为显示画面设置坐标轴时,您可以在指定范围值之前指定时间或频率单位。有几个工程单位可供选择:

数量单位
时间ps、ns、μs、ms、秒、分、小时、天、年
频率周期/年、周期/天、周期/小时、周期/分、mHz、Hz、kHz、MHz、GHz、THz

注意

为坐标轴范围值选择不同时间或频率单位不会更改任何绘图。

显示或隐藏用于标识绘制的信号的图例。

Display 选项卡上,点击 Legend

每个显示画面都有自己的图例。图例出现在显示画面的顶部或右侧。

链接或取消链接显示画面。

选择一个显示画面。在 Display 选项卡上,选择 Link TimeLink Time 仅在有两个或更多显示画面且至少一个信号包含时间信息时启用。

要对显示画面取消链接,请选择它并清除 Link Time

频率坐标轴从不在各显示画面之间链接。

沿时间图的 y 轴将每个信号的数据归一化为从 0 到 1。

Time 选项卡上,选择 Normalize Y Axis

在信号的时间图中显示每个样本点的标记。Time 选项卡上,选择 Show Markers

Signal Analyzer 预设项

  • 如果导出或保存具有时间信息但不以时间表形式存储的信号,则默认情况下不会保存时间信息。如果您要通过将信号保存为时间表来保留时间信息,请在 Analyzer 选项卡上,点击 Preferences 并选中 “Always use timetables when signals have time information”。

  • 如果您生成涉及具有时间信息但不以时间表形式存储的信号的脚本,则默认情况下不会保存时间信息。如果您要通过生成将信号视为时间表的脚本来保留时间信息,请在 Analyzer 选项卡上,点击 Preferences 并选中 “Always use timetables when signals have time information”。

另请参阅

|

相关示例

详细信息