📄 华中理工大学学报000415.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0089)http://www.wanfangdata.com.cn/qikan/periodical.Articles/hzlgdxxb/hzlg2000/0004/000415.htm -->
<!ArtChnTitle><!ArtChnAuthor><!ArtAuthorAddress><!ArtChnAbstract><!ArtChnKeyword><!ArtEngTitle><!ArtEngAuthor><!ArtEngAbstract><!ArtEngKeyword><HTML><HEAD><TITLE>华中理工大学学报000415</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
<BODY link=#000000 bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width="90%" border=0>
<TBODY>
<TR>
<TD width="10%"><A href="http://www.wanfangdata.com.cn/qikan/"><IMG
height=26 alt="logo.gif (2519 bytes)" src="华中理工大学学报000415.files/logo.gif"
width=174 border=0></A></TD>
<TD width="80%">
<P align=center><FONT face=宋体 size=3><STRONG><A
href="http://www.wanfangdata.com.cn/qikan/periodical.Articles/hzlgdxxb/index.html">华中理工大学学报</A><BR></STRONG></FONT><FONT
face=System size=3>JOURNAL OF HUAZHONG UNIVERSITY<BR>OF SCIENCE AND
TECHNOLOGY<BR></FONT><FONT face=宋体 size=2>2000 Vol.28 No.4 <SPAN
class=p>P.45-47</SPAN></FONT></P></TD>
<TD width="10%"><A
href="http://www.wanfangdata.com.cn/qikan/periodical.Articles/index.htm"><IMG
height=26 alt="qklogo.gif (1030 bytes)"
src="华中理工大学学报000415.files/qklogo.gif" width=96 border=0></A></TD></TR>
<TR>
<TD width="100%" colSpan=3>
<HR>
</TD></TR></TBODY></TABLE>
<TABLE width="90%" border=0>
<TBODY>
<TR>
<TD><STRONG><FONT size=5>
<P align=center></FONT><SPAN class=tm><FONT face=宋体
size=5>经典谱估计方法的MATLAB分析</FONT></SPAN></STRONG><FONT size=3></P>
<P align=center></FONT><FONT face=宋体 size=3>姚武川 姚天任</FONT><FONT
size=3></P>
<P align=left><FONT face=宋体><STRONG>摘要:</STRONG></FONT></FONT><FONT
face=宋体 size=3><SPAN
class=zy>讨论了用MATLAB实现经典谱估计的各种方法,比较了它们的性能指标,并优选它们的参数.得出了在科学研究和工程技术应用中有一定参考价值的结论.<BR></SPAN><STRONG>关 键 词:</STRONG><SPAN
class=gj>谱估计;周期图;MATLAB<BR></SPAN><STRONG>中图分类号:</STRONG><SPAN
class=fl>TN911.7</SPAN> <STRONG>文献标识码:</STRONG><SPAN
class=wm>A<BR></SPAN><STRONG>文章编号:</STRONG><SPAN
class=wh>1000-8616(2000)04-0045-03</SPAN></FONT><FONT size=3></P><FONT
size=4>
<P align=center></FONT></FONT><STRONG><SPAN class=tme><FONT
face="Times New Roman" size=4>Analyzing Classical Spectral Estimation by
MATLAB</FONT></SPAN></STRONG><FONT size=3></P>
<P align=center></FONT><FONT face="Times New Roman" size=3>Yao
Wuchuan</FONT><FONT size=3> </FONT><FONT face="Times New Roman" size=3>Yao
Tianren<BR></FONT><FONT size=3>(</FONT><FONT face="Times New Roman"
size=3>Dept. of Electronics & Information Eng., HUST, Wuhan 430074,
China.</FONT><FONT size=3>)</P>
<P align=left></FONT><STRONG><FONT face="Times New Roman"
size=3>Abstract</FONT><FONT size=3>:</FONT></STRONG><FONT
face="Times New Roman" size=3><SPAN class=zye>Although the methods for
classical spectral estimation have some disadvantages, they still are used
widely in the case of long data records by virtue of their conspicuous
advantages of simple in computation and easy in implementation.
Computation, visualization, and programming are integrated in a flexible
and open software system environment in MATLAB. The various methods for
classical spectral estimation are implemented by very simple m-files on
MATLAB, their performances are analyzed, the optimal choice of their
parameters is discussed, and some results are
obtained.<BR></SPAN><STRONG>Key words</FONT><FONT
size=3>:</FONT></STRONG><FONT face="Times New Roman" size=3><SPAN
class=gje>spectral estimation; periodogram; MATLAB</SPAN></FONT><FONT
size=3></P>
<P align=left></FONT><FONT face=宋体
size=3> MATLAB是一种以矩阵运算为基础的交互式的可视化软件系统环境,用MATLAB对经典谱估计的各种方法进行分析和比较,能够很方便和很迅速地得出有关结论.</FONT></P>
<P align=left><FONT face=宋体
size=4><STRONG>1 周期图法及其各种改进方法</STRONG></FONT></P>
<P align=left><FONT face=宋体
size=3> 平稳随机过程的功率谱可用下式定义的周期图来估计<SUP>[1,2]</SUP>:</FONT></P>
<P align=center><IMG height=44 alt="4501.gif (873 字节)"
src="华中理工大学学报000415.files/4501.gif" width=221> <FONT face=宋体
size=3>(1)</FONT></P>
<P align=left><FONT face=宋体 size=3> 若先对数据加一个非矩形窗 w(n),则得到修正周期图</FONT></P>
<P align=center><IMG height=42 alt="4502.gif (1023 字节)"
src="华中理工大学学报000415.files/4502.gif" width=264> <FONT face=宋体
size=3>(2)</FONT></P>
<P align=left><FONT face=宋体 size=3>平均周期图定义为</FONT></P>
<P align=center><IMG height=45 alt="4503.gif (1128 字节)"
src="华中理工大学学报000415.files/4503.gif" width=284> <FONT face=宋体
size=3>(3)</FONT></P>
<P align=left><FONT face=宋体 size=3>平均修正周期图按下式计算</FONT></P>
<P align=center><IMG height=71 alt="4504.gif (1447 字节)"
src="华中理工大学学报000415.files/4504.gif" width=234> <FONT face=宋体
size=3>(4)</FONT></P>
<P align=left><FONT face=宋体
size=3> 以上统称为直接周期图方法.另有一类通过自相关函数的估计来计算周期图的方法,称为间接周期图法,计算公式为</FONT></P>
<P align=center><IMG height=46 alt="4505.gif (844 字节)"
src="华中理工大学学报000415.files/4505.gif" width=226> <FONT face=宋体
size=3>(5)</FONT></P>
<P align=left><FONT face=宋体 size=3>式中 R<SUB>N</SUB>(m)
是随机过程的自相关函数的有偏估计.加窗平滑周期图为</FONT></P>
<P align=center><IMG height=45 alt="4506.gif (977 字节)"
src="华中理工大学学报000415.files/4506.gif" width=267> <FONT face=宋体
size=3>(6)</FONT></P>
<P align=left><FONT face=宋体
size=3> 以上各种周期图方法的共同特点是,可以用FFT快速计算和软、硬件实现简便.</FONT></P>
<P align=left><FONT face=宋体
size=4><STRONG>2 周期图法的MATLAB分析</STRONG></FONT></P>
<P align=left><FONT face=宋体
size=3> 用MATLAB实现式(1)~(6)的各种计算时,首先需要编写相应的函数文件.这些文件的核心是调用MATLAB中原有的函数文件fft.m.现将式(1)写成更一般的形式</FONT></P>
<P align=center><IMG height=55 alt="4507.gif (1049 字节)"
src="华中理工大学学报000415.files/4507.gif" width=292> <FONT face=宋体
size=3>(7)</FONT></P>
<P align=left><FONT face=宋体 size=3>式中 n<SUB>1</SUB> 和 n<SUB>2</SUB>
分别是已知数据 x(n) 的起始和终止下标,n<SUB>2</SUB>-n<SUB>1</SUB>+1=N.实现式 (7) 计算的函数文件定名为
periodogram.m:<BR> function s<SUB>x</SUB>=periodogram (x, n<SUB>1</SUB>,
n<SUB>2</SUB>)<BR> x=x(∶);<BR> if nargin==1<BR> n<SUB>1</SUB>=1;
n<SUB>2</SUB>=length(x);
end;<BR> s<SUB>x</SUB>=abs(fft(x(n<SUB>1</SUB>∶n<SUB>2</SUB>),1!024).^2/(n<SUB>2</SUB>-n<SUB>1</SUB>+1);
s<SUB>x</SUB>(1)=s<SUB>x</SUB>(2);<BR>以此为基础,可编写计算修正周期图的函数文件
mper.m:<BR> function s<SUB>x</SUB>=mper(x,win, n<SUB>1</SUB>,
n<SUB>2</SUB>)<BR> x=x(∶);<BR> if nargin==2<BR> n<SUB>1</SUB>=1;
n<SUB>2</SUB>=length(x); end;<BR> N=n<SUB>2</SUB>-n<SUB>1</SUB>+1;
w=ones(N, 1);<BR> if (win==2 w=hamming(N);<BR> elseif (win==3)
w=hanning(N);<BR> elseif (win==4) w=bartlett(N);<BR> elseif (win==5)
w=blackman(N);
end;<BR> x<SUB>w</SUB>=x(n1∶n2).<SUP>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -