首都师范大学学报(自然科学版)第27卷 第5期2006年10月

Journal of Capital N ormal University

(Natural Science Edition )

V ol.27,N o.5Otc. 2006

如何在Matlab 中优化基本周期图法对随机信号

进行的功率谱估计

瞿海雁

(北京工业大学建工学院,北京 100022)

李 鹂 钱小凌

(首都师范大学物理系,北京 100037)

摘要

对于一个随机信号,自相关函数往往最能完整地表征它的统计平均值.我们可以用功率谱密度(P ower spectral

density ,PS D )来表征它的统计平均谱特性.此外功率谱估计在测量噪声频谱、最优化线性滤波等其他应用中也有着

非常重要的作用,因此对功率谱估计如何进行优化显得更加重要.本文就如何在Matlab 中优化基本周期图法对随机信号进行的功率谱估计进行了简单讨论.

关键词:功率谱,M AT LAB ,随机信号.

中图分类号:O 441,T N 911

收稿日期:2005211205

对于一个随机信号,不论是地震信号,还是爆炸信号,它本身的傅立叶变换是不存在的,因此无法像确定性信号那样用数学表达式精确地表述它,而只能用统计平均量来表征它.其中,自相关函数最能完整地表征它的统计平均值.而一个随机信号的功率谱密度正是自相关函数的傅立叶变换.因此我们可以用功率谱密度(P ower spectral density ,PS D )来表征它的统计平均谱特性.此外功率谱估计在测量噪声频谱、最优化线性滤波等其他应用中也有着非常重要的作用.功率谱估计有多种方法,一般可以分为

参数化方法和非参数化方法[1]

.由于参数方法中的参数取值相当麻烦,通常要凭实验和经验才能确定,因此往往只有在一些特殊要求的工程中才较为常用,因此不在此具体讨论.而非参数方法运用比较广.非参数方法中有周期图法、韦尔其(Welch )等方

法,这些都是一些经典谱估计的常用方法[2]

.但是,在经典谱估计中,由于受DFT 算法影响,存在固有缺陷,比如存在泄漏误差和混迭误差,分辨率低,不适于处理短数据,谱线不平滑,起伏剧烈,难以拟合

出光滑曲线等等[3]

.因此对经典功率谱估计如何进

行优化显得更加重要.本文就如何在Matlab 中优化基本周期图法对随机信号进行的功率谱估计进行了讨论,并且将优化后的周期图法绘出的谱估计图形与Welch 方法绘出的谱估计图形进行了比较,突出其优势.

利用周期图法进行功率谱估计的常用步骤为:首先计算出样本信号序列的傅立叶变换,然后取变换结果幅值的平方,并除以样本序列的个数N 作为真实功率谱的一个估计.这就是我们常用的基本周期图法.

本文以实例说明如何在Matlab 中优化基本周期图法对随机信号进行的功率谱估计,为了不失一般性,给出一随机信号:

xn =sin (2×pi ×100×t )+2×sin (2×pi ×200×t )+

randn (size (t ))

其采样抽样频率为1000H z ,以下各例均相同.当抽样数据个数为256个时,编制相应程序(见附录111),运行程序绘制功率谱估计图形如图1.

通过除以样本长度N ,为确保估计值渐进无偏.然而对于确定的样本长度N 而言,周期图法是有偏的,只有在N 趋向于无穷大时周期图法的期望值才趋向于真实功率谱密度.

