经典功率谱估计的原理及MATLAB仿真(自相关函数BT法、周期图法、bartlett法、welch法)

经典功率谱估计的原理及MATLAB仿真(自相关函数BT法、周期图法、bartlett法、welch法)

文章目录

  • 前言
  • 一、BT法
  • 二、周期图法
  • 三、Bartlett法
  • 四、welch法
  • 五、MATLAB仿真
  • 六、MATLAB详细代码
  • 总结


前言

经典功率谱估计方法包括BT法(对自相关函数求傅里叶变换求功率谱)、周期图法、Bartlett法(分段求平均)、welch法(有重合分段求平均)。本文在总结各种方法的原理后将在MATLAB平台上进行仿真,完成对功率谱密度的估计。


提示:以下是本篇文章正文内容,转载请附上链接!

一、BT法

u N ( 0 ) , u N ( 1 ) , ⋅ ⋅ ⋅ , u N ( N − 1 ) u_N(0),u_N(1),\cdotp\cdotp\cdotp,u_N(N-1) uN(0),uN(1),⋅⋅⋅,uN(N1) 为广义平稳随机过程 u ( n ) u(n) u(n) N N N 个观测值(为描述方便,本章观测样本的序号为从0到 N − 1 N-1 N1的整数),且设 u N ( n ) u_N(n) uN(n)其他时刻的值为零,则 u N ( n ) u_N(n) uN(n)可表示为

