2026a
# enbw
等效噪声带宽
函数库: TySignalProcessing
# 语法
bw = enbw(window)
bw = enbw(window,fs)
# 说明
bw = enbw(window) 返回均匀采样窗口 window 的两侧等效噪声带宽 bw。等效噪声带宽由每个频率仓的噪声功率归一化。
bw = enbw(window,fs) 返回两侧等效噪声带宽 bw,单位为 Hz。
# 示例
Hamming 窗等效噪声带宽
确定长度为 1000 个样本的汉明窗口的等效噪声带宽。
using TySignalProcessing
bw = enbw(hamming(1000),1000)
@sprintf("bw = %0.4f",bw)
bw = 1.3638
平顶窗等效噪声带宽
确定长度为 10000 个样本的平顶窗口的等效噪声带宽(以 Hz 为单位)采样率为 44.1 kHz。
using TySignalProcessing
bw = enbw(flattopwin(10000),44.1e3)
@printf("bw = %0.4f",bw)
bw = 16.6285
等效矩形噪声带宽
获得 VonHann 窗口的等效矩形噪声带宽,并将等效矩形带宽叠加在窗口的幅度谱上,该窗口的长度为 1000 个样本,采样频率为 10 kHz。
设置采样频率,创建窗口,得到频谱中心为0频率的窗口的离散傅立叶变换。
using TyPlot
using TySignalProcessing
using TyMath
Fs = 10000
win = hann(1000)
windft = fftshift(ty_fft(win))
获得 Von Hann 窗口的等效(矩形)噪声带宽。
bw = enbw(hann(1000),Fs)
@printf("bw = %0.4f",bw)
bw = 15.0150
绘制窗口的平方幅度 DFT 并使用等效噪声带宽覆盖等效矩形。两侧带宽在整个频谱上平均分配。
freq = -(Fs/2):Fs/length(win):Fs/2-(Fs/length(win))
maxgain =20*log10(abs(windft[Int(length(win)/2+1)]))
plot(freq,20*log10.(abs.(windft)))
grid()
hold()
plot(bw/2*[-1 -1 1 1],[-40 maxgain maxgain -40],"--")
xlabel("HZ")
grid()
ylabel("dB")
axis([-60 60 -40 60])
# 输入参数
window - 窗口向量实值行或列向量
均匀采样的窗口向量,指定为具有实值元素的行或列向量。
示例: hamming(1000)
数据类型: Float
fs - 采样频率正标量
采样频率,指定为正标量。
# 输出参数
bw - 等效噪声带宽正标量
等效噪声带宽,指定为正标量。
数据类型: Float
# 详细信息
等效噪声带宽
窗口的等效噪声带宽是矩形的宽度,其面积包含与窗口相同的总功率,矩形的高度是窗口傅里叶变换的峰值平方幅度。
假设采样间隔为 1,窗口的总能量 w(n) 可以在频域或时域中表示为:
窗口频谱的峰值幅度出现在 f = 0 处。这由下式给出:
要找到等效矩形带宽的宽度,请将面积除以高度。
有关绘制 von Hann 窗幅度谱上的等效矩形带宽的示例,请参见等效矩形噪声带宽。