上谱估计课程的时候接触了一点AR模型和相关知识,但当时只会用matlab已经有的函数去估计现有信号的功率谱,不知道怎么获取通过AR模型的信号。
好傻啊,之前一直想着是不是matlab有什么工具箱函数之类的可以直接产生通过AR模型的信号,甚至还花钱下载了别人的代码,结果也没啥用...还是得靠自己。
一阶AR模型可以表示为,
当a的绝对值小于1的时候,表示信号是平稳的,u(t)表示高斯白噪声。
%% 高斯白噪声通过一阶AR模型
clear all;
close all;
clc;
N=100;%时间序列的长度
x=randn(1,N);
figure
plot(x);
title('高斯白噪声');
for i=2:N;
x(i)=0.8*x(i-1)+randn(1,1);
end
figure
plot(x);
title('高斯白噪声通过一阶AR模型后');
仿真结果:
小结:虽然程序很简单,但由于之前陷入固化思维,老是想着有无函数,其实还不如自己写一写。