使用不同的窗计算信号频谱
将录制的一段电动牙刷音频读入 MATLAB® 中。信号以 48 kHz 频率进行采样。牙刷在大约 1.75 秒处启动,并保持大约 2 秒。
[y,fs] = audioread("toothbrush.m4a");
打开信号分析器,将信号从工作区浏览器拖到信号表中。通过在信号表中选择信号并点击分析器选项卡上的时间值,向信号添加时间信息。选择 Sample Rate and Start Time
并输入 fs
作为采样率。
在显示画面选项卡上,点击显示网格以创建一个由显示画面组成的 2×2 网格。选择每个显示画面,点击频谱以添加一个频谱视图,然后点击时间以删除时间视图。将信号拖到所有四个显示画面上。
点击频谱选项卡以修改每个显示画面中的频谱视图。
点击左上角的显示画面以将其选中。移动泄漏滑块,直到泄漏值为 32。
点击右上角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 1500 个采样。在窗选项部分中,选择
Rectangular
窗,并指定重叠百分比为 20。点击左下角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 500 个采样。在窗选项部分中,选择
Hamming
窗,并指定重叠百分比为 50。在 NFFT 部分中,指定 550 个离散傅里叶变换点。点击右下角的显示画面以将其选中。在分辨率类型部分中,选择窗长度。在窗长度部分中,选择指定并指定窗长度为 5000 个采样。在窗选项部分中,选择一个
Chebyshev
窗,指定旁瓣衰减为 50 dB,重叠百分比为 90%。
您可以看到一些视图显示更高的分辨率,但泄漏更高;而另一些视图泄漏更低,但以牺牲分辨率为代价。
另请参阅
App
函数
相关示例
- 求相关信号之间的延迟
- 通过调节窗泄漏来解析音调
- Find Interference Using Persistence Spectrum
- Modulation and Demodulation Using Complex Envelope
- Find and Track Ridges Using Reassigned Spectrogram
- Extract Voices from Music Signal
- Resample and Filter a Nonuniformly Sampled Signal
- Declip Saturated Signals Using Your Own Function
- Compute Envelope Spectrum of Vibration Signal
- 从鲸鱼音频中提取感兴趣的区域