enbw
等效噪声带。
库::`工程师`
例子:
汉明窗的等效噪声带
Details
让我们定义一个等效的汉明窗噪声带的长度 1000 数数。
import EngeeDSP.Functions: enbw, hamming
bw = enbw(hamming(1000))
1.3638074449828943
平顶窗的等效噪声带
Details
让我们定义一个长度为平顶的窗口的等效噪声带(以Hz为单位) 10000 数数。 采样率为 44.1 千赫。
import EngeeDSP.Functions: enbw, flattopwin
bw = enbw(flattopwin(10000), 44.1e3)
16.62845617599036
矩形噪声的等效带宽
Details
让我们定义汉纳窗口的矩形噪声的等效带宽 128 通过倒计时。
让我们生成一个窗口,并通过计算其离散傅立叶变换 2048 频率。 移位变换使其以零频率为中心,并计算其模的平方。
import EngeeDSP.Functions: hann, fftshift, fft
lw=128
赢=汉恩(lw)
lt=2048
windft=fftshift(fft(win,lt))
ad=abs。(windft)。^2
mg=最大值(ad)
指定采样频率 1 千赫。 使用函数 *enbw* 来计算窗口的等效噪声带,并确保该值
与定义相匹配。
import EngeeDSP.Functions: enbw
fs = 1000
bw = enbw(win, fs)
11.811023622047246
bdef = sum(win.^2) / sum(win)^2 * fs
11.811023622047246
让我们绘制窗口模块的正方形。 我们将强加一个矩形,其高度等于幅度平方的峰值,宽度等于等效噪声带。
freq = range(-fs/2, fs/2 - fs/lt, length=lt)
plot(freq, ad, xlims=(-bw, bw), grid=false)
plot!(bw/2 * [-1, -1, 1, 1], mg * [0, 1, 1, 0], linestyle=:dash)
让我们确保矩形的区域具有与窗口相同的总容量。
using Pkg
Pkg.add("NumericalIntegration")
using NumericalIntegration
Adiff = integrate(freq, ad) - bw * mg
-1.4551915228366852e-11
让我们使用归一化频率重复计算。 让我们找到窗口的等效噪声带。 让我们确保 *enbw* 给出与定义相同的含义。
bw = enbw(win)
1.5118110236220474
bdef = sum(win.^2) / sum(win)^2 * lw
1.5118110236220474
让我们绘制窗口模块的正方形。 我们将强加一个矩形,其高度等于振幅平方的峰值,宽度等于等效噪声带。
freqn = range(-1/2, 1/2 - 1/lt, length=lt)
plot(freqn, ad, xlims=(-bw/lw, bw/lw), grid=false)
plot!((bw/2 * [-1, -1, 1, 1]) / lw, mg * [0, 1, 1, 0], linestyle=:dash)
让我们确保矩形的区域具有与窗口相同的总容量。
Adiff = integrate(freqn, ad) - bw * mg / lw
-1.4210854715202004e-14
此外
等效噪声带
Details
窗口中包含的总功率是窗口的傅立叶变换模块的平方形成的曲线下的面积。 窗口的等效噪声band_为矩形的宽度,其高度等于傅立叶变换模块的平方的峰值,面积为全功率。
Parseval定理指出,一个窗口的总能量从 计数 它等于时域中窗样本的模数平方和或窗的傅立叶变换的模数平方的频率积分:
窗口的功率谱具有峰值幅度在 :
要找到等效矩形的宽度,从而找到等效噪声带,请将面积除以高度:
如果采样率设置 *enbw* 返回上一个表达式乘以
对于归一化频率,函数除以bin宽度,
请参阅示例矩形噪声的等效带宽,它针对给定窗口
*比较结果 *enbw* 具有给定采样率和归一化频率的定义;
*绘制跨窗口幅度谱的等效矩形带宽;
*验证窗口中包含的总功率与矩形中包含的功率相同,其高度等于窗口的傅立叶变换的峰值幅度的平方,宽度等于等效噪声带。