DewDSPMasterNET
ArYuleWalkerSpectrum Routine
Summary
Computes a frequency spectrum with the autoregressive Yule-Walker method.

Unit
SignalUtils

Declaration
Procedure ArYuleWalkerSpectrum(Data, Result: TVec; AROrder: integer = 40; ZeroPadding: integer = 8);

Description
Computes a frequency spectrum from Data and places the result in Result. AROrder is the autoregressive order used by the Yule-Walker method and zero padding factor for the FFT is defined with the ZeroPadding parameter.
Categories
Frequency analysis
 See Also 
ArCovarianceSpectrum 
ArMCovarianceSpectrum 
ArBurgSpectrum 
ArYuleWalker 

Example 1

Estimate the frequency spectrum of sine signal with the Yule-Walker method. The assumed order is 4 and zero padding is set to 16.
uses MtxExpr, Math387, MtxVec, SignalUtils, MtxVecTee, MtxVecEdit; procedure TForm1.Button1Click(Sender: TObject); var b,Response,X: Vector; begin b := Sin(Ramp(300,0,2*Pi*50/300)); ArYuleWalkerSpectrum(b,Response, 4,32); X := Ramp(Response.Length,0,1/Response.Length); DrawIt(X,20*Log10(Abs(Response))); end;
#include "MtxVecCPP.h" //MtxVecCPP.cpp must be included in the project #include "MtxVecEdit.hpp" #include "MtxVecTee.hpp" #include "SignalUtils.hpp" void __fastcall TForm1::BitBtn1Click(TObject *Sender) { Vector b,Response,X; b = Sin(Ramp(300,0,2*PI*50/300)); ArYuleWalkerSpectrum(b, Response, 4,32); X = Ramp(Response.Length,0,1.0/Response.Length); DrawIt(X,20*Log10(Abs(Response))); }
using Dew.Math; using Dew.Math.Editors; using Dew.Math.Units; using Dew.Signal; using Dew.Signal.Units; using Dew.Math.Tee; using Dew.Signal.Tee; private void button1_Click(object sender, EventArgs e) { Vector b, X; Vector Response = new Vector(0); b = MtxExpr.Sin(MtxExpr.Ramp(300, 0, 2 * Math.PI * 50 / 300)); SignalUtils.ArYuleWalkerSpectrum(b, Response, 4, 32); X = MtxExpr.Ramp(Response.Length, 0, 1.0 / Response.Length); TeeChart.DrawIt(X, 20 * MtxExpr.Log10(MtxExpr.Abs(Response)),"",false); }

Copyright 2008 Dew Research
http://www.dewresearch.com