基于MATLAB的数字信号的代数插值
基于MATLAB的数字信号的代数插值 第一章 绪论 1.1 选题背景: 通常在实验中获得的测量信号往往是一系列离散的数据{xi,yi,i=1,2,3…,N,},它们反映了2个物理量之间的函数关系:y=f(x)。 如果选的点过多会使实验过程很麻烦,如果选的点过少可能导致实验数据不完整。为了解决这一问题我们希望建立一种便于计算或者提高我们实验准确度一种解决方法。 在这种情况下Lagrange插值,Newton插值和Hermite插值等插值方法的数学原理可以解决以上我们在实验过程中遇到的问题。 我们通过MATLAB操作平台上进行算法编程,对一组实验测量信号分别进行3种插值处理,最后比较这些插值方法的优劣。从而解决我们实验中由于数据庞大,难掌握其变化规律这一重要问题。也使我们将学到的数值分析应用在我们具体的实验中去,掌握了知识,解决了问题。 第二章 算法的基本原理 2.1 拉格朗日插值法: 设g(x)是n次多项式,记作 对于节点(x i,y i)应有L n(x i)=y i, i=0,1,…,n. (2) 为了确定插值多项式L n(x)中的系数a n,a n-1,…a 0,将(1)代入(2),有 方程组(3)简写作XA=Y (4) 其中,detX是Vandermonde行列式,利用行列式性质可得 因xi互不相同,故detX≠0,于是方程(4)中A有唯一解,即根据n+1个节点可以确定唯一n次插值多项式。 为了解方程组(4),下面构造一组基函数: li(x)是n次多项式,满足 显然Ln(x)是满足(2)的n次多项式。由方程(4)解的唯一性,(6)式表示的Ln(x)与(1)式相同。(5)(6)称Lagrange多项式,用Ln(x)计算插值称Lagrange插值。 第三章 程序设计原理 3.1 程序设计思路 为了在实验过程中观测到插值的效果,我们在实验过程中分别采用以上所介绍的三种插值方法得到图像。并将其与原始信号产生的图像进行比较,分析其产生的误差,从而得到我们所需要的实验结果。 以下我们将采用matlab编程得到M文件,对其进行仿真,从而得到信号图像。下图为程序流程图: 选择插值方法 拉格朗日插值法 原始数据产生 输入原始数据 开始 选择不同的插值阶数 输出插值数据文件 输出图像和误差分析图 结束 现用SP-F05型数字合成函数信号发生器的信号输入到型号为DS5102CE的示波器中,信号的频率为100Hz,电压为1v,然后进行信号采样。在MATLAB环境中编写M文件对采样信号先进行拉格朗日插值,每一种插值又分别进行5阶、10阶和100阶三种阶次的处理,并且观察当阶次增加时原信号和用插值方法拟合之后得到的信号之间的关系. 以下三幅图是用拉格朗日方法分别为当n=5,n=15,n=20时的产生的信号 由以上三幅图我们分析可知:采用拉格朗日插值法时,当节点数目增多时,得到的信号和原来信号的拟合程度越高。其误差减小。 一下是本次实验当中用到的程序: