• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

stadion(スタ)のブログ一覧

2017年10月15日 イイね!

海苔波形をどうにかしよう!の巻

皆さんこんばんは。

本日は海苔波形をどうにかしよう!ということをテーマにお話をしたいと思います。

海苔波形というのはクリッピングした波形のことを指します。
具体的にはCDで表現できる音圧を超えて飽和してしまった状態です。
図で示すとわかりやすいと思います。
以下の図が元の波形とクリッピングした波形の違いです。

上の図赤い線が引いてある部分がクリッピングした部分です。これによって音割れが生じたり、正しい音源再生が出来ない場合があります。
最近のCD音源ではこのクリッピングした部分が大量にあり、波形全体を縮小してみると以下のように海苔のように上下ベッタリとした波形が現れることが多く、海苔波形と言われています。


今回はこのクリッピングによって失われた部分を補間してみよう!という試みです。
実はGauDioやDeclipといったソフトでそういった機能がついている物があります。
ですがどうせなら自分でプログラムしてやろう!ということでプログラムしました。完全な自己満足です笑
プログラム環境は例によって使い慣れているmatlabを使用しました。安く使えるのは学生だけなので学生の特権ですね。笑
フリーのoctaveでも同じことができると思いますし、Cにも移植はできると思いますが如何せん研究は常にmatlabで行っているので・・・。

というわけでクリッピングしている波形に対して4種類で場合分けしました。
基本的には線形補間です。そこに忘却係数を入れることによって、時間経過とともに波形の傾きが減少するようにしました。
(この辺のアルゴリズムは完全に思いつきなので公表できるレベルではありません笑)

matlab上ではwavを取り込むと-1から1のデータとして取り込まれるので、クリッピングしている値を閾値として設定しました。通常は0.99以上はクリッピングと判定しています。
忘却係数は0~1で設定しました。この値の変化具合で結果がどのように変わるか全く検討はしていませんが、とりあえず0.2位にしています。

それで、肝心の結果ですが以下のようになりました。
まずクリッピングしていない音源を用意します。古めの曲だとクリッピングしていないことが多いですね。それをわざと音圧を上げてクリッピングさせます。
次にプログラムを実行してクリッピングした波形を復元します。
最後に復元した波形とオリジナルの波形を比較します。どのくらいの補間ができているか一発で分かります。

まずはクリキンの大都会。

1番上がクリッピングさせた波形、その下はクリッピングした場所を示すラベル、3番目がオリジナルの波形、1番下が復元した波形です。
全体の概形はだいたい同じになりました。
次に拡大した図です。

1番上ではクリッピングしてしまった部分も、3番目と4番目の形を見るとほぼ同じになっているのが分かると思います。ちなみに2番目のラベルはどのくらいの長さクリッピングしているか示しています。3 of 3なら3サンプルぶんクリッピングしています。
一番大きなクリッピングしているところはやっぱり復元不可能ですね(^^;)

5サンプル以下ならまあまあ精度はあるのかなぁ…と思います。

次に残酷な天使のテーゼです。

うーん、補間具合はあまり上手くないなぁ…。

だーめだこりゃwwww

とまあ色々問題はありますが、とりあえず補完するサンプルは10サンプル以下にしてます。
某fripSiなんちゃらのonly my railなんちゃとかはクリッピングがものすごく激しいのでこれを使うとちょっと聞こえが楽になったりします。

まあ娯楽程度に作ったものという話でした。
本格的に波形の補間をしようと思ったらFFTして周波数特性からアプローチするべきなのかなと思います。

Posted at 2017/10/16 00:24:47 | コメント(0) | トラックバック(0) | ブログ | 日記
2017年10月01日 イイね!

カロの新型のサイバーナビ(901系)はFIRか?IIRか?

こんばんは。

先日音の良さに驚きAVIC-CZ901を購入しました。

聴感上ではサウンドナビにも負けないくらいの高音質の音になっていると思いました。少なくともDEH-P01は目ではないくらい良くなっています…。

その原因はDSPのbit数向上によるものなのか?デジタルフィルタの違いなのか?ずっと気になっていました。

そこで調べてみました。

結果から言うと「新型サイバーはIIR、もしくは最小位相FIR」です!

なぜもしくはと書いたかなんですが、IIRと最小位相FIRの特性の違いが分からなかったからです(不勉強ゆえに・・・)

両方に共通して言えることは、サウンドナビの直線位相FIRとは違います。サウンドナビではFIRのみで実現可能な直線位相を用いているので周波数によって位相のズレが生じません。

