Engee 文档

高斯温

的高斯窗口。

库::`工程师`

语法

函数调用

争论

输入参数

# L — 窗口长度

+ 一个正整数

Details

的窗口长度,设置为正整数。

如果你问 L 作为一个非整数,函数会将其舍入到最接近的整数值。
数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译>

# 阿尔法 — 宽度系数

+ 2.5 (默认情况下)| 正实标量

Details

的宽度系数,设为正实标量。 论点 阿尔法 与窗口的宽度成反比。

数据类型

漂浮物32, 漂浮64</无翻译>

输出参数

# w — 高斯窗口

+ 列向量

Details

作为列向量返回的高斯窗口。

例子:

高斯窗口

Details

让我们形成一个高斯窗口 64 点。 让我们使用显示结果 情节.

import EngeeDSP.Functions: gausswin
using Plots

L = 64
w = gausswin(L)

plot(w,
     title = "Time domain",
     xlabel = "Samples",
     ylabel = "Amplitude",
     linewidth = 2,
     color = :blue,
     grid = true)

gausswin 1

import EngeeDSP.Functions: gausswin, fft, fftshift
using Plots

L = 64
w = gausswin(L)
N_fft = 1024

window_fft = fft([w; zeros(N_fft - L)])
freq_response = 20 * log10.(abs.(fftshift(window_fft)) .+ eps())

freq_axis = range(-π, π, length=N_fft)

plot(freq_axis, freq_response,
     title = "Frequency domain",
     xlabel = "Normalized Frequency (×π rad/sample)",
     ylabel = "Magnitude (dB)",
     xlims = (0, π),
     ylims = (-80, 40),
     linewidth = 2,
     color = :blue,
     grid = true)

gausswin 1 1

高斯窗口和傅立叶变换

Details

这个例子表明,高斯窗口的傅立叶变换也是一个具有反标准差的高斯。 这说明了时间和频率的不确定性原理。

让我们形成一个长度的高斯窗口 使用函数 高斯温 和定义方程。 安装/安装 ,这将给出标准偏差 . 高斯窗口实际上受正负平均值的限制 3 标准偏差,或近似载波 [-12,12].

import EngeeDSP.Functions: gausswin
using Plots

N = 64
n = range(-(N-1)/2, (N-1)/2, length=N)
alpha = 8

w = exp.(-(0.5) * (alpha * n ./ ((N-1)/2)).^2)

stdev = (N-1)/(2*alpha)
y = exp.(-1/2 * (n/stdev).^2)

plot(n, w, label="gausswin", linewidth=2)
plot!(n, y, label="Definition", markershape=:circle, markersize=4, linealpha=0)

xlabel!("Samples")
title!("Gaussian Window, N = $N")
plot!(legend=true)

gausswin 2

我们通过以下方式获得高斯窗口的傅立叶变换 分。 使用函数 fft变换器 以将傅立叶变换居中于零频率(DC)。

import EngeeDSP.Functions: fft, fftshift

nfft = 4*N
freq = range(-π, π - π/nfft, length=nfft)

wdft = fftshift(fft(w, nfft))

高斯窗口的傅立叶变换也是高斯的,其标准偏差在时域上是标准偏差的倒数。 在计算中考虑高斯归一化因子。

ydft = exp.(-1/2*(freq/(1/stdev)).^2) * (stdev * sqrt(2*π))

plot(freq/π, abs.(wdft), label="fft", linewidth=2)
plot!(freq/π, abs.(ydft), label="Definition", markershape=:circle, markersize=4, linealpha=0)

xlabel!("Normalized frequency (×π rad/sample)")
title!("Fourier Transform of Gaussian Window")
plot!(legend=true)

gausswin 2 1

算法

高斯窗口的系数由以下等式计算:

哪里 ,而 与标准偏差成反比 个高斯随机变量。 与高斯概率密度函数标准差的精确对应: .

文学作品

  1. 汉森,埃里克W._Fourier变换:原则和应用。_纽约:John Wiley&Sons,2014。

  2. Oppenheim,Alan V.,Ronald W.Schafer和John R.Buck。 _实时信号处理。_上鞍河,NJ:普伦蒂斯霍尔,1999.