资源简介
利用ARMA法进行谱估计。首先用一无穷阶的AR模型近似MA模型(用Burg算法)。求出的AR模型参数当作时间序列,则MA模型就可视为一线性预测滤波器,从而可求得MA模型参数,最后求得ARMA功率谱
代码片段和文件信息
clc;
clear all;
close all;
%产生仿真所需信号
len = 256;
M = 20;
sigma = 1;
v = normrnd(0sigma1len*M);
B1 = [1 0.3544 0.3508 0.1736 0.2401];
A1 = [1 -1.3817 1.5632 -0.8843 0.4906];
% B1 = [1 1.5857 0.9604 0 0];
% A1 = [1 -1.6408 2.2044 -1.4808 0.8145];
s = filter(B1A1v);
%求真实的频谱
n = -len/2 : len/2-1;
w = (2*pi/len) * n;
z = exp(1i*w);
Px = (B1(1) + B1(2)./z + B1(3)./(z.^2) + B1(4)./(z.^3) + B1(5)./(z.^4)).^2;
Px = Px./(A1(1) + A1(2)./z + A1(3)./z.^2 + A1(4)./z.^3 + A1(5)./z.^4).^2;
Px = 10*log10(Px);
%用ARMA模型法进行功率谱估计
p = 4;
q = 4;
fs = 2;
f = linspace(-fs/2fs/22048);
Sum_Px = zeros(1length(f));
figure;
for j = 1 : M
z = iddata((s((1+(j-1)*len):(len+(j-1)*len)
- 上一篇:基于matlab的信号采样与恢复
- 下一篇:matlab 求最大团
评论
共有 条评论