窗函数 数字信号处理

  • 使用窗函数解决什么问题?
    • 数据截断与频谱泄露
      • 什么是频谱泄漏?
      • 解决频谱泄露问题的方法
  • 窗函数介绍
    • 窗函数解决频谱泄露问题的原理
    • 窗函数的种类、特点和如何使用
      • 矩形窗
      • 汉宁窗(升余弦窗)
      • 海明窗(改进的升余弦窗)
      • 平顶窗
    • 主瓣和旁瓣
    • 窗的选择
  • 参考文献

使用窗函数解决什么问题?

  • 保证信号完整性
  • 降低频谱泄露问题

数据截断与频谱泄露

什么是频谱泄漏?

所谓频谱泄漏 ,就是信号频谱中各谱线之间相互影响 ,使测量结果偏离实际值 ,同时在谱线两侧其他频率点上出现一些幅值较小的假谱。简单说来 ,造成频谱泄漏的原因是采样频率与信号频率不同步 ,造成周期采样信号的相位在始端和终端不连续.

解决频谱泄露问题的方法

增加数据采样点数 ,可减少泄漏 ,其实质是减小矩形窗主瓣的宽度。 提高信号的采样频率也可减少泄漏。 上述两种方法 ,与增加的数据处理量相比 ,对泄漏的改善是极其有限的。文献提出了窗函数和内插技术。选择窗函数的基本原则是要求其主瓣窄 ,边瓣小 ,尽可能使这两个要求得到兼顾 ,通常选择汉宁窗。从时域看 ,加汉宁窗实际上就是使周期采样信号的起始点和终止点的相位为 0,克服由于频率波动造成的采样信号相位在始端和终端不连续的现象 ,但任何窗函数都不能解决主瓣处偏离零值点而导致的误差 ,所以其对泄漏的减小也是有限的。

窗函数介绍

窗函数解决频谱泄露问题的原理

截取有限时间序列的过程叫作信号截断。信号截断分为周期截断和非周期截断。在非周期截断后进行周期延拓,信号不再是一个周期信号,引入了不可预测的其他频率成分,频谱在整个频带内产生了拖尾现象, 频谱发生了畸变,之前集中在一个频率的能量被分散到两个较宽的频带中去了,也就是我们所说的频率泄漏。
为了减少频谱能量泄漏,信号截取处理过程中应用不同的截取函数对信号进行截断处理,将此过程中使用的截断函数称为窗函数,简称为窗,例如:矩形窗、平顶窗、汉宁窗、指数窗等.加窗的实质是窗函数与原始的时域信号相乘的过程,使相乘得到的信号更好地满足傅里叶变换的周期性要求 。

窗函数的种类、特点和如何使用

矩形窗


主瓣比较集中是矩形窗的优点,缺点则是旁瓣较高且有负旁瓣,因此矩形窗变换中易产生高频干扰和泄漏,严重情况下会出现负谱现象。
由于其频率识别精度最高,而幅值识别精度最低,因此如果仅要求精确读出主瓣频率, 而不考虑幅值识别精度,例如测量物体的自振频率等,则可选用矩形窗。

汉宁窗(升余弦窗)



从频谱特性我们可以看到频率曲线主瓣加宽并降低,旁瓣则显著减小,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,意味着频率分辨力下降,然而汉宁窗泄漏、波动都减小了,并且选择性也提高.因此在测试信号有多个频率分量, 频谱表现十分复杂,且测试的目的更多关注频率点时,需要选择汉宁窗。

海明窗(改进的升余弦窗)



海明窗与汉明窗类似,频率曲线主瓣加宽并降低,旁瓣则显著减小,但最大旁瓣较小,旁瓣的能量分布更加平均,海明窗的第一旁瓣衰减速度大于汉宁窗,当频率成分较为相近时,海明窗能够比更好的将其区分。

平顶窗



平顶窗在频域时有非常小的通带波动,主瓣的宽度和幅度更大,第一旁瓣衰减速度非常快,旁瓣的能量更低,更平均.使得主要能量集中在主瓣上,由于在幅度上有较小的误差,所以这个窗可以用在校准上。

主瓣和旁瓣

窗本身为一个连续的频谱,有一个主瓣,若干旁瓣。旁瓣的高度显示了加窗函数对于主瓣周围频率的影响。而主瓣越窄越好,即能量尽可能集中在主瓣内,以提高谱估计时的频域分辨率和减小泄漏

窗的选择

要选择加窗函数,必须先估计信号的频率成分。如果信号中干扰频率分量较强,与感兴趣频率分量相距较远,那么就应选择具有高旁瓣下降率的平滑窗。如果强干扰频率分量与感兴趣分量相距较近,那么就应选择具有低最大旁瓣的窗。如果感兴趣频率包含两种或多种很距离很近的信号,这时我们最好选用具有窄主瓣的平滑窗.如果一个频率成分的幅值精度比信号成分在某个频率区间内的位置更重要,选择主瓣能量集中的窗,如平顶窗。如果信号频谱较平或频率成分较宽可以不使用窗。

