利用协方差法估计AR模型参数
ARDL模型的概念和构造

图6-12 AR(1)过程 yt =0.5y t-1 u t
图6-13 AR(1)过程 yt =yt-1 u t
⑶AR(p)过程的自相关函数以及MA(q)过程的偏自 相关函数 平稳的AR(p)过程可以转化为一个MA(∞)过程, 则AR(p)过程的自相关函数是拖尾的 一个可逆的MA(q)过程可转化为一个AR(∞)过 程,因此其偏自相关函数是拖尾的。
⑷ARMA(p,q)过程的自相关函数和偏自相关函数 ARMA过程的自相关函数和偏自相关函数都是 拖尾的
图6-14 ARMA(1,1)过程 yt =0.5yt-1 0.5u t-1 u t
利用自相关函数、偏自相关函数 对ARIMA模型进行识别
对ARIMA(p,d,q)过程进行识别,我们首先要确定 的是该过程是否是平稳的,如果不是,通过几次 差分可以得到平稳序列,即首先我们需要确定d 的值。对此,我们可以用前面一章提到的ADF检 验,也可以通过自相关函数来判断。如果d次差 分后的序列其自相关函数很快下降为0,则说明 差分后的序列是平稳的,反之则不平稳。
1=1 0+ 2 1+...+ p p-1
„„
p=1 p-1+ 2 p-2+...+ p 0
将上述p+1个方程联立,得到所谓的YuleWalker方程组,共p+1个方程,p+1个未知数, 得出AR(p)过程的方差及各级协方差。
自回归移动平均(ARMA)过程
将MA(q)过程与AR(p) 过程合并,我们就可以得 到一个ARMA(p,q)过程,其形式如下:
ARMA过程平稳性的条件
ARMA过程的平稳性取决于它的自回归部分。 当满足条件:
1-1Z- 2Z -...- pZ 0
ar2的偏自相关函数

ar2的偏自相关函数AR(2)模型的偏自相关函数是指在给定时间点t时,该时间点与前两个时间点t-1和t-2之间的相关关系。
AR(2)模型是自回归模型的一种,其中的t时刻的观测值取决于前两个时刻的观测值和随机误差。
AR(2)模型可以表示为以下形式:X_t = c + φ_1*X_{t-1} + φ_2*X_{t-2} + ε_t其中,X_t是在时间点t的观测值,c为常数,φ_1和φ_2是模型中的参数,ε_t是白噪声误差。
在AR(2)模型中,偏自相关函数可以用来确定模型中的参数φ_1和φ_2的值,以及确定模型阶数。
偏自相关函数通常通过计算在滞后时期的样本自相关系数来估计。
偏自相关函数的计算可以通过Yule-Walker方程组来实现。
Yule-Walker方程组是表示AR模型系数与自协方差函数之间的关系的方程组。
对于AR(2)模型,Yule-Walker方程组可以表示为:ρ_1 = φ_1 + ρ_2*φ_2ρ_2 = φ_1*ρ_1 + φ_2其中,ρ_1和ρ_2是滞后为1和2的自相关系数。
通过求解Yule-Walker方程组,可以得到滞后为1和滞后为2的自相关系数的估计值。
然后,可以使用这些估计值来计算偏自相关系数。
偏自相关函数的计算还可以通过Durbin-Levinson算法来实现。
Durbin-Levinson算法是一种递归算法,用于计算每个滞后时期的偏自相关系数。
该算法从自相关系数开始,通过递归更新得到偏自相关系数。
在实际应用中,可以使用统计软件或编程语言来计算AR(2)模型的偏自相关函数。
常用的统计软件或编程语言包括R、Python、MATLAB 等。
偏自相关函数的分析有助于确定AR(2)模型的合适阶数。
当偏自相关系数在滞后的时间点上显著非零时,可以认为该时间点的滞后自变量对当前观测值有显著影响。
同时,偏自相关系数的大小也可以用来衡量滞后时期的影响程度。
除了阶数确定外,偏自相关函数还可以用于模型诊断。
基于ARSαS模型参数估计的雷达目标检测方法

Ab s t r a c t :The d e t e c t i o n p e r f o r ma n c e o f t h e mo v i n g t a r g e t d e t e c t i o n( M TD)m e t h o d d e s c e n d s b a d l y i n n o n — Ga u s s i a n c o r r e l a t e d c l u t t e r b a c k g r o u n d .Th e r e f o r e ,a r a d a r t a r g e t d e t e c t i o n me t h o d b a s e d o n p a r a me t e r e s t i ma — t i o n f o r a u t o r e g r e s s i v e s y mm e t r i c d s t a b l e ( ARS 。 【 S ) mo d e l i s p r o p o s e d,wh i c h i s o b t a i n e d b y t h e e l - s t a b l e d i s t r i — b u t i o n c l u t t e r mo d e l a n d t h e AR mo d e 1 .Th e p r o p o s e d me t h o d s u p p r e s s e s t h e n o n — Ga u s s i a n c l u t t e r b y t h e s i g n e d
平稳线性ARMA模型 AR模型

