利用经典谱估计法估计信号的功率谱(随机信号)
- 格式:docx
- 大小:183.85 KB
- 文档页数:15
随机信号功率谱估计作者:杨太张荣龙袁晓华来源:《中国新通信》2012年第14期1引言功率谱估计(PSD)是利用给定的一组样本数据估计一个平稳随机信号的功率谱密度,它能给出被分析对象的能量随频率分布的情况。
在雷达信号处理中可以根据回波信号的功率谱密度、谱峰的宽度、高度和位置可以确定运动目标的位置、辐射强度和运动速度。
功率谱估计是数字信号处理的重要研究内容之一。
功率谱估计可以分为经典谱估计(非参数估计)和现代谱估计(参数估计)。
经典的功率谱估计有2种:一种是直接法;另一种是间接法。
直接法就是先计算N个数据的傅里叶变换,然后取频域和其共轭的乘积得到功率谱;间接法则是先计算N个样本数据的估计自相关函数,然后再计算自相关数据的傅里叶变换得到功率谱。
间接法的主要方法有最大熵谱分析法(AR模型法)、Pisarenko谐波分解法、Prony提取极点法、Prony 谱线分解法以及Capon最大似然法。
其中周期图法和最大熵谱分析法是信号处理中最具代表性的方法。
2周期图法2.1周期图谱估计周期图法是直接将信号的采样数据x(n)进行Fourier变换求取功率谱密度估计的方法。
它的特点是:先取信号序列的离散傅里叶变换,然后取其幅频特性的平方并除以序列长度,由于序列的离散傅里叶变换具有周期性,因而这种功率谱也具有周期性。
假定有限长随机信号序列为x(n)。
它的Fourier变(2)其中,FFT[x(n)]为对序列x(n)的Fourier变换,由于FFT[x(n)]的周期为N,求得的功率谱估计以N为周期,因此这种方法称为周期图法。
2.2周期图法的性质差的分析,以此来说明周期图法来作为功率谱估计的不可靠性。
在信号处理中通常用偏差和方差这两种基本的统计量来度量估计子的性能,设a为一个带估计量的变量,a赞是它的一个估计。
估计的均方差(MSE)为下面是对一随机信号分别取长度为256和1024的功率谱估计:从图1中可以看出,采用周期图法估计得到的功率谱很不平滑,也就是估计的协方差比较大,而且采用增加采样点的方法也不能使周期图变得更加平滑,这是周期图法的缺点。
随机信号利用经典谱估计法估计信号的功率谱作业综述:给出一段信号“asd.wav”,利用经典谱估计法的原理,通过不同的谱估计方法,求出信号的功率谱密度函数。
采用MATLAB语言,利用MATLAB语言强大的数据处理和数据可视化能力,通过GUI的对话框模板,使操作更为简便!在一个GUI界面中,同时呈现出不同方法产生出的功率谱。
这里给出了几种不同的方法:BT法,周期图法,平均法以及Welch法。
把几种不同方法所得到的功率谱都呈现在一个界面中,便于对几种不同方法得到的功率谱作对比。
一.题目要求给出一段信号及采样率,利用经典谱估计法估计出信号的功率谱。
二.基本原理及方法经典谱估计的方法,实质上依赖于传统的傅里叶变换法。
它是将数据工作区外的未知数据假设为零,相当于数据加窗,主要方法有BT法,周期图法,平均法以及Welch法。
1. BT法(Blackman-Tukey)● 理论基础:(1)随机序列的维纳-辛钦定理由于随机序列{X(n)}的自相关函数Rx(m)=E[X(n)X(n+m)]定义在离散点m 上,设取样间隔为,则可将随机序列的自相关函数用连续时间函数表示为等式两边取傅里叶变换,则随机序列的功率谱密度(2)谱估计BT法是先估计自相关函数Rx(m)(|m|=0,1,2…,N-1),然后再经过离散傅里叶变换求的功率谱密度的估值。
即其中可有式得到。
2. 周期图法● 理论基础:周期图法是根据各态历经随机过程功率谱的定义来进行谱估计的。
在前面我们已知,各态历经的连续随机过程的功率谱密度满足式中是连续随机过程第i个样本的截取函数的频谱。
对应在随机序列中则有由于随机序列中观测数据仅在的点上存在,则的N点离散傅里叶变换为:因此有随机信号的观测数据的功率谱估计值(称“周期图”)如下:由于上式中的离散傅里叶变换可以用快速傅里叶变换计算,因此就可以估计出功率谱。
3.平均法:● 理论基础:平均法可视为周期图法的改进。
周期图经过平均后会使它的方差减少,达到一致估计的目的,有一个定理:如果是不相关的随机变量,且都有个均值及其方差,则可以证明它们的算术平均的均值为。
现代信号处理作业实验题目:设信号)()8.0cos(25.0)47.0cos()35.0cos()(321n v n n n n x ++++++=θπθπθπ,其中321,,θθθ是[]ππ,-内的独立随机变量,v(n)是单位高斯白噪声。
1.利用周期图法对序列进行功率谱估计。
数据窗采用汉明窗。
2.利用BT 法对序列进行功率谱估计,自相关函数的最大相关长度为M=64,128,256,512采用BARTLETT 窗。
3.利用Welch 法对序列进行功率谱估计,50%重叠,采用汉明窗,L=256,128,64。
4.利用Burg 法对序列进行AR 模型功率谱估计,阶数分别为10,13.要求每个实验都取1024个点,fft 作为谱估计,取50个样本序列的算术平均,画出平均的功率谱图。
实验原理:1)。
周期图法:又称间接法,它把随机信号的N 个观察值x N (n)直接进行傅里叶变换,得到X N (e jw ),然后取其幅值的平方,再除以N ,作为对x (n )真实功率谱的估计。
2^)(1)(jw e X Nw P N per =, 其中∑-=-=1)()(N n jwn N jwN e n x e X 2)。
BT 法:对于N 个观察值x(0),x(1),。
,x(N-1),令x N (n)=a(n)x(n)。
计算r x (m )为∑--=-≤+=mN n N Nx N m m n x n xN m r 101),()(1)(,计算其傅里叶变换∑-=--≤=MMm jwm xBT N M e m rm v w P 1 ,)()()(^^,作为观察值的功率谱的估计。
其中v(m)是平滑窗。
3)。
Welch 法:假定观察数据是x(n),n=0,1,2...,N-1,现将其分段,每段长度为M,段与段之间的重叠为M-K,第i 个数据段经加窗后可表示为 1,...,1,0 )()()(-=+=M i iK n x n a n x i M其中K 为一整数,L 为分段数,该数据段的周期图为2)(1)(^w X MU w P i M iper =,其中∑-=-=10)()(M n j w n iM i M e n x w X 。
现代信号处理经典的功率谱估计《现代信号处理》姓名:李建强学号:201512172087专业:电子科学与技术作业内容:在MATLAB平台上对一个特定的平稳随机信号进行经典功率谱估计和现代功率谱估计的比较一、前言功率谱估计是信息学科中的研究热点,在过去的30多年里取得了飞速的发展。
在许多工程应用中,它能给出被分析对象的能量随频率的分布情况。
平滑周期图是一种计算简单的经典方法,它的主要特点是与任何模型参数无关,但估计出来的功率谱很难与信号的真是功率谱相匹配。
与周期图方法不同,现代谱估计主要是针对经典谱估计(周期图和自相关法)的分辨率低和方差性能不好的问题而提出的。
其使用参数化的模型,能够给出比周期图方法高得多的频率分辨率。
其内容极其丰富,涉及的学科和领域也相当广泛,按是否有参数大致可分为参数模型估计和非参数模型估计,前者有AR模型、MA模型、ARMA模型、PRONY指数模型等;后者有最小方差方法、多分量的MUSIC方法等。
二、总体概述本次实验分别使用经典的功率谱估计(如周期图法)与AR模型法对某一特定的平稳随机信号进行其功率谱估计,由图像得到信号的频率。
利用MATLAB平台,直观形象地观察并比较二者估计效果的区别,以便于加深对功率谱估计的理解和掌握。
三、具体的实现步骤1、经典法功率谱估计周期图法又称直接法,它是从随机信号x(n)中截取N长的一段,把它视为能量有限的真实功率谱的估计的一个抽样。
1.1、实现步骤(1)、模拟系统输出参数x(n)=A*sin(2πf1*n)+B*sin(2πf2*n),包括序列长度N(128或512或1024,加性高斯白噪声(AGWN)功率一定,设置A,B,f1,f2,n的值。
(2)、应用周期图法(不加窗)对信号的功率谱密度进行估计,使用直接法在MATLAB平台上进行编程实现。
(3)、输出相应波形图,进行观察,记录。
1.2 MATLAB源代码实现clear all; %清除工作空间所有之前的变量close all; %关闭之前的所有的figureclc; %清除命令行之前所有的文字n=1:1:128; %设定采样点n=1-128f1=0.2; %设定f1频率的值0.2f2=0.213; %设定f2频率的值0.213A=1; %取定第一个正弦函数的振幅B=1; %取定第一个正弦函数的振幅a=0; %设定相位为0x1=A*sin(2*pi*f1*n+a)+B*sin(2*pi*f2*n+a ); %定义x1函数,不添加高斯白噪声x2=awgn(x1,3); %在x1基础上添加加性高斯白噪声,信噪比为3,定义x2函数temp=0; %定义临时值,并规定初始值为0temp=fft(x2,128); %对x2做快速傅里叶变换pw1=abs(temp).^2/128; %对temp做经典功率估计k=0:length(temp)-1;w=2*pi*k/128;figure(1); %输出x1函数图像plot(w/pi/2,pw1) %输出功率谱函数pw1图像xlabel('信号频率/Hz');ylabel('PSD/傅立叶功率谱估计');title('正弦信号x(n)添加高斯白噪声后的,周期图法功率频谱分析');grid;%------------------------------------------------------------------------- pw2=temp.*conj(temp)/128; %对temp做向量的共轭乘积k=0:length(temp)-1;w=2*pi*k/128;figure(2);plot(w/pi/2,pw2); %输出功率谱函数pw2图像xlabel('信号频率/Hz');ylabel('PSD/傅立叶功率谱估计');title('正弦信号x(n)自相关法功率谱估计');grid;1.3 matlab仿真图形(1)、用直接法,功率谱图像,采样点N=128。
随机信号功率谱估计1.随机信号功率谱密度定义定义随机信号信号的功率谱()jw x e P 为: ()()m j xe m r P ωω-+∞-∞=∑=m j x e其中()m r x 为随机信号的自相关函数。
功率谱反映了信号的功率在频域随频率ω分布,因此()jw x e P 又称为功率谱密度。
2. 经典谱估计(非参数谱估计)方法简介经典谱估计的方法主要包括两种方法:BT 法和周期图法。
(1) BT 法(间接法)此方法的理论基础是维纳-辛钦定理。
1958年Blackman 和Tukey 给出了这一种方法的具体实现,即由()n N x 估计出自相关函数()m rˆ,然后对()m r ˆ求傅里叶变换得到()n N x 的功率谱,记之为()ωBTP ˆ,并以此作为对()ωP 的估计,即 ()()m j m e m r ˆˆωω--=∑=M MBT P , 1-≤N M因为这种方法求出的功率谱是通过自相关函数间接得到的,所以称为间接法,又称BT 法或自相关法。
当M 较小时,上式计算量不是很大,因此,该方法是在FFT 问世之前(即周期图法被广泛应用之前)常用的谱估计方法。
(2) 周期图法(直接法)周期图法又称为直接法,它是把随机信号()n x 的N 点观察数据()n N x 视为一个能量有限信号,直接取()n N x 的傅里叶变换,得()jw e x N ,然后再取其幅值的平方,并除于N ,作为对()n x 真实功率谱()jwe p 的估计。
以()ωPERP ˆ表示用周期图法估计的功率谱,则 ()()21ˆωωN PER X NP =3. 信号参数设定模拟信号:()()()()t w t *110cos 5.1t *100cos 2t x ++=ππ其中()t w 为均值为0,方差为1的白噪声。
采样频率:z 1000f s Hnfft=1024时间长度分别取1s ,10s ,100s4. 仿真结果原始信号波形:BT 法:(1)t=1s (2)t=10s (3)t=100s周期法:(1)t=1s (2)t=10s (3)t=100s由图可以看出,在频率50hz和55hz附近处功率谱有两个峰值,说明信号中有50hz和55hz 的周期成分。
随机信号的功率谱估计方法随机信号的功率谱估计方法介绍随机信号是指信号的每个值都是随机的,即在同一时刻下,其取值可以是不同的。
由于随机性导致了随机信号的分布不确定,因此分析随机信号的机理比较复杂。
一个优秀的信号分析方法是估计随机信号的功率谱。
功率谱是一个很有用的统计量,它描述了信号在不同频率上的能量分布。
估计功率谱可以帮助我们了解信号的构成、将信号分解成不同的频率分量、对信号的特征进行定量分析,以及在通信和控制系统中使用。
本文将介绍几种常见的随机信号功率谱估计方法,包括周期图法、自相关函数法、半岭功率谱估计法和最大熵谱估计法。
方法一、周期图法周期图法经常用于信号频谱估计。
当我们有大量采样数据时,可以通过对信号进行傅里叶变换来计算功率谱。
但是,当信号是随机过程时,它的频谱也是一个随机变量,因此我们必须通过使用大量的测量值来确定频谱估计的不确定性。
由此带来的问题是,我们要计算的是随机过程信号的平均功率谱密度函数,而不仅仅是单次测量结果的功率谱。
周期图法通过将数据分成多个重叠的子段,然后计算每个子段的傅立叶变换来估计平均功率谱密度函数。
二、自相关函数法自相关函数法采用的是自相关函数相关的频谱估计方法。
通过对随机信号进行卷积,可以获得信号的自相关函数。
自相关函数是指信号与自身的延迟信号的乘积。
自相关函数可以通过傅立叶变换来计算功率谱密度函数。
这种方法可以用于非平稳和平稳信号,并且在信号较长的情况下效果良好。
三、半岭功率谱估计法半岭功率谱估计法是利用谱曲线的形状确定能量的集中程度。
半岭是谱曲线上右侧的谷底点。
我们可以将信号的谱曲线绘制出来,并计算它到半岭的近似功率谱曲线。
该方法可以适用于处理非平稳信号,需要进行多次计算才能获得准确结果。
四、最大熵谱估计法最大熵谱估计法可以通过最小化误差来估计功率谱密度函数。
该方法通过将信号视为时间序列,然后利用最大熵原理来进行谱估计。
最大熵原理是指在不知道任何关于信号的先验信息的情况下,使用最少的假设来描述数据的过程。
第1篇一、实验目的1. 理解经典功率谱估计的原理和方法;2. 掌握BT法、周期图法、Bartlett法和Welch法等经典功率谱估计方法;3. 通过MATLAB仿真,验证各种方法的性能和特点;4. 分析实验结果,总结经典功率谱估计方法的优缺点。
二、实验原理功率谱估计是信号处理中的一个重要方法,用于分析信号的频率成分。
经典功率谱估计方法主要包括BT法、周期图法、Bartlett法和Welch法等。
1. BT法:先估计自相关函数,然后进行傅里叶变换得到功率谱;2. 周期图法:直接对样本进行傅里叶变换,得到功率谱;3. Bartlett法:将信号分成L段,计算每段的自相关函数,然后进行傅里叶变换得到功率谱;4. Welch法:对信号进行分段,计算每段的自相关函数,然后进行傅里叶变换得到功率谱,并对结果进行加权平均。
三、实验环境1. 操作系统:Windows 10;2. 编程语言:MATLAB;3. 实验数据:随机信号样本。
四、实验步骤1. 生成随机信号样本;2. 使用BT法进行功率谱估计;3. 使用周期图法进行功率谱估计;4. 使用Bartlett法进行功率谱估计;5. 使用Welch法进行功率谱估计;6. 对比分析各种方法的估计结果。
五、实验结果与分析1. BT法:BT法是一种较为精确的功率谱估计方法,其估计结果与真实功率谱较为接近。
但是,BT法需要计算样本的自相关函数,计算量较大。
2. 周期图法:周期图法是一种简单易行的功率谱估计方法,但其估计结果存在较大误差。
当样本长度N较大时,周期图法的估计结果逐渐接近真实功率谱。
3. Bartlett法:Bartlett法在Bartlett窗口的宽度较大时,估计结果较为准确。
但是,当Bartlett窗口的宽度较小时,估计结果误差较大。
4. Welch法:Welch法是一种改进的周期图法,通过分段和加权平均,提高了估计精度。
Welch法在估计精度和计算量之间取得了较好的平衡。
一、随机信号原理分析随机信号的古典法谱估计广义平稳随机过程的功率谱是自相关函数的福利叶变换,它取决于无数个自相关函数值。
但对于许多实际问题,可以利用的数据往往是有限的,所以要准确的计算功率谱是不可能的。
比较合理的目标是设法得出功率谱的一个好的估计,这就是功率谱估计。
功率谱估计有两类大的方法:古典谱估计和现代谱估计。
古典谱估计又有相关法估计,周期图法估计,WOSO法,Bartlett法;现代谱估计有Levinson-Durbin算法和Burg算法。
下面对他们分别作介绍。
1.相关法谱估计这种方法以相关函数为媒介来计算功率谱,所以又叫间接法。
这种方法的具体步骤是:第一步:从无限长随机序列x(n)中截取长度N的有限长序列X N(n)。
第二步:由N长序列求(2M-1)点的自相关函数序列。
即这里,m=-(M-1),。
,-1,0,1,。
,M-1,M N,R^在此处键入公式。
x(m)是双边序列,但是由自相关函数的偶对称性式,只要求出m=0,。
,M-1的,另一半也就知道了。
第三步:由相关函数的傅式变换求功率谱。
即以上过程中经历了两次截断,一次是将x(n)截成N长,称为加数据窗,一次是将截成(2M-1)长,称为加延迟窗。
因此所得的功率谱仅是近似值,也叫谱估计,式中的,代表估值。
一般取M〈〈N,因为只有当M较小时,序列傅式变换的点数才较小,功率谱的计算量才不至于大到难以实现,而且谱估计质量也较好。
因此,在FFT问世之前,相关法是最常用的谱估计方法。
当FFT问世后,情况有所变化。
因为截断后的可视作能量信号,由相关卷积定理可得这就将相关化为线性卷积,而线性卷积又可以用快速卷积来实现。
我们可对上式两边取(2N-1)点DFT,则有于是将时域卷积变为频域乘积。
用快速相关求的完整方案如下:1.对N长的充(N-1)个零,成为(2N-1)长的。
2.求(2N-1)点的FFT,得。
3.求。
由DFT性质,是纯实的,满足共轭偶对称,而一定是实偶的,且以(2N-1)为周期。
已知信号x(t)=2cos(2πf1t)+3cos(2πf2t)+w(t)。
其中,f1=30HZ,f2=110HZ,w(t)为白噪声,采样频率F S=1000HZ。
求其功率谱1.周期图法,直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。
clc;Fs=1000; %采样频率n=0:1/Fs:1;%产生含有噪声的序列xn=2*cos(2*pi*30*n)+3*cos(2*pi*110*n)+randn(size(n));window=boxcar(length(xn)); %矩形窗nfft=1024;[Pxx,f]=periodogram(xn,window,nfft,Fs); %直接法¨plot(f,10*log10(Pxx));xlabel('频率/kHz');ylabel('相对功率谱密度(dB/Hz)');title('直接法');saveas(gcf, 'zhoujifa','jpg');效果图如图1所示图1 直接法功率谱效果改进的直接法2. Bartlett法clcFs=1000;n=0:1/Fs:1;xn=2*cos(2*pi*30*n)+3*cos(2*pi*110*n)+randn(size(n));nfft=1024;window=boxcar(length(n)); %矩形窗noverlap=0; %数据无重叠p=0.9; %置信概率[Pxx,Pxxc]=psd(xn,nfft,Fs,window,noverlap,p);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));plot_Pxxc=10*log10(Pxxc(index+1));figure(1)plot(k,plot_Pxx);xlabel('频率/kHz');ylabel('相对功率谱密度(dB/Hz)');title('直接法');pause;saveas(gcf, 'zhijie','jpg');figure(2)plot(k,[plot_Pxx plot_Pxx-plot_Pxxc plot_Pxx+plot_Pxxc]); xlabel('频率/kHz');ylabel('相对功率谱密度(dB/Hz)');title('Bartlett法');saveas(gcf, 'bartlett','jpg');相对于直接法,Bartlett法运行结果曲线较为平滑,如图2图3所示:图2直接法图3 Bartlett法3 . Welch法clc;Fs=1000;n=0:1/Fs:1;xn=2*cos(2*pi*30*n)+3*cos(2*pi*110*n)+randn(size(n));nfft=1024;window=boxcar(100); %矩形窗window1=hamming(100); %海明窗window2=blackman(100); %blackman窗noverlap=20; %数据重叠数range='half'; %频率间隔为[0 Fs/2],只计算一半的频率[Pxx,f]=pwelch(xn,window,noverlap,nfft,Fs,range);[Pxx1,f]=pwelch(xn,window1,noverlap,nfft,Fs,range);[Pxx2,f]=pwelch(xn,window2,noverlap,nfft,Fs,range);plot_Pxx=10*log10(Pxx);plot_Pxx1=10*log10(Pxx1);plot_Pxx2=10*log10(Pxx2);figure(1)subplot(3,1,1),plot(f,plot_Pxx);subplot(3,1,2),plot(f,plot_Pxx1);subplot(3,1,3),plot(f,plot_Pxx2);xlabel('频率/kHz');ylabel('相对功率谱密度(dB/Hz)');title('Welch法');saveas(gcf, 'Welch','jpg');程序运行结果使信号得以突出,而抑制了噪声,如图4所示:图4 Welch法功率谱效果。
随机信号利用经典谱估计法估计信号的功率谱作业综述:给出一段信号“asd.wav”,利用经典谱估计法的原理,通过不同的谱估计方法,求出信号的功率谱密度函数。
采用MATLAB语言,利用MATLAB语言强大的数据处理和数据可视化能力,通过GUI的对话框模板,使操作更为简便!在一个GUI界面中,同时呈现出不同方法产生出的功率谱。
这里给出了几种不同的方法:BT法,周期图法,平均法以及Welch法。
把几种不同方法所得到的功率谱都呈现在一个界面中,便于对几种不同方法得到的功率谱作对比。
一.题目要求给出一段信号及采样率,利用经典谱估计法估计出信号的功率谱。
二.基本原理及方法经典谱估计的方法,实质上依赖于传统的傅里叶变换法。
它是将数据工作区外的未知数据假设为零,相当于数据加窗,主要方法有BT法,周期图法,平均法以及Welch法。
1. BT法(Blackman-Tukey)●理论基础:(1)随机序列的维纳-辛钦定理由于随机序列{X(n)}的自相关函数Rx(m)=E[X(n)X(n+m)]定义在离散点m上,设取样间隔为,则可将随机序列的自相关函数用连续时间函数表示为等式两边取傅里叶变换,则随机序列的功率谱密度(2)谱估计BT法是先估计自相关函数Rx(m)(|m|=0,1,2…,N-1),然后再经过离散傅里叶变换求的功率谱密度的估值。
即其中可有式得到。
2. 周期图法●理论基础:周期图法是根据各态历经随机过程功率谱的定义来进行谱估计的。
在前面我们已知,各态历经的连续随机过程的功率谱密度满足式中 是连续随机过程第i 个样本的截取函数 的频谱。
对应在随机序列中则有由于随机序列中观测数据 仅在 的点上存在,则 的N 点离散傅里叶变换为:因此有随机信号的观测数据 的功率谱估计值(称“周期图”)如下:由于上式中的离散傅里叶变换可以用快速傅里叶变换计算,因此就可以估计出功率谱。
3.平均法:理论基础:平均法可视为周期图法的改进。
周期图经过平均后会使它的方差减少,达到一致估计的目的,有一个定理:如果 , , , 是不相关的随机变量,且都有个均值 及其方差 ,则可以证明它们的算术平均的均值为 ,方差为。
由定理可见:具有 个独立同分布随机变量平均的方差,是单个随机变量方差的 ,当 时,方差,可以达到一致估计的目的。
因此,将 个独立的估计量经过算术平均后得到的估计量的方差也是原估计量方差的 。
平均图法即是将数据 , , 分段求周期图法后再平均。
例如,给定N=1000个数据样本(平均法适用于数据量大的场合),则可以将它分成10个长度为100的小段,分别计算每一段的周期图()()21001100,100(1)1,1,2,```,10100l j l n l G w X e l ω-=-==∑然后将这10个周期图加以平均得谱估计值:()()10100100,1110l l G w G w ==∑由于这10小段的周期图取决于同一个过程,因而其均值相同。
若这10个小段的周期图是统计独立的,则这10个小段平均之后的方差却是单段方差的 。
D[ ]= D[ ]即:平均法将 , , 的N 个数据分成L 段(N=ML ),若各数据段相互独立,则平方后估计量的方差是原来不分段估计量方差的 。
所以当 时,估计量的方差趋于0,达到一致估计的目的。
但是,随着分段数L 的增加,M 点数减少,分辨率减少,使估计变成有偏估计。
相反,若L 减少,M 增加,虽偏差减少,但方差增大。
所以,在应用中,必须兼顾分辨率和方差的要求来适当选择M 和L 的值。
4.Welch 法:理论基础:Welch 法又称修正周期法,其步骤为:○1先将N 个数据分成L 段,每数据段M 个数据,N=ML ; ○2选择适当的窗函数w (n ),并用该w (n )依次对每段数据做相应的加权,然后确定每段的周期图()21,(1)1(),1,2,```,Ml j n M l n n M l G w x w n e l L MUω--=-==∑U 为归一化因子1201(),M n U w n M-==∑对每段周期图进行平均得到功率谱估计:()(),11LM M l l G w G w L ==∑当数据量一定时,若分段数L 增加,M 点数减少,则分辨率下降;若L 减少,虽M 增加,但方差增大。
解决这一矛盾的方法是,让数据段间适当“重叠”。
三.算法设计与实现1程序流程图(1) BT 法的流程图(2)周期图法的流程图(3)平均法的流程图(4)Welch法的流程图2.主要模块的设计:(1)产生原始信号Fs=600;nfft=1024;n=0:1/Fs:1;y=cos(2*pi*30*n)+3*cos(2*pi*100*n)+randn(size(n));axes(handles.axes1);plot(n,y);title(‘原始信号波形‘);原始信号波形如下:(2)BT法global y Fs nfft n;cxn=xcorr(y,'unbiased');CXk=fft(cxn,nfft);Pxx=abs(CXk);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log(Pxx(index+1))/(log(10)); axes(handles.axes2);plot(k,plot_Pxx);xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('BT法');BT法所得功率谱波形如下:(3)周期图法global y Fs nfft n;XF=fft(y,nfft);Pxx=abs(XF).^2/length(n);index=0:round(nfft/2-1);f=index*Fs/nfft;axes(handles.axes4);plot(f,10*log(Pxx(index+1)));xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('周期图法');周期图法所得功率谱波形如下:(4)平均法global y Fs nfft n;window=hamming(nfft);noverlap=0;p=0.9;[Pxx,Pxxc]=psd(y,nfft,Fs,window,noverlap,p); index=0:round(nfft/2-1);k=index*Fs/nfft;Qxx=10*log10(Pxx(index+1));axes(handles.axes6);plot(k,Qxx );xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('平均法');平均法所得功率谱波形如下:(5) Welch法global y Fs nfft n;window1=hamming(100);noverlap=20;range='half';[Pxx1,f]=pwelch(y,window1,noverlap,nfft,Fs,range);Qxx1=10*log10(Pxx1);axes(handles.axes5);plot(f,Qxx1);xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('Welch法');Welch法所得功率谱波形如下:四. 软件使用说明综述从给出一段信号y=cos(2*pi*30*n)+3*cos(2*pi*100*n),利用经典谱估计法的原理,通过不同的谱估计方法,求出信号的功率谱密度函数,并利用GUI界面呈现出不同谱估计方法所得的结果。
BT法BT法是先估计自相关函数Rx(m)(|m|=0,1,2…,N-1),然后再经过离散傅里叶变换求的功率谱密度的估值。
由式=估算出,再对作FFT变换,得到。
周期图法周期图法是根据各态历经随机过程功率谱的定义来进行谱估计的。
获取x(n)后,对x(n)作FFT得到X(W),再由得出功率谱。
平均法平均法可视为周期图法的改进。
周期图经过平均后会使它的方差减少,达到一致估计的目的。
获取x(n)后,将x(n)分为10段,对每段用 … 计算出周期图,对以上10个周期图加以平均得出功率谱。
Welch 法Welch 法又称修正周期法。
获取x(n)后,先将N 个数据分成L 段,选择汉明窗w(n ),并用该w(n )依次对每段数据做相应的加权,确定每段的周期图()21,(1)1(),1,2,```,Ml j n M l n n M l G w x w n e l L MU ω--=-==∑由()(),11LM M l l G w G w L ==∑得出每段谱估计。
GUI 界面如下:GUI 界面五. 结果分析由图可以看出,在频率30hz 和100hz 处功率谱有两个峰值,说明信号中有30hz 和100hz 的周期成分。
通过BT法能观察到两个峰值,但是所呈现的波形不能准确表达出信号的功率谱变化情况。
通过周期图法求出的功率谱密度在很大范围内波动,而且容易证明,即使增加信号取样点数N,实验效果依然没有明显改进。
用有限长样本序列的DFT来表示随机序列的功率谱只是一种估计或近似,不可避免存在误差。
为了减少误差,使功率谱估计更加平滑,可采用平均法。
平均法采用了分段的功率谱估计,较之于周期图法,平均法的估计曲线较为平滑。
在程序中加入窗函数,使得谱分辨率不会由于分段而下降。
Welch法就是用改进的平均法来求取随机信号的功率谱密度估计。
Welch法采用信号重叠分段,加窗函数和FFT算法等计算一个信号序列的功率谱。
六. 任务分工王龙元(学号:3832008009)完成了BT法以及周期图法的程序编写以及GUI界面的设计和PPT的编写;郭敏(学号:3222008054)完成了平均法以及Welch法的程序编写以及实验报告的统筹,编写.七. 参考文献[1] 常建平, 李林海. 随机信号分析. 科学出版社.2010年,第5章第3节:184-189;[2] 黄文梅, 熊桂林, 杨勇.信号分析与处理.国防科技大学出版社.2000年,第6章第3节:222—229八.附录程序源代码:function varargout = ming(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @ming_OpeningFcn, ...'gui_OutputFcn', @ming_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endfunction ming_OpeningFcn(hObject, eventdata, handles, varargin) guidata(hObject, handles);function varargout = ming_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;function figure1_CreateFcn(hObject, eventdata, handles)function pushbutton1_Callback(hObject, eventdata, handles)global y Fs nfft n;Fs=600;nfft=1024;n=0:1/Fs:1;y=cos(2*pi*30*n)+3*cos(2*pi*100*n)+randn(size(n)); axes(handles.axes1);plot(n,y);title(‘原始信号波形‘);function pushbutton3_Callback(hObject, eventdata, handles)global y Fs nfft n;window=hamming(nfft);noverlap=0;p=0.9;[Pxx,Pxxc]=psd(y,nfft,Fs,window,noverlap,p);index=0:round(nfft/2-1);k=index*Fs/nfft;Qxx=10*log10(Pxx(index+1));axes(handles.axes6);plot(k,Qxx );xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('平均法');function pushbutton5_Callback(hObject, eventdata, handles)global y Fs nfft n;cxn=xcorr(y,'unbiased');CXk=fft(cxn,nfft);Pxx=abs(CXk);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log(Pxx(index+1))/(log(10));axes(handles.axes2);plot(k,plot_Pxx);xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('BT法');function pushbutton4_Callback(hObject, eventdata, handles) global y Fs nfft n;window1=hamming(100);noverlap=20;range='half';[Pxx1,f]=pwelch(y,window1,noverlap,nfft,Fs,range);Qxx1=10*log10(Pxx1);axes(handles.axes5);plot(f,Qxx1);xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('Welch法');function pushbutton6_Callback(hObject, eventdata, handles) global y Fs nfft n;XF=fft(y,nfft);Pxx=abs(XF).^2/length(n);index=0:round(nfft/2-1);f=index*Fs/nfft;axes(handles.axes4);plot(f,10*log(Pxx(index+1)));xlabel('频率(hz)');ylabel('功率谱密度(Db/Hz)');title('周期图法');欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。