主要内容

使用信号分析器

App 工作流

使用信号分析器检查和比较信号的典型工作流如下:

  1. 选择要分析的信号 - 选择 MATLAB® 工作区中可用的任何信号。该 App 接受具有固有时间信息的数值数组和信号,例如 MATLABtimetable 数组、timeseries 对象和 labeledSignalSet 对象。有关详细信息,请参阅Data Types Supported by Signal Analyzer。使用采样率、数值向量、duration 数组或 MATLAB 表达式向信号添加时间信息。

  2. Preprocess Signals - 使用修剪、削波、拆分、提取或裁剪操作来编辑信号。低通、高通、带通或带阻滤波器信号。去趋势并计算信号包络。使用移动平均值、回归、萨维茨基-戈雷滤波器或其他方法对信号进行平滑处理。使用小波对信号进行去噪。使用移动平均值、自回归模型或其他方法查找并填充缺失数据 (自 R2024a 起)。更改信号的采样率或将非均匀采样的信号插值到均匀网格上。使用您自己的自定义函数预处理信号。生成 MATLAB 函数来自动执行预处理操作。

  3. 浏览信号 - 播放音频信号 (自 R2024a 起)。绘制和比较数据、其频谱、频谱图或尺度图。寻找时域、频域和时频域中的特性和模式。在计算功率谱时控制泄漏、分辨率带宽或窗长度。计算持久频谱以分析偶发信号,并使用重排来锐化频谱图估计。从信号中提取感兴趣的区域。

  4. Measure Signals - 以交互方式测量信号、频谱和时频数据。计算时域信号统计量,如最小值、最大值、均值和均方根。在时域中查找信号峰值并对其进行注解。在测量值表中查看统计量和峰值。

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

示例:从鲸鱼音频中提取感兴趣的区域

读取一个包含太平洋蓝鲸发出的数据的音频文件,采样频率为 4 kHz。此文件来自于康奈尔大学生物声学研究项目保存的动物发声库。数据中的时间尺度压缩了 10 倍,以便提高音调并使叫声更可闻。将信号转换为 MATLAB® 时间表。

[w,fs] = audioread("bluewhalesong.au");

whale = timetable(seconds((0:length(w)-1)'/fs),w);

打开信号分析器并将时间表拖到显示画面上。要收听音频信号,请点击工具条的回放部分中的播放,将整个信号播放一次。选择循环播放,然后点击播放以重复播放信号。噪声中突出了四个特征。第一个称为颤音,其他三个称为呻吟音

Signal Analyzer app showing the "whale" signal in time domain.

显示选项卡上,点击频谱打开频谱视图,然后点击平移器以激活平移器。使用平移器创建一个宽度约为 2 秒的缩放窗口。拖动该缩放窗口,使其位于颤音的中心。频谱显示在 900 Hz 附近有明显的峰值。

Signal Analyzer app showing three displays. "whale" signal in time domain (top) and in frequency domain (middle), and panner (bottom).

通过高通滤波分离单个颤音。右键点击 Signal 表中的信号,并选择生成副本来创建鲸鱼音频的副本。通过清除 Signal 表中原始信号名称旁边的复选框,从显示画面中删除原始信号。

在信号表中选择副本信号后,在分析器选项卡上,点击预处理。从函数库中选择 Highpass。在函数参数面板中,将通带频率设置为 925 Hz,阻带衰减设置为 80 dB。对陡度使用默认值。点击应用

Signal Analyzer app showing Function Parameters on the right section of the window.

转至显示选项卡,通过点击数据游标下方的箭头并选择 Two 来放置两个数据游标。将一个游标放在 1.3 秒处,另一个游标放在 3.3 秒处。点击提取信号旁边的箭头,并选择 Between Time Cursors 来提取包含颤音的区域。

Signal Analyzer app showing data cursors in the signal plots in time domain and frequency domain. The app also shows the Panner setting selection "Between Time Cursors".

清空显示画面并选择原始信号。提取三个呻吟音来比较其频谱:

  1. 使平移器缩放窗口的中心位于第一个呻吟音上。频谱有八个清晰定义的峰值,其位置非常接近 170 Hz 的倍数。点击提取信号旁边的按钮,并选择 Between Time Limits

  2. 点击平移器以隐藏平移器。按空格键查看完整信号。点击放大 X,划出一个区间长度为 2 秒的时间视图,使其中心位于第二个呻吟音上,将其放大。频谱再次在 170 Hz 的倍数位置显示峰值。点击提取信号旁边的按钮,并选择 Between Time Limits

  3. 按空格键查看完整信号。放大第三个呻吟音。同样,在 170 Hz 的倍数位置显示峰值。点击提取信号旁边的按钮,并选择 Between Time Limits

通过清除 Signal 表中原始信号名称旁边的复选框,从显示画面中删除原始信号。显示您刚刚提取的三个感兴趣的区域。其频谱大致重叠在一起。点击显示网格添加第二个显示画面,并绘制包含您提取的颤音的感兴趣区域及其频谱。颤音和呻吟音的频谱明显不同。

Signal Analyzer app shows a second display with the signal "whale_w_Copy_ROI" in time domain and in frequency domain.

在信号表中选择提取的信号。点击分析器选项卡上的导出,以导出 MAT 文件中的四个感兴趣区域。

"Export" dialog with the option "Export to MAT file" selected.

另请参阅

|

主题