24
• 下面利用特征方程的根与模型参数 1 , 2
的关系,给出AR(2) 模型平稳的
的取值条件(或值域)。
1
,
2
(11)(12)0
25
• (3.16)和(3.17)式是保证AR(2)模型平稳,回 归参数 1 , 2 所应具有的条件。反之,若 (特3.征16方)和程(3的.1根7)式必成落立在,单则位特圆征内方。程2120
• 根据特征根和自回归系数多项式的根成倒数的性质, 等价判别条件是该模型的自回归系数多项式的根都在 单位圆外
• 平稳域判别 • 平稳域 {1,2,,p 单位根都在单}位圆
40
AR(1)模型平稳条件
• 特征根
• 平稳域
〈 1
41
AR(2)模型平稳条件 • 平稳域
• 特征根
1 1
2 1
4 2
2
• 特征方程的根称为特征根,记作
1,2,,p
• 齐次线性差分方程的通解
• 不相等实数根场合
• 有相等实根场合
zt c 11 t c 2t2 c ptp
z t ( c 1 c 2 t c d t d 1 ) 1 t c d 1 t d 1 c p t p
• 复根场合 z t r t( c 1 e i t c 2 e i t ) c 3 t 3 c p t p
8
非齐次线性差分方程的解
• 非齐次线性差分方程的特解
• 使得非齐次线性差分方程成立的任意一个解z t
z t a 1 z t 1 a 2 z t 2 a p z t p h ( t )
• 非齐次线性差分方程的通解
• 齐次线性差分方程的通解和非齐次线性差分方程的
特解之和 z t
02-10.3AR模型

