窗函数概念知识点统计

本文详细介绍了加窗函数的基本原则,包括窗函数频谱的主瓣宽度、旁瓣衰减、有效噪声带宽及频率分辨能力之间的权衡。根据不同分析目标和信号类型,提出了选择汉宁窗、平顶窗、凯塞窗、布莱克曼窗等窗函数的指导原则,并总结了各类窗函数的修正因子,用于信号幅值和能量的修正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

加窗函数的原则 

加窗函数时,应使窗函数频谱的主瓣宽度应尽量窄,以获得高的频率分辨能力;旁瓣衰减应尽量大,以减少频谱拖尾,但通常都不能同时满足这两个要求。各种窗的差别主要在于集中于主瓣的能量和分散在所有旁瓣的能量之比。

窗的选择取决于分析的目标和被分析信号的类型。一般说,有效噪声频带越宽,频率分辨能力越差,越难于分清有相同幅值的邻近频率。选择性(即分辨出强分量频率邻近的弱分量的能力)的提高与旁瓣的衰减率有关。通常,有效噪声带宽窄的窗,其旁瓣的衰减率较低,因此窗的选择是在二者中取折衷。

因而,窗函数的选择一般原则如下

1. 如果截断的信号仍为周期信号,则不存在泄漏,无须加窗,相当于加矩形窗。

2. 如果信号是随机信号或者未知信号,或者有多个频率分量,测试关注的是频率点而非能量大小,建议选择汉宁窗,像LMS Test.Lab中默认加的就是汉宁窗。

3. 对于校准目的,则要求幅值精确,平顶窗是个不错的选择。

4. 如果同时要求幅值精度和频率精度,可选择凯塞窗。

5. 如果检测两个频率相近、幅值不同的信号,建议用布莱克曼窗。

6. 锤击法试验力信号加力窗,响应可加指数窗。

各类窗函数的恢复系数

幅值和能量修正总结:
1:窗函数会降低信号的幅值和能量,需要进行修正;
2:在频域,需要对每条谱线进行修正,不能同时应用能量修正与幅值修正,只能按一种方式进行修正;
3:修正通过乘以相应的修正因子实现;
4:在Test.Lab中频谱、线性自功率谱、功率谱默认采用幅值修正;功率谱密度PSD默认采用能量修正;
5:计算RMS时,总是考虑能量修正,即使应用了幅值修正。

1:什么是信号泄露:https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247484164&idx=1&sn=fdaf2164306a9ca4166c2aa8713cacc5&scene=21#wechat_redirect

2.何时、何地应用何种的窗函数? https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247484189&idx=1&sn=78af69208296935021da913200ff272d&scene=21#wechat_redirect

3.简单总结FFT变换的幅值和能量校正  https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247483867&idx=1&sn=1f12b5bce5533b75ee20e0503f089800&scene=21#wechat_redirect

4.理解FFT分析的加窗和重叠 https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247483766&idx=1&sn=6c0a6866850682238b55880c9b1430a3&scene=21#wechat_redirect

5.01.04:锤击测试使用指数窗会引起什么问题吗?  https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247484841&idx=1&sn=c1ef7a7641d020486bc37124511c5afd&chksm=ec54599adb23d08c0b7d20ef219e08906d2258b56e35f6517200c1518effe9bab2362d74c07c&scene=21#wechat_redirect

作者:linmue-谭祥军 链接:https://www.zhihu.com/question/50402321/answer/144988327 来源:知乎

### 开窗函数与排序函数概述 开窗函数和排序函数是SQL中重要的组成部分,在处理复杂查询时提供了强大的功能。当前版本的Hive QL支持多种窗口函数和分析函数,这些函数遵循SQL标准[^1]。 #### 开窗函数的应用场景 开窗函数允许在不改变原始数据集的情况下计算聚合值或其他统计信息。常见的应用场景包括: - 计算移动平均线 - 获取排名或百分位数 - 进行累计求和运算 对于电冰箱类商品的价格排名查询可以使用`ROW_NUMBER()`来实现。此函数返回结果集中每个分区内行的序列号,第一个分区从1开始。具体查询语句如下所示[^3]: ```sql SELECT GoodsName, SaleUnitPrice, ROW_NUMBER() OVER (ORDER BY SaleUnitPrice DESC) AS 'Number' FROM Table_GoodsClass C JOIN Table_Goods G ON C.GoodsClassID = G.GoodsClassID WHERE GoodsClassName = '电冰箱'; ``` #### 排序函数的作用 排序函数主要用于定义如何对记录进行排列顺序。除了`ROW_NUMBER()`之外还有其他几种常用的排序函数,比如`RANK()` 和 `DENSE_RANK()`。它们的区别在于当遇到相同值时产生的编号方式不同: - `ROW_NUMBER()` 对每一行分配唯一的连续整数值; - `RANK()` 如果存在相同的值,则会跳过后续编号; - `DENSE_RANK()` 即使有重复项也不会跳跃编号; #### 创建思维导图建议 为了更好地理解和记忆开窗函数及排序函数的概念及其应用方法,创建一个结构化的思维导图是非常有益处的。可以从以下几个方面入手构建这个图表: 1. **核心概念** - 定义什么是开窗函数? - 列举主要类型的开窗/排序函数。 2. **语法结构** - 解析基本语法格式。 - 展示参数选项说明。 3. **实际案例** - 提供具体的业务需求背景。 - 给出相应的SQL代码片段并解释其含义。 4. **注意事项** - 指出可能存在的陷阱或者误区。 - 分享一些优化技巧提高性能效率。 通过这样的层次化展示可以帮助学习者更直观地掌握知识点之间的联系和发展脉络。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值