光功率谱

光功率谱
光功率谱

功率及功率谱计算

功率谱定义 从确定性信号功率计算开始 ()()221 11lim lim 222T T T T T P x t dt X d T T ωωπ∞--∞→∞→∞==?? ()()21lim 2T T S X T ωω→∞= S(w)为功率谱密度,简称功率谱 则 ()12P S d ωωπ+∞-∞= ? 随机信号的功率谱密度 (1)样本功率谱与功率谱密度 ()()21,lim ,2X T T S X T ωξωξ→∞= 针对一个具体的样本而言,其是一个确定性的信号 (2) 随机信号的平均功率及平均功率谱密度 ()X X P E P ξ=???? 需要对具体的样本取概率均值才能计算出功率 ()()()21,lim ,2X X T T S E S E X T ωωξωξ→∞??==?????? 故功率谱密度是对所有概率取期望的反应。 (3)自相关函数与功率谱密度 ()()R S τω? (4)信号的自相关函数计算 分为确定信号和随机信号 确定信号 02002*0 1()lim ()()T T x T R x t x t dt T ττ-→∞=-? 周期信号 0202*0 1()()()T T x R x t x t dt T ττ-=-? 随机信号 *()[()()]x R E x t x t ττ=- 2 功率计算 (1)根据定义来计算

(2)周期信号如何计算 0cos()A t ω的计算 200()()1()[]2 A A s d T πσωωπσωωωω+∞-∞-++==?不好算因此放弃,但是应该可以类推得出结论 (3)自相关函数计算 0cos()A t ω的计算 /2 200/2 /222000/2201()cos()cos(())cos()cos(2)1[]2 cos()2 T T T T r A t t d T A A t d T A τωωτωωτωωτωωτ+-+-=-+-==?? 所以其功率谱为 200()2 A πσωωσωω(-)+(+) 0j t Ae ω的计算 0000/2()2/2 /22/2 21()1T j t j t T T j T j r A e e dt T A e dt T A e ωωτωτωτ τ+---+-===?? 总结:因此周期函数,首先转换成傅里叶级数,然后再通过自相关函数的定义计算自相关函数,得到其功率谱密度。

matlab程序中功率谱分析的经典常用方法

一、直接法 clear;clc;close all; %清除变量;清屏;关闭当前图形窗口 Fs=1000; t=0:1/Fs:1; nfft=2048; %改变nfft的值可对比不同采样值时的谱估计效果 %****************生成信号、噪声**************% x1=cos(2*pi*40*t)+3*cos(2*pi*45*t);%信号 x2=randn(size(t)); %噪声 x3=x1+x2; %信号+噪声 [Pxx,f]=periodogram(x3,window,nfft,Fs); %直接法 plot(f,10*log10(Pxx)); title('直接法 nfft=2048'); set(gca,'xlim',[1 120]); ylabel('Am/dB'); xlabel('Frequency/Hz'); 二、间接法 Fs=1000;% 采样频率 n=0:1/Fs:1;% 产生含有噪声的序列 x1=cos(2*pi*40*n)+3*cos(2*pi*45*n);%信号x2=randn(size(n)); %噪声x3=x1+x2; %信号+噪声 nfft=1024; cxn=xcorr(x3);% 计算序列的自相关函数 CXk=fft(cxn); Pxx=abs(CXk); index=0:round(nfft/2-1); f=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); figure (1) plot(f,plot_Pxx); title('间接法 nfft=1024');ylabel('Am/dB'); set(gca,'xlim',[1 120]); xlabel('Frequency/Hz'); 三、Bartlett法 clear;clc;close all; %清除变量;清屏;关闭当前图形窗口 Fs=1000; t=0:1/Fs:1; nfft=1024; %****************生成信号、噪声**************% x1=cos(2*pi*40*t)+3*cos(2*pi*45*t);%信号 x2=randn(size(t)); %噪声 x3=x1+x2; %信号+噪声 window=hamming(512); %海明窗 noverlap=0; %数据无重叠 p=0.9; %置信概率 [Pxx,Pxxc]=psd(x3,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);title('Bartlett法海明窗');; set(gca,'xlim',[1120]);ylabel('Am/dB'); xlabel('Frequency/Hz'); 四、Welch法

经典功率谱和Burg法的功率谱估计

现代信号处理作业 实验题目: 设信号)()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 N w P N per = , 其中∑-=-=1 )()(N n jwn N jw N 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 )为

