pwelch 通常返回功率谱密度(PSD)和对应的频率向量。带宽的计算可能涉及到找到 PSD 的有效频率范围,比如半功率点(-3dB)或者根据信号的能量集中区域。
pwelch 的参数设置,比如窗函数、重叠、FFT 点数,这些会影响频率分辨率。然后,求带宽的方法。半功率带宽是常见的,找到 PSD 下降到最大值一半的两个频率点,差值即为带宽。需要处理可能的多个峰值,所以先找到主峰的最大值,然后确定阈值,再寻找左右截止频率。
以下是通过 pwelch
输出计算信号带宽(以半功率带宽为例)的完整 MATLAB 代码,包含信号生成、功率谱计算和带宽分析:pwelch-bandwidth-calculation基于pwelch的带宽计算V1
生成 bandwidth_calculation.m
% 生成带通信号(中心频率50Hz,带宽20Hz)
Fs = 200; % 采样率
T = 1/Fs; % 采样周期
t = 0:T:1-0.005; % 1秒信号
f0 = 50; % 中心频率
B = 20; % 真实带宽(用于验证)
x = cos(2*pi*(f0-B/2)*t) + cos(2*p