matlab中拟合函数中的gian值,如何在Matlab中优化基本周期图法对随机信号进行的功率谱估计...相关推荐

  1. 中boxplot函数的参数设置_如何在Python中生成图形和图表

    在本章中,我们将学习如何在Python中生成图形和图表,同时将使用函数和面向对象的方法来可视化数据. Python中常用的一些可视化数据包括以下几种. Matplotlib. Seaborn. ggp ...

  2. Python使用numpy中trim_zeros函数去除首尾0值的语法

    Python使用numpy中trim_zeros函数去除首尾0值的语法 目录 Python使用numpy中trim_zeros函数去除首尾0值的语法 #numpy中trim_zeros

  3. 小程序如何修改缓存中的某一个字段的值;小程序中如何应用vant组件 如:van-dropdown-item、van-field

    1.小程序如何往缓存中存数据 将数据放入指定缓存中. 这里缓存块的名称叫'mydata',你可以根据自己的需求,取合适的名字.代码如下 let data = {name: '8BQ了',age: '1 ...

  4. c++中函数放在等号右边_如何从C或C++中的函数返回多个值?

    新程序员通常在寻找从函数返回多个值的方法.不幸的是,C和C++不允许直接这样做.但是幸运的是,通过一些巧妙的编程,我们可以轻松实现这一目标. 下面是从C函数中返回多个值的方法: 通过使用指针. 通过使 ...

  5. python中func函数可以没有返回值吗_python让函数不返回结果的方法

    1.简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数的输出,可以用变量接走,继续使用该返回值做其它事. 2.函数需要 ...

  6. matlab 拟合函数,MATLAB的拟合函数和工具

    一元函数拟合可用cftool工具箱, 对于一元多项式拟合也可用polyfit() 多元线性函数y=ax的拟合函数regress() 语法是: [a, aint]=regress(y,x,alpha) ...

  7. python中until函数_等待应用程序窗口:python中的pywinauto.timings.WaitUntilPasses

    我试图在pywinauto中使用waituntilpasses来给应用程序时间打开一个新窗口.我已使用SWAPY识别窗口详细信息. 为了进行测试,我手动打开了子窗口,因此WaitUntilPasses ...

  8. python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发

    strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...

  9. python中text函数的语法_Python语法大全(持续更新中ing)

    1.type()函数可以返回任何Python定义的数据类型. Python提供了一些数字类型转换函数:int().long().float().complex().整数.长整数和浮点数可以通过comp ...

最新文章

  1. centos 安装 mysql 5.7
  2. linux程序计数器,如何在C中打印程序计数器的确切值
  3. 亚马逊自动打包机:1机可顶24人
  4. vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件
  5. python网课一般多少钱-Python培训网课一般学费多少?毕业生能承担吗?
  6. Netty详解(四):Netty 整体架构
  7. 简练软考知识点整理-项目合同的类型
  8. LeetCode 950. 按递增顺序显示卡牌(deque)
  9. Java PushbackInputStream skip()方法与示例
  10. 力扣836.矩形重叠
  11. 【BZOJ3328】PYXFIB 数论+矩阵乘法
  12. SqlAlchemy操作(一)
  13. PAT A1029 Median (25 point(s)) __two pointers
  14. 【web前端特效源码】使用HTML5+CSS3+JavaScript制作一个进度条动画效果~适合初学者~超简单~ |前端开发|IT软件
  15. HBuilderX前端html功能应用
  16. java软件存储空间不够怎么办,eclipse内存不足怎么办 eclipse内存不够解决方法
  17. linux怎么打开隐藏文件夹,如何在文件管理器中隐藏文件和文件夹
  18. 自激多谐振荡电路实验总结,小白电路测试
  19. 【应急】应急信息“一张图”,福建省是这样用的
  20. [深入研究4G/5G/6G专题-57]: L3信令控制-6-什么是无线承载DRB Profile

热门文章

  1. 在阿里云购买云服务器并安装宝塔面板
  2. vuex存储什么数据_【存储知识小讲堂系列】为什么数据隔离很重要
  3. 如何提高自己的专注度
  4. 臭氧味道虽“臭”,架不住它功能强大
  5. HDOJnbsp;4278nbsp;nbsp;Faultynbsp;Odometer
  6. 2022/1/14总结
  7. CSDN文章 无法通过百度搜索,怎么办?
  8. docker部署apache服务(使用存储卷)
  9. Linux:cutycapt html转jpg、png、pdf
  10. 考研数据结构之查找(9.8)——练习题之编写一个函数利用二分查找算法在一个有序表中插入关键字k并保持表的有序性(C表示)