∑--=-≤+= m N n N N x N m m n x n x N m r 10 1),()(1 )(,计算其傅里叶变换 ∑-=--≤= M M m jwm x BT N M e m r m 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 i per =,其中∑-=-=1 0)()(M n j w n i M i M e n x w X 。由此得到平均周期图为 ∑-==10 ^_ )(1)(L i i per w P L w P 。其中归一化U 取∑-== 10 2 )(1M n n a M U 。 4)。Burg 法: 在约束条件下,使得)(2 1^^^ b f ρρρ+=极小化,其中,约束条件是它所得到的 各阶模型解要求满足Levison 递归关系。 仿真结果: 1.周期图法

功率谱密度

t=0:0.0001:0.1; %时间间隔为0.0001,说明采样频率为10000Hz x=square(2*pi*1000*t); %产生基频为1000Hz的方波信号 n=randn(size(t)); %白噪声 f=x+n; %在信号中加入白噪声 figure(1); subplot(2,1,1); plot(f); %画出原始信号的波形图 ylabel('幅值(V)'); xlabel('时间(s)'); title('原始信号'); y=fft(f,1000); %对原始信号进行离散傅里叶变换,参加DFT采样点的个数为1000 subplot(2,1,2); m=abs(y); f1=(0:length(y)/2-1)'*10000/length(y);%计算变换后不同点对应的幅值plot(f1,m(1:length(y)/2)); ylabel('幅值的模'); xlabel('时间(s)'); title('原始信号傅里叶变换'); %用周期图法估计功率谱密度 p=y.*conj(y)/1000; %计算功率谱密度 ff=10000*(0:499)/1000; %计算变换后不同点对应的频率值 figure(2); plot(ff,p(1:500)); ylabel('幅值'); xlabel('频率(Hz)'); title('功率谱密度(周期图法)'); 功率谱估计在现代信号处理中是一个很重要的课题,涉及的问题很多。在这里,结合matlab,我做一个粗略介绍。功率谱估计可以分为经典谱估计方法与现代谱估计方法。经典谱估计中最简单的就是周期图法,又分为直接法与间接法。直接法先取N点数据的傅里叶变换(即频谱),然后取频谱与其共轭的乘积,就得到功率谱的估计;间接法先计

功率谱估计方法的比较

功率谱估计方法的比较 摘要: 本文归纳了信号处理中关键的一种分析方法, 即谱估计方法。概述了频谱估计中的周期图法、修正的协方差法和伯格递推法的原理,并且对此三种方法通过仿真做出了对比。 关键词:功率谱估计;AR 模型;参数 引言: 谱估计是指用已观测到的一定数量的样本数据估计一个平稳随机信号的谱。由于谱中包含了信号的很多频率信息,所以分析谱、对谱进行估计是信号处理的重要容。谱估计技术发展 渊源很长,它的应用领域十分广泛,遍及雷达、声纳、通信、地质勘探、天文、生物医学工程等众多领域,其容、方法都在不断更新,是一个具有强大生命力的研究领域。谱估计的理论和方法是伴随着随机信号统计量及其谱的发展而发展起来的,最早的谱估计方法是建 立在基于二阶统计量, 即自相关函数的功率谱估计的方法上。功率谱估计的方法经历了经典谱估计法和现代谱估计法两个研究历程,在过去及现在相当长一段时间里,功率谱估计一直占据着谱估计理论里的核心位置。经典谱估计也成为线性谱估计,包括BT 法、周期图法。现代谱估计法也称为非线性普估计,包括自相关法、修正的协方差法、伯格(Burg )递推法、特征分解法等等。 原理: 经典谱估计方法计算简单,其主要特点是谱估计与任何模型参数无关,是一类非参数化的方法。它的主要问题是:由于假定信号的自相关函数在数据的观测区间以外等于零,因此估计出来的功率谱很难与信号的真实功率谱相匹配。在一般情况下,经典法的渐进性能无法给出实际功率谱的一个满意的近似,因而是一种低分辨率的谱估计方法。现代谱估计方法使用参数化的模型,他们统称为参数化功率谱估计,由于这类方法能够给出比经典法高得多的频率分辨率,故又称为高分辨率方法。下面分别介绍周期图法、修正的协方差法和伯格递推法。修正的协方差法和伯格递推法采用的模型均为AR 模型。 (1)周期图法 周期图法是先估计自相关函数, 然后进行傅里叶变换得到功率谱。假设随机信号x(n)只观测到一段样本数据,n=0, 1, 2, …, N-1。根据这一段样本数据估计自相关函数,如公式(1) 对(1)式进行傅里叶变换得到(2)式。 ∑--=+=1||0 *) ()(1 )(?m N n xx m n x n x N m r

MATLAB仿真实现经典谱估计(采用周期图法)

数字信号处理 课程实验报告 实验指导教师:黄启宏 实验名称 MATLAB 仿真实现经典谱估计(采用周期图法) 专业、班级 电子与通信工程 姓 名 张帅 实验地点 仿古楼301 实验日期 2013.11.17 一、实验内容 采用周期图法(直接法)实现经典谱估计。 二、实验目的 (1)掌握周期图法(直接法)估计出功率谱的步骤和方法; (2)在实验的过程中找到影响经典谱估计的因素; (3)了解周期图法(直接法)估计功率谱的缺陷。 三、实验原理 把随机信号()x n 的N 点观察数据()N x n 视为一能量有限信号,直接取得()N x n 傅里叶变换,得()jw N x e ,然后再取其幅值的平方,并除以N ,作为对()x n 真实的功率谱()jw P e 的估计。即为: ^ 21()|()|PER N P X N ωω= ^ 21()|()|PER N P k X k N = 四、涉及实验的相关情况介绍(包含使用软件或实验设备等情况) 一台安装MATLAB 软件的电脑

五、实验记录 程序、相关的图形、相关数据记录及分析)( %采用直接法(周期图法)估计功率谱; clear Fs = 1000;%采样频率 n = 0:1 /Fs: .3;%产生含有噪声的序列 xn = cos(200*pi*n)+0.1*randn(size(n)); subplot(311);%输出随机信号xn; plot(n,xn);xlabel('时间');ylabel('幅度');title('输入信号x(n)'); axis([0 0.3 -2 2]); grid on; window = boxcar( length( xn) ) ;%矩形窗 nfft = 512; [Pxx f]= periodogram( xn,window,nfft,Fs) ;%直接法 subplot(312) plot( f,10* log10( Pxx) ) ; title('直接法经典谱估计,512点'); xlabel('频率(Hz)'); ylabel('功率谱密度'); grid on; window = boxcar( length( xn) ); nfft = 1024;

功率谱和功率谱密度的区别

谱让人联想到的Fourier变换,是一个时间平均(time average)概念,对能量就是能量谱,对功率就是功率谱。 功率谱的概念是针对功率有限信号的,所表现的是单位频带内信号功率随频率的变化情况。保留了频谱的幅度信息,但是丢掉了相位信息,所以频谱不同的信号其功率谱是可能相同的。 有两点需要注意: 1. 功率谱是随机过程的统计平均概念,平稳随机过程的功率谱是一个确定函数;而频谱是随机过程样本的Fourier变换,对于一个随机过程而言,频谱也是一个“随机过程”。(随机的频域序列) 2. 功率概念和幅度概念的差别。此外,只能对宽平稳的各态历经的二阶矩过程谈功率谱,其存在性取决于二阶矩是否存在并且二阶矩的Fourier变换收敛;而频谱的存在性仅仅取决于该随机过程的该样本的Fourier变换是否收敛。 频谱分析: 对动态信号在频率域内进行分析,分析的结果是以频率为坐标的各种物理量的谱线和曲线,可得到各种幅值以频率为变量的频谱函数F(ω)。频谱分析中可求得幅值谱、相位谱、功率谱和各种谱密度等等。频谱分析过程较为复杂,它是以傅里叶级数和傅里叶积分为基础的。 功率谱密度: 功率谱密度(PSD),它定义了信号或者时间序列的功率如何随频率分布。这里功率可能是实际物理上的功率,或者更经常便于表示抽象的信号被定义为信号数值的平方,也就是当信号的负载为1欧姆(ohm)时的实际功率。

由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。维纳-辛钦定理(Wiener-Khinchin theorem)提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 信号的功率谱密度当且仅当信号是广义的平稳过程的时候才存在。如果信号不是平稳过程,那么自相关函数一定是两个变量的函数,这样就不存在功率谱密度,但是可以使用类似的技术估计时变谱密度。 随机信号是时域无限信号,不具备可积分条件,因此不能直接进行傅氏变换。一般用具有统计特性的功率谱来作为谱分析的依据。 功率谱与自相关函数是一个傅氏变换对。 功率谱具有单位频率的平均功率量纲。所以标准叫法是功率谱密度。从名字分解来看就是说,观察对象是功率,观察域是谱域。 通过功率谱密度函数,可以看出随机信号的能量随着频率的分布情况。像白噪声就是平行于一条直线。 一般我们讲的功率谱密度都是针对平稳随机过程的,由于平稳随机过程的样本函数一般不是绝对可积的,因此不能直接对它进行傅立叶分析。可以有三种办法来重新定义谱密度,来克服上述困难。 1. 用相关函数的傅立叶变换来定义谱密度; 2. 用随机过程的有限时间傅立叶变换来定义谱密度; 3. 用平稳随机过程的谱分解来定义谱密度。 三种定义方式对应于不同的用处,首先第一种方式前提是平稳随机过程不包含周

matlab实现功率谱密度分析psd

matlab实现功率谱密度分析psd及详细解说 功率谱密度幅值的具体含义?? 求信号功率谱时候用下面的不同方法,功率谱密度的幅值大小相差很大! 我的问题是,计算具体信号时,到底应该以什么准则决定该选用什么方法啊? 功率谱密度的幅植的具体意义是什么??下面是一些不同方法计算同一信号的matlab 程序!欢迎大家给点建议! 直接法: 直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); window=boxcar(length(xn)); %矩形窗 nfft=1024; [Pxx,f]=periodogram(xn,window,nfft,Fs); %直接法 plot(f,10*log10(Pxx)); 间接法: 间接法先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); nfft=1024; cxn=xcorr(xn,'unbiased'); %计算序列的自相关函数 CXk=fft(cxn,nfft); Pxx=abs(CXk);

经典功率谱估计方法实现问题的研究

1 随机信号的经典谱估计方法 估计功率谱密度的平滑周期图是一种计算简单的经典方法。它的主要特点是与任 何模型参数无关,是一类非参数化方法[4]。它的主要问题是:由于假定信号的自相关函数在数据观测区以外等于零,因此估计出来的功率谱很难与信号的真实功率谱相匹配。在一般情况下,周期图的渐进性能无法给出实际功率谱的一个满意的近似,因而是一种低分辨率的谱估计方法。本章主要介绍了周期图法、相关法谱估计(BT )、巴特利特(Bartlett)平均周期图的方法和Welch 法这四种方法。 2.1 周期图法 周期图法又称直接法。它是从随机信号x(n)中截取N 长的一段,把它视为能量有限x(n)真实功率谱)(jw x e S 的估计)(jw x e S 的抽样. 周期图这一概念早在1899年就提出了,但由于点数N一般比较大,该方法的计算量过大而在当时无法使用。只是1965年FFT 出现后,此法才变成谱估计的一个常用方法。周期图法[5]包含了下列两条假设: 1.认为随机序列是广义平稳且各态遍历的,可以用其一个样本x(n)中的一段 )(n x N 来估计该随机序列的功率谱。这当然必然带来误差。 2.由于对)(n x N 采用DFT ,就默认)(n x N 在时域是周期的,以及)(k x N 在频域是周期的。这种方法把随机序列样本x(n)看成是截得一段)(n x N 的周期延拓,这也就是周期图法这个名字的来历。与相关法相比,相关法在求相关函数)(m R x 时将 )(n x N 以外是数据全都看成零,因此相关法认为除)(n x N 外 x(n)是全零序列,这种处 理方法显然与周期图法不一样。 但是,当相关法被引入基于FFT 的快速相关后,相关法和周期图法开始融合。通过比较我们发现:如果相关法中M=N ,不加延迟窗,那么就和补充(N-1)个零的周期图法一样了。简单地可以这样说:周期图法是M=N 时相关法的特例。因此相关法和周期图法可结合使用。 2.2 相关法谱估计(BT )法

自己编写算法的功率谱密度的三种matlab实现方法

功率谱密度的三种matlab 实现方法 一:实验目的: (1)掌握三种算法的概念、应用及特点; (2)了解谱估计在信号分析中的作用; (3) 能够利用burg 法对信号作谱估计,对信号的特点加以分析。 二;实验内容: (1)简单说明三种方法的原理。 (2)用三种方法编写程序,在matlab 中实现。 (3)将计算结果表示成图形的形式,给出三种情况的功率谱图。 (4)比较三种方法的特性。 (5)写出自己的心得体会。 三:实验原理: 1.周期图法: 周期图法又称直接法。它是从随机信号x(n)中截取N 长的一段,把它视为能量有限x(n)真实功率谱)(jw x e S 的估计)(jw x e S 的抽样. 认为随机序列是广义平稳且各态遍历的,可以用其一个样本x(n)中的一段)(n x N 来估计该随机序列的功率谱。这当然必然带来误差。由于对)(n x N 采用DFT ,就默认)(n x N 在时域是周期的,以及)(k x N 在频域是周期的。这种方法把随机序列样本x(n)看成是截得一段)(n x N 的周期延拓,这也就是周期图法这个名字的来历。 2.相关法(间接法):

这种方法以相关函数为媒介来计算功率谱,所以又叫间接法。这种方法的具体步骤是: 第一步:从无限长随机序列x(n)中截取长度N 的有限长序列列)(n x N 第二步:由N 长序列)(n x N 求(2M-1)点的自相关函数)(m R x ∧序列。 )()(1)(10m n x n x N m R N n N N x +=∑-=∧ (2-1) 这里,m=-(M-1)…,-1,0,1…,M-1,M N ,)(m R x 是双边序列,但是由自相关函数的偶对称性式,只要求出m=0,。。。,M-1的傅里叶变换,另一半也就知道了。 第三步:由相关函数的傅式变换求功率谱。即jwm M M m X jw x e m R e S ----=∧ ∧∑=)()(1)1( 以上过程中经历了两次截断,一次是将x(n)截成N 长,称为加数据窗,一次是将x(n)截成(2M-1)长,称为加延迟窗。因此所得的功率谱仅是近似值,也叫谱估计,式中的)(jw x e S 代表估值。一般取M<

功率谱图应用

1.基本方法 周期图法是直接将信号的采样数据x(n)进行Fourier变换求取功率谱密度估计的方法。假定有限长随机信号序列为x(n)。它的Fourier变换和功率谱密度估计存在下面的关系: 式中,N为随机信号序列x(n)的长度。在离散的频率点f=kΔf,有: 其中,FFT[x(n)]为对序列x(n)的Fourier变换,由于FFT[x(n)]的周期为N,求得的功率谱估计以N为周期,因此这种方法称为周期图法。下面用例子说明如何采用这种方法进行功率谱 用有限长样本序列的Fourier变换来表示随机序列的功率谱,只是一种估计或近似,不可避免存在误差。为了减少误差,使功率谱估计更加平滑,可采用分段平均周期图法(Bartlett法)、加窗平均周期图法(Welch 法)等方法加以改进。 2. 分段平均周期图法(Bartlett法) 将信号序列x(n),n=0,1,…,N-1,分成互不重叠的P个小段,每小段由m个采样值,则P*m=N。对每个小段信号序列进行功率谱估计,然后再取平均作为整个序列x(n)的功率谱估计。 平均周期图法还可以对信号x(n)进行重叠分段,如按2:1重叠分段,即前一段信号和后一段信号有一半是重叠的。对每一小段信号序列进行功率谱估计,然后再取平均值作为整个序列x(n)的功率谱估计。这两种方法都称为平均周期图法,一般后者比前者好。程序运行结果为图9-5,上图采用不重叠分段法的功率谱估计,下图为2:1重叠分段的功率谱估计,可见后者估计曲线较为平滑。与上例比较,平均周期图法功率谱估计具有明显效果(涨落曲线靠近0dB)。 3.加窗平均周期图法 加窗平均周期图法是对分段平均周期图法的改进。在信号序列x(n)分段后,用非矩形窗口对每一小段信号序列进行预处理,再采用前述分段平均周期图法进行整个信号序列x(n)的功率谱估计。由窗函数的基本知识(第7章)可知,采用合适的非矩形窗口对信号进行处理可减小“频谱泄露”,同时可增加频峰的宽度,从而提高频谱分辨率。 其中上图采用无重叠数据分段的加窗平均周期图法进行功率谱估计,而下图采用重叠数据分段的加窗平均周期图法进行功率谱估计,显然后者是更佳的,信号谱峰加宽,而噪声谱均在0dB附近,更为平坦(注意采用无重叠数据分段噪声的最大的下降分贝数大于5dB,而重叠数据分段周期图法噪声的最大下降分贝数小于5dB)。 4. Welch法估计及其MATLAB函数 Welch功率谱密度就是用改进的平均周期图法来求取随机信号的功率谱密度估计的。Welch 法采用信号重叠分段、加窗函数和FFT算法等计算一个信号序列的自功率谱估计(PSD如上例中的下半部分的求法)和两个信号序列的互功率谱估计(CSD)。 MATLAB信号处理工具箱函数提供了专门的函数PSD和CSD自动实现Welch法估计,而不需要自己编程。 (1)函数psd利用Welch法估计一个信号自功率谱密度,函数调用格式为: [Pxx[,f]]=psd(x[,Nfft,Fs,window,Noverlap,’dflag’]) 式中,x为信号序列;Nfft为采用的FFT长度。这一值决定了功率谱估计速度,当Nfft采用2的幂时,程序采用快速算法;Fs为采样频率;Window定义窗函数和x分段序列的长度。窗函数长度必须小于或等于Nfft,否则会给出错误信息;Noverlap为分段序列重叠的采样

功率谱估计介绍(介绍了matlab函数)

功率谱估计介绍 谱估计在现代信号处理中是一个很重要的课题,涉及的问题很多。在这里,结合matlab,我做一个粗略介绍。功率谱估计可以分为经典谱估计方法与现代谱估计方法。经典谱估计中最简单的就是周期图法,又分为直接法与间接法。直接法先取N点数据的傅里叶变换(即频谱),然后取频谱与其共轭的乘积,就得到功率谱的估计;间接法先计算N点样本数据的自相关函数,然后取自相关函数的傅里叶变换,即得到功率谱的估计.都可以编程实现,很简单。在matlab中,周期图法可以用函数periodogram实现。 周期图法估计出的功率谱不够精细,分辨率比较低。因此需要对周期图法进行修正,可以将信号序列x(n)分为n个不相重叠的小段,分别用周期图法进行谱估计,然后将这n段数据估计的结果的平均值作为整段数据功率谱估计的结果。还可以将信号序列x(n)重叠分段,分别计算功率谱,再计算平均值作为整段数据的功率谱估计。 种称为分段平均周期图法,一般后者比前者效果好。加窗平均周期图法是对分段平均周期图法的改进,即在数据分段后,对每段数据加一个非矩形窗进行预处理,然后在按分段平均周期图法估计功率谱。相对于分段平均周期图法,加窗平均周期图法可以减小频率泄漏,增加频峰的宽度。welch法就是利用改进的平均周期图法估计估计随机信号的功率谱,它采用信号分段重叠,加窗,FFT 等技术来计算功率谱。与周期图法比较,welch法可以改善估计谱曲线的光滑性,大大提高谱估计的分辨率。matlab中,welch法用函数psd实现。调用格式如下: [Pxx,F] = PSD(X,NFFT,Fs,WINDOW,NOVERLAP) X:输入样本数据 NFFT:FFT点数 Fs:采样率 WINDOW:窗类型 NOVERLAP,重叠长度 现代谱估计主要针对经典谱估计分辨率低和方差性不好提出的,可以极大的提高估计的分辨率和平滑性。可以分为参数模型谱估计和非参数模型谱估计。参数模型谱估计有AR模型,MA模型,ARMA模型等;非参数模型谱估计有最小方差法和MUSIC法等。由于涉及的问题太多,这里不再详述,可以参考有关资料。matlab中,现代谱估计的很多方法都可以实现。music方法用pmusic命令实现;pburg函数利用burg法实现功率谱估计;pyulear函数利用yule-walker算法实现功率谱估计等等。 另外,sptool工具箱也具有功率谱估计的功能。窗口化的操作界面很方便,而且有多种方法可以选择 在海杂波抑制的研究中,对海杂波谱分析一定要用到谱估计理论,一定得花时间学好!

功率谱估计仿真实验

功率谱估计仿真实验 选题条件:对于给定的一个信号()()()t t f t f t x ?ππ++=212sin 2)2sin(,其中1f =50Hz , 2f =100Hz ,()t ?为白噪声,采样频率Fs 为1000Hz ,对其进行功率谱估 计。 仿真目标:采用多种方法对该指定信号进行功率谱估计,计算其功率谱密度,比较 各种估计方法的优劣。 设计思路:本仿真实验采用经典谱估计中的周期图法对给定信号进行谱估计。但是 由于其自身的缺陷,使得频率分辨率较低。为了不断满足需要,找到恰 当的估计法,实验使依次使用了周期图法的改进型方法如分段周期图法、 窗函数法以及修正的周期图法进行功率谱估计,对四种方法得出的谱估 计波形进行比较分析,得出估计效果最好的基于周期图法的谱估计方法。 仿真指标:频率分辨率、估计量的方差、频谱光滑度 平台说明:本实验采用MATLAB7.0仿真软件,基于WINDOWS-XP 系统。Matlab 是 一个集数值分析、矩阵运算、信号处理和图形显示于一体的工程分析处理软件。它提供的部分算法函数为功率谱估计提供了一条可行的方便途径,如PSD 和CSD 可以自动实现Welch 法估计,而不需要自己编程。但是较为有限,大部分需要自己编写相应的M 文件来实现。 实现方法: 一、周期图法 周期图法是直接将信号的采样数据()n x 进行傅立叶变换求功率谱密度估计。假设有限长随机信号序列()n x ,将它的功率谱按定义写出如下: ()()??? ?????+=∑-=-∞→2121lim N N n n j N j xx e n x N E e P ωω 如果忽略上式中求统计平均的运算,观测数据为:()n x 10-≤≤N n ,便得到了周期图法的定义: ()()2 10 ^ 1n j N n j xx e n x N e P ωω--=∑=, 式中的绝对值符号内的部分可以用FFT 计算,这样就可得到周期图法的计算框图如下所示: () ω j xx e ^ 图1 周期图法计算功率谱框图 采用周期图法时,可以分取不同的信号长度256、512和1024,分别进行功率谱

(完整版)功率谱估计性能分析及Matlab仿真

功率谱估计性能分析及Matlab 仿真 1 引言 随机信号在时域上是无限长的,在测量样本上也是无穷多的,因此随机信号的能量是无限的,应该用功率信号来描述。然而,功率信号不满足傅里叶变换的狄里克雷绝对可积的条件,因此严格意义上随机信号的傅里叶变换是不存在的。因此,要实现随机信号的频域分析,不能简单从频谱的概念出发进行研究,而是功率谱[1]。 信号的功率谱密度描述随机信号的功率在频域随频率的分布。利用给定的 N 个样本数据估计一个平稳随机信号的功率谱密度叫做谱估计。谱估计方法分为两大类:经典谱估计和现代谱估计。经典功率谱估计如周期图法、自相关法等,其主要缺陷是描述功率谱波动的数字特征方差性能较差,频率分辨率低。方差性能差的原因是无法获得按功率谱密度定义中求均值和求极限的运算[2]。分辨率低的原因是在周期图法中,假定延迟窗以外的自相关函数全为0。这是不符合实际情况的,因而产生了较差的频率分辨率。而现代谱估计的目标都是旨在改善谱估计的分辨率,如自相关法和Burg 法等。 2 经典功率谱估计 经典功率谱估计是截取较长的数据链中的一段作为工作区,而工作区之外的数据假设为0,这样就相当将数据加一窗函数,根据截取的N 个样本数据估计出其功率谱[1]。 2.1 周期图法( Periodogram ) Schuster 首先提出周期图法。周期图法是根据各态历经的随机过程功率谱的定义进行的谱估计。 取平稳随机信号()x n 的有限个观察值(0),(1),...,(1)x x x n -,求出其傅里叶变换 1 ()()N j j n N n X e x n e ω ω---==∑ 然后进行谱估计

功率谱

A.信号与谱的分类 注:功率谱计算的方法之一是由FFT后的谱线平方来得到。 由于时域信号有不同的分类, 变换后对应的频域也有不同的谱 信号可分为模拟(连续)信号和数字(离散)信号, 连续信号变换后称为谱密度, 离散信号变换 后称为谱. 连续信号又可分为绝对可积,平方可积(能量有限),均方可积(功率有限) 绝对可积信号有傅里叶谱(线性谱)和傅里叶谱密度(线性谱密度),如时域信号单位为电压V, 则前者单位为V,后者单位为V/Hz. 均方可积信号有功率谱PS(单位为V2)和功率谱密度PSD(单位为V2/ Hz.). 平方可积信号有能量谱密度ESD(单位为V2 s / Hz.). 注1平方量称为功率,平方量乘秒称为能量,谱分量除以频率称为谱密度. 注2功率谱密度另一定义(离散信号的功率谱密度)见下述, 连续信号的功率谱密度. 为连续(光滑)曲线, 离散信号的功率谱密度为不连续的阶梯形.. 注3随机信号求功率谱密度时为减少方差,可采用平均,重叠和加窗处理(Welch法). 数字信号又可分为绝对可和,平方可和,均方可和.

B.各种谱计算 1. 线性谱Linear Spectrum:对时域离散信号作DFT(离散傅里叶变换)得到, 采用方法为FFT(快速傅里叶变换)法.X(f)=FFT(x(t)) 2. 自功率谱APS=Auto Power Spectrum:离散信号的线性谱乘其共轭线性谱APS(f)=X(f)*conj(X(f)), conj=conjugate共轭(实部不变,虚部变符号). 3. 互功率谱CPS=Cross Power Spectrum::x(t)的线性谱乘y(t)的共轭线性谱互功率谱是复数,可表示为幅值和相位或实部和虚部等. CPS(f)=X(f) *conj(Y(f)) Y(f)=FFT(y(t)) 4. (自)功率谱密度PSD(=Power Spectrum Density):

功率谱估计浅谈汇总

功率谱估计浅谈 摘要:介绍了几种常用的经典功率谱估计与现代功率谱估计的方法原理,并利用Matlab对随机信号进行功率谱估计,对两种方法做出比较,分别给出其优缺点。关键词:功率谱;功率谱估计;经典功率谱估计;现代功率谱估计 前言 功率谱估计是从频率分析随机信号的一种方法,一般分成两大类:一类是经典谱估计;另一类是现代谱估计。由于经典谱估计中将数据工作区以外的未知数据假设为零,这相当于数据加窗,导致分辨率降低和谱估计不稳定。现代谱估计则不再简单地将观察区外的未知数据假设为零,而是先将信号的观测数据估计模型参数,按照求模型输出功率的方法估计信号功率谱,回避了数据观测区以外的数据假设问题。 周期图、自相关法及其改进方法(Welch)为经典(非参数)谱估计方法, 其以相关和傅里叶变换为基础,对于长数据记录较适用,但无法根本解决频率分辨率低和谱估计稳定性的问题,特别是在数据记录很短的情况下,这一问题尤其突出。以随机过程的参数模型为基础的现代参数法功率谱估计具有更高的频率分辨率和更好的适应性,可实现信号检测或信噪分离,对语音、声纳雷达、电磁波及地震波等信号处理具有重要意义,并广泛应用于通信、自动控制、地球物理等领域。在现代参数法功率谱估计方法中,比较有效且实用的是AR模型法,Burg谱估计法,现代谱估计避免了计算相关,对短数据具有更强的适应性,从而弥补了经典谱估计法的不足,但其也有一些自身的缺陷。 下面就给出这两类谱估计的简单原理介绍与方法实现。 经典谱估计法 经典法是基于传统的傅里叶变换。本文主要介绍一种方法:周期图法。 周期图法 由于对信号做功率谱估计,需要用计算机实现,如果是连续信号,则需要变换为离散信号。下面讨论离散随机信号序列的功率谱问题。 连续时间随机信号的功率谱密度与自相关函数是一对傅里叶变换对,即:

(完整word版)自己编写算法的功率谱密度的三种matlab实现方法

功率谱密度的三种matlab 实现方法 一:实验目的: (1)掌握三种算法的概念、应用及特点; (2)了解谱估计在信号分析中的作用; (3) 能够利用burg 法对信号作谱估计,对信号的特点加以分析。 二;实验内容: (1)简单说明三种方法的原理。 (2)用三种方法编写程序,在matlab 中实现。 (3)将计算结果表示成图形的形式,给出三种情况的功率谱图。 (4)比较三种方法的特性。 (5)写出自己的心得体会。 三:实验原理: 1.周期图法: 周期图法又称直接法。它是从随机信号x(n)中截取N 长的一段,把它视为能量有限x(n)真实功率谱)(jw x e S 的估计)(jw x e S 的抽样. 认为随机序列是广义平稳且各态遍历的,可以用其一个样本x(n)中的一段)(n x N 来估计该随机序列的功率谱。这当然必然带来误差。由于对)(n x N 采用DFT ,就默认)(n x N 在时域是周期的,以及)(k x N 在频域是周期的。这种方法把随机序列样本x(n)看成是截得一段)(n x N 的周期延拓,这也就是周期图法这个名字的来历。

2.相关法(间接法): 这种方法以相关函数为媒介来计算功率谱,所以又叫间接法。这种方法的具体步骤是: 第一步:从无限长随机序列x(n)中截取长度N 的有限长序列列 )(n x N 第二步:由N 长序列)(n x N 求(2M-1)点的自相关函数)(m R x ∧ 序列。 )()(1)(1 m n x n x N m R N n N N x += ∑-=∧ (2-1) 这里,m=-(M-1)…,-1,0,1…,M-1,M N ,)(m R x 是双边序列,但是由自相关函数的偶对称性式,只要求出m=0,。。。,M-1的傅里叶变换,另一半也就知道了。 第三步:由相关函数的傅式变换求功率谱。即 jwm M M m X jw x e m R e S ----=∧∧ ∑= )()(1) 1( 以上过程中经历了两次截断,一次是将x(n)截成N 长,称为加数据窗,一次是将x(n)截成(2M-1)长,称为加延迟窗。因此所得的功率谱仅是近似值,也叫谱估计,式中的)(jw x e S 代表估值。一般取M<

计算功率谱密度

功率谱密度幅值的具体含义?? 求信号功率谱时候用下面的不同方法,功率谱密度的幅值大小相差很大! 我的问题是,计算具体信号时,到底应该以什么准则决定该选用什么方法啊? 功率谱密度的幅植的具体意义是什么??下面是一些不同方法计算同一信号的matlab 程序!欢迎大家给点建议! 一、直接法: 直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); window=boxcar(length(xn)); %矩形窗 nfft=1024; [Pxx,f]=periodogram(xn,window,nfft,Fs); %直接法 plot(f,10*log10(Pxx)); 二、间接法: 间接法先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); nfft=1024; cxn=xcorr(xn,'unbiased'); %计算序列的自相关函数 CXk=fft(cxn,nfft); Pxx=abs(CXk); index=0:round(nfft/2-1); k=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); plot(k,plot_Pxx); 三、改进的直接法: 对于直接法的功率谱估计,当数据长度N太大时,谱曲线起伏加剧,若N太小,谱的分辨率又不好,因此需要改进。