具体的に言うと、インパルスを入力したとき(一瞬だけ音がなるような信号)では、IIRではフィルタを掛けると残響のようなものが生じます。これは位相のズレによるものです。直線位相FIRではこれが生じません。代わりにプリリンギングという、本来の音がなる前に本来のものとは違う音が生じる現象が起こります。以下の画像のようになります。


そして、IIRか直線位相FIRかの判別方法ですが、簡単に計測できる方法は2種類あります。一つ目は矩形波を流す、2つめはインパルス信号を流す方法です。

矩形波とは以下の波形のものです。

矩形波は基本となる周波数に奇数倍した周波数が足し合わされています。
例えば1000Hzの矩形波では1000Hz+3000Hz+5000Hz+…というようになっています。
よって位相がずれると矩形波が再現できなくなるのです。
今回は96kHz/24bitの500Hzの矩形波を流してみました。160Hz、-6dB/octのHPFと3.15kHz、24dB/octのLPFがかかっています。直線位相FIRであれば以下のようになります。

奇数倍の高次成分がLPFで削られるのでガタガタになりますが矩形はある程度保っています。その証拠に左右対称な波形ですよね。
CZ901の計測結果とIIRフィルタでの比較です。

はい、見事に一致しています。つまりこれは、直線位相ではないことを示しています。ついでに周波数特性を見ておくとこうなります。


さて、ここで直線位相ではないことがわかりましたが、今度はインパルスを見てみましょう。
一瞬の信号なので鳴らす方も測定機器もちゃんとしていないと恐らく測定自体が不可能です。幸いにも自分はインターフェースを持っているのでASIO経由でサンプリング周波数192kHzで録音しています。
インパルスは以下の波形です。

FIRの場合、矩形波のときと同じフィルタを掛けるとこうなります。

IIRの場合とCZ901の場合です。

はい、またも見事に一致しました。周波数特性は以下です。

測定機器のノイズとゲインの設定が甘々だったので高域がノイズだらけですが許してくださいw

というわけで見たとおりIIRもしくは直線位相FIRということが分かりました。
サイバーのSNRが高いのもこういうことが理由だったんですね。FIRよりIIRの方がSNRは稼ぎやすい(らしい)ので。
となると高音質なのはやはりDSP。演算のbit数がP01に比べ跳ね上がっていることやSRCでアップサンプリングして計算していることが高音質につながっているのだと思います。

どれだけ探してもクロスオーバーの記述にFIRの文字が無いわけだ・・・。早くカロも直線FIRの出してくれないかなぁ・・・。カロXで出してるんだし・・・。
Posted at 2017/10/01 22:32:14 | コメント(0) | トラックバック(0) | カーオーディオ | 日記

プロフィール

「@3zu すみません、追加でコメントさせてください。症状的にインジェクターのススつまりも怪しいですね。燃料が上手く吹けずリーン燃焼→エンジンチェックランプ→詰まって失火→ストールもありそうですね。
ディーラーの人もDTCは見ていると思うので大体の原因は掴めてるとは思いますが。」
何シテル?   04/25 21:24
北陸で24年育ち、現在は北関東に住んでます。 Lapin(半年)→FIT RS(約6年)→シビックハッチバック(現在)と乗り継いできました。 仕事が忙しい+...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2017/10 >>

1234567
891011121314
15161718192021
22232425262728
293031    

リンク・クリップ

XUKEY ドアロックアブソーバー 
カテゴリ:その他(カテゴリ未設定)
2024/01/07 20:57:49
WAKO'S PAC PLUS / パワーエアコン プラス 
カテゴリ:その他(カテゴリ未設定)
2023/08/15 15:31:22
タイプR用シフトリンケージカラーに交換 
カテゴリ:その他(カテゴリ未設定)
2022/11/03 22:40:03

愛車一覧

ホンダ ヴェゼル ホンダ ヴェゼル
妻の車です。 2021年の正月にCX-3が当て逃げに遭い、擦り傷があったり持病があったり ...
ホンダ シビック (ハッチバック) ホンダ シビック (ハッチバック)
2019.1.27 納車しました。 次の車は絶対にMTにすると決めていたのでMTにしま ...
スズキ アルトラパン スズキ アルトラパン
免許を取って最初に乗った車です。 親戚から譲ってもらいました。 半年程でしたが、免許を取 ...
ホンダ フィット(RS) ホンダ フィット(RS)
前期GE8(CVT)です。 2番目のマイカー。学生時代はほぼずっとこの車でお世話になりま ...

過去のブログ

2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation