资源简介
含注释,参数模型功率谱估计AR模型自相关法仿真,原理来自《数字信号处理理论、算法与实现》第三版:P545-P547

代码片段和文件信息
%%%%%%%%%%%%%%%%%%%现代谱估计///自相关法%%%%%%%
clcclear
N=1024;
n=0:N-1;
fs=1;
x=cos(0.35*pi*n)+cos(0.4*pi*n)+0.25*cos(0.8*pi*n);
a=0.5;
noise = a*randn(size(x)); %加高斯白噪声的信号
y = x+ noise;
p=input(‘请输入AR模型的阶次(大于2):‘);
R_X=xcorr(yN-1‘biased‘);%xcorr(y‘biased‘);
rx0=R_X(1N); %相关系数
rx=R_X(1N+1:2*N-1);
g=zeros(1p); %误差功率
K=zeros(1p); %反射系数
a=zeros(pp); %模型系数(方阵)
g0=rx0; %初始条件最小误差功率
K(11)=-rx(11)/rx0;
a(11)=K(11);
g(11)=g0*(1-abs(a(11)^2));
for j=2:p
K(1j)=-(rx(1j)+sum(a(j-11:j-1).*rx(1j-1:-1:1)))/g(1j-1);
a(jj)=K(1j);
g(1j)=g(1j-1)*(1-K(1j)^2); %误差功率
for i=1:j-1
a(ji)=a(j-1i)+K(1j)*a(j-1j-i); %系数
end
end
%迭代结束,总结结果
Ar=a(p1:p); %AR模型系数(第p行所有的系数)
Ar=[1Ar]; %1*P+1矩阵
G=g(1p); %最小误差功率
F_Ar=abs(fft(ArN)); %系数的fft
p_ar=F_Ar.^2;
P_ar(1:)=G./p_ar(1:);
P_ar=10*log10(P_ar);
y2=P_ar(1:N/2);
f=0:1/N:0.5-1/N;
% y2=[P_ar(N/2+1:N)P_ar(1:N/2)];
% f=-0.5:1/N:0.5-1/N;
%nn=2*pi*f/pi/2;
subplot(211)
plot(fy2)
xlabel(‘频率‘);ylabel(‘功率谱P(dB)‘);
title([‘AR模型自相关法阶数数据长为1024,P=‘ int2str(p)] );
[y3fy]=pyulear(ypNfs);
subplot(212)
plot(fy10*log(y3))
xlabel(‘频率‘);ylabel(‘功率谱P(dB)‘);
title(‘matlab自带函数pyulear‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1490 2019-11-07 21:25 zixiangguan.m
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论