FFT在功率谱密度计算中的应用

FFT 在功率谱密度计算中的应用 一、FFT 算法理论依据和编程思想 FFT 算法的基本思想: 考察DFT 与IDFT 的运算发现,利用以下两个特性可减少运算量: Ⅰ)系数 是一个周期函数,它的周期性和对称性可利用来改进运算, 提高计算效率。 如: 因此 利用这些周期性和对称性,DFT 运算中有些项可合并; Ⅱ)利用W N nk 的周期性和对称性,把长度为N 点的大点数的DFT 运算分解为若干个小点数的DFT 。因为DFT 的计算量正比于N 2,N 小计算量也就小。 FFT 算法正是基于这样的基本思想发展起来的。它有多种形式,下面是按时间抽取的FFT (N 点DFT 运算的分解) 先从一个特殊情况开始,假定N 是2的整数次方,N=2M ,M :正整数 1.将N 点的DFT 分解为两个N/2点的DFT : 首先将序列x (n )分解为两组,一组为偶数项,一组为奇数项 r=0,1,…,N/2-1 将DFT 运算也相应分为两组: 其中X 1(k )和X 2(k )分别是x 1(r )和x 2(r )的N/2点DFT 。 可见,一个N 点的DFT 可以分解为两个N/2点的DFT ,这两个N/2点的DFT 再按照上面(1)式合成为一个N 点DFT ,注意到,X 1(k ),X 2(k )有N/2个点,即k=0,1,…,

N/2-1,由(1)式得到X(k)只有N/2点,而实际上X(k)有N个点,即k=0,1,…, N-1,要用X 1(k),X 2 (k)表示全部X(K)值,还必须应用系数w的周期性和对称性。 2.X(k)的(N/2)~N-1点表示: 由X(k)= X 1(k)+w k N X 2 (k), k=0,1,2,…,N/2-1 得: , (2a) 因为 , 且 同样 。 考虑到W N k对称性:。 故(2b) (2a)式表示了X(k)前半部分k=0~N/2-1时的组成方式,(2b)式则表示了后半部分k=N/2~N-1时的组成方式。这两式所表示的运算过程可用一个称作蝶形的信号流图来表示。

相关文档
最新文档