assi
assi
理論?派・自作ローコストオーディオをやってますが、実はハイエンドやオカルトも好きだったりします。よろしくお願いします。

マイルーム

リビングオーディオ
リビングオーディオ
持ち家(戸建) / リビング兼用 / オーディオ・シアター兼用ルーム / 16畳~ / 防音なし / スクリーン~120型 / ~5.1ch
メイン:自作3wayマルチアンプ サブ:LinuxによるPCオーディオ 3wayマルチアンプだったり、フルレンジの時もあり。気分で変わります。
所有製品

レビュー/コメント

レビュー/コメントはありません

カレンダー

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最新のレス

日記
製品レビュー/コメント

製品レビュー/コメントへのレスはありません

お気に入り製品

お気に入り製品はありません

日記

正確ではないインパルス応答測定1

このエントリーをはてなブックマークに追加
2018年03月31日

間違っているとまでは言えないけど正確ではないインパルス応答の測定です。
要するに「テスト信号再生と録音のクロックが同期されてない」測定方法です。

私の場合は普段ファイル再生でAVアンプのDAコンバータを使用しているので録音を同期させることは無理です。
測定専用のシステムを作らないと再生と録音を同期させることが出来ません。
そういうわけで同期は諦めて再生はAVアンプ、録音はオーディオインターフェースを使ってます。
またテスト信号をCDプレーヤでかけてそれを録音するなんて場合も再生と録音の同期が取れていないことになります。

ではどのくらい正確ではないのかは環境によって変わるので見ていきます。
サンプリング周波数は96kで考えていきます。測定信号はログスイープを使います。

まず信号aと逆特性の信号iaを作ります。このとき
インパルス = a * ia (* は畳み込み積分)という関係になります。
実際にはa と iaの間に再生・録音が挟まります。
a * (DA変換、AD変換)された結果のia がどれくらいインパルスからずれてしまうかということです。

クロックが同期していればきれいな信号になります。


再生と録音で20ppmのずれがあったとします。ちなみにこのクロック精度と音質にはなんの関係もありません。
音程が20ppmずれるだけです。440Hzが440.0088Hzになるだけで、聞き分け出来ないと思います。

しかし音楽再生には問題なくても測定には影響が出ます。
測定信号の長さが20秒だとすると、この20秒の間に再生と録音で38サンプルもずれる計算になります。

20ppmの誤差がある場合、20秒のスイープ信号に逆特性の信号を畳み込むとこうなります。


低音と高音がずれて波形が崩れていますが、まだインパルスらしい形をしています。
再生・録音で周波数が高い方にずれるのか、低い方にずれるのかでこの波形の左右の形が逆になります。


ちなみにスイープ信号ではなく、M系列の疑似ノイズを使って測定するとこうなります。

低音・高音とも同じようにずれるのでインパルスの幅が広くなっています。


ちなみにUMC204HDを使って169ppmの誤差があるとインパルスはこうなります。
もはやインパルスとは言えないような形になってしまいます。


では同期出来ない状態で測定する場合に誤差を少なくするにはどうしたら良いか?

測定信号を短くすれば良さそうです。
ただし測定信号を短くするとSN比は悪くなります。

20秒ではなく2秒の信号にしてみます。
20ppmの誤差の場合にこうなります。

インパルスの波形の崩れはほとんどなくなります。

169ppmの誤差があっても2秒のスイープ信号にすればこうなります。

2秒にしても結構波形が崩れてしまいますが、20秒よりはだいぶマシです。

さてせっかく買ったオーディオインターフェースなのでもうちょっとなんとかしたいということで次回に続きます。

次回の日記→

←前回の日記

レス一覧

  1. assiさんこんばんは

    当然といえば当然の結果ですが、なかなか面白そうですね。
    因みにインパルスを作るために今回使ったaとiaの信号(20秒と2秒)はどうなっているのでしょうか。

    そして本件とはズレた話になりますが
    デジタル信号の取り扱いにおいてクロックは大切ですよね。
    理論の上では完璧な時計を念頭に考えられているものの
    現実には時計が正確ではないので出力波形が歪むという…。

    byテナガザル at2018-03-31 18:52

  2. テナガザルさん、こんばんは。

    測定用の信号はDRC: Digital Room Correction の中に含まれるglsweepというソフトで作ってます。
    http://drc-fir.sourceforge.net/
    Octave・Matlabのソフトもあるのですがライセンスが不明瞭だったりするので、GPLで安心して使えるglsweepを使ってます。Unix系のコマンドラインツールですが使い方は簡単です。サンプリング周波数、開始周波数、終了周波数、持続時間などを指定すると、測定用のスイープ信号と逆信号を作ってくれます。作った信号ファイルをsoxなどでwavファイルに変換して使います。
    また結果を畳み込むlsconvというソフトも付属してます。

    デジタル信号処理にクロックが重要なのはわかりますが、私の能力では手がでないのであまり気にしないようにしてます。

    byassi at2018-04-01 20:20

レスを書く

レスを書くにはログインする必要があります
ログインする