matlab中的现代谱估计,请教一个Matlab关于现代功率谱估计的问题
求解的题目如下:
Write a small MATLAB program that implements the pthorder Levinson-Durbin (L-D). Run/Test the program using a AR(2) process (b0=1,a1=0, a2=0.81) and an MA(2) (bn=1,1,1) process -about 1000 samples. Use L-D with p=2 (for the AR) and 10 (for the MA). Plot the AR spectra produced in the two cases with L-D. List the direct form and the reflection coefficients in a table. Profile the L-D (total number of computations for a pthorder L-D).
列文森-杜宾算法我已经实现了,用AR(2) process (b0=1,a1=0, a2=0.81) 来验证程序也是正确的,现在的关键问题是对于MA(2)过程的功率谱问题。我做的方法如下:
clear all; close all; clc;
N = 1000;
p_AR = 2;
p_MA = 10;
%平稳随机信号x2是由高斯白噪声通过一个线性定常系统产生,信号模型
%为:x(n)=u(n)+u(n-1)+u(n-2),u(n)为高斯白噪声
a21 = 1; b20 = 1; b21 = 1; b22 = 1;
a2 = [a21];
b2 = [b20,b21,b22];
x2 = filter(b2,a2,u); % x(n)=u(n)+u(n-1)+u(n-2)
%---------------------计算信号的自相关矩阵-----------------
R2 = xcorr(x2,'coeff') ;
R2 = R2(N:end);
%-------------------调用Levinson-Durbin算法---------------
[A2,E2]=Levinson_Durbin_Algo(R2,p_MA);
%------利用Levinson-Durbin算法得到的模型参数计算功率谱------
M=1000;%在0~2*pi的范围内等角距的取1000个点,用于计算傅里叶变换
for i=1:M
sum2=0;
for k=2:p_MA+1
sum2=sum2+A2(k)*exp(-j*2*pi/M*(k-1)*(i-1));
end
S2(i)=E2/(abs(1+sum2)*abs(1+sum2));
end
%----------------画出功率谱的图形---------------------------------------
W = linspace(-pi,pi,M);
figure;
subplot(2,1,2);
plot(W,(abs(S2)))
xlabel('\omega');
title('Case2:x(n)=u(n)+u(n-1)+u(n-2)下用L-D算法求得的功率谱');
最后得到的结果与实际结果相差很大,请版上各位高手指点迷津!
[本帖最后由 mingcheng 于 2009-12-5 20:53 编辑]
matlab中的现代谱估计,请教一个Matlab关于现代功率谱估计的问题相关推荐
- fname什么意思matlab,matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思?
导航:网站首页 > matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? 相关问题: ...
- matlab的length是什么,大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用?...
导航:网站首页 > 大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用? 大家好!matlab中length是什么意思?,matlab中的leng ...
- matlab中e用什么表示什么,matlab中e怎么表示
方法/步骤 1.自然数对数 log(x) 我们在MATLAB主窗口中输入a1=log(2.7183),回车,我们可以看到a1近似为1,e约等 于2. MATLAB中 如何输入对数函数? 方法/步骤 1 ...
- matlab中 y =ft(x)的意思,matlab中y=fft(x)语句的意思
matlab傅里叶变换中fft(x,n),x,n分别是什么含义? fft(x,n)是一维快速傅里叶变换,x相当于信号,n是变换点数.离散傅里叶变换DFT的快速算法就是FFT. matlab中FFT函数 ...
- 在matlab中实现累乘,如何利用matlab设计一个线性相位FIR带通滤波器,并在FPGA上实现...
设计要求 利用matlab设计一个线性相位FIR带通滤波器,并在FPGA上实现. 1.滤波器指标:过渡带带宽分别为100~300HZ,500~700HZ,阻带允许误差为0.02,通带允许误差为0.01 ...
- Matlab中寻找矩阵A的一个元素
在MATLAB中,寻找矩阵A的某一个元素有多个方法,我在学习中碰到的就有两种,如果以后碰到别的方法,还会再补充,下面介绍一下这两种方法. 第一种:A(n) 在MATLAB中,一个矩阵的元素是由前后的, ...
- matlab 中序列求极值的方法,Matlab中求序列的极值
我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣.对于解析函 数,这个比较简单,只 ...
- 矩阵在Matlab中应用规则,1.3 MATLAB中的矩阵运算免费阅读_详解MATLAB在最优化计算中的应用免费全文_百度阅读...
4.6 线性规划问题的MATLAB求解方法 与一般的线性规划理论一样,在MATLAB中有线性规划的标准型,和前面介绍的一般标准型有类似之处,也有不同之处.在调用MATLAB线性规划函数linprog时 ...
- matlab中对于xf(x)的积分,[matlab 积分]MATLAB求积分?
MATLAB求积分? 问题补充:我想用MATLAB求一下这个式子的积分,谁能帮我一下?g(f)=(e^4kxf)/sinh(kctf)未知量是f,最后求出来的式子里保留其他几个字母. ●matcom ...
最新文章
- 烦人的Null,你可以走开点了
- Android Studio编译问题-Error:Could not find org.jetbrains.trove4j
- Java集合源码学习(五)几种常用集合类的比较
- java中File类中list()和listFiles()方法区别
- 一站配齐所有国内镜像,第三方库安装提升 10 倍
- 用Java通讯录字母排序,按所有Catorgories显示联系人数据库标记,然后按字母顺序排序| PHP SQL...
- php 内存设置无效,内存位置访问无效_php提示 内存位置访问无效 解决方法总结...
- 轻量级架构和重量级架构
- 毕业设计——阶段性成果展示
- 队列——数据结构严蔚敏C语言版
- 【ROS2学习】二、用python编写publisher和subscriber
- (三)夯基础——urllib基本库的使用1.0
- 智能车阳光算法(含大津法)
- WinServer 2019 组策略开启远程桌面(增改)
- 科学计算库Pandas的使用(附思维导图)
- mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例
- Helm:问题对应:k3s下使用helm 3提示Kubernetes cluster unreachable
- 往年二本计算机分数线,全国一本、二本院校历年录取分数线汇总
- 计算机学院开学标语,新学期开学宣传标语大全
- Excel 2010 VBA 入门 081 数据处理之获取不重复的数据