这是这学期《随机信号处理》课程的作业,程序调试了蛮久的,在此记录一下。
原理
这个博文写得很清楚,这里我就跳过了。
需要说明的是我的代码中反射系数与这篇博文中的反射系数相差一个负号,因为我们老师是这么讲的,虽然我看的经典教材上都同这篇博文中的表述。
需要补充的是根据AR模型进行功率谱密度估计的公式
代码(python3)
直接运行就可以看结果了,各阶的参数都打印了出来,我同matlab结果对比检查过,没问题。
import numpy as np
import matplotlib.pyplot as plt
import math
'''
Burg算法求解5阶AR模型参数
并绘制p分别取3,4,5时的功率谱曲线
'''
u=[101,82,66,35,31,7,20,92,154,125,85,68,38,23,10,24,83,132,131,118,90,67,60,47,41,21,16,6,4,7,14,34,45,43,48,42,28,10,8,2,0,1,5,12,14,35,46,41,30,24,16,7,4,2,8,17,36,50,62,67,71,48,28,8,13,57,122,138,103,86