的根在单位圆外,MA(q)满足可逆条件。 满足可逆条件的时候,MA(q)模型的偏 自相关函数几何速度衰减到零。
简称PACF),用kk表示,是指扣除中间的k-1 项后,即yt-k+1,yt-k+2,…yt-1的影响后, yt与yt-k的 相关性。
B 在滞后一阶时,自相关与偏自相关是相同的,
因为没有中间项需要剔除。
11 = 1
C AR(p)模型的偏自相关系数在大于p阶之后都
等于0。
可逆条件
MA(q)模型的特征方程
例 yt=c+yt-1+t 满足平稳条件,需要 1-z=0
可以分解为 z=1/
|z|>1时满足平稳条件,因此需要||<1, 且0。
例
j=j-1 0=1 1= 0= 2=1=2 … j=j
因 为 ||<1 , 所 以 自相关函数几何速度 衰减到零。
偏自相关函数
A 偏自相关函数(Partial AutoCorrelation Function,
对外经济贸易大学
计量经济学
Introd论
时间序列分析: ARMA模型
AR模型
自回归模型
满足下面表达式的模型 yt=c+1yt-1 +2yt-2+…+pyt-p+t 其中,t是白噪声扰动项,该模型 称为P阶自回归模型,记为AR(p)。
用滞后算子表示为 yt=c+1Lyt +2L2yt+…+pLpyt+t (1- 1L- 2L2-…- pLp)yt =c+ t
可以分解为 (1-z)(1-1.5z)(1-0.5z)=0 得到根为1,2/3,2。因此不满足平稳条件。
ARDL模型介绍ppt课件

7
首先,我们调用Microfit软件读入该数据文件。 对原始数据进行取对数作差分的处理。 对应于ARDL(4,4,4)中变量LC,LY和DP的误差 修正模型(ECM)如下:
DLCt a0 bi DLCt i di DLYt i ei DPI t i
i 1 i 1 i 1 4 4 4
2 2 2
对于任意的,MA(q)是平稳的。
课件部分内容来源于网络,如有异 议侵权的话可以联系删除,可编辑
17
自回归过程
一个p阶自回归(AR)过程可以用下式表示:
Yt=c+1Yt-1+ 2Yt-2+...+ pYt-p+vt 其中, vt 为白噪音过程
引入滞后算子,则原式可写成
i Yt=c+ iL Yt+vt i=1 p
课件部分内容来源于网络,如有异 议侵权的话可以联系删除,可编辑
5
ARDL建模的基本方法
ARDL建模的方法包括两个阶段: 第一阶段,建立与该ARDL模型相对应的误差修 正模型(ECM),并计算出ECM模型中的F统计 量。以此判断变量间是否存在长期稳定的关系。 第二阶段,运用ARDL模型,估计变量之间长期 关系的系数。
2 p
特征方程的根全部落在单位圆以外时, ARMA(p,q)是一个平稳过程。
课件部分内容来源于网络,如有异 议侵权的话可以联系删除,可编辑
23
ARMA(p, q)过程的特征
1、 E(Yt)=
c 1 ( 1 2 ... p)
2、 对于ARMA(p, q)过程的方差和协方差,由于
课件部分内容来源于网络,如有异 议侵权的话可以联系删除,可编辑
计量学-ARMA模型的自相关函数(1)
(1)AR(p)模型的自相关函数是拖尾的,即会按
指数衰减,或正弦振荡衰减,偏自相关函数是
截尾的,截尾处为自回归阶数p; (2)MA(q)模型的自相关函数是截尾的,截尾处
对应移动平均阶数q。偏自相关函数则是拖尾
的;
11
(3)ARMA(p,q)模型的自相关函数和偏自
相关函数都是拖尾的,自相关函数是 q p 步拖尾,偏自相关函数是 p q 步拖尾。
12
2、样本自相关函数和样本偏自相关函数
假设有一组观测样本 Y1,,Yn ,一般认为 近似自相关函数最好的样本自相关函数
为:
ˆk
ˆk ˆ0
其中
n
(Yt Y )2
n
(Yt Y )(Ytk Y )
ˆ0 t1 n
, ˆk t 1
n
13
计算样本偏自相关函数(SPACF)的方法: 直接把样本自相关值代入尤勒——沃克方 程进行计算,或者用公式
若q p 0 ,就会有 q p 1 个初始值 0, 1,, q p 不遵从一般的衰减变化形式。
ARMA(p,q)的自相关函数是 q p 步拖尾
的。这一事实在识别ARMA模型时也非常 有用。
2
ARMA(1,1)过程 Yt 1Yt1 t 1t1
1
(1 11)(1 1) 1 12 211
程的联立方程组。
17
如果可以从这个方程组解出 ˆ1,ˆq和 ,
就是ˆ2我们要求的参数估计值。 也可以先解出真实参数与自协方差、自
相关的关系,再代入样本估计值。 因为 k是时间序列过程的二阶矩,上述
估计量是通过q+1个样本矩方程求出的, 所以是矩估计量,具有一致估计的性质。
18
q=1时的参数估计
SAS学习系列39.时间序列分析Ⅲ—ARIMA模型
39. 时间序列分析Ⅱ—-ARIMA 模型随着对时间序列分析方法的深入研究,人们发现非平稳序列的确定性因素分解方法(如季节模型、趋势模型、移动平均、指数平滑等)只能提取显著的确定性信息,对随机性信息浪费严重,同时也无法对确定性因素之间的关系进行分析。
而非平稳序列随机分析的发展就是为了弥补确定性因素分解方法的不足。
时间序列数据分析的第一步都是要通过有效手段提取序列中所蕴藏的确定性信息。
Box 和Jenkins 使用大量的案例分析证明差分方法是一种非常简便有效的确定性信息的提取方法。
而Gramer 分解定理则在理论上保证了适当阶数的差分一定可以充分提取确定性信息。
(一)ARMA 模型即自回归移动平均移动模型,是最常用的拟合平稳时间序列的模型,分为三类:AR 模型、MA 模型和ARMA 模型。
一、AR(p )模型——p 阶自回归模型 1。
模型:011t t p t p t x x x φφφε--=+++其中,0p φ≠,随机干扰序列εt 为0均值、2εσ方差的白噪声序列(()0t s E εε=, t ≠s ),且当期的干扰与过去的序列值无关,即E (x t εt )=0.由于是平稳序列,可推得均值011pφμφφ=---. 若00φ=,称为中心化的AR (p )模型,对于非中心化的平稳时间序列,可以令01(1)p φμφφ=---,*t t x x μ=-转化为中心化。
记B 为延迟算子,1()p p p B I B B φφΦ=---称为p 阶自回归多项式,则AR (p )模型可表示为:()p t t B x εΦ=.2. 格林函数用来描述系统记忆扰动程度的函数,反映了影响效应衰减的快慢程度(回到平衡位置的速度),G j 表示扰动εt —j 对系统现在行为影响的权数。
例如,AR(1)模型(一阶非齐次差分方程),1, 0,1,2,j j G j φ==模型解为0t j t j j x G ε∞-==∑.3。
现代信号处理大作业
现代信号处理大型作业一.试用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。
滤波器设计参数为:F p =1.7KHz , F r =2.3KHz , F s =8KHz , A rmin ≥70dB 。
(一)、分析与通常的滤波器相比,互补滤波器具有优良的结构特性和结构特性,具有较低的噪声能量和系数敏感性,其定义如下:一组滤波器H 12(),(),.......()Z H Z H Z n 如果满足下式:He Kjw k n(),==∑110<w<2π 则称这组滤波器为幅度互补滤波器;如果满足下式:He kjw k n()=∑=121, 0<w<2π则称这组滤波器为功率互补滤波器,同时互补滤波器还应该满足:Hz A z kk n()()=∑=1其中A(z)为全通函数,适当的选择全通函数,可以使两带函数具有所需要的低通和高通特性。
(二)、设计步骤(1) 对Fp 、Fr 进行预畸);();(''FsFrtg FsFptg r p ∏=Ω∏=Ω(2) 计算'''*r p c ΩΩ=Ω,判断'c Ω是否等于1,即该互补滤波器是否为互补镜像滤波器(3) 计算相关系数⎪⎩⎪⎨⎧-==+++=+-=-=ΩΩ=--=偶数)N 为(;21奇数)N 为 (;;lg /)16/1lg(;150152;1121;1;;])110)(110[(1213090500''02'''211-min1.0min1.0i i u q k N q q q q q k k q k k k k rp Ar Ap;)2cos()1(21))12(sin()1(21)1(21'2∑∑∞=∞=+-++-=Ωm mm m m m m i u Nm q u Nm q q ππ;42⎥⎦⎤⎢⎣⎡=N N;221N N N -⎥⎦⎤⎢⎣⎡=;)/1)(1(2'2'k k v i i i Ω-Ω-=12'1212,1;12N i v i i i =Ω+=--α 22'22,1;12N i v iii =Ω+=β (4) 互补镜像滤波器的数字实现;22i ii A αα+-=;22iii B ββ+-=1221,1;1)(N i ZA Z A Z H i i i =++=∏--22212,1;1)(N i ZB Z B Z Z H i i i =++=∏--- )];()([21)(21Z H Z H Z H L +=(三)、程序与结果 1. 二带滤波器组 (1) 源程序: clear; clf;Fp=1700;Fr=2300;Fs=8000; Wp=tan(pi*Fp/Fs); Wr=tan(pi*Fr/Fs); Wc=sqrt(Wp*Wr); k=Wp/Wr;k1=sqrt(sqrt(1-k^2)); q0=0.5*(1-k1)/(1+k1);q=q0+2*q0^5+15*q0^9+150*q0^13; N=11;N2=fix(N/4); M=fix(N/2); N1=M-N2; for jj=1:M a=0;for m=0:5a=a+(-1)^m*q^(m*(m+1))*sin((2*m+1)*pi*jj/N);%N is odd, u=j end ab=0;for m=1:5b=b+(-1)^m*q^(m^2)*cos(2*m*pi*jj/N); end bW(jj)=2*q^0.25*a/(1+2*b);V(jj)=sqrt((1-k*W(jj)^2)*(1-W(jj)^2/k)); endfor i=1:N1alpha(i)=2*V(2*i-1)/(1+W(2*i-1)^2); endfor i=1:N2beta(i)=2*V(2*i)/(1+W(2*i)^2); endfor i=1:N1a(i)=(1-alpha(i)*Wc+Wc^2)/(1+alpha(i)*Wc+Wc^2); endfor i=1:N2b(i)=(1-beta(i)*Wc+Wc^2)/(1+beta(i)*Wc+Wc^2); endw=0:0.0001:0.5;LP=zeros(size(w));HP=zeros(size(w));for n=1:length(w)z=exp(j*w(n)*2*pi);H1=1;for i=1:N1H1=H1*(a(i)+z^(-2))/(1+a(i)*z^(-2)) ;endH2=1/z;for i=1:N2H2=H2*(b(i)+z^(-2))/(1+b(i)*z^(-2));endLP(n)=abs((H1+H2)/2);HP(n)=abs((H1-H2)/2);endplot(w,LP,'b',w,HP,'r');hold on;xlabel('digital frequency');ylabel('amptitude');(2)运行结果:见图1图1 二带数字滤波器组2.四带滤波器组(1)源程序:clf;Fp=1700;Fr=2300;Fs=8000;Wp=tan(pi*Fp/Fs);Wr=tan(pi*Fr/Fs);Wc=sqrt(Wp*Wr);k=Wp/Wr;k1=sqrt(sqrt(1-k^2));q0=0.5*(1-k1)/(1+k1);q=q0+2*q0^5+15*q0^9+150*q0^13;N=11;N2=fix(N/4);M=fix(N/2);N1=M-N2;for jj=1:Ma=0;for m=0:5a=a+(-1)^m*q^(m*(m+1))*sin((2*m+1)*pi*jj/N); % N is odd, u=jendb=0;for m=1:5b=b+(-1)^m*q^(m^2)*cos(2*m*pi*jj/N);endW(jj)=2*q^0.25*a/(1+2*b);V(jj)=sqrt((1-k*W(jj)^2)*(1-W(jj)^2/k));Endfor i=1:N1alpha(i)=2*V(2*i-1)/(1+W(2*i-1)^2);endfor i=1:N2beta(i)=2*V(2*i)/(1+W(2*i)^2);endfor i=1:N1a(i)=(1-alpha(i)*Wc+Wc^2)/(1+alpha(i)*Wc+Wc^2);endfor i=1:N2b(i)=(1-beta(i)*Wc+Wc^2)/(1+beta(i)*Wc+Wc^2);endw=0:0.0001:0.5;LLP=zeros(size(w));LHP=zeros(size(w));HLP=zeros(size(w));HHP=zeros(size(w));for n=1:length(w)z=exp(j*w(n)*2*pi);H1=1;for i=1:N1H1=H1*(a(i)+z^(-2))/(1+a(i)*z^(-2)) ;endH21=1;for i=1:N1H21=H21*(a(i)+z^(-4))/(1+a(i)*z^(-4)) ;H2=1/z;for i=1:N2H2=H2*(b(i)+z^(-2))/(1+b(i)*z^(-2));endH22=1/(z^2);for i=1:N2H22=H22*(b(i)+z^(-4))/(1+b(i)*z^(-4));endLP=((H1+H2)/2);HP=((H1-H2)/2);LLP(n)=abs((H21+H22)/2*LP);LHP(n)=abs((H21-H22)/2*LP);HHP(n)=abs((H21+H22)/2*HP);HLP(n)=abs((H21-H22)/2*HP);endplot(w,LLP,'b',w,LHP,'r',w,HLP,'k',w,HHP,'m')hold onxlabel('digital frequency');ylabel('amptitude');(2)运行结果:见图2图2 四带数字滤波器组二、根据《现代数字信号处理》第四章提供的数据,试用如下方法估计其功率谱,并画出不同参数情况下的功率谱曲线:1)Levison算法2)Burg算法3) ARMA 模型法 4) MUSIC 算法 1 Levinson 算法Levinson 算法用于求解Yule-Walker 方程,是一种按阶次进行递推的算法,即首先以AR (0)和AR (1)模型参数作为初始条件,计算AR (2)模型参数;然后根据这些参数计算AR (3)参数,等等,一直到计算出AR (p )模型参数为止,需要的运算量数量级为2p ,其中p 为AR 模型的阶数。
时间序列测验2解答[1]-北师珠-时间序列
测试2 解答 (第三、四章)1. 设{}x t 为一时间序列,且,),(,k -t t k t 1-p t p 1-t t t x x x x x x x -=∇∇∇=∇-=∇t x t t 231-t t x B x x Bx )()(记,Φ=∇∇=, 则=Φ)(B ? 。
解:根据k 步差分和p 阶差分与延迟算子之间的关系,得23B 1B 1B ))(()(--=Φ。
2. 已知AR (1)模型为:),0(~x 7.0x 2t t 1-t t εσεεW N ,+=。
求: 222),(),(φρ和t t x Var x E 。
解:(1) 由平稳序列0x E 0E x E x E t t 1-t t ===)(得,)()和()(ε 或 )(0010p10==---=φφφφμ P. 47 (2) 212)(49.0)()(7.0)(εσε+=+=-t t t t x Var Var x Var x Var即 )(t x Var =22296.151.049.01εεεσσσ≈=- P.49(3) AR (1)模型49.07.00k 2212k 1k ===≥=φρφρ),( P. 50 (4) AR (1)模型偏自相关系数截尾: 022=φ P. 54-55。
3. 分别用特征根判别法和平稳域判别法检验下列四个AR 模型的平稳性。
(1),t 1-t t x 8.0x ε+-= (2),t 1-t t x 3.1x ε+= (3),t 2-t 1-t t x 61x 61x ε++=(4),t 2-t 1-t t x 2x x ε++= 其中,}{t ε均为服从标准正态分布的白噪声序列。
解:AR (p )模型平稳性的特征根判别法要求所有特征根绝对值小于1;AR (1)模型平稳性的平稳域判别法要求1||1<φ,AR (2)模型平稳性的平稳域判别法要求:1,1||122<±<φφφ。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机信号分析基础大作业利用协方差法估计AR模型参数进而估计功率谱严奎(学号:**********)陈韬(学号:**********)朱燕豪(学号:**********)2011年01月15日作业综述:本作业中采用面向对象的程序设计方法,将用到的子程序封装在一个类中,防止其他函数的干扰,具有良好的信息内聚性。
类中定义的有获得(0,1)分布随机数的函数uniform(),产生高斯分布随机数的函数gauss(),产生自回归滑动平均模型ARMA (p,q )数据的函数arma(),用乔布斯基(Cholesky )算法求解对称正定方程组的函数cholesky (),计算ARMA 模型的功率谱密度的函数psd (),用协方差方法估计AR 模型参数,进而实现功率谱估计的函数covar ()。
采用的编程工具是V C++6.0以及VS2010,用MATLAB 对生成的数据进行画图。
一.题目要求给定一段信号数据及采样率,利用现代谱估计理论编程估计信号的功率谱。
二.基本原理及方法现代谱估计是通过观测数据估计参数模型再按照求参数模型输出功率的方法估计信号功率谱,主要是针对经典谱估计的分辨率低和方差性能不好等问题提出的,应用最广的是AR 参数模型。
现代谱估计的参数模型有自回归滑动平均(ARMA )模型、自回归(AR )模型、滑动平均(MA )模型,Wold 分解定理阐明了三者之间的关系:任何有限方差的ARMA 或MA 模型的平稳随机过程可以用无限阶的AR 模型表示,任何有限方差的ARMA 或MA 模型的平稳随机过程可以用无限阶的AR 模型表示。
但是由于只有AR 模型参数估计是一组线性方程,而实际的物理系统往往是全极点系统,因而AR 应用最广。
我们用协方差法估计AR 模型参数,进而实现功率谱估计。
若已知平稳随机序列x (n )的AR 模型为∑==-+pi n w i n x i a n x 1)()()()(其中a (i )是AR 系数,w(n)是均值为零,均方差为σ的白噪声。
1. 计算协方差∑-==---=1,,1,0,),()(1),(N pn xx p k j k n x j n x P N k j c2. 用乔布斯基算法解对称正定方程组N 阶对称正定方程组的矩阵形式为AX=B ,即⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡)0,()0,2()0,1()()2()1(),()3,()2,()1,(),3()3,3()2,3()1,3(),2()3,2()2,2()1,2(),1()3,1()2,1()1,1(p c c c p a a a p p c p c p c p c p c c c c p c c c c p c c c c xx xx xx xx xx xx xx xx xx xx xx xx xx xx xxxx xx xx xx矩阵A 的乔布斯基分解T LDL A =这里D 是主对角元素都为正实数的对角阵,即D=diag(d1,d2,…,dn),L 为主对角元素是1的下三角矩阵。
用乔布斯基算法解对称正定方程组的方法是,先用回代法求解方程组LY=B ,得到Y 之后,再用回代法求解方程YD L -1T =3.计算激励白噪声的方差∑=+=rk xx xx k c k a c 12),0()()0,0(σ4.用AR 模型参数的估计值,可以计算功率谱密度212)(1)(∑=-+=p i jwiei a w S σ三.算法设计与实现1.程序流程图采用协方差的方法进行功率谱估计。
如下图所示图1算法流程图1 2.主要模块的设计:1.产生随机序列的函数uniform(),采用线性同余法由种子seed产生随机数。
2.产生高斯白噪声的函数gauss(),gauss(double mean,double sigma,long int * s){int i;double x,y;for(x=0,i=0;i<12;i++)x+=uniform(0.0,1.0,s);x=x-6.0;y=mean+x*sigma;return(y);}3.ARMA模型数据的生成函数为arma()略4.乔里斯基算法解对称正定方程组的函数cholesky()略5.由协方差函数covar()求AR参数;6.再根据AR参数求出功率谱的函数psd()略;7.最终用MA TLAB的画图工具给出直观的功率谱图形,四.结果分析输入平稳随机序列x(n)的AR模型为xxnnxnxnn+w-----+-x=)1.0)3(n924()()4654(.2.2)(76.3()2809其中1,-2.76,3.809,-2.654,0.924为AR系数,根据要求产生W(n)是均值为零,方差为1的白噪声。
根据均匀分布产生(0,1)分布的随机序列,再由均值和方差生成高斯白噪声如下图所示:由图可知产生的随机序列近似于高斯分布,符合题目要求。
由白噪声求自回归滑动平均模型ARMA (p,q )模型的数据,用协方差法估计AR 模型参数,结果为: a(0)= 1.0000000 a(1)=—2.7310949 a(2)= 3.7478402 a(3)=—2.5951549 a(4)= 0.9022404可以看出估计出的AR 模型参数与原AR 模型系数基本接近,但是不相等,这是因为现代谱估计是由有限长序列估计无限长的随机序列AR 模型参数,但是结果基本接近。
其中预测误差功率是Pe=1.0995336,与原方差1较接近。
计算AR 模型系数功率谱密度根据已存储在covar1.dat 的数据,用Matlab 做图高斯白噪声nN (n)高斯白噪声分布图xN在归一化频率的基础上做的功率谱五.任务分工三人合作进行了前期的资料查找,阅读文献,确定现代谱估计,分析算法。
严 奎 (学号:3222008008)完成了程序调试,绘图。
陈 韬 (学号:3222008022)完成答辩PPT 的制作,以及负责主讲。
朱燕豪 (学号:3222008021)完成论文的撰写。
六.心得通过这次的大作业提高了我们的合作能力,文献查取能力,编程能力,使我们掌握了书本上的知识,复习了前面的高斯分布,白噪声的产生,特别是掌握了功率谱的多种分析方法,了解了现代谱估计的方法与原理,极大地提高了我们的综合能力。
在选题时,我们以勇于专研问题的精神,选了现代谱分析。
在做课题时,我们发现了很多问题,自己对谱分析的了解只停留在很基础的方面。
特别是在完成算法分析时我们花了很多时间,开始我们只建立了AR 模型,为了更加完善,我们加上了ARMA 模型,最后在此基础上我们采用协方差分析使结果更趋于逼真。
程序编写时,我们参照了大量的网上资源,但是调试过程中,变量的定义出了很多问题,很多地方都出了问题,我们只能一步一步调试改进。
虽然开始时我们遇到很多困难,编程能力太差,书本知识体系不完整缺少功率谱分析具体算法,上网条件差,图书馆资源有限等。
但是怀着认真、踏实的态度我们完成了预期的任00.050.10.150.20.250.30.350.40.450.5-30-20-1001020304050窄带AR 模型功率谱归一化频率功率谱密度(d b )务,达到了一定的效果。
总的来说,这次的课题我们都收获颇多。
七.参考文献[1]殷福亮,宋爱军数字信号C语言程序集.辽宁科技出版社,1997[2]张贤达,现代信号处理,清华大学出版社,2002[3]常建军,李海林,随机信号分析,科学出版社,2006八.附录程序源代码#include<iostream>#include<cstddef>#include"stdlib.h"#include"stdio.h"#include"math.h"#include"malloc.h"using namespace std;class Power{public:Power(){}~Power(){}double uniform(double a,double b,long int * seed);double gauss(double mean,double sigma,long int * s);void cholesky_1(double a[],double b[],int n);void covar(double x[],int n,int p,double a[],double *v,int mode);void arma(double a[],double b[],int p,int q,double mean,double sigma,long *seed,double x[],int n);void psd(double b[],double a[],int q,int p,double sigma2,double fs,double x[],double freq[],int len,int sign);};double Power::uniform(double a,double b,long int *seed){double t;*seed=2045*(*seed)+1; //seed为种子*seed=*seed-(*seed/1048576)*1048576;t=(*seed)/1048576.0;t=a+(b-a)*t;return(t);}double Power::gauss(double mean,double sigma,long int * s){int i;double x,y;for(x=0,i=0;i<12;i++)x+=uniform(0.0,1.0,s);x=x-6.0;y=mean+x*sigma;return(y);}void Power::cholesky_1(double a[],double b[],int n) {int i,j,k,m;double *d,*y,*xl,eps;d=(double *)malloc(n*sizeof(double));y=(double *)malloc(n*sizeof(double));xl=(double *)malloc(n*n*sizeof(double));eps=1.0e-15;m=0;d[0]=a[m];for(i=1;i<n;i++){for(j=0;j<i;j++){m=m+1;xl[i*n+j]=a[m]/d[j];if(j==0)continue;for(k=0;k<j;k++){xl[i*n+j]=xl[i*n+k]*xl[j*n+k]*d[k]/d[j];} }m=m+1;d[i]=a[m];for(k=0;k<i;k++){d[i]=d[i]-d[k]*xl[i*n+k]*xl[i*n+k];}if(fabs(d[i])<eps){printf("\nill-conditioned! \n");return;}}y[0]=b[0];for(k=1;k<n;k++){y[k]=b[k];for(j=0;j<k;j++){y[k]=y[k]-xl[k*n+j]*y[j];}}b[n-1]=y[n-1]/d[n-1];for(k=(n-2);k>=0;k--){b[k]=y[k]/d[k];for(j=(k+1);j<n;j++){b[k]=b[k]-xl[j*n+k]*b[j];}}free(d);free(y);free(xl);}void Power::covar(double x[],int n,int p,double a[],double *v,int mode){int i,j,k,m;double cc,sum,*c;c=(double *)malloc((p*(p+1)/2)*sizeof(double));m=0;for(k=1;k<=p;k++){for(j=1;j<=k;j++){c[m]=0.0;for(i=p;i<n;i++){c[m]+=x[i-j]*x[i-k];}if(mode==1){for(i=0;i<(n-p);i++){c[m]+=x[i+j]*x[i+k];// 计算Cxx(i,k)}}m=m+1;}}for(j=1;j<=p;j++){a[j-1]=0.0;for(i=p;i<n;i++){a[j-1]-=x[i-j]*x[i];if(mode==1){for(i=0;i<(n-p);i++){a[j-1]-=x[i+j]*x[i]; //计算Cxx(j,0) }}}cholesky_1(c,a,p); //解得a(i) for(k=(p-1);k>=0;k--){a[k+1]=a[k];}a[0]=1.0;sum=0.0;for(k=0;k<=p;k++){cc=0.0;for(i=p;i<n;i++){cc+=x[i]*x[i-k];}if(mode==1){for(i=0;i<(n-p);i++){cc+=x[i]*x[i+k]; //计算Cxx(0,k) }}if(k==0){sum+=cc;}else{sum+=cc*a[k]; //计算a(k)*Cxx(0,k)}}if(mode==1){v[0]=sum/(2*(n-p));}{v[0]=sum/(n-p); //计算sigma2 }free(c);}void Power::arma(double a[],double b[],int p,int q,double mean,double sigma,long *seed,double x[],int n){int i,k,m;double s,*w;w=(double *)malloc(n*sizeof(double));for(k=0;k<n;k++)w[k]=gauss(mean,sigma,seed); //得到高斯白噪声x[0]=b[0]*w[0];for(k=1;k<=p;k++) //得到前p个数据{s=0.0;for(i=1;i<=k;i++){s+=a[i]*x[k-i];}s=b[0]*w[k]-s;if(q==0){x[k]=s;continue;}m=(k>q)?q:k;for(i=1;i<=m;i++){s+=b[i]*w[k-i];}x[k]=s;}for(k=(p+1);k<n;k++) //得到p+1到n的数据{s=0.0;for(i=1;i<=p;i++){s+=a[i]*x[k-i];}s=b[0]*w[k]-s;if(q==0)x[k]=s;continue;}for(i=1;i<=q;i++){s+=b[i]*w[k-i];}x[k]=s;}free(w);}void Power::psd(double b[],double a[],int q,int p,double sigma2,double fs,double x[],double freq[],int len,int sign){int i,k;double ar,ai,br,bi,zr,zi,im,re,xre,xim;double ang,den,numr,numi,temp;for(k=0;k<len;k++){ang=k*0.5/(len-1);freq[k]=ang*fs;zr=cos(-8.0*atan(1.0)*ang);zi=sin(-8.0*atan(1.0)*ang);br=0.0;bi=0.0;for(i=q;i>0;i--){re=br;im=bi;br=(re+b[i])*zr-im*zi;bi=(re+b[i])*zi+im*zr; //分子的傅里叶变换}ar=0.0;ai=0.0;for(i=p;i>0;i--){re=ar;im=ai;ar=(re+a[i])*zr-im*zi; //分母的傅里叶变换ai=(re+a[i])*zi+im*zr;}br=br+b[0];ar=ar+1.0;numr=ar*br+ai*bi; //分母有理化后分子的实部numi=ar*bi-ai*br;den=ar*ar+ai*ai;xre=numr/den;xim=numi/den;switch(sign){case 0:{x[k]=xre*xre+xim*xim;x[k]=sigma2*x[k]/fs;break;}case 1:{temp=xre*xre+xim*xim;temp=sigma2*temp/fs;if(temp==0.0)temp=1.0e-20;x[k]=10.0*log10(temp);}}}}void main(){Power P;int i,n,p,q,len;long seed;double v,mean,var,c[10],x[500],freq[200];double fs,sigma2;static double a[5]={1.0,-2.76,3.809,-2.645,0.924}; static double b[1]={1.0};FILE *fp;p=4;q=0;seed=135791;mean=0.0;var=1.0;n=500;P.arma(a,b,p,q,mean,var,&seed,x,n);for(i=0;i<300;i++)x[i]=x[i+200];n=300;。