u N ( n ) = { u ( n ) , 0 ⩽ n ⩽ N − 1 0 , 其他 (1) u_N(n)=\begin{cases}u(n),&0\leqslant n\leqslant N-1\\\\0,&\text{其他}\end{cases} \tag{1} uN(n)= u(n),0,0nN1其他(1)

u ( n ) u(n) u(n) 的自相关函数 r ( m ) r(m) r(m) 可用时间平均进行估计,即

r ^ ( m ) = 1 N ∑ n = 0 N − 1 u N ( n ) u N ∗ ( n − m ) , ∣ m ∣ ⩽ N − 1 (2) \hat{r}(m)=\frac{1}{N}\sum_{n=0}^{N-1}u_N(n)u_N^*(n-m),\quad\mid m\mid\leqslant N-1 \tag{2} r^(m)=N1n=0N1uN(n)uN(nm),mN1(2)
根据维纳-辛钦定理,对由式(2) 估计得到的自相关函数 r ^ ( m ) \hat{r}(m) r^(m)求傅里叶变换,可得功率谱的估计为

S ^ B T ( ω ) = ∑ m = − ∞ ∞ r ^ ( m ) e − j ω m = ∑ m = − N + 1 N − 1 r ^ ( m ) e − j ω m (3) \hat{S}_{\mathrm{BT}}\left(\omega\right)=\sum_{m=-\infty}^{\infty}\hat{r}\left(m\right)\mathrm{e}^{-\mathrm{j}\omega m}=\sum_{m=-N+1}^{N-1}\hat{r}\left(m\right)\mathrm{e}^{-\mathrm{j}\omega m} \tag{3} S^BT(ω)=m=r^(m)ejωm=m=N+1N1r^(m)ejωm(3)

考虑到自相关函数 r ^ ( m ) \hat{r}(m) r^(m) ∣ m ∣ > N − 1 \mid m\mid>N-1 m∣>N1 时为零,且 r ^ ( m ) \hat{r}(m) r^(m) m m m 接近 N − 1 N-1 N1 时性能较差, 式(3)经常表示为

S ^ B T ( ω ) = ∑ m = − M M r ^ ( m ) e − j ω m , 0 ⩽ M ⩽ N − 1 (4) \hat{S}_{\mathrm{BT}}\left(\omega\right)=\sum_{m=-M}^M\hat{r}\left(m\right)\mathrm{e}^{-\mathrm{j}\omega m}\:,\quad0\leqslant M\leqslant N-1 \tag{4} S^BT(ω)=m=MMr^(m)ejωm,0MN1(4)

以此结果作为对理论功率谱 S ( ω ) S(\omega) S(ω) 的估计,因为这种方法估计出的功率谱是通过自相关函数间接得到的,所以此方法又称为间接法。

当时延m≥0时,r(m)的均值可以表示为

E ⁡ { r ^ ( m ) } = E { 1 N ∑ n = 0 N − 1 u N ( n ) u N ∗ ( n − m ) } = 1 N ∑ n = m N − 1 E { u N ( n ) u N ∗ ( n − m ) } = 1 N ∑ n = m N − 1 r ( m ) = N − m N r ( m ) (5) \begin{aligned} \operatorname{E}\{\hat{r}(m)\}& =\text{ E}\left\{\frac1N\sum_{n=0}^{N-1}u_N\left(n\right)u_N^*\left(n-m\right)\right\} \\ &=\frac1N\sum_{n=m}^{N-1}E\{u_N(n)u_N^*(n-m)\} \\ &=\frac1N\sum_{n=m}^{N-1}r\left(m\right) \\ &=\frac{N-m}Nr\left(m\right)\tag{5} \end{aligned} E{r^(m)}= E{N1n=0N1uN(n)uN(nm)}=N1n=mN1E{uN(n)uN(nm)}=N1n=mN1r(m)=NNmr(m)(5)

考虑到 m m m 的取值可正可负,所以有

E ⁡ { r ^ ( m ) } = N − ∣ m ∣ N r ( m ) (6) \operatorname{E}\{\hat{r}(m)\}=\frac{N-\mid m\mid}{N}r(m) \tag{6} E{r^(m)}=NNmr(m)(6)

BT法结论:
r ^ ( m ) \hat{r}(m) r^(m) r ( m ) r(m) r(m) 的渐近无偏估计。
r ^ ( m ) \hat{r}(m) r^(m) r ( m ) r(m) r(m) 的渐近一致估计。

二、周期图法

由于随机过程 u ( n ) u(n) u(n) N N N个观测值 u N ( n ) u_N(n) uN(n) 是确定信号,对其进行傅里叶变换,得

U N ( ω ) = ∑ n = 0 N − 1 u N ( n ) e − j ω n (7) U_N(\omega)=\sum_{n=0}^{N-1}u_N(n)\:\mathrm{e}^{-\mathrm{j}\omega n}\tag{7} UN(ω)=n=0N1uN(n)ejωn(7)

根据帕塞瓦尔定理,上式的模的平方是确定信号 u N ( n ) u_N(n) uN(n)的能量谱,对能量谱除以持续时间 N N N, 其结果应是 u N ( n ) u_N(n) uN(n) 的功率谱估计,将其作为随机过程 u ( n ) u(n) u(n)的功率谱的估计,表示为

S ^ P E R ( ω ) = 1 N ∣ U N ( ω ) ∣ 2 (8) \hat{S}_{\mathrm{PER}}(\omega)=\frac1N\mid U_N(\omega)\mid^2 \tag{8} S^PER(ω)=N1UN(ω)2(8)

该方法称为功率谱估计的周期图法(periodogram)。因为这种功率谱估计方法是直接通过观测数据的傅里叶变换求得的,称之为直接法。

周期图法结论:
r ^ ( m ) \hat{r}(m) r^(m) r ( m ) r(m) r(m) 的渐近无偏估计。
r ^ ( m ) \hat{r}(m) r^(m) 不是 r ( m ) r(m) r(m) 的一致估计,估计方差趋近于一个有限值。

三、Bartlett法

Bartlett法的基本步骤是,将 N N N 点的观测数据 u N ( n ) u_N(n) uN(n) 分为 L L L 段,每段数据的长度为 M M M, 整数 L L L M M M 满足

L = N M (9) L=\frac NM \tag{9} L=MN(9)

i i i 段数据加矩形窗后,有

u N i ( n ) = u ( n + ( i − 1 ) M ) w M ( R ) ( n ) , 0 ⩽ n ⩽ M − 1 , 1 ⩽ i ⩽ L (10) u_N^i(n)=u(n+(i-1)M)w_M^{(R)}(n)\:,\quad0\leqslant n\leqslant M-1,1\leqslant i\leqslant L \tag{10} uNi(n)=u(n+(i1)M)wM(R)(n),0nM1,1iL(10)
其中 , w M ( R ) ( n ) ,w_{M}^{(R)}(n) ,wM(R)(n) 是长度为 M M M 的矩形窗。

对于每段数据 u N i ( n ) u_{\mathbb{N}}^{i}\left(n\right) uNi(n), 先利用周期图法求得其功率谱 S ^ P E R i ( ω ) \hat{S}_{\mathrm{PER}}^i(\omega) S^PERi(ω), 限

S ^ P E R i ( ω ) = 1 M ∣ ∑ n = 0 M − 1 u N i ( n ) e − j ω n ∣ 2 , 1 ⩽ i ⩽ L (11) \hat{S}_{\mathrm{PER}}^i(\omega)=\frac{1}{M}\Big|\sum_{n=0}^{M-1}u_N^i(n)\:\mathrm{e}^{-\mathrm{j}\omega n}\Big|^2,\quad1\leqslant i\leqslant L\tag{11} S^PERi(ω)=M1 n=0M1uNi(n)ejωn 2,1iL(11)

然后计算各段功率谱估计的平均,得到平均周期图 S ‾ P E R ( ω ) \overline{\mathcal{S}}_{\mathrm{PER}}\left(\omega\right) SPER(ω), 即

S ‾ P E R ( ω ) = 1 L ∑ i = 1 L S ^ P E R i ( ω ) = 1 L M ∑ i = 1 L ∣ ∑ n = 0 M − 1 u N i ( n ) e − j ω n ∣ 2 (12) \overline{S}_{\mathrm{PER}}\left(\omega\right)=\frac{1}{L}\sum_{i=1}^{L}\hat{S}_{\mathrm{PER}}^{i}\left(\omega\right)=\frac{1}{LM}\sum_{i=1}^{L}\Big|\sum_{n=0}^{M-1}u_{N}^{i}\left(n\right)\mathrm{e}^{-\mathrm{j}\omega n}\Big|^{2}\tag{12} SPER(ω)=L1i=1LS^PERi(ω)=LM1i=1L n=0M1uNi(n)ejωn 2(12)

Bartlett法结论:
Bartlett功率谱估计使得数据点数从 N N N 减小为 M = N / L M=N/L M=N/L, 于是窗函数的频谱宽度增大为周期图法的 L L L 倍,因此频率分辨率下降为原来的 1 / L 1/L 1/L
Bartlett功率谱估计的方差减小为周期图法的 1 / L 1/L 1/L, 因此Bartlett功率谱估计较周期图法的结果更为平滑。

四、welch法

Welch法也对 N N N点的信号 u N ( n ) u_N(n) uN(n) 进行分段,但允许分段时每段信号样本重叠。若每段的样本长度为 M M M, 信号被分为 L L L 段,取相邻两段的信号样本重叠 50 % 50\% 50% L L L满足

L = N − M / 2 M / 2 (13) L=\frac{N-M/2}{M/2}\tag{13} L=M/2NM/2(13)

将每段信号 u N i ( n ) u_N^i(n) uNi(n) 和窗函数 w ( n ) w(n) w(n)(可以采用矩形窗、三角窗、汉宁窗或海明窗等)相乘,然后按式(11) 得到每段信号的功率谱估计为

S ^ P E R i ( ω ) = 1 M ∣ ∑ n = 0 M − 1 u N i ( n ) w ( n ) e − j ω n ∣ 2 (14) \hat{S}_{\mathrm{PER}}^i(\omega)=\frac{1}{M}\Big|\sum_{n=0}^{M-1}u_N^i(n)w(n)\:\mathrm{e}^{-\mathrm{j}\omega n}\Big|^2\tag{14} S^PERi(ω)=M1 n=0M1uNi(n)w(n)ejωn 2(14)

由此得到修正的周期图 S ‾ P E R ( ω ) \overline{\mathcal{S}}_{\mathrm{PER}}\left(\omega\right) SPER(ω)
S ‾ P E R ( ω ) = 1 L ∑ i = 1 L S ^ P E R i ( ω ) = 1 L M ∑ i = 1 L ∣ ∑ n = 0 M − 1 u N i ( n ) w ( n ) e − j ω n ∣ 2 (15) \overline{\mathcal{S}}_{\mathrm{PER}}\left(\omega\right)=\frac{1}{L}\sum_{i=1}^{L}\hat{S}_{\mathrm{PER}}^i(\omega)=\frac{1}{LM}\sum_{i=1}^{L}\:\Big|\:\sum_{n=0}^{M-1}u_{N}^{i}(n)w(n)\:\mathrm{e}^{-\mathrm{j}\omega n}\:\Big|^{2}\tag{15} SPER(ω)=L1i=1LS^PERi(ω)=LM1i=1L n=0M1uNi(n)w(n)ejωn 2(15)

Welch法结论:
Welch方法允许分段数据样本的重叠,于是可以得到更多的周期图估计,从而进一步减小估计的功率谱密度的方差。而与使用矩形窗实现数据分段的Bartlett方法相比,Welch方法可以使用多种窗函数。通过窗函数加权,可以减小每个分段起始和结束位置附近的样本在估计中的作用,从而减小了相邻样本段之间的相关性。所以,Welch 方法可以更好地控制功率谱密度估计的方差特性。

五、MATLAB仿真

设随机过程 u N ( n ) u_N(n) uN(n)由3个实正弦信号加噪声构成,为
u N ( n ) = ∑ k = 1 3 s k ( n ) + v ( n ) (16) u_N(n)=\sum_{k=1}^3s_k(n)+v(n)\tag{16} uN(n)=k=13sk(n)+v(n)(16)
其中, s k ( n ) = A k cos ⁡ ( 2 π f k n + φ k ) , k = 1 , 2 , 3 s_k( n) = A_k\cos ( 2\pi f_kn+ \varphi _k) , k= 1, 2, 3 sk(n)=Akcos(2πfkn+φk),k=1,2,3,其归一化频率分别是 f 1 = 0.1 , f 2 = 0.25 f_1=0.1,f_2=0.25 f1=0.1,f2=0.25 f 3 = 0.27 , φ k f_3=0.27,\varphi_k f3=0.27,φk是相互独立并在 [ 0 , 2 π ] \begin{bmatrix}0,2\pi\end{bmatrix} [0,2π]上服从均匀分布的随机相位; v ( n ) v(n) v(n)是均值为0、方差 σ 2 = 1 \sigma^2=1 σ2=1的实高斯白噪声序列。3个信号的信噪比分别为 S N R 1 = 30 \mathrm{SNR}_1=30 SNR1=30dB , S N R 2 = 30 ,\mathrm{SNR}_2=30 ,SNR2=30dB , S N R 3 = 27 ,\mathrm{SNR}_3=27 ,SNR3=27dB。
参数设置如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过以上结果可以看出点数对信号分辨率的影响,点数加大时,可以提高分辨率,我这里就不贴图了,感兴趣的可以自己下载代码验证。

六、MATLAB详细代码

经典功率谱估计超详细的MATLAB代码(BT法和周期图法和bartlett法和welch法)

总结

例如:以上就是今天要讲的内容,本文介绍了BT法、周期图法、Bartlett法、welch法四种经典功率谱估计方法,并在MATLAB上面完成了功率谱估计仿真。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/456350.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java的就业信息管理系统源码带本地搭建教程

技术框架:jQuery MySQL5.7 mybatis shiro Layui HTML CSs JS 运行环境:jdk8 IntelliJ IDEA maven3 宝塔面板 实现了就业信息管理、就业统计、用户管理等功能。有普通用户和管理员两种角色。

开源限流组件分析(三):golang-time/rate

文章目录 本系列前言提供获取令牌的API数据结构基础方法tokensFromDurationdurationFromTokensadvance 获取令牌方法reverseN其他系列API 令人费解的CancelAt是bug吗 取消后无法唤醒其他请求 本系列 开源限流组件分析(一):juju/ratelimit开源…

智能AI监测系统燃气安全改造方案的背景及应用价值

随着燃气行业的迅速发展和城市化进程的加快,燃气安全管理成为企业运营和城市管理中不可忽视的关键领域。燃气泄漏、管道破损等事故的发生不仅会造成严重的经济损失,还威胁到人民生命财产安全。传统的安全管理方法往往依赖人工巡检和手动监测,…

如何写一个视频编码器演示篇

先前写过《视频编码原理简介》,有朋友问光代码和文字不太真切,能否补充几张图片,今天我们演示一下: 这是第一帧画面:P1(我们的参考帧) 这是第二帧画面:P2(需要编码的帧&…

C2W4.LAB.Word_Embedding.Part2

理论课:C2W4.Word Embeddings with Neural Networks 文章目录 Training the CBOW modelForward propagationInitialization of the weights and biasesTraining exampleValues of the hidden layerValues of the output layerCross-entropy loss BackpropagationGr…

大家都在用的HR招聘管理工具:国内Top5排名

招聘管理工具是专为HR及招聘团队设计的数字化助手,旨在简化招聘流程,提高效率。众所周知,招聘管理工具通常集成简历收集、筛选、面试安排、候选人跟踪等功能于一体,让招聘过程更加流畅。使用招聘管理工具,不仅能节省时…

高边坡稳定安全监测预警系统解决方案

一、项目背景 高边坡的滑坡和崩塌是一种常见的自然地质灾害,一但发生而没有提前预告将给人民的生命财产和社会危害产生严重影响。对高边坡可能产生的灾害提前预警、必将有利于决策者采取应对措施、减少和降低灾害造成的损失。现有的高边坡监测技术有人工巡查和利用测…

100个候选人,没一个能讲明白什么是自动化框架?

什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间…

格姗知识圈博客网站开源了!

格姗知识圈博客 一个基于 Spring Boot、Spring Security、Vue3、Element Plus 的前后端分离的博客网站!本项目基本上是小格子一个人开发,由于工作和个人能力原因,部分技术都是边学习边开发,特别是前端(工作中是后端开…

MySQL~表的操作(创建表,查看表,修改表,删除表)

1.创建表 1.1.创建表 首先要选择需要操作的数据库,USE 数据库名,后续可以根据实际情况操作时添加。 USE fruitsales;建表语法: create table 表名( 字段名1 数据类型, 字段名2 数据类型, ); 实例:创建fruit_bak1表。 create t…

[linux]软件安装

安装方式 二进制发布包安装: 软件已经针对具体平台编译打包发布,只要解压修改配置即可 rpm安装: 软件已经按照redhat的包管理规范进行打包, 使用rpm命令进行安装,不能自行解决库依赖问题 yum安装: 一种在线软件安装方式, 本质上还是rpm安装, 自动下载…

【vim】手动安装 Leader-F

LeaderF 是一个功能强大的 Vim 插件,主要用于快速导航和搜索。它可以帮助用户在 Vim 中高效地查找文件、缓冲区、标签、函数等各种元素,极大地提高了编辑效率。 LeaderF 的安装如果按照仓库中的教程来的话可以很方便的实现安装,这里介绍一下…

【记录】VSCode|自用设置项

文章目录 1 基础配置1.1 自动保存1.2 编辑区自动换行1.3 选项卡换行1.4 空格代替制表符1.5 开启滚轮缩放 2 进阶设置2.1 选项卡不自我覆盖2.2 选项卡限制宽度2.3 选项卡组限制高度2.4 字体设置2.5 字体加粗2.6 侧边栏2.7 沉浸式代码模式 Zen Mode2.8 设置 Zen 模式的选项卡组 3…

家用wifi的ip地址固定吗?换wifi就是换ip地址吗

在探讨家用WiFi的IP地址是否固定,以及换WiFi是否就意味着换IP地址这两个问题时,我们首先需要明确几个关键概念:IP地址、家用WiFi网络、以及它们之间的相互作用。 一、家用WiFi的IP地址固定性 家用WiFi环境中的IP地址通常涉及两类&#xff1a…

文档透明加密系统怎么用?五款透明加密软件汇总!2024热门推荐,实测分享!

数据泄露事件频发,让无数企业谈之色变。 想要自动对存储在计算机上的文档进行加密吗? 怎么在不影响日常工作的前提,确保文档在存储和传输过程中的安全? 透明加密系统来助力! 本文,将详细介绍文档透明加密…

解决vue使用pdfdist-mergeofd插件时报错polyfills

pdfdist-mergeofd 该插件主要是为了解决pdf-js和ofd-js共同使用时产生的依赖冲突问题,具体可看这位博主的文章同时使用ofdjs和pdfjs遇到的问题,和解决方法——懒加载 首先看下报错信息 ERROR in ./node_modules/.pnpm/pdfdist-mergeofd2.2.228_webpa…

人工智能算法之双倍体遗传算法(DGA)

人工智能算法之双倍体遗传算法(DGA) 双倍体遗传算法是一种改进的遗传算法,借鉴了生物中双倍体(每个体细胞中具有两套染色体)的遗传机制。传统遗传算法中的个体通常是单倍体(单套基因)&#xff0…

使用 v-html 指令渲染的标签, 标签内绑定的 click 事件不生效

背景 在项目开发中,实现用户友好的输入交互是提升用户体验的关键之一。例如,在客服对话框中,其中有包含多个快捷选项用于快速问答,每个快捷选项都是一个可点击的按钮,并需要绑定点击事件来执行相应操作。然而&#xf…

数据类型【MySQL】

文章目录 建立表查看表删除表数据类型floatcharvarcharchar&&varchar 时间日期类型enum和setenum和set查找 建立表 mysql> create table if not exists user1(-> id int ,-> name varchar (20) comment 用户名 ,-> password char (32) comment 用户名的…

软考(中级-软件设计师)算法分析篇(1024)

三、算法设计与分析 #1024程序员节|正文# 一、分治法 1.1 分而治之 对于一个规模为n的问题,若该问题可以容易的解决(比如说规模较小,则直接解决,否则将其分解为k个规模较小的问题,这些子问题相互独立且与原问题形…