基于Matlab的现代谱估计仿真
基于Matlab实现现代功率谱估计[1]要点
![基于Matlab实现现代功率谱估计[1]要点](https://img.taocdn.com/s3/m/2b61a19e02d276a200292e77.png)
2011年 8月 15日第 34卷第 16期现代电子技术M odern Electro nics T echniqueA ug. 2011V ol. 34N o. 16基于 Matlab 实现现代功率谱估计王春兴(山东师范大学物理与电子科学学院 , 山东济南 250014摘要 :功率谱估计可以分为经典谱估计和现代谱估计。
现代谱的估计可建立 A R 模型对离散信号进行谱估计、建立 M A 模型和 A RM A 模型进行谱估计。
基于 M atlab 对三种模型进行仿真 , 并对结果进行了分析。
结果显示 , 三种模型对现代谱的获得是有效的 , 并得到较好的谱估计。
关键词 :P SE; 现代功率谱估计 ; AR 模型法 ; A RM A中图分类号 :T N911-34; G202 文献标识码 :A 文章编号 :1004-373X (2011 16-0065-03Modern Power Spectrum Estimation Based on MatlabW AN G Chun -x ing(Colleg e o f Physics and Elect ro nics, Shando ng No rm al U niversity , Jinan 250014, Chi naAbstract :Po wer spectr um estimation can be divided into classical spectr al estimat ion and modern spectr al estimation. M odern spectr al estimation model can establish AR mo del, M A mo del and ARM A model fo r discr ete sig nals to per for m spec -t ralestimatio n. T hese t hr ee models can be simulated based o n M atlab, and the r esults ar e analy zed. T he r esult s sho w that the three models of mo der n spect rum are valid, and can get better spectrum estimatio n.Keywords :PSE; mo der n pow er spect rum est imatio n; A R model method; A RM A收稿日期 :2011-03-26基金项目 :国家自然科学基金项目资助 (10874103随机信号在时域上是无限长的 , 在测量样本上也是无穷多的 , 因此随机信号的能量是无限的 , 应用功率信号来描述。
MATLAB仿真实现经典谱估计(采用周期图法)

grid on;
window = boxcar( length( xn) ) ;%矩形窗
nfft = 512;
[Pxx f]= periodogram( xn,window,nfft,Fs) ;%直接法
subplot(312)
plot( f,10* log10( Pxx) ) ;
plot( f,10*log10( Pxx) ) ;
title('直接法经典谱估计,1024点');
xlabel('频率(Hz)');
ylabel('功率谱密度');
grid on;
六、实验总结
从上图我们可以得到这样的结论:在增加数据长度N时,就会使互不相关的点数增加,提高谱曲线的分辨力,但是加剧谱曲线 的起伏。经典功率谱估计不是一致估计,这是周期图法(直接法)的一个严重的缺点。
数字信号处理课程实验报告
实验指导教师:黄启宏
实验名称
MATLAB仿真实现经典谱估计(采用周期图法)
专业、班级
电子与通信工程
姓名
张帅
实验地点
仿古楼301
实验日期
2013.11.17
一、实验内容
采用周期图法(直接法)实现经典谱估计。
二、实验目的
(1)掌握周期图法(直接法)估计出功率谱的步骤和方法;
(2)在实验的过程中找到影响经典谱估计的因素;
%采用直接法(周期图法)估计功率谱;
clear
Fs = 1000;%采样频率
n = 0:1 /Fs: .3;%产生含有噪声的序列
xn = cos(200*pibplot(311);%输出随机信号xn;
基于Matlab实现现代功率谱估计.

基于M a t l a b 实现现代功率谱估计王春兴山东师范大学物理与电子科学学院,山东济南250014摘要:功率谱估计可以分为经典谱估计和现代谱估计。
现代谱的估计可建立A R 模型对离散信号进行谱估计、建立 M A 模型和A R M A 模型进行谱估计。
基于M a t l a b 对三种模型进行仿真,并对结果进行了分析。
结果显示,三种模型对现代谱的获得是有效的,并得到较好的谱估计。
P S E ;现代功率谱估计;A R 模型法; A R M AT N 911-34; G 202A 1004-373X (2011 16-0065-03M o d e r n P o w e r S p e c t r u m E s t i m a t i o n B a s e d o nM a t l a bW A N G C h u n -x i n g2011-03-26国家自然科学基金项目资助(10874103万方数据66万方数据@@[1]伊鑫,曲爱华. 基于W e l c h 算法的经典功率谱估计的M a t l a b分析[J ]. 现代电子技术,2010,33(3 :7-8.@@[2]王晓峰,王炳和. 周期图及其改进方法中谱分析率的M a t l a b分析[J ]. 武警工程学院学报,2003(6 :64-65.@@[3]宋宁,关华. 经典功率谱估计及其仿真[J ]. 现代电子技术,2008,31(11 :159-162.@@[4]冯磊. 经典功率谱估计与现代功率谱估计的对比[J ]. 商业文化, 2009(5 :182-183.@@[5]宁长春,陈天禄,索郎桑姆,等. 数字信号处理中常用的M a t l a b 工具箱函数简介[J ]. 西藏科技,2007(12 :75-77. @@[6]魏鑫,张平. 周期图法功率谱估计中的窗函数分析[J ]. 现代电子技术, 2005,28(3 :14-15.@@[7]邵玉斌. M a t l a b /S i m u l i n k 通信系统建模与仿真实例分析[M ]. 北京:清华大学出版社,2008.@@[8]范瑜 ,邬正义. 功率谱估计的W e l c h 方法中的窗函数研究[J ]. 常熟高专学报,2000, 14(7 :36-39.@@[9]瞿海雁,李鹂,钱小凌. 如何在M a t l a b 中优化基本周期图法对随机信号进行的功率谱估计[J ]. 首都师范大学学报:自然科学版,2006(5 :33-36.@@[10]罗敏, 刘嵩. 基于W e l c h 算法的功率谱估计的实现 [J ]. 北京工商大学学报 :自然科学版, 2007(3 : 58-59.@@[11] K A Y S M . M o d e r n s p e c t r a l e s t i m a t i o n :t h e o r y a n d a p p l i c a t i o n [M ]. N J : P r e n t i c e H a l l , 1998.@@[12]王玉德. 数字信号处理[M ]. 北京:北京大学出版社,2010. 王春兴男, 1962年出生, 博士, 副教授。
matlab经典、现代功率谱估计

上机作业:1、假设一平稳随机信号为()()()0.81x n x n w n =−+,其中 是均值为0,方差为1的白噪声,数据长度为1024。
(1)、产生符合要求的)(n w 和)(n x ;(2)、给出信号)(n x 的理想功率谱;(3)、编写周期图谱估计函数,估计数据长度N=1024及256时信号功率谱,分析估计效果。
(4)、编写Bartlett 平均周期图函数,估计当数据长度N=1024及256时,分段数L 分别为2和8时信号 的功率谱,分析估计效果。
一、解题思路w(n)可以通过随机序列randn(1,N)来产生,x(n)可以通过对w(n)滤波产生(由递推式可得系统的传递函数),也可以直接由递推式迭代产生。
由于线性系统的输出功率谱等于输入功率谱乘以传递函数模的平方,X(n)可以看做w(n)通过一线性系统的输出,H(z)=1/(1-0.8z)。
所以x(n)的理想功率谱P(e jw )=σw 2|H(e jw )|2。
周期图方法:直接对观测数据做FFT 变换,变换的结果取模的平方再除以数据长度,作为估计的功率谱。
256个观测点时可以对原观测数据以4为间隔提取得到。
Bartlett 法:将L 组独立的观测数据分别求周期图,再将L 个周期图求平均作为信号的功率谱估计。
L 组数据可以通过对原观测数据以L 为间隔提取得到。
二、MATLAB 实现程序及注解 clc;clear;close all;Fs=500; %采样率N=1024; %观测数据w=sqrt(1)+randn(1,N); %0均值,方差为1的白噪声,长度1024x=[w(1) zeros(1,N-1)]; %初始化x(n),长度1024,x(1)=w(1)for i=2:Nx(i)=0.8*x(i-1)+w(i); %迭代产生观测数据x(n)end%% 理想功率谱[h,w1]=freqz(x);figure,plot(w1*500/(2*pi),10*log10(abs(h).^2));grid on;title('理想功率谱');xlabel('频率'); ylabel('功率db');%% 周期图法%1024个观测点Pxx=abs(fft(x)).^2/N; %周期图公式Pxx=10*log10(Pxx(index+1)); %化为dbfigure;plot(k,Pxx);grid on;title('周期图1024点');xlabel('频率'); ylabel('功率db');% 周期图256个观测点x1=x(1:4:N);Pxx1=abs(fft(x1,1024)).^2/N;Pxx1=10*log10(Pxx1(index+1)); %化为dbfigure;plot(k,Pxx1);grid on;title('周期图256点');xlabel('频率'); ylabel('功率db');%% Bartlett平均周期图,N=1024%分段L=2L=2;x_21=x(1:L:N);x_22=x(2:L:N);Pxx_21=abs(fft(x_21,1024)).^2/length(x_21);Pxx_22=abs(fft(x_22,1024)).^2/length(x_22);Pxx_2=(Pxx_21+Pxx_22)/L;figure;subplot(2,2,1),plot(k,10*log10(Pxx_2(index+1)));grid on;title('N=1024,L=2');xlabel('频率'); ylabel('功率db');%分段L=8L1=8;x3=zeros(L1,N/L1); %产生L1行,N/L1列的矩阵用以存储分组的数据for i=1:L1x3(i,:)=x(i:L1:N); %将原始数据分为8组endPxx3=zeros(L1,1024); %产生L1行,1024列矩阵用以存储分组的周期图for i=1:L1Pxx3(i,:)=abs(fft(x3(i,:),1024)).^2/length(x3(i,:)); %分别求周期图,结果保存在Pxx3中,FFT长度为1024endfor i=1:1024Pxx3_m(i)=sum(Pxx3(:,i))/L1; %求平均endsubplot(2,2,2),plot(k,10*log10(Pxx3_m(index+1)));grid on;title('N=1024,L=8');xlabel('频率'); ylabel('功率db');%% Bartlett平均周期图,N=256,求法同上%分段L=2,分别计算周期图,再取平均x=x(1:4:N);L2=2;x_31=x(1:L2:length(x));x_32=x(2:L2:length(x));Pxx_31=abs(fft(x_31,1024)).^2/length(x_31);Pxx_32=abs(fft(x_32,1024)).^2/length(x_32);Pxx_3=(Pxx_31+Pxx_32)/L2;subplot(2,2,3),plot(k,10*log10(Pxx_3(index+1)));grid on;title('N=256,L=2');xlabel('频率'); ylabel('功率db');%分段L=8L3=8;x4=zeros(L3,length(x)/L3);for i=1:L3x4(i,:)=x(i:L3:length(x)); %将原始数据分为8组endPxx4=zeros(L3,1024);for i=1:L3Pxx4(i,:)=abs(fft(x4(i,:),1024)).^2/length(x4(i,:)); %分别求周期图,FFT长度为1024endfor i=1:1024Pxx4_m(i)=sum(Pxx4(:,i))/L3; %求平均endsubplot(2,2,4),plot(k,10*log10(Pxx4_m(index+1)));grid on;title('N=256,L=8');xlabel('频率'); ylabel('功率db');三、结果及分析图1 理想功率谱图2 周期图1024点及256点从上图可以看出,周期图法得到的功率谱估计,谱线的起伏较大,即估计所得的均方误差较大。
Yule-Walker法和Burg法对信号进行谱估计的Matlab仿真

摘要:用现代谱估计中的AR 模型参数法中的Y ule-Walker 法和Burg 法对信号进行谱估计,并用MATLAB 进行信号的仿真,对于不同阶数下的信号进行对比分析。
关键词:谱估计;AR 模型参数法;Yule-Walker 法;Burg 法;MA TLAB (一)原理 1.Y ule-Walker 法:将一平稳随机信号x(n)表示成一个白噪声w(n)激励一个因果稳定的可逆系统H(z)产生的输出,再由已知的x(n)及其自相关函数()x R m 来估计H(z)的参数,由(1)式,可以用H (z )的参数来表示x(n)的功率谱。
22()|()|jw jw x S e H e σ= (1) AR 模型又称为自回归模型,系统函数H (z )只有极点没有零点,P 阶AR 模型的系统函数为:1()1pii i G H z a z -==+∑在白噪声激励下的输出:1()()()pi i x n a x n i Gw n ==--+∑令预测误差为e(n):1()()()()pi i e n Gw n x n a x n i ===+-∑尤勒-沃克方程:121(1),1,2,...,()(),0pi x i x pi x i a R m m p R m a R i G m ==⎧--=⎪⎪=⎨⎪-+=⎪⎩∑∑可表示为下面矩阵式形式:2121(0)(1)(2)()(1)(0)(1)(1)0(2)(1)(0)(2)0()(1)(2)(0)0x x x x x x x x x x x x p x x x x R R R R p a R R R R p a R R R R p a R p R p R p R σ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦只要已知或估计出p+1个自相关函数就可以由此方程解出p+1个模型参数{}21,2,,aa σ 。
Levinson-Durbin 递推算法是解尤勒-沃克方程的快速有效的算法,这种算法利用方程组系数矩阵所具有的一系列好的性质,使运算量大大减少。
基于MatlabATLAB的谱估计方法及算法性能比较

a nnpio am i li pe t de d r n ca  ̄ re a r g o o sa w p sl c c
.
—
l 竹
∞ 。 t m 础a w s 呻刚 an劬 n a幻 i . o dy
Ke wo d : ATL y rsM AB; p crl t t nM e o s P r r n eCo ai n S e t i i t d ; e oma c mp r o a Es ma o h f s
无嗓信号,…
M TA A L B是一套 高性能 的数 值计算和 可视化软件 , 它
集数值分析 、 阵运算 、 矩 信号处理和 图形 显示于一体的工程 数学分析软件 , 也为数字信号处理 进行 理论学 习、 工程设计
平稳随机过程 的一个 样本的有 限个观察值 来估计该随机过 程的功率谱密度, 即信号 能量随频率的分布情况。谱估计方
法可大致分为 经典法和现代法两类 。 经典法存在分辨 率不高 的缺点, 通过改进, 分辨 率可得到一定的提高 。 现代法的分辨
率较高, 近年来也出现了许多新的方法 。
所研究 的仿真信号的程序运 行结果如 图一所示 :
等。
o sadA d l  ̄a t ’ trt n n o mo e  ̄ o I 血1 siao , ao i l q ao l n loi m db- d,n Rmo ept' e e ib . ^ c rme r sr b a 。 dr p wese let ' n cn nc u t ns v ga rh a a f ‘ r r pc i t n i ae i o i g t n
( 江西财经大学软件与通信工程学 院,江西 南 昌 30 1) 3 0 3
AR模型功率谱估计及Matlab实现

轡南昌大学卖脸掖告学生姓名:_ 学号: _________ 专业班级:________________实验类型:口验证□综合口设计口创新实验日期: _________________ 实验成绩:—一、实验名称基于AR模型的功率谱估计及Matlab实现二、实验目的1•了解现代谱估计方法,深入研究AR模型法的功率谱估计2.利用Matlab对AR模型法进行仿真三、实验原理1•现代谱估计现代功率谱估计以信号模型为基础,如下图所示为x(n)的信号模型,输入口噪声3(n)均值为0,方差为x(n)的功率谱可由下式计算:%(凶)=圈H(』3)|2如果通过观测数据估计出信号模型的参数,信号功率谱就可以按上式计•算出来, 这样估计功率谱的问题就变成III观测数据估计信号模型参数的问题。
2.功率谱估计的步骤:(1)选择合适的信号模型;(2)根据x(n)有限的观测数据,或者有限个自相关函数估讣值,估计模型的参数;(3)计算模型的输出功率谱。
3•模型选择选择模型主要考虑是模型能够表示谱稣、谱谷和滚降的能力。
对于尖稣的谱,选用具有极点的模型,如AR、ARMA模型;对于具有平坦的谱邮和深谷的信号,可以选用MA模型;既有极点又有零点的谱应选用ARMA模型,应该在选择模型合适的基础上,尽量减少模型的参数。
4.AR模型功率谱估计在实际中,AR模型的参数估计比较简单,对其有充分的研究,AR模型功率谱估计乂称为自回归模型,它是一个全极点的模型,要利用AR模型进行功率谱估可以通过列文森(Levenson)递推算法山Yiile-Walker方程求AR模型的参数。
4.MATLAB中AR模型的谱估计的函数说明:1. Pynlear 函数:功能:利用Yiile-Walker方法进行功率谱佔计.格式:Pxx=Pyiilear(x,ORDER,NFFT)[Pxx,W]=Pyulear(x,ORDER,NFFT)[Pxx,W]=Pyulear(x,ORDER,NFFT,Fs)Pynlear(x,ORDER,NFFT,Fs,RANGE,MAGUNITS)说明:Pxx =Pyulear(x,ORDER,NFFT)中,采用Yiile—Walker 方法估计序列x 的功率谱,参数ORDER用来指定AR模型的阶数,NFFT为FFT算法的长度,默认值为256,若NFFT为偶数,则Pxx为(NFFT/2+1)维的列矢量,若NFFT为奇数,则Pxx 为(NFFT +1)/2维的列矢量;当x为复数时,Pxx长度为NFFT。
基于MATLAB的信号谱估计方法的研究与仿真

基于MATLAB的信号谱估计方法的研究与仿真作者:黄军友来源:《硅谷》2008年第19期[摘要]从当今通信技术发展趋势出发,通过应用MATLAB仿真软件,对影响信号谱估计的四个参数作了定性研究,并比较它们之间的异同。
[关键词]信号谱估计仿真MATLAB中图分类号:TN91 文献标识码:A 文章编号:1671-7597(2008)1010061-02一、引言近代谱估计方法已广泛应用于各个领域,如气象预报、市场预测、语声处理、图像加工、地震信号分析、地质勘探、信号识别和系统辨识等方面。
估计随机序列的功率谱是数字信号处理技术的一个重要方面,目前通用的功率谱估计方法在很大程度上还要依靠经验知识,需要在各种不同的方法间做出权衡。
本文针对各种谱估计方法用MATLAB进行仿真,并比较其性能。
二、信号谱估计Matlab编程思路图7 h=0.5 M=2 L=1的raised cosine信号用不同的谱估计函数估计结果图6(a)为π/4QPSK信号在滚降系数=0.5,码元速率RS分别取20KBd,40KBd,80KBd时候的自相关法频谱估计图,可以看出,在其他系数固定的情况下,波形形状基本不变,但其频谱宽度随着RS的增大而增大。
图6(b)为滚降系数=0.5,M分别为2,4,8的MPSK信号,显然对于RS固定的信号,其频谱图基本保持不变;而当信息速率即RS*M相同时候,从2PSK,4PSK和8PSK信号的频谱图可以看出,M越大,功率谱主瓣越窄,从而频带利用率越高。
图6(c)为高斯滤波器的滚降系数分别为0.1,0.5,2的时候频谱比较,由带宽B=(1+)/2T的式子和上图的比较,显然符合滚降系数越大,带宽越大的理论。
五、各种谱估计函数的分析比较(见图7)分析说明:a是对基带信号进行fft;b是对载波调制信号进行256点的fft;c是对载波调制信号进行1024点的fft;对比b、c可以看出:当信号的长度增加时,估计图的起伏加剧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Matlab的现代谱估计仿真
【摘要】谱估计技术作为一种重要的信号分析手段广泛应用于各种技术领域,具有十分重要的工程应用价值。
文章在介绍Yule-Walker方程法等常用现代谱估计算法原理基础上基于Matlab仿真平台对估计算法进行了仿真和验证。
仿真结果表明,Yule-Walker方程法等谱估计算法可以实现对加噪信号频谱的正确估计。
【关键词】功率谱;估计;Matlab仿真
1.引言
现代谱估计以信号参数化模型为基础,分为参数化模型谱估计和非参数化模型谱估计,参数化模型谱估计法采用的模型包括AR模型、MA模型、ARMA模型和PRONY模型等;非参数化模型包括最小方差方法和多分量MUSIC等方法。
文章在对现代谱估计中Yule-Walker方程法等谱估计方法原理进行介绍的基础上,利用Matlab平台对其进行了仿真和验证。
2.Yule-Walker方程谱估计法
若已知序列x(n)的N个值{x(n),x(n-1),x(n-2),….,x(n-N+1)},为了用Yule-Walker程求得{a1,a2…….,ap}和,我们首先由{x(n)}估计序列(p+1)个自相关函数,利用下式计算出序列的功率谱。
(2-1)
设仿真信号为频率为100Hz的点频信号,该点频信号附加一定功率的高斯白噪声信号,采用Yule-Walker方程谱估计算法估计出的信号频谱如图2.1所示。
图2.1 Yule-Walker 谱估计法仿真结果
仿真结果表明,Yule-Walker算法可以正确地估计出信号频谱。
而且仿真结果也表明,采样点数越大,频谱分辨力越好。
3.Levensin-Durbin递推谱估计法
用尤了沃克法方程法估计AR参数{a1,a2,…,ap}和,如果用高斯消去法解(p+1)个联立方程需要p3次运算。
因此,我们有必要寻找更简便的计算方法,Levensin-Durbin算法只需要p2次运算,而且可以递推地计算p阶以下所有的AR参数估计,即{a1,1,}…{ap,1,ap,2,…ap,p,}。
按照递推公式的计算出{a2,1,a2,2,}和,{a3,1,a3,2,a3,3}和…,直到所算得的预测误差的方差小于预先选择的值或阶到达了预先确定的最大阶
pmax为止。
设仿真信号为频率为100Hz的点频信号,该点频信号附加一定功率的高斯白噪声信号,采用Yule-Walker方程谱估计算法估计出的信号频谱如图3.1所示。
图3.1 Levensin-Durbin 谱估计法仿真结果
与Yule-Walker 谱估计法一样,在保证信噪比的情况下,采用Levensin-Durbin递推法也可以正确地估计出信号频谱。
当采样点数增多时,采用Levensin-Durbin递推运算可以代替高斯消元法以减少运算量。
4.Prony谱估计法
Prony在其研究工作中提出了新的谱估计法:用一个指数模式来拟合他所测得的数据点,并用这些点上的指数模式的估计来计算所调查的值。
Prony法的现代形式已经对原来的方法作了必要的修改并重新进行了组合,原来的方法精确地拟合具有p个指数项的指数曲线到2p个测量数据上。
每个指数项都有两个系数——振幅Ai和指数。
对于仅需要用p个指数近似拟合于N个样元的数据组的情况,当N>2p时,我们可以使用最小二乘估计的方法,我们称这种方法为扩展的Prony法。
采用Prony谱估计法可以正确地估计出加噪后的信号各个频率分量。
另外通过仿真还发现随着信噪比的提高,原本相对于其它谱峰较低的谱峰逐渐得到提高,从而避免了频谱漏估的的可能。
5.总结
Matlab作为一种高效的信号处理仿真平台,为各种谱估计算法的仿真和验证提供了一条便捷可行的手段。
文章以常用的谱估计算法为例,在介绍算法原理的基础上基于Matlab仿真平台对其法进行了仿真和验证,仿真结果表明采用上述谱估计处理算法可以正确地估计出信号频谱,相对于传统经典谱估计方法具有分辨力高的优点。
参考文献
[1]丁玉美.数字信号处理——时域离散随机信号处理[M].西安:西安电子科技大学出版社,2002.
[2]丁鹭飞,耿富录.雷达原理[M].西安电子科技大学出版社,1997.
[3]大正.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2004.
[4]张平.周期图法功率谱估计中的窗函数分析[J].现代电子技术,2005(3).。