参考文献

  • 盛旭然,向前.数字信号处理中窗函数的分析与应用[J].赤峰学院学报,2019.
  • 马仁政,陈明凯.减少频谱泄漏的一种自适应采样算法[J].电力系统自动化,2002.
  • 李杭生,陈丹.频谱分析中窗函数的研究[J].微计算机信息,2008,24(10):278-279.
  • 尤会恩,刘建军,张文.数字信号处理中窗函数类型及选择原则 [C]//全国敏感元件与传感器学术会议,2005.

窗函数 数字信号处理相关推荐

  1. 阻带窗函数[数字信号处理]使用窗函数设计FIR滤波器

    在写这篇文章之前,xxx已经写过了几篇关于改阻带窗函数主题的文章,想要了解的朋友可以去翻一下之前的文章 1.计划参数 首先,先明白几个观点.通带,阻带,过渡带,通带纹波和阻带纹波分别是什么?看下图, ...

  2. matlab的dft谱分析,数字信号处理基于matlab(用DFT作谱分析,窗函数的设计)

    数字信号处理基于matlab(用DFT作谱分析,窗函数的设计) 1实验一用DFT作谱分析X11111X212344321N108X3COSN1PI/4N208X4SINN2PI/8FIGURESUBP ...

  3. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 实序列的幅频特性偶对称 | 实序列相频特性奇对称 | 示例说明 )

    文章目录 一.实序列的 幅频特性 和 相频特性 对称性质 二.性质由来 三.示例说明 一.实序列的 幅频特性 和 相频特性 对称性质 如果 x(n)x(n)x(n) 序列是 " 实序列 &q ...

  4. 二值化处理c语言程序,数字信号处理c语言程序集

    目录 1.1均匀分布的随机数 第一章 数字信号的产生 1.2正态分布的随机数 1.3指数分布的随机数 1.4拉普拉斯(Laplace)分布的随机数 1.5瑞利(Rayleigh)分布的随机数 1.6对 ...

  5. 西南大学网络教育学院计算机答案,西南大学网络与继续教育学院课程《数字信号处理》2018年春季大作业机考 答案.doc...

    西南大学网络与继续教育学院课程<数字信号处理>2018年春季大作业机考 答案 - PAGE 2 - 西南大学网络与继续教育学院课程考试试题卷 类别:网教 专业:电气工程及其自动化 2018 ...

  6. 离散信号的抽取和内插例题_《数字信号处理》学习指导与题解 2011年版

    <数字信号处理>学习指导与题解 出版时间:2011年版 内容简介 <〈数字信号处理〉学习指导与题解>对"数字信号处理"教学大纲要求的所有知识点进行了提纲挈领 ...

  7. 实验一熟悉matlab环境,数字信号处理报告实验一:熟悉MATLAB环境.doc

    数字信号处理报告实验一:熟悉MATLAB环境.doc 实验一熟悉MATLAB环境一 实验目的1. 熟悉MATLAB的主要操作命令.2. 学会简单的矩阵输入和数据读写.3. 掌握简单的绘图命令.4. 用 ...

  8. matlab如何进行数字信号处理,数字信号处理基础及MATLAB实现(第2版)

    [内容简介] 本书系统地介绍了数字信号处理基本理论.设计方法和实现等方面的内容.全书共分9章,第1章介绍数字信号处理的研究对象.学科概貌.系统基本组成.特点.发展及应用等内容:第2章介绍离散时间信号与 ...

  9. 经典数字信号处理图书的个人评述【转】

    在一网站上得到如下的很好的内容,故存放在此,以方便以后查看... http://emuch.net/html/201206/4595181.html 经典数字信号处理图书的个人评述         数 ...

最新文章

  1. 杂记2:VS2013创建Windows服务实现自动发送邮件
  2. (chap6 Http首部) 报文首部
  3. ie 不执行回调函时_javascript引擎执行的过程的理解--执行阶段
  4. 几种string格式化输出的方式
  5. 特征工程之数据预处理(下)
  6. HTML5对比HTML4带来的新变化
  7. vr设备应用程序_在15分钟内构建一个VR Web应用程序
  8. 结对编程——paperOne基于java的四则运算 功能改进
  9. java对象与json字符串的互相转换
  10. Java基础-GUI入门-Swing详解
  11. linuxi下的做图工具——gnuplot安装
  12. python get sheet_python复制excel的sheet表的方法
  13. linux缓存无法写入,Linux下搭建网站提示缓存文件写入失败解决方法?
  14. linux 命令行获取时间,linux - 以毫秒为单位获取时间的命令
  15. 计算机中2种格式化,电脑的各种格式化有什么区别
  16. 三坐标检测之测针选型
  17. rip ipv4总结
  18. 微博CacheService架构解析
  19. 软工实践团队项目-智能聊天机器人简介
  20. JavaScript 代码格式化

热门文章

  1. Python集合知识点总结
  2. 百度OCR接口使用详细教程
  3. Linux ps查看进程状态及进程死锁问题的查看
  4. [附源码]计算机毕业设计基于springboot血库管理系统
  5. vue使用ajax提交数据,vue使用ajax请求后台数据的方法
  6. Arco-design:table中得 checkbox根据条件来判断是否可以点击?
  7. HTML常用标签和特殊符号
  8. mysql密码修改失败问题解决
  9. 三步搞定oracle 11G 导出的pmd文件,导入oracle 12C数据库中
  10. 美团热更新方案 ASM 实践