2006年08月21日

Burgアルゴリズムで周波数推定

DN Swingler - IEEE Trans. Acoustics, Speech & Signal, 1980
を見てみると、時系列データ
`x(k)=cos(theta k + phi)`
に対して2次のPrediction Error Filter (PEF) のパラメータを計算すると
`2a_(11) = -2 cos (theta - delta)`
となる。ここで`delta`の・はメンドいから説明しない。上記論文を読んで。


というわけで、適当に周波数推定ができるか試してみた。


Rにはar.burgという関数がある。burg法を使って時系列データにarモデルを当てはめてくれるという代物。`theta = 2 pi f \/ N_s`(`N_s`は1秒あたりのサンプリング数)になることを考慮に入れつつ(符号は気にしない♪←コラ)こいつを使って周波数推定をしてみる。

Freq <- acos(ar.burg(ts, order.max=2)\$ar[1]/2)/(2*pi) * frequency(ts)


・・・なんかうまくいってます。($の前の¥は消してくださいね^_^;)
ちょーてきとーなのでご利用は計画的に。
posted by metola at 12:48| Comment(0) | TrackBack(0) | 統計解析システムR | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/22617853

この記事へのトラックバック

Physical Review

Recent stories in Physical Review Focus

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。