「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



昨日に続いて、AMDF。Arduinoでウクレレ用の
クロマチックチューナーを作っちまおうという
作戦の続き。

http://deambulatorymatrix.blogspot.ca/2010/11/digital-chromatic-guitar-tuner-2008.html
例によってこちらの文章とか参考にしつつ、処理を
行うためのメモリ量とか、計算回数とか、精度とか、
モロモロをフィッティングさせるための基礎数値を
悶々と計算してみる。

半音ごとに6%で、誤差を1centと仮定して、およそ200Hz~
800Hzの間で各音を同定できるように、という計算をする
としたら、一番精度が必要になる800Hzのときに、およそ
1.4Mspsでサンプリングすると、1centに収まると出た。


…このままじゃ駄目。Arduino単体はおろか、外付けの
ADCを搭載しても、ADCが追いつかない。ってことで、
1centを何とかするんなら、別の方法を考えないと。
例のサイトでも触れられている「補完」をつかって、
データ処理で周波数の細分化が出来れば、なんとか
なりそう。とはいっても、当然データ処理で無いデータを
捏造するってことは、限度があるはず。

各サンプリングデータを線形補完するとして、何倍くらい
まで補完によって精度が得られるのか。

例のサイトを参考にしてみると、440Hzくらいで2cent
くらいの精度みたい。んで、サンプリングレートを
上げてやれば、もう少し改善できるはず。メモリ量を
もう少し増やせば、さらに改善できるはず。

色々と計算してみた結果、40000spsでサンプリングして、
512個のバッファを構えると、隣り合うサンプル同士を
13.67個に分割して補完すると、1cent誤差と出てくる。
丁度キリのいい16個とかって考えておけばいいかな。

あとは補完ロジックの計算にしたがって、どのくらい
ずらすと自己相関が最大になるのかを計算してやれば、
1波形の周期が求まるので、逆数とって周波数…と。

理論上は、これで1centまで追い込めるんだけど、
真面目に計算しようとすると、7000回×1波形分の
ループ計算を行わないといけないので、もっと手を抜く
方法を考えないと、レスポンスが悪くて話にならない。

つまり間引き方法なんだけど、精度を下げずに間引き
をするのに、いい方法はどれかな…って感じだな。

明確に一つは思いついてるんだけど、それだと処理時間
がどうかなぁ…
とりあえず、組んで、動かしてから考えるか…


http://headlines.yahoo.co.jp/hl?a=20130726-00000000-jij_afp-int
オイラはネコアレルギーじゃないけど、この研究が
すすめば、世界中のネコファンにうれしいお話だな。


http://zasshi.news.yahoo.co.jp/article?a=20130726-00000009-pseven-soci
あぁ。むしろ「何がやりたいの?」って、直接聞いて
みてくれればよかったのにな。
それにしても、
  「365日24時間、会社のことを考えるのが
   当たり前だろ、社畜どもめ」
と言ってたお方が、その舌の根も乾かぬうちに、
選挙ごっこに現を抜かして遊んでるんだから、
所詮その程度の存在なんだよな。コイツは。

(当たり前だけど、オイラは比例代表についても
 自民なんぞに一票も入れる気無し。民主は歴史
 から忘れ去られつつある政党なのは自業自得として、
 二大政党制を理想とするおいらとしては、それに
 代われる対立政党が出来る日を待っているので)

なんでこんなのを公認したんだろうねぇ…


http://www.kumikomi.net/archives/2013/07/rp27evca.php
こんなのがあるよ!って、メールが来たんだけど、
これって、いわゆるCQ出版関係なの?

見た目はアレだけど、フレーム構造のボデーだし、
足回りはチューンできるし、こういうの、実は
大好き。

21万かぁ。遊びたいなぁ…。すげぇ楽しそう…。
オイラ、こういうminimalなメカニズムって、大好き
なんだよなぁ…



コメント ( 0 )