Main Content

使用不同的窗计算信号频谱

将录制的一段电动牙刷音频读入 MATLAB® 中。信号以 48 kHz 频率进行采样。牙刷在大约 1.75 秒处启动,并保持大约 2 秒。

[y,fs] = audioread("toothbrush.m4a");

打开信号分析器,将信号从工作区浏览器拖到信号表中。通过在信号表中选择信号并点击分析器选项卡上的时间值,向信号添加时间信息。选择 Sample Rate and Start Time 并输入 fs 作为采样率。

显示画面选项卡上,点击显示网格以创建一个由显示画面组成的 2×2 网格。选择每个显示画面,点击频谱以添加一个频谱视图,然后点击时间以删除时间视图。将信号拖到所有四个显示画面上。

点击频谱选项卡以修改每个显示画面中的频谱视图。

  1. 点击左上角的显示画面以将其选中。移动泄漏滑块,直到泄漏值为 32。

  2. 点击右上角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 1500 个采样。在窗选项部分中,选择 Rectangular 窗,并指定重叠百分比为 20。

  3. 点击左下角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 500 个采样。在窗选项部分中,选择 Hamming 窗,并指定重叠百分比为 50。在 NFFT 部分中,指定 550 个离散傅里叶变换点。

  4. 点击右下角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 5000 个采样。在窗选项部分中,选择一个 Chebyshev 窗,指定旁瓣衰减为 50 dB,重叠百分比为 90%。

您可以看到一些视图显示更高的分辨率,但泄漏更高;而另一些视图泄漏更低,但以牺牲分辨率为代价。

另请参阅

App

函数

相关示例

详细信息