基音と倍音でハイレゾを聞いて見る

15/01/12初稿
15/03/04改訂

 欲しいアルバムがハイレゾでも出るようになり、CDで買うかハイレゾファイルを買うか悩ましいケースも出てきたため、そろそろハイレゾってホントに意味があるのか判断しなきゃって思い始めたのが昨年9月ごろ。

 まずは実際に比較試聴していたら、そもそもちゃんと比較するにはどうしたらいいか気になり、さらにファイルの素性はどうすれば確認できるのかシステムは対応しているのかを芋づる式に調べたり実験したりすることになりました。
 あげく改めて「サンプリング定理」について考えるざるを得なくなり、何とか一歩前進したかなと思います。

 それら知見を踏まえることで、足掛け5ヶ月、やっと「ハイレゾの意味」についてひとまず納得するところまでたどり着きましたので、以下にまとめてみたいと思います(PCMについてです。DSDは含みません)。


■“巷で言われる”ハイレゾフォーマットの効能とは

 まず初めに、「ハイレゾという“大きくなった(細かくなった?)入れ物”」は何で音がいいことになっているのか、おさらいしておきたいと思います。
 「音源の録音状態」や「マスタリングの善し悪し」や「違いが判る再生できるのか(アナログ的に)」といった要素より“前”の問題、純粋なリクツとして、です。

・ハイサンプリング:20kHz以上の高域が入ってるから?
 と言われても、「聞こえない音」が入ってると何で音いいの? かは疑問のままですよね。何か学術的な“データ”はないのかと思って検索してみたのですが、ハイレゾに関するこんな博士論文があり、「20kHz以上の高域(の成分が含まれること)を聴き取れた事例」が紹介されています。
http://ir.lib.uec.ac.jp/infolib/user_contents/9000000355/9000000355.pdf

 私は“選ばれし者”じゃないと思う。たぶん(笑)。

 ところで、「20kHz以上の高域が聴き取れるか・意味があるか」という議論では、対象が例えば「30kHzのサイン波などの単一波形」なのか「30kHzまでの高域成分を含む音楽波形」なのかはハッキリは分けて考えた方がいいと思っています。前者が聞こえなくても後者がCDより良いと感じるなら、オーディオとして意味があると言えるでしょう。
 「ディザリングによる音質向上」なんて技術があります。ざっくり言うと高域のランダムノイズを付加するものですが、そのディザノイズ自体は聞こえるようなレベルではありません。“前者と後者”に似た事例かも知れません。

 いろいろ考えた結果、ハイサンプリングについてはどうもこのあたりがミソっぽいです。単独の周波数だけに着目した考え方と周波数成分として見た時の考え方を分けることがキモだと思うようになりました。
 例えば、「楽器」や「肉声」の一番高い音は4kHzくらいまでのようですが、サンプルレート8kHzじゃ音楽として聴けませんよね。何故でしょう。
 後述します。

・ビット深度拡大:ダイナミックレンジが拡大してるから?
 ハイサンプリングと同じように、「どれだけ小さい音が聴こえるか」「大きな音と小さな音の聴き分けできるか」といった効果で考えない方がいいのかも。
 実効的な解説としては以下などいいかも知れません。
http://ednjapan.com/edn/articles/1205/21/news001.html

 上質なアナログ回路のS/N比は100dBを超えますから、単純スペックとしては16bitじゃ足りないかも知れません。
 が、逆に24bitの144dBはアナログ限界を超えており、実効的には20bitくらいでもいいのでは? と感じています。
 ただ、ハイビットに関してはハイサンプリングとペアな気がしています。サンプリング(時間軸)を細かくするなら必然的にレンジ(振幅軸)も細かくしないと効果が半減する、と。
 ぶっちゃけ、ハイビットの実効的な意味はヨクワカリマセン。

 ということで、本稿では、特記なき「ハイレゾ」はほぼハイサンプリングのこととして記させていただきます。

・そもそもマルチビットの考え方でいいの?
 実は一番気になってるのはこれ(笑)。
 実質的に世の中のオーディオのほとんどはΔΣ型DACで聴いていることを考えると、PCMデータの違いがΔΣ変換された後の1bitストリームに違いを与えるのは間違いないので、単純な周波数やレンジの違いではなくその差を聴いている可能性はあるかも知れません。


■基音と倍音から考えるハイレゾの効能

 さて、我々が聴きたいのは普通「音楽」ですから、人工的な高周波数サイン波などではなく「音楽」としての条件で考えていく必要がありそうです。
 以下、「楽器」「音楽」には肉声も含むこととさせていただきます。

・「基音」と「倍音」
 楽器の奏でる音の周波数とは、「その楽器に“特徴的な波形”の繰り返し周期」です。すべての波形は複数周波数のサイン波を無限(*)に含むことで“音色としての波形”を形成しています(フーリエさんがそう言ってます)。

*:理論的には、です。もちろん現実的にはどこかに発音体の限界があるでしょう。

 波形の周波数のサイン波が「基音(基本波)」。
 波形を形成するための整数倍周波数のサイン波群が「倍音(高調波)」。

です(実際には倍音以外の構成要素もあるようですが本稿では割愛します)。
 時間ドメインで考えた時の楽器の“波形”は、周波数ドメイン(すべてサイン波として考える。“波形”の概念はない)ではその周波数の「基音」+無限の整数倍の「倍音」で形成されるということです。

 フーリエさん的に言う「倍音」は、基本的に豊かに含まれないと本来の波形にはならないのですね。音楽的に言う「倍音」はちょっとニュアンスが違うことがあるようですので、区別して考えた方がよさそうです。

・楽器の「基音」最高周波数は何ヘルツ?
 ざっくりですが、下はピアノの30Hzくらいとのこと。上は、

・肉声(ソプラノ歌手)・・・ 2kHz
・ヴァイオリンやピアノなどの楽器・・・4kHz

くらいらしいです。

 4kHzの音を奏でた場合基音は4kHzです。再現可能周波数が20kHzまでのフォーマットなら、フーリエさん的に言うなら5倍までの倍音の合成波形としてデジタルデータ化されていることになります(6倍音以上はカットされている)。
 説明のため楽器が基本波形を奏でるとすると、例えば三角波(奇数倍音しか含まない)の場合、CDフォーマットでは基音と3倍音と5倍音のみっつだけで再現することになります。2496なら11倍音までの6個です。

 つまり、音楽においては、「4kHzくらいまでの基音周波数に対し“倍音をいくつ重ねられるか”でアナログ波形の再現性が違ってくる」ということです。
 通常の楽曲においては「基音」は約4kHzまでであり、それ以上の周波数は「倍音」の領域ということになりますから、検討対象とする“音色としての波形”の周波数は4kHz程度まででよい、ということになります。

 ちなみに、実際にどのくらい倍音が出ているか、ヴァイオリンにつき測定された方がいらっしゃいました。
http://www.sasakivn.com/werkstatt/qa/vnspectram.htm

 AudioDesign社社長のBlogにもCDのヴァイオリンソロ部の実際の波形やスペクトルが掲載されていました。
http://blog.audiodesign.jp/?day=20120219


 さて、であれば、ハイレゾの効果を可視化できるのではないでしょうか。
 サンプルレート違いによる波形再現性を確認してみればよいワケです。どんな波形がいいでしょう?

 基本波形と似ていると言われる楽器は次のようです。

・ノコギリ波・・・ヴァイオリン、金管楽器など
・三角波・・・フルート、弱く弾いたピアノなど
・矩形波・・・クラリネットなど

 ヴァイオリンの波形が近しいこと、整数倍の倍音で構成される波形であることから、ノコギリ波でいってみようと思います。周波数は音楽っぽい範囲で厳しめに1200Hzにて。


■基音と倍音の関係を可視化する

・ノコギリ波の周波数成分
 まず、上述した基音と倍音のスペクトルを見ておきます。
 1200Hz/-3dBノコギリ波のスペクトルはこんなカンジです。サンプルレート384kHzのファイルにて。

ノコギリ1200Hz

 次に、フーリエさんの言うことを視覚的に体験してみます。
 波形生成と言えば≪WaveGene 1.50≫。8個の波形を合成できますので、以下の基音と7個の倍音を順番に足していき、サイン波だけでノコギリ波を合成してみました。

1.基音のみ

ノコギリ生成1


2.2倍音を合成 1200Hz+2400Hz

ノコギリ生成2


3.3倍音まで合成 1200Hz+2400Hz+3600Hz

ノコギリ生成3


4.4倍音まで合成 1200Hz+2400Hz+3600Hz+4800Hz

ノコギリ生成4


 途中省略させていただいて

5.8倍音まで合成 1200Hz+2400Hz+3600Hz+4800Hz+6000Hz+7200Hz+8400Hz+9600Hz

ノコギリ生成8


 このあともナイキスト周波数まで倍音の合成は続きます。言い換えると、「48kHzサンプリングなら24kHz(20倍音)まで/96kHzサンプリングなら48kHz(40倍音)まで/192KHzサンプリングなら96kHz(80倍音)まで」しか含まれないことによる“理想に近づききれないという意味での変形”が、それぞれのサンプリングにおいて発生しているということです。
 サンプリング周波数を高めた方がこの変形がより少なくなるのは自明でしょう。

 ですので、

「20kHz以上は聞こえないから」というリクツは、「20kHz以上の倍音がないことによる波形変形は音質差として認識できないから」と言い換えた方が本質的

だと思います。

 「20kHzは聞こえないから」と言われると「そうかもナ~」とも思いますが、「波形変形は認識できないから」と言われると「なにお~」って思っちゃったりします(苦笑)。だいぶ印象違いますね(爆)。

 15/02/28追記:裏取りのため、以下で使うノコギリ波2448ファイルを≪Wavosaur x64 1.1.0.0≫でカットオフ10kHzのLPFしたデータのスペクトルを示します。9倍音(10800Hz)以上はカットされ、8倍音までで合成した波形になっているハズです。

ノコギリ2448 位相反転 LPF10kHz

 2448フォーマットですが、もっと低サンプルレートの波形(倍音合成イメージ)になっています。
 逆に、アップサンプリングで2448を2496にしても原則2448の波形(倍音合成イメージ)のままであることも確認しました。「アップサンプリングでは合成すべき倍音は増えない」ためです。

 矛盾ないようですね。


■含む倍音数違いによる波形の違いを視覚で確認する

 含んでいる倍音の数が波形再現性の差ということは解りました。では、実際のアナログ波形はサンプリングフォーマットによってどのくらい違うのでしょうか。

・ノコギリ波の再現性をデジタルドメインで可視化する
 準備できるソースは「音楽」か≪WaveGene≫などで生成する「人工波形」です。しかし音楽波形では本稿で考えているような検証はできません。単純な理想波形=人工波形である必要があります。
 が、人工波形はAD変換されたものではないため、そのままだとナイキスト以上をカットするLPF(アンチエイリアシングフィルタ)がかかっていません。
 しかし、実事情に則したソースをAD変換して得ようにも、そもそも「理想ノコギリ波アナログ信号」を間違いなく発生させる術がありません。AD変換時の事情も含んでしまいますし。
 そこで、まずは試しにデジタルドメインでAD変換をシミュレーションしてみることにみます。
 LPFかけて各フォーマットのノコギリ波ファイルを生成して比較してみます。

・ソース・・・≪WaveGene 1.50≫で生成した24384の1200Hz/-3dBノコギリ波を位相反転
       (WaveGene表示と合わせるため)
・AD変換シミュレーション(LPF)・・・≪SoX Resampler 0.8.3≫(デフォルト設定)で
                      48kHz,96kHz,192kHzにDownsampling


1.2448

ノコギリ2448


2.2496

ノコギリ2496


3.24192

ノコギリ24192


 …百聞は一見にしかず。これがズバリ「ハイレゾの効能」を示しているのでは?

 上述した考え方を当てはめると、「20kHz以上は聞こえないから要らないと考える」=「2448と2496や24192との波形の差は認識できないと考える」ということです。
 う~ん、“イメージ的”には認識できちゃいそうな気がしますよね。ていうか、これを見ちゃうとたとえ実際には認識できなくても気分的にはハイレゾです(笑)。認識できなくてもリッピングエラー発生はヤなのと同じ感覚ですね(爆)。

 しかし、これはあくまでも「フォーマットにパッキングしたデジタルデータ」の可視化です。実際に聞くアナログ信号としてはどうなっているのでしょう。
 いよいよアナログドメインに踏み込んでみます。

・ノコギリ波の再現性をアナログドメインで可視化する
 上記のファイルが実際のDAC出力ではどんなアナログ波形に再現されているかを見てみます。
 オシロスコープで見るのが本当だと思いますけれど持ってませんので、192kHzサンプリングのアナログ→デジタル録音で代用します(デスクトップ型PCがあれば出来ちゃう可能性高いという意味も含めて)。

・PC・・・再生・キャプチャとも自作Z68+Core -7-2600K
・再生デバイス・・・SONY製UDA-1 USB-I/FはM/BオンボードEtronチップ ≪foobar2000 1.3.6≫にて 
・キャプチャデバイス・・・LINE-IN(Realtek ALC889) 16bit192kHz設定 ≪WaveSpectra 1.50≫にて
・設定・・・録音レベル46,エフェクトオフ,APIは録再とも排他WASAPI

 ≪foobar2000≫の各種バージョンは以下の通りです。

foobarバージョン

 192kHzサンプリングならなんとか2448と2496は波形が採れると考えました。24192は参考値になるでしょうか。AD処理での波形変形も含まれてしまいますが、すべてのキャプチャでAD時の事情は同じですから差は見られるのではないかと。


1.2448 (アナログキャプチャ)

ノコギリ2448rec


2.2496 (アナログキャプチャ)

ノコギリ2496rec


3.24192 (アナログキャプチャ)

ノコギリ24192rec


 意外なほど再現性あるみたいですね。元ファイルのデジタルスペクトルからの変化はあまり認められませんが、DA変換時にもう一度かかるOSDFの分だけリンギングが増えているようです。

 さらに、Downsamplingせず=LPFかけてない“素の人工波形データ”のアナログ信号はどうなってるかも採取。


1.素のまま2448 (アナログキャプチャ)

2448Rrec.png


2.素のまま2496 (アナログキャプチャ)

2496Rrec.png


3.素のまま24192 (アナログキャプチャ)

24192Rrec.png


 エイリアスノイズ満載の波形のためか、AD変換したと見立てたファイルのアナログ化よりもDACのOSDFでのリンギングが大きくなるようです。
 いずれにしろ、2448,2496,24192の差違は同傾向同程度に発生していると思いますので、比較としては問題ないでしょう。


 個人的にはこれでスッキリしました。

 ただしあくまでも「フォーマットの効能」として、です。それも人工波形において、です。「音楽としてどれだけ効果があるかは別問題」なのは言うまでもありません。
 自然界の音は複数の基本波形が複数の周波数で発音され、その基音と倍音が複雑に絡み合って形成されていますので、実際の音楽再生では何が起きているかこれで解るものではありません。例えばリンギング発生は、多分に人工ノコギリ波の“縦変化”に含まれるインパルス的な特性によるものだと思いますが、音楽波形にはまずない応答でしょう。
 実際の音質はマスタリングのデキで決まっちゃうと思いますし。

 「トランジスタ技術2013年12月号」P.73,74にも同じような実験が掲載されています。そこでは差違理由は「デジタルフィルタのリンギング収束時間」と説明されていますが、本稿では「含まれる倍音の数による波形再現性の違い」という捉え方をしています。

 一応ちゃんとしたオーディオ機器の出力をということでUDA-1を用いましたが、PCのLINE-OUTでも同様の結果を得ています。

・ハイサンプリングの意味
 以上より、

 周波数ドメインで言うと「倍音が確保できる」。
 時間(波形)ドメインで言うと「元の波形に近づく」。

と言えるでしょう。

 1200Hzでも「ハイレゾ領域の倍音を含むことによって“理想波形”に近づいていくこと」がハイレゾの効果なのですから、「2496や24192なのに20kHz以上の領域に有効な音がない音源はやっぱりニセレゾ」と言っていいことになります。高域が無いのに「高域ではなく20kHz以下の再現性が効果」というのは詭弁です(*1)。
 それはおそらく「アップサンプリング」ですが、それはDA変換で本来やるべきフィルタリングですから、それをソース段階で“前倒し”でやっているだけ(*2)であり、レゾリューションアップしたことにはなりませんから。

 よく、サイン波(のリコンストラクションをかける前のカクカク波形)を例に「サンプリングポイントが増えるとなめらかになる」といった説明を見かけますが、二重に誤解を招きます。アナログ化されたデジタル波形はカクカクしていません(できません)し、サイン波は純音ですからサンプル数が2倍になっても4倍になっても理屈上変わらないハズですので。詳細はサンプリング定理お勉強記事にて。
 このイメージで「可聴域の波形もなめらかになるので」といった効果を考えているとハマります(笑)。

*1:ただし、高域がなくても、AD変換時点からハイサンプリング(ない高域もAD変換している)な場合は、DACチップの動作としてはメリットが出る可能性もあります。「基音と倍音」とは別のリクツになりますので別稿にて。

*2:「DA処理時のデジタルフィルタ動作軽減」という効果はあるかも知れませんが、それをハイレゾの効果として言うのは微に入りすぎだと思います(ウリにはならないでしょう)。ていうか、ユーザ側でもリアルタイム・ノンリアルタイム問わず処理できちゃうワケですし。業務用の方が圧倒的に優れているともあんまり思えませんし。そもそもDACチップによってDA処理方式違いますし。

 なお、「倍音」と「イメージングノイズ」は全く別モノです。念のため。

・ハイビット(ビット深度拡大)の意味
 こちらについては、アナログソースの再ADなどにおいて“ちゃんとAD”しているなら、レゾリューションアップと言えるでしょう。


■含む倍音数違いによる波形の違いを聴覚で確認する

・ノコギリ波の再現性を試聴する
 ということで、視覚的&リクツ的にはおおむね納得いったのですが、実際に再生音として違いは判るのでしょうか。
 試しに、≪WaveGene 1.50≫で生成したまんま、何も加工していないぴっかぴかの1200Hz-3dBのノコギリ波2448,2496,24192の3種をHD700で聞いてみました。ヴァイオリンのつもりで(笑)。

 …大変微妙ですがなんとか判るような?

 では、楽器の最高周波数である4kHzではどうでしょう? 厳しめに4800Hz/-3dBのノコギリ波を3種生成。倍音は9600,14400,19200,24000,28800…です。2448だと4倍音がギリギリということですね。

 …こちらの方が判る気がします。

 奇数倍音しか含まない三角波などでは倍音数は半減しますので、もっと判りやすくなるかも知れません。

 12kHzなどで行えばもっと判るのかも知れませんが、上述の通り、このような試聴音源の周波数は4kHzあたりまででいいことになると思います。

 本件に限ったことではありませんが、試聴にはプラシーボ的な要因も多分に考えられますので「とりあえずやってみたらそう感じた」の域を出るものではありません(なのでまずリクツで考えています)。
 個人的には、「-3dBのノコギリ波」みたいなかなりハッキリした波形でもハッキリ判らないのですから、無数の基音と倍音が混ざり合って複雑奇っ怪な音楽波形におけるハイサンプリングのメリットは(確かにあるでしょうけれど)ほとんど判らないんじゃないかという気がします。ハイレゾ試聴結果に「さらに自信ない」と記している通りです(苦笑)。

・ダイナミックレンジ拡大と倍音再現
 ところで、実際の音楽における20kHz以上の倍音のレベルはかなり小さくなってるのではないかと思えます。
 とすると、同時にダイナミックレンジを拡大しないと(フロアノイズの低減といってもいい?)意味がないような。
 そういう意味があるなら、ハイサンプリングはビット深度拡大とセットでないと真価を発揮しないのではないかと思えます。

 前出のAudioDesign社社長のBlogに、高域の倍音はビット数が減っちゃうので歪みが大きいとありました。
http://blog.audiodesign.jp/?eid=1018817

 要するに、「倍音合成による波形再現性向上」においてハイサンプリングは“倍音の数”、ハイビットは“特に高周波数域での倍音のカタチ(原理的にはサイン波なので単純モデルにおいては=レベル)”の向上を担っている、ということかも知れません。


 以上、繰り返しになりますが「理想ノコギリ波」なんて自然界には存在しない音でのオハナシです。
 あくまでもひとつの“とある実験”として。


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

ジッタ対策にできること

15/01/10初稿

 冗長度ありすぎな気がしてきましたので、ジッタについて考えた記事をリクツと実事情に分割しました。


■ジッタ対策

 上記記事にて、ジッタの発生とその影響について私としての現時点での理解をまとめました。一応、ですけれど。
 さて、それを踏まえると、ジッタを低減するため実際には何ができるでしょう?

 といっても、実質的な影響のリクツがヨクワカリマセン(アパーチャ誤差とはあんまり思えない(苦笑))から、どこまで抑えればいいのかすら解りません。
 とりあえず、「少ないに越したことはない」精神で考えることにします。「聴こえなくてもリッピングエラーはヤダ」と同じ価値観です(笑)。
 実効的な効果があるのかないのか、それは別問題になりますね。

・機器間I/Fを選ぶ
 とりあえずMCLKとDACチップの関係から、以下は言えるのではないかと思います。

・まずは極力DACチップに突っ込まれるMCLKが「原発振ダイレクト」なこと
・そのためには「Tx側と非同期にできる機器間I/F」を使うこと

 現実的にはUSBアシンクロナスモードを使うのが一番よさそうです。

 「機器間I/Fを使わない」って考え方もありますが、ここではコンポシステムに限ろうと思います。
 PCにサウンドカードを実装するような場合は“一体型PC-Audio”ですね。PCIやPCIeはアシンクロナスですし。
 I2Sは機器間I/Fではないと思いますのでここでは対象外としています。一般ユーザとしては原則として“一体型を自作する”時のみ出てくる概念として捉えておこうと思っています。

 もちろん、PLLを使うI/Fが絶対ダメというワケではありません(PLL機能・性能にもいろいろあるでしょうし)。I/Fのリクツに即した「RxでのPLL動作の安定度向上」対策することになりますね。
 この工夫(チューニング)のネタはシステムによって千差万別でしょう。
 例えばERIでは現在HDMI-Audioをやっていますので、GfxカードのコアクロックやメモリクロックをいじったりしてHDMI転送クロックPLL生成の安定化を試みています。といっても、実際意図したように効いているかを確認する術はありません。こうじゃないかと考えてやってみてそれっぽい変化したらしめしめとほくそ笑む、そんな楽しみ方の範疇です。一般論にはなり得ないでしょう。

・原発振を低ジッタ化する
 次なる野望はそもそも「原発振のジッタ性能を良くすること」でしょう。王道はズバリ低ジッタの発振器を使うことです。

 しかし、原発振=水晶発振器のジッタ性能は何をもって判断すればよいのか、最近まで「?」だったと思います。
 何故かジッタは本来別モノのppm=発振精度(周波数安定度)で語られることが多く、どんな根拠で“代替特性”としているのかずっと疑問でした。
 今はとりあえず、水晶振動子/発振器メーカNDK社の「オーディオと水晶の関係 ~音の品質とクロックの位相雑音~」というページ(*)の記述でいいのかなと思っています。

*:http://www.ndk.com/jp/ad/2013/001/index.html

 低位相ノイズ型製品のアピールページではありますが、「周波数安定度と位相ノイズは関係ないが、“結果的に”OCXOなどは位相ノイズ特性もよくなっている」旨記されています。ただ、オーディオ業界ではこれまで散々ppm値でジッタを語ってしまったので、今更「関係ないッス」とは言えないのかも知れませんが(苦笑)。

 水晶の性能パラメータとしては、周波数成分のノイズが上記「位相雑音」であり、それを時間軸上のゆらぎとしてとらえたものが「ジッタ」とのこと。
 TCXO(Temperature Compensated crystal Oscillator)やOCXO(Oven Controlled crystal Oscillator)、はてはルビジウムがどれだけいいのかは本情報をもって考えた方がよいと思っています。

 さて、発振器は改造しないと取り替えられないので、最初からそういう製品を導入する必要があります。
 一般的なPC-Audioとはちょっと違いますが、以下のような製品が明確に「低位相雑音発振器搭載」を謳っています。

・DENON製ディスクプレーヤ(兼USB-DAC):DCD-SX1  https://www.denon.jp/jp/dcdsx1/technology.html
 「超低位相雑音(≒低ジッター)」とあります。搭載されている発振器は、型番はDENON特注っぽいですが、マーキングからNDK製では。



・SONY製HDDプレーヤ:HAP-Z1ES  http://www.sony.jp/audio/products/HAP-Z1ES/feature_1.html#L1_50
 「低位相雑音クロック採用」とし、通常品との違いを示すグラフを載せています。
 システムアップの楽しみはありませんが、その代わりソースまで内蔵することでSONYがトータルチューニングできます。
 ネットワークプレーヤとの違いは、ソースをネットワーク上から取ってくるか内蔵HDDから取り出すかであり、MCLKについては原則的有利不利はありません。ざっくり、汎用ネットワークと接続しデータ通信することによるデメリットとローカルHDDのデメリット(*)の違いになると思いますが、どっちが音質に不利なのでしょうね。
 前者はネットワークシステムのチューニングで変わりそうですが、後者は“SONY任せ”ってことですね。趣味としては前者?(笑)

*:ちなみに、光学ディスクとHDDを“回転系”として括っちゃうのはどうかと思っています。
 例えばHDDには回転数可変サーボはない点、光学ピックアップと磁気ヘッドじゃ物理負荷が大違いな点、ディスク精度が桁違いな点(HDDは脱着しませんし)など事情は大分違うと思いますので。

  ←SSDバージョン出せばいいのに

 他にも、最近は「低位相雑音水晶(クリスタル)搭載」を謳っている製品は結構あるようです。ただ、“低位相雑音性能”もピンキリかも知れませんが。


■マスタークロックジェネレータとは何か

 「発振器は取り替えられないので」と記しました。
 が、「“マスタークロックジェネレータ”を使えば改造しなくても原発振を換えられるのでは?」と思えますよね。
 けれど、どうにも個人的には「?」なところが多いんですよね…

 そもそも疑問なのは、ユーザは「ジッタの低さ」を求めているハズなのにメーカは「発振精度の高さ=安定度の高さ」を謳っている場合が多いことです。上述の通りそれらは原則別モノですし、別にppm値が低くなくてもオーディオ再生にはあまり問題ないハズだと思うんですよね(*)。
 例えば+20ppm精度の原発振を持つDACユニットに精度0ppmの外部クロックを入れたとしても、60分の音楽再生時間が0.072秒長くなるだけです。これを音質変化(音程の違い?)として感じ取れるとは思えません。
 温度変化や経年変化は短時間で変動しませんし、サンプル単位で変動したりしませんから、“音程変化”はあっても長周期的なもので、短周期的には安定しているハズですし。
 上記NDK社のページにも以下の記述があります。

オーディオ機器においては、長期間における安定度よりも、短期間における変動が少ないことが求められますので、周波数安定度としては±30ppm~±100ppm程度の特性を持ったSPXO(*6)がクロック源として多く使われています。
出典:http://www.ndk.com/jp/ad/2013/001/index.html

 意訳すると「ppm値は普通のでいいッス」ということですね(笑)。

*:参考:http://fidelix.jp/technology/jitter.html

・マスタークロックジェネレータの効果とは
 さて、もし「ジッタ低減」を目的とするなら、製品の機能として以下は絶対押さえる必要があると思います。

・普通の水晶より明らかに低ジッタ性能の発振モジュール
・DACチップにダイレクトに供給できるMCLK出力

 特にふたつめは必須と思えます。だってDACユニット内でPLLかけたらそのPLL性能に上書きされちゃいますから。
 だとすると、「低ジッタ(実は超高発振精度)モジュール」の代表格である「ルビジウムモジュール」は256fsや512fsを発振しているハズです。ですが、実際には10MHzが規格っぽいんですよね。これを突っ込まれたDACユニットは、22.5792MHzや24.576MHzといったMCLKを内部でPLL生成しなくてはなりません。
 MCLKでなくLRCLK(サンプリング周波数)を供給する場合も多いですが、この場合はクロックを受けた機器が内部PLLで256倍や512倍してMCLKを生成しているハズです。整数倍(ていうか2のべき乗)はPLLに有利な逓倍数だとは思いますが、せっかく外部からクロック入れてPLLすんの? って思っちゃいます。
 なんかヘンだなと。

 加えて外部からのクロック入力にはノイズ混入などいろんなデメリットもあるでしょうから、内蔵原発振よりもそんなに良くなるとはあんまり思えないんですよね。確かに、原発振でなくてもジッタ性能がバツグンによい発振器の出力をバツグンに高性能なPLLするなら、原発振に匹敵する低ジッタクロックが得られるかも知れません。しかし、外部クロック入力機能があるようなコンスーマ機器はかなりの高級機ですから“自前の発振器のジッタ性能”がそんなに悪いとも思えません。
 私が無知なだけかも知れませんが…

 ということで、続けて、クロックを入力される側の例として、イコライザとして人気のBEHRINGER製DEQ2496(業務用)のマニュアルを見てみます。

~前略~ この信号は、セルフタクトおよびセルフシンクロ方式です。(複数のデジタル機器を接続する際に重要です)です。したがってDEQ2496と接続したAES/EBUデバイスの間に、ワードクロック接続は必要ありません
~中略~ もし、デジタル録音システムに含まれる複数のデバイスに例えばデジタルミキサーをつなげると、接続されているすべてのデジタル機器は、統一されたワードクロック信号を用いて同期する必要があります
~中略~ このワードクロック入力は、アナログ入力を使用する場合にのみアクティブになります。

出典:http://www.behringer.com/assets/DEQ2496_P0146_M_JA.pdf P.18

 データの流れの中にシリーズに入れてデジタルIN/OUTで使う場合、上記の通りRxとして同期生成したクロックで処理を行った後そのクロックで出力しますから、敢えて外部からクロックを入れる必要はないということですね。機能ブロック的には「通すとデータ処理されるS/PDIFケーブル」と見なせるでしょう。
 一方、複数機器(おそらくソース源)をパラレルに用いる場合はシンクロが必要になるということのようです。アナログの場合はAD変換してから処理するワケですから、確かにAD変換用クロックはアナログ出力側と同期させないとダメでしょう。でないとサンプル数が変わっちゃいますから。
 そうだよね、ってカンジです。

 ということで、上記ルビジウムクロックジェネレータや業務用イコライザの仕様からすると、

「クロックジェネレータ」は原則として業務用機器であり、主用途は「低ジッタ」もさることながら「正確な時間精度(安定度)をもっての複数機器間の同期

ではないかと思っています。主用途は同期ですが、制作音源のピッチが狂わないように周波数精度が必要、と。特に「温度差」によって曲の長さ(サンプル数)が変わっちゃったりしたら困りますので、OCXOなどが使われるのでしょう。
 ただし、AD変換においては「アパーチャ誤差」の発生を抑えるという意味で低ジッタ性能が必要になりますし、複数のAD変換装置を同時に使って録音(あとでミキシング)するような場合やアナログ変換を介しての編集などでは外部同期が必要になりますから、AD変換としては同期と低ジッタは両方必要ではあるでしょう。

 では、コンスーマ用機器の(本来の)用途は何でしょう?
 複数のソース源をミキシングしながら聴いたり一旦アナログに戻してエフェクトしたりはフツーはしないと思いますので、

「S/PDIFを使ったトランスポートとDACユニット間の外部同期」によってPLLを排することであり、単体の低ジッタ性能は副次的

だったのではないかと思えます。普通の原発振のジッタ性能でもS/PDIFのPLLより絶対優秀でしょうから、これは意味あると思います。
 Txだけに投入してもRxでPLL必要になりますし、Rxだけに投入したら先の記事の通りサンプル過不足が発生してしまいます。ので、やっぱり「同期用」が基本ではないでしょうか。
 SONYがCDP-R1とDAS-R1で実装していた「ツインリンク」と同目的です。同期とPLL排除が目的ならこのようにDACユニットからクロックを供給すればよいワケですから、ぶっちゃけクロックジェネレータユニットの意義は「?」です。
 「低ジッタ」を謳っていない製品もありますしね(後述)。

 ところで、例えば±20ppmというスペックは「必ず+20か-20ppm誤差がある」ではなく、当然「-20ppm~+20ppmに入っている」という意味です。ということは、もし内蔵発振器がバラツキ0ppmの“アタリ”個体だったら、恐ろしいことに個体バラツキの意味では外部クロックの効果は「ない…ていうか悪化?」ってことになりますよね。
 やっぱり、低ppmの本来の意義はジッタでも個体バラツキでもなく「温度変化や経年変化への耐性が高いこと」な気がします。

・マスタークロックジェネレータの発振は“低ジッタ”なのか
 ものすごくソモソモなハナシですが、上記を踏まえてちょっと見てみます。

・Esoteric製G-01  http://www.esoteric.jp/products/esoteric/g01/
 ルビジウム発振です。しかし、実は当製品のwebページには「低ジッタ」というアピールはひとつもありません。「安定性」「高純度」といった文言になっています。 [ps]や[dBc/Hz]といった単位のジッタに関するスペック提示もありません。
 業務用ブランドTASCAM製品(CG-2000他)も同様「安定性」をウリにしています。
http://tascam.jp/product/cg-2000/

・Antelope製Isochrone 10M  http://www.antelopeaudio.com/jp/products/10m-atomic-clock
 これは一応業務用。
 こちらもルビジウム。ことさら「低ジッタ」をウリにはしていませんが、「フェイズノイズ(位相雑音)」つまりジッタ性能は示されており、マニュアルによると「-140dBc/Hz@10kHz」のようです。
 が、これは上記NDKページにあるグラフに当てはめるとノーマル水晶発振器レベルです。
 見方違うのかな?

 これらを見ると、やっぱり「マスタークロックジェネレータ」という製品の基本的用途は「正確な時間精度(温度や経年変化への高耐性)」「同期」じゃないのかなと思います。もっと現実的には、ビデオコンテンツ作成時の画と音のシンクロっていう目的もありそうです(オーディオだけの見地からするとあんまり関係ないので調べていませんけれど)。

 一方、明確に「低ジッタ」をアピールしている製品もあるようです。MCLKの低ジッタ化を目指す場合は「低ジッタ性能がスペックで確認できる」&「MCLKダイレクト出力(入力機器がPLLしなくてよい)を持つ」モノがよいのだろうと思います。
 例えばMUTEC製MC-3+はジッタ性能「1ps以下」だそうです。「クロック精度(±0.1ppm)」とは別に示されています。MCLKは256fsになるようですが。
http://www.hibino-intersound.co.jp/mutec/3684.html


 MCLKはデジタルオーディオのキモです。
 外部クロックと内蔵クロックではその信号品質が大きく異なるでしょうから、ジッタの変化に限らず、間違いなく音質に影響するでしょう。
 ケーブル換えても激変するそうですがさもありなんです。


■おまけ

・水晶の発振周波数個体差を可視化する
 同じ周波数仕様の水晶デバイスでも、“ppm値の範囲内で”発振周波数は微妙に違っています(くどいですがそれはジッタではありません)。
 試しに以下の実験してみました。APIはもちろん排他WASAPI。

・波形再生ソフト:≪WaveGene 1.50≫ 1200Hz-3dBのサイン波 1648にて
・再生機器:UDA-1
・録音ソフト:≪WaveSpectra 1.50≫ 1648にて
・録音機器:SB-DM-PHD

 フォーマットとしては再生録音とも48kHzですが、UDA-1とSB-DM-PHD搭載水晶の発振周波数個体バラツキの違いが、録音したサイン波のサンプルポイントが時間と共にズレていく現象として可視化できるハズです。

    UDA1→SB(2)
    UDA1→SB(1)

 同じ録音の中から抽出したものです。
 一方はサンプルポイントの中間がピークっぽいですが、一方はサンプルポイントがほぼピークになっています。ゼロクロスラインの方が判りやすいでしょうか。この違いが周期性を持って変化していくことが確認できました(そんなに長い周期じゃないです)。録音側をPCのオンボLINE-INにした場合も同様でした。
 なお、SB-DM-PHDのOUTとINを直結するアナログループバックではズレないことも確認しました。再生(DA)と録音(AD)のMCLKが同じ水晶発振源だからです。オンボのループバックでも同じでした。

 SB-DM-HDの方は48kHzの512fsの水晶搭載が判明しているのですが、UDA-1の方は情報ありません。44.1kHz系1系統だとしたら48kHz系はPLLかも知れませんが、マクロな発振精度は原発振に支配されるでしょうから本件には影響与えないと思います。

 こりゃ、音楽制作現場などでは確かにクロックシンク必須と感じます。

・GPS方式クロックジェネレータ
 これって“原発振は空の上”ってことですよね。結構高級な水晶でも、同じスペック同型番であっても周波数の個体差は避けられないと思いますが、GPS方式の場合は個体差がないということになるのでしょうか。
 「TxとRxに別個体を使っても“同期できちゃう”」っていう特殊事情がありそうです。


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

「マスタークロックレシピ」と「DAC事情」からジッタに挑んでみる

14/12/20初稿

 ハイレゾについて考えていたら「サンプリング定理」のちゃんとした理解を避けて通れなくなり、さらにその流れでジッタの音質への影響について考えざるを得なくなりました。
 自分の頭の中整理のために記してみましたが、結論があるワケじゃありませんし間違ってるかも知れませんが…(苦笑)

 本稿、「「発振精度(ppm値で示される)」と「ジッタ」は原則として別パラメータである」ことを大前提にしています。ていうか、本稿は当該記事の「増補改訂版」みたいになっちゃいました(笑)。


■万能の悪玉? どの信号が対象?

 一昔前は「転送過程でのデータエラー」「リッピングでデータエラー」がデジタルオーディオのおける音質変化理由としてよく取り上げられてました。
 しかし、“実はエラーしてないし”ということがだいぶ浸透したせいか、最近では「ジッタ」が主力になっているように思います。
 しかし、どうにも

 デジタルデータの欠損・改変はない。のに音が変わる。のは何故か?
   ⇒静的なデータは変わらないのだから、動的な何かが変わっているハズ。
     ⇒動的…つまりきっと時間的な乱れがあるに違いない。
       ⇒理屈はヨクワカラナイが、他に可能性がないからこれが原因に違いない。

 という状況のような。ですので、何か変わった時は「ジッタ~が~」となる風潮があるような(自戒も含め(苦笑))。
 でも、それではジッタに関して“理屈から考えるチューニング”はできませんよね。いえ、たとえ考えたリクツが正しくなくてもいいんです。何の仮説もなくカット&トライするにはPC-Audioってパラメータ多すぎるので…

・ジッタを語るべき信号は何か
 まずはこれ。
 え~、ズバリ、DACチップの基準クロックである「マスタークロック=MCLK」のみだと理解しています。
 MCLKがDA変換の時間軸上の精度を支配しているからです。ていうか、最近のDACチップは「サンプリング定理再理解」でも記した通り立派な“デジタルプロセッサ”であり、MCLKはその駆動クロックです。データの0/1を確定させてレジスタに取り込んだり読み出したりするのはMCLKのエッジをトリガにして行われますので、たとえ他の信号に時間軸上の揺れがあったとしても原則無関係です(もちろん0/1が崩れるほど酷いのは論外です)。
 なんと言っても、ΔΣ型DACチップにおけるデジタル最終段階(アナログ化直前)である1bitストリームの波形もこれに支配されますので。

 その意味で、以下のようなパラメータは本来の意味でのジッタではない、と考えています。

・ワウフラッタのようなもの。「パーセント」スケールで語られる、ピッチの揺れ
 そのまんま再生速度の揺らぎとして認知されるものですね。シンプルです。
 メカ機構を持たず水晶発振精度でデータを処理するデジタルオーディオにおいては原則無関係と言っていいと思っています。
 「発振周波数の長周期ジッタ」という可能性もあるような気もしますがとりあえず無視です(笑)。

・何らかの原因による各種信号(MCLK以外)波形の揺れ
 オーディオシステムの中の信号は山ほどありますから、例えばCD-Rのビット長のバラツキが原因で発生したジッタの影響が及ぶ“可能性”は際限ありません。ので、ここではDACチップに直接影響を与えるI2Sに限定して考えてみます。
 I2SのDATAやLRCLKは、上述の通りDACチップにとって時間制御の意味は持ちません。例えばDATA信号波形に何らかの揺らぎ(*)があったとしても、それは立ち上がりや立ち下がりエッジのタイミングズレや形の違いによるアナログ的な後段への影響の変化(突入電流が発生するタイミングが変化することでGNDが振られるタイミングが変化するとか?)にしかなりえません。
 つまり影響があるとしても「サンプルの時間軸的なものではない」と言うことです。

*:データ転送クロック周期クラスのミクロさでぷるぷる変化して初めて時間軸変動になります。もし波形が理想矩形波からかなり変形していてノイジーだとしても、その“変形具合が安定”しているならジッタ的なものではなくノイズの範疇になるでしょう。

・MCLKはいかに作られるか
 普通は水晶振動子が作ります。ロジックレベルの矩形波を出力するようにモジュール化したものが水晶発振器です。
 DACチップはサンプリング周波数の256倍か512倍のMCLKで動作させることが一般的だと思います。
 512倍の場合、44.1kHz系なら22.5792MHz、48kHz系なら24.576MHzです(*)。

 この出力をダイレクトにDACチップに投入するのがジッタが一番少ないであろうことは想像できると思います。
 しかし、現実にはDACチップに原発振をそのまま使うにはちょっと“工夫(注意)”が必要になるのですよね。
 デジタルオーディオの機器間I/Fは、もともとはTxとRxのデータレートを一致させる概念がなかったからです。

*:2種類のMCLKが必要なワケですが、音質に拘る機器ではPLLを使わず発振器を2個搭載して対応していると思います。逆説になりますが、そういう機器がありそれをウリにしているということからしても、音質には「PLLより原発振」なのだと言えそうです。
 本稿は、原発振を使うシステムの場合は2個の発振器で2系統の原発振に対応している前提で記します。


■ジッタはなぜ発生するか:機器間I/Fと原発振とPLL

・転送されないMCLK
 CDプレーヤからアナログ出力するのとは異なり、PC-Audioでは普通「トランスポートとDACユニット」「その間にDDCユニット」を挟んだりしてシステムを組みますよね。
 Tx側は当然Tx側の内蔵クロックでデータ出力制御を行っています。Rx側もクロックは必要です。けれど、生MCLK(256fsや512fs)を転送するオーディオI/Fは原則存在しません。

 もし、TxもRxも原発振を使っていたらどうなるでしょう。
 水晶(クォーツ)は大変高い発振精度を持ちますが、それでも別個体の発振精度は微妙に異なります。物理物質であるゆえのバラツキです(短周期に動的変化するものではありません。メカ部品の寸法誤差のようなものです)。経年変化や温度による影響も避けられません。
 これがppmで示される発振器のスペックの意味です。ですので、±20ppmの同型式発振器を使ったとしても、Tx側が+20ppm、Rx側が-20ppmの個体かも知れません(*)。つまりデータレートが最大40ppm異なるということです。
 ちなみに冒頭に記した通りppmはジッタそのものではありません(ジッタ性能を示す単位としては用いられない。詳細後述)。

*:仕様が「20MHz±20ppm」の製品なら、低い方に最大にバラついた個体は19.99996MHz、高い方は20.00004MHzですがどちらも良品です。

 データレートが違うとどうなるでしょう?
 Tx側が速ければRx側で受け損なってサンプルが欠損します。
 Tx側が遅ければサンプル不足になり同じサンプルを繰り返して使ったりすることになるでしょう。
 これでは困りますよね。

 でも、実際にサンプル過不足の可能性があるのでしょうか?
 例えばCDフォーマットで3分の曲があったとすると、総サンプル数は44100x60x3=7938000です。この再生が終わるまでに1サンプル分の差が発生しないようにするには、Tx側とRx側の発振精度差は7938000±1以下であればよいハズです。これはppm値にすると0.126ppmです。 
 通常の水晶の発振精度は±20ppm程度です。3分で区切れるワケでもありませんから、個別の非同期発振でサンプル過不足発生を防ぐことは事実上できないということです。

 そのため、オーディオにおける機器間I/FではRx側がTx側のデータレートに同期するのが基本になっています。
 Rx側は、Tx側のMCLKに同期したMCLKを改めて生成するのです。

 周波数を可変するのですから、生成にはPLLが使われます。
 PLL自体は悪者ではありませんが、ジッタ性能はどうしたって原発振よりは劣るでしょう(だって周波数を可変できちゃうんですから)。もちろん同期する対象のジッタレベルにも影響されます。特にS/PDIFの場合、MCLK(20MHz級)よりはるかに遅いレートのシリアル通信から“クロックアップ”PLLするため、どうしてもジッタは大きくなるようです。
 EDN Japan(*)によると、通常の水晶のジッタは20~30ps程度ですが、S/PDIFデコーダPLLの実力値は200ps程度とのこと。S/PDIFのPLLジッタは原発振とケタが違うようですね。

*:http://ednjapan.com/edn/articles/1208/24/news015.html

 つまり、同期MCLKを生成するPLL機能の性能・精度・動作の健全さがジッタ性能のキモになるということです。

 DAC(DDC)ユニット側が自身の持つ原発振をそのまま使えた方がPLLよりジッタ性能には有利なハズです。しかし、なんということか普通はそれが出来ないといことです。それを可能にするには、Tx側からRx側に“足りないからもっと”“余ったから待て”というフィードバック制御(マクロなデータレートを一致させる)する必要があります(独自I/FでMCLKをI/Fする場合やSRCを入れる場合を除く)。
 具体的には、フレームやパケットという転送単位の中にパッキングするサンプル数を可変させる制御です。

 この事情につき、各I/F種類とDACブロックとMCLKの関係を以下に図示してみました。
 3種類のMCLK発振パターンがあることが解ると思います。HDMIはこの図ではUSBの仲間とみなせるでしょう。

DACブロックとMCLK

*あくまでも概念図です。「1bit変換」はPDMとPWM、DSD64→128といった処理があるかも知れないので仮に入れています。
*OSDFはOverSamplingDigitalFilterを勝手に略したものです。


■PLLを使わざるを得ないI/F

 上図について簡単に説明します。以下はフィードバック制御がなくPLLで同期MCLKを生成せざるを得ないI/Fです。

・USB:アダプティブなどアシンクロナス以外のモード
 「足りない」「余った」のやりとりはできないので、Tx側のデータレートにRx側が合わせるしかありません。
 詳細はppmとPLLについての記事にて。

・S/PDIF
 プリアンブルからMCLKをPLL生成するようです。プリアンブルは1chごとに入っていますので、ステレオならサンプリング周波数の2倍の周期でしょうか。
 1本しかなくてかつ一方通行ですからフィードバック制御できるハズはありません。

・HDMI
 一応不可です。規格上は出来るハズですけれど実装されていません(H.A.T.SやPQLSやDENON LINKなどは独自仕様(*))。
 ただ、HDMIってTx側のクロックを独立した信号線で転送する珍しいI/Fなんですね。しかもMHz級の高クロックです。
 Rx側でPLLリクロックし再生成する点は変わりませんが、S/PDIFに比べるとエンベデッドクロックじゃない分再生されたオーディオ用クロックの純度は高いかも知れません。また、「MCLKより高い周波数から“クロックダウン”PLLする」というのも有利かも。

*:http://av.watch.impress.co.jp/docs/series/avt/20090331_80213.html

・ちなみにI2S:Txマスターモード(本来は機器内I/Fなので“一応”ですが)
 I2Sとは、本来「DATA」「LRCLK」「BCLK」の3線シリアルで構成される“機器内I/F”です。
 DSPやDACチップ間のデータ転送に用いられます。同じ機器の中にありますから同じMCLKで動くのが前提であり、「3線」の中にMCLKは普通含まれません。
 さて、TxマスターモードではDATAだけでなくLRCLK,BCLKがTx側から転送されます。機器間I/Fに使った場合、Rx側のMCLKはPLL生成することになります。
 繰り返しますが、本来は「機器内I/F」ですから、一般的・汎用的ではないと思います。ゆえにMCLKも送りつける独自仕様もあり得ますけれど、例えそうでも、そのMCLKは原発振じゃないとあんまり嬉しくないですよね。

 iLINK(IEEE1394)もフィードバック制御可能でしたがもういいでしょう。


■原発振を使えるI/F

 以下は、フィードバック制御がありRxがTxと非同期に動ける(Rx側が原発振を使える)ケースです。
 以下2種が存在すると思います(汎用的な規格として)。

・USB:アシンクロナスモード
 詳細はアシンクロナスモードについて考えた記事をご参照ください。

・ネットワーク…と言うかソースデータを自分のタイミングで取得できる単体機器
 オーディオI/Fじゃないですけど(笑)。
 そもそもネットワークは非同期ですもんね。ていうか他にもSATA-I/Fなど“PC用I/F”は原則非同期です。「足りないからもっと」って制御はありませんから、正確には上述している「フィードバック制御」とは違いますね(もともと充分に速いので必要になったら転送すればOK。もし何らかの理由で転送が間に合わなければサンプル欠損)。
 ただし、「単体機器ではなくネットワークでデータ取ってきて別I/FでDAC(DDC)ユニットに転送する」場合は、その機器間I/Fの方が支配的になるでしょう。

・ちなみにI2S:Txスレーブモード(本来は機器内I/Fなので“一応”ですが)
 これはフィードバック制御ではありません。概念的にはRx側のMCLK(実際にはLRCLKとBCLK)をTx側に送ってTx側を動かすモードです。「Rxマスターモード」と言った方がイメージしやすいかも。当然サンプル過不足は発生しません。


 「PLLがキモ」の前提条件として、これらの場合は除きます。設計に依りますので“一応”ですが。

 なお、ネットワークプレーヤに限らずHDD内蔵プレーヤ(ストレージは外付けでも可)など「単体機器」なら、音源からDACチップまで管轄下ですから“DACクロックマスター”で動けます。USBメモリからの再生なども含まれるでしょう。例えばCDプレーヤだってそれは可能です(*)。

*:http://www.denon.jp/jp/product/pages/Product-Detail.aspx?Catid=382c2279-a153-4d3c-b8fa-81b930454f67&SubId=f8d37cce-9c7b-4dfa-8ab5-5dfab512b42a&ProductId=DCD-1650RE

 でも、敢えてウリにすることでもないような気が。こうなってないCDプレーヤってヤですよね(苦笑)。SACDだって44.1kHzの整数倍なんですし(したんですし、かな?)。
 でも、以下に記すEVM-1702の資料などを見ると、実は、結構最近までDAC部ではなくディスク読み取り制御部の方がマスターだったのかも知れません。

・同期を諦めたS/PDIF
 これは例外ですが、意外なことに、外部クロックモードでS/PDIF受信している時、Rx側とクロックシンクしていなくても外部クロックで動作するDACユニットもあるようです。ていうか、Tx側にも同じ外部クロックが投入されているかどうかはRx側(DACユニット側)には判りようがありませんからどうしてもそうなっちゃうのかも知れませんが。
 某メーカに電話で質問してみたのですが、「当然想定仕様外でありケースバイケースだが、サンプル過不足が発生しながら再生できてしまうかも」とのことでした。
 この「サンプル過不足をを顧みず強制的に非同期にする」モードの場合はPLLは使われません。

 余談ですが、どうもESS社製DACチップはこの発想のような気がします。「勝手に非同期にして多少過不足が発生しても、どうせその後段のオーバーサンプリングでインターポレーションするんだから、そこで帳尻合わせればいいぢゃん」という仕組みのような?
 サンプルの過不足は絶対ダメという呪縛から解き放たれた発想ですね。確かにその方が現実的音質はよさそうな気がします。


 以上が「機器間I/FによるMCLKの作り方によるジッタ発生事情」です。
 「Rx側で原発振が使えるか」「原発振が使えないならPLL動作の安定度は」という点で、機器間I/Fによって明確な有利不利があることが解ると思います。


■ジッタはなぜ音質に影響するか:アパーチャ誤差

 さて、

・時間軸上の問題としてのジッタを語るべきはDACチップ制御用MCLKのみ
・MCLKはいくつかの作り方があり、ジッタ性能にはそれによる有利不利がある

ことは判明したかと思います。

 ですが、それ以前に、ジッタはなぜ音質に悪影響を及ぼすのでしょう?

 調べていると100psとか2psといった数字を目にしますが、「ジッタの音質への影響」として説明されている理屈は原則「アパーチャ誤差(エラー)」だけのようです。ジッタは時間軸上の揺れですが、ピッチやテンポといった要素ではなく「ダイナミックレンジを削る」影響を与えるというものです。
 本件につき、私なりに理解した内容を以下に記してみます。

 先に行ったサンプリング定理の考察から、デジタルオーディオの基本波形はサイン波ですので、サイン関数における振幅=ダイナミックレンジを確保するためのジッタ=時間量を計算すればよいようです。
 以下図示します。
 見やすくするため、ビット深度3bit=8段階の場合としました。
 n はビット深度、f は信号周波数、A は振幅のピークトゥピークです。

ジッタ計算グラフ

 さて、この図は

「1bit分のダイナミックレンジは、誤差がその半分以下のレンジ(Y軸)の場合に確保されたと考える。そのために許される時間誤差(X軸)が許容ジッタである」

ことを示しています。一番急峻な変化するのはゼロクロス点ですよね。ここが一番厳しいハズです。
 つまり、Y軸の値(1bitの電圧の半分の値)からX軸の値(ゼロクロスからのズレ=ジッタ)を求めればよいワケです。
 そのためのサイン関数を導出するとこんなカンジになります。

ジッタ計算式

 あとは変数としている fと nに値を入れるだけです。
 πとか出てくるので難しそうに思いますが、考え方は大変シンプルだったんですね。

 信号周波数やビット深度が大きくなると許容ジッタ値は小さくなることが判ると思います。
 また、上記では煩雑さを避けるため振幅方向のパラメータを消してしまいましたが、振幅値が大きくなるほど厳しくなることもイメージできると思います。

 ですので、CD規格で一番厳しいのは f=22050Hz、n=16、振幅最大の時です。計算すると約110psとなります。
 BB(現TI)社製DACチップ「PCM1702の開発ボード「EVM-1702」資料(*)P.5にアパーチャ誤差としてのジッタについて記載があり、上記計算式が載っています。結果は「16bit、信号周波数20kHzで119.4[ps]」となっています。16bit精度を0.0015%として計算したようです。

*:http://www.tij.co.jp/jp/lit/an/jaja001/jaja001.pdf


■ジッタはなぜ音質に影響するか:現実的事情

 以下、間違ってる可能性も高いですがとりあえず個人的メモとして。

・実際の影響は
 アパーチャ誤差のリクツは「最大振幅をとる最大周波数」の場合ということに注意が必要でしょう(オーディオ用DACだけのリクツではない)。CDで言えば「22.05kHzで16bit使い切る」場合ですが、普通の音楽にはそのような周波数成分は存在しないですよね。22.05kHz付近にある周波数成分は楽器や肉声の倍音ですから最大振幅は取り得ないためです。

 ですので、現実的にアパーチャ誤差として許容される値はもっと大きいと考えていいでしょう。
 仮に-6dBまで確保できればよいとしても2倍=220psになります。上に引用したEDN Japanによると「通常の水晶のジッタは20~30ps程度、S/PDIFデコーダPLLの実力値は200ps程度であり、“現実的な”DACチップの性能からしてほぼ充分な値」とのことですが、ですのでこれは頷けます。

・実際の性能は
 ところで、実際の水晶発振器のジッタスペックはどのくらいなのでしょう? 大真空やNDKなどでは発見できなかったのですが、富士コム社(*)というメーカがズバリ記載してました。
 おそらく一番一般的と思われる品種でも30psのようです。

*:http://www.fujicom.jp/FCO-200.pdf

 また、東京情報大学研究論という資料の測定結果(*)を見てもジッタ値のスケール感はおおよそニアリーみたいです。

*:http://www.iic.tuis.ac.jp/edoc/journal/ron/r7-2-8/r7-2-8.pdf

 余談ですが、この結果の中でDVDプレーヤの成績が悪いのは、PLL使ってるからではないかと思っています。

 以上、CDフォーマット級ならフツーの水晶発振器の原発振でまず問題にならないと思われます。

 15/03/29追記:LINNが、新製品でクロックジッタを低減したそうです(*)。
 KlimaxDSで10.34ps→5.67ps、AkurateDSで11.66ps→6.58psといった改善だそうな。数百万円級の機器の性能はそういうレベルであるという情報になりますね。原因と対策の凄さについてはさておき(笑)。
 「やっぱppmじゃないぢゃん」という事例にもなるかな。

*:http://av.watch.impress.co.jp/docs/news/20150327_695016.html
  http://www.phileweb.com/news/audio/201503/27/15706.html

・ハイレゾだとどうなるか
 2496で計算すると0.2psになってしまいます。エライコッチャです。やっぱりハイレゾだとフツーの水晶では大問題になるのでしょうか?
 ここで、DACチップを中心としたシステムの現実的性能を加味してみます。
 アナログ的なS/N比は良くても110~120dB程度ですから、これを達成するにはざっくり20bit確保できればよいでしょう。
 また、振幅値としても最大信号周波数48kHz付近の倍音成分はCD規格よりさらに高次のものになりますから、最大の1/8程度を想定すればまず充分ではないかと。
 その条件ならは約25ps程度となり、一気に現実的になってきます。

 余談ですが、実はダイナミックレンジ、24bitあっても無駄なんじゃないかと密かに思ってたり(笑)。
 16bitでは不足ですけれど20bit(120dB)程度で必要充分なのではないでしょうか。144dBを活かせるコンスーマ機器のアナログ回路って事実上ないと思いますし。
 なのに16bitの次が20bitではなく24bitなのは、演算誤差を許容するためと、“デジタルシステム(コンピュータ)だから”という事情で決まっているのでは。

・アパーチャ誤差(だけ)が音質悪化のリクツなのか
 以上、「アパーチャ誤差としてのジッタ」について見てきました。
 が、これはオーディオDAC技術として“最初っから認識されている”ものでしょう。であれば、少なくともマトモなオーディオ機器なら最初から必要充分なジッタ性能のMCLKが使われているハズです。それが上記EDN Japan記事の内容だと思います(ユーザの間でオーディオの音質として意識されるようになったは最近かも知れませんが)。
 また、たとえハイレゾレベルであっても、上述した通り現実的な問題があるとはあまり思えません(PLLだと厳しそうですが)。

 でも、実際にはCDで200ps、ハイレゾ(2496)で30psではナントナク不十分な気がしますよね。
 それって何故なのでしょう?
 ジッタの音質への影響のリクツとしては、「アパーチャ誤差」以外寡聞にして知らないですし…

 ひとつ気になるのは、アパーチャ誤差のリクツは原則「マルチビットDAC」のものであるということです。
 現実には現在のDACチップはΔΣ方式です。ざっくり言うと振幅軸をシンプルにする代わり時間軸方向を細かくして情報量を稼ぐ方式です。
 なんだか、ΔΣ方式におけるジッタの影響は「アパーチャ誤差」では語りきれないのではと思えます。
 と言ってもこれ以上はサッパリ解りませんけれど(苦笑)。
 が、例えば「2.8MHzの1bitは44.1kHz/16bitの64倍の精度が求められる」と仮定すると、確かに数psオーダーの精度が必要になることになります。

 そのあたりかな? と思う程度で今はよしとしています。


■参考資料

・ジッタ解説
http://techon.nikkeibp.co.jp/article/LECTURE/20120319/209455/?rt=nocnt
http://www.altima.jp/column/fpga_edison/clk_accuracy.html
http://www.ndk.com/jp/ad/2013/001/
http://www5.epsondevice.com/ja/quartz/library/tech_note/techl_notes__2013_04jitter.pdf

・PLL解説
file:///C:/Users/p000283634/Downloads/DP30231preview15.pdf
http://gate.ruru.ne.jp/rfdn/TechNote/BasePllTech.asp
http://www.cqpub.co.jp/hanbai/books/33/33451/33451.pdf

・デジタルPLL解説
http://ja.wikipedia.org/wiki/ADPLL

・RATOC社製品に載っているルビジウムモジュールのスペック
http://www.toyo.co.jp/file/lcr_spec_2.pdf

・ESS社DACの技術解説「DAIのジッタ量とTHDの関係」
http://www.teddigital.com/ES9008B_tech.htm

・TI社のΔΣADC資料
 オーディオ用ではなく16bitで4.9MHzまでサンプルできるチップ。P.14にジッタ許容値があり、100kHzの-1dBで65psだそうな。1MHzだと6.5psなので周波数に反比例している
http://www.tij.co.jp/jp/lit/ds/symlink/ads1610.pdf


メインニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

「サンプリング定理」その深淵なるセカイ

14/11/20初稿

 ハイレゾについて考えていたらここにたどり着きました。
 新しい地平が開けたカンジします(笑)。

 以下、私が理解した内容を記してみます。間違ってたら申し訳ありません。


■シャノンさん&フーリエさんと向き合う

・サンプリング定理を改める
 これ、単純に見えて凄く奥深い定理だったんですね。
 そして、定理自体は数学的理論であり、デジタルオーディオはそれを“応用したもの”であることを理解すべきだったんですね。
 つまり、この定理を大前提としつつ、デジタルオーディオの実際における現実的破綻(理論との乖離)への対応機能を理解する必要があり、それこそがDAC動作としての音質に支配的影響を与えていたのですね。

 といってもナンノコッチャですよね。で、まずは基本から。
 本件については、TI社のDSPトレーニング「第2章 デジタル信号処理入門 (サンプリング定理/エイリアシング)」は解りやすいと思います。
http://www.tij.co.jp/dsp/jp/docs/dspcontent.tsp?contentId=53936

 これによると、

「取り扱う信号が周波数 fc より高い周波数成分を持たないとき、サンプリング周波数 fs は
  fs≧2fc
であれば、サンプリングされた信号から元の信号は完全に再現される。」


とあります。

 一見単純に見えますがよく考えてみると奥深い定理ですね。例えば、サンプリングされた信号は不連続(離散的)なのになんで“完全に再現される”のでしょう? 実はそれ長年疑問だったのですが、今回考えてやっと腑に落ちた気がします。

 何気なく読んじゃってますが、実は「取り扱う信号が周波数fcより高い周波数成分を持たないとき」という条件が大変重要だったんです。
 人工的な信号であればそれは可能ですが、音楽などには広範囲の周波数成分を含みます。が、CD規格を例にすれば、「22.05kHz以上の周波数成分を持たない」ことがこの定理の“大前提”、必須条件なのです。
 ですので、具体的には

・AD変換時には「22.05kHz以上の周波数成分をカット」することでデジタル化
・DA変換時には「22.05kHz以上の周波数成分をカット」することで原アナログ信号を復元

しているのです。

 といっても、何でDA変換時にまたカットする必要があるのでしょう? AD変換時点で22.05kHz以上の周波数成分はカットしているのに…? アナログだったらカットした後はカットされたままですよね。
 実はこのあたりが「デジタルオーディオ」のキモでした。
 そして、それを理解するためには、そもそも「“周波数成分”とは何か」を理解する必要があったんです。

・周波数成分とは
 やはりTI社のページが解りやすいでしょうか(「フーリエ変換」としての解説ですが)。
http://www.tij.co.jp/dsp/jp/docs/dspcontent.tsp?contentId=53938

 かいつまんで言うと、ある時フーリエさん(フランス在住)という方が、

「どんな信号波形でも、それをいくつかのサイン波(それぞれ異なる周期と振幅を持つ)の重ねあわせに変換できることを発見」

したのです。これを利用し、波形を「構成するサイン波の周波数分布」分解したのが周波数成分(スペクトル)です。

 ただし、“どんな波形も~”が成立するのは「無限の周波数まで想定した場合の数学的理論として」です。デジタルオーディオにはデジタルの事情があるのです。例えば矩形波の垂直立ち上がり部分は周波数無限大までのサイン波を足し合わさないと表現できませんが、現実に扱える周波数は有限です。よって、例えば、22.05kHzまでの周波数成分しか持たない(と定義されている)デジタルデータでは「立ち上がりは22.05kHzのサイン波以上に急峻には表現できない」ということになります。詳しくは後述します。

 一方、逆説的ですが、サイン波はその周波数成分しか持ちません(純音という。それが周波数成分の定義ですから当たり前?)。
 そして、22.05kHz周期を示すデジタルデータがあった時、そのデータが示せるアナログ波形の最高周波数はサンプリング定理の前提条件から「22.05kHz」です。
 具体的にみてみます。以下の図のような★サンプルがあったとします。アナログ化するとサイン波になるワケですが、例えば三角波や矩形波は何故あり得ないのでしょうか。
サイン波再現イメージ
*:この考察ではDACチップのアナログ変換速度は無視できるほど速いとします。また、矩形波は半周期ズラしてイメージしてもいいと思います。

 ★サンプルは「22.05kHz以下の周波数成分しか持たない22.05kHz周期の波形」を示していることになります。
 サイン波以外の波形は22.05kHz以上の周波数成分を含みます。
 よって、このサンプルは2個しかないけれど表現しているのは「22.05khzのサイン波」しかあり得ないことになります。

 そして、22.05kHzという“サイン波の最小単位(最高周波数)”を復元できるならそれ以下の周波数も復元可能ですから、数多の波形はフーリエさんの言うサイン波の重ね合わせで再現できることになります。

 これが「断続的(離散的)デジタルデータから連続的アナログデータに“完全に”復元できる」理屈の基本だと思います。

 イメージ的には「CDというデジタルデータ規格は22.05kHzサイン波の集合体として音声波形を表現している」と言っていいかも知れません。
 ただし、多くのフーリエ変換の説明では「サイン波を無限に足し合わせていくと複雑な波形や矩形波などが再現できる」ことを表現していると思いますが、これは数学的フーリエ変換において無限周波数を扱う概念ですので、有限の周波数しか扱えない現実のデジタルオーディオそのものの説明ではない、という点に注意が必要でしょう。

 実際には、電圧(電流)変換した直後の階段状波形をアナログLPFに通すことによって“サイン波の集合体としてのアナログ信号”に復元します(そうなるようにLPFを組む。数学的にはsinc関数のたたみ込みとなる処理を電気的に行う)。
 このLPFは「リコンストラクションフィルタ」と呼ばれることもあるようです。その名の通りの役割ですね。

 以下に実際のDACシステムからの出力例を示します。数字的に判りやすい24kHz系で。
 2448をアナログ再生したものを192kHzサンプリングでデジタル化することで「アナログ波形観測」に見立てた波形です。超粗いデジタルオシロ?(苦笑)。 4倍の解像度があるのでとりあえず代用になるかと。AD変換側のフィルタ事情なども含まれてしまいますが、無視できると仮定します。
 まず、12kHzサイン波です。“最大最小とゼロクロスの4サンプル/周期しかない”のに、サンプルポイントを直線で結んだような波形ではなくちゃんとサイン波が再現されているのが判ります。念のためですが、この図の「・」は192kHzでADしたサンプルポイントです。
sin12kHz2448.png
*:デスクトップPCオンボードサウンドのLINE-OUTとLINE-INを直結し、≪WaveGene1.50≫で生成した2448ファイルを≪PlayPcmWin≫で再生し、≪WaveSpectra1.50≫で16192録音したものです。

 「もしかして、じゃあCDって矩形波や三角波は表現できないの?」というと実はその通りで、サイン波の集合体としての近似波形になってしまいます。理想矩形波や理想三角波には22.05kHz以上の周波数成分が含まれているからです。
 といってそれは再生側(DA側)の欠陥ではありません。44.1kHzサンプリングでは22.05kHz以上の周波数成分はカットされているのが前提であり、AD変換の時点ですでに“カクカク成分”はなくなっているのですから。

 カクカクできない例として、1.2kHz矩形波のAD結果を添付します。40サンプル/周期あるハズですね。
矩形波
 まるでカクカクしていません(できていません(笑))。また、1周期が20個のサイン波の重ね合わせになっているようにも見えると思います(24kHz/1.2kHz=20。中心から上と下でサイン波の形は逆)。念のためですが、アナログ的なノイズやリンギングでこうなっているのではありません。なお、DA・ADとも後述するデジタルフィルタのエコーも含んでいると思いますが、24kHz以下の帯域ではなくオーバーサンプリング帯域で発生するハズであり、今回はおおよそ無視してよいのではないかと思っています。実際、元データを4倍アップサンプリングしたデジタルデータ波形もほぼ同形になりますので(エコー成分の付加は見られない)。
 ちなみに、12kHzの矩形波はほとんどサイン波になってしまいます。イメージできると思います。


 「デジタルはカクカクな波形になる」と思われがちですが、それはまるで誤解だったんです。実はカクカクなんてしていない…と言うか逆に「カクカクできない」のです(*)。
 そしてそれは決してナマっていたりするワケではなく、理論上正しくスムーズになっているのですね。
 実は、デジタルオーディオ(おそらくアナログでも)では「カクカクは正確に表現できない」のです。一般的な印象とは真逆、目からウロコですね(笑)。まあ、そもそも「カクカク」の“水平部分”はDC成分ですし“垂直部分”は無限周波数ですから、自然界には存在し得ない音なワケで、考えてみればアタリマエかも知れません。

*:たまにそう見える生波形の写真・図もありますが、リコンストラクションフィルタをかける前のものでしょう。


 繰り返しますが、この理屈が成立するのは、CD規格の数字で言えば
「22.05kHz以上の周波数成分はないという前提(約束事)があるから」
です。
 そして、これと同時に
「現実的には22.05kHz以上を遮断し22.05kHz以下を通過させる理想LPFは存在しない」
という点がキモでした。
 それによって「DA変換の現実問題」が発生し、それこそがデジタルオーディオの音質に大きな影響を与えていると思われるからです。


■AD変換の現実

 上で「理論」を一応一通り見てきました。それを踏まえ、「現実」にはどうなっているか考えてみようと思います。

・理想ローパスフィルタは存在しない…ので
 上述した通り、DA変換で22.05kHzまでの音声を復元するためには、AD変換=サンプリングする際に22.05kHz以上の周波数成分を完全にカットする必要があります。
 しかし、22.05kHz以下を通過させ22.05kHz以上を遮断する垂直なカットオフ特性を持つ理想LPFは存在しません。ゆえに、現実的にはLPFはある程度“斜めの(緩い)”カットオフ特性を持つことになります。
 ここに「人間の可聴域は約20kHz」という条件を加味すると、「20kHz以下を通過させ22.05kHz以上を遮断する」LPFが“現実的理想”となります。AD変換する前ですからもちろんアナログフィルタです。プロ用機材ですから、それなりにコストをかけてなんとかニアリーな特性を実現していたようです。

 では、「20kHz以下通過&22.05kHz以上遮断」という特性が完全に実現できていないとどうなるでしょう?

・20kHz以前に遮断周波数がひっかかる場合は高域のゲインダウンとなります。

・22.05kHz以上の周波数成分が完全に遮断しきれていないとすると、これはAD変換時点でとしてデータに内包されることになります(再生時には見分けつきませんので除去できないノイズとなる)。これが「エイリアシングノイズ」です。22.05kHz以上の周波数でもそこに波形があればサンプリングされてしまうことは容易に想像できるでしょう。面白いことに22.05kHz(ナイキスト周波数)を中心に折り返された周波数成分として出現するので、“折り返し歪み(雑音)”と呼ばれるようです。ただ、アナログ的な「シャー」とか「ザザザ」とか言うような“雑音という意味でのノイズ”とはちょっと概念違うことに惑わされそうです(笑)。

 よって、このAD変換前のLPFは「アンチエイリアシングフィルタ」と呼ばれるようです。
 「アンチエイリアシングフィルタリングのデキ」は、デジタル音源生成時の音質差要因のひとつになるでしょう。

・エイリアシングノイズを可視化する
 例えば、foobar2000の記事で用いた2496サンプル音源をAD対象のアナログ音源、それを2448でダウンサンプリングすることを2448でデジタルサンプリング、とみたてることで可視化を試みました。

 ≪WAVEフォーマット変換プラス1.02≫というフリーソフトで“単純間引き”した2448と、SoX(もちろんAliasing許可しない)でダウンサンプリングしたファイルを反転mixしました。前者は“エイリアスノイズまみれ”、後者はカットされているハズですので、ノイズが抽出されるハズです。

Souvenir2448WCPmix.png

 確かに無視できないノイズと言えそうです。

 これが「エイリアシングノイズ」の正体なのでしょうか。
 試しに元音源の24kHz以上のスペクトルを画像として左右反転して(折り返して)みます。

Souvenir2496半分反転

 比べてみると、確かにナイキスト周波数(24kHz)で“折り返し”てるように見えます。アンチエイリアシングフィルタなしでAD変換した場合、理論的にはこの折り返しが無限に続くんですよね。

 これはAD変換時にちゃんと除去しといてもらわないと、ですね。


■DA変換の現実

 プロ現場の高性能なADシステムなら「AD変換時のエイリアシングノイズ」はほぼキャンセル出来ていると考えてよいと推察しています(特にイマドキは)。しかし、そうやって得られたデジタルデータでも、今度は理論上「イメージングノイズ」なるノイズを必ず内包しているのです。

・イメージングノイズとは何か
 前述のTI社のDSPトレーニング「第2章 デジタル信号処理入門 (サンプリング定理/エイリアシング)」の後半の内容になりますが、私なりに理解の補助図を作ってみました。
 数字の解りやすさを優先し、ここでは48kHzサンプリングを例とします。≪Wavosaur≫を使って並べて作ってみました(波形を得ることが目的ですので、図中の周期や振幅は説明とは無関係です)。

イメージングのイメージppt

 元のアナログ波形は24kHzのサイン波とします。48kHzサンプリングの最小単位ですね。AD変換時★印のポイントでサンプリングされ、2サンプルでピークトゥピークのサイン波データとなっている状態です。
 しかし、上図を見ると、サンプリングポイントを通過するサイン波は24kHzだけではありません。72kHzや120kHzも条件を満たすことが解ると思います。もちろんもっと高い周波数にも無限に存在できます。
 “存在することをイメージ”できてしまうとも言えるでしょうか。
 これが「イメージングノイズ」です。前述したリコンストラクションフィルタを通す前の「カクカク」部分に含まれる無限周波数のこと、とも言えると理解しています。
 面白いことに、「サンプリング周波数×N±周波数」に出現します。48kHzサンプリングの12kHzサイン波なら1fsのイメージング領域には36,60kHz、2fsの領域には84,108kHzに出現します。

 では、この「イメージングノイズ」を除去するにはどうすればよいでしょう?
 ここで、改めてサンプリング定理をひもときますと「元信号には24Hz以上の周波数成分はない」という前提条件があるのですから、「イメージングノイズ」と「シグナル」はそれで区別できることが解ります。つまり24kHz以上の周波数成分はノイズとみなしてカットすればよいワケです(24kHz以下にはイメージングノイズは絶対に出現しません。イメージではなくリアル領域ですので)。

 これってつまり前述した「リコントラクションフィルタ」の役割の別表現と言えますね。こちらの理解の仕方では「アンチイメージングフィルタ」と呼ばれるようです。

・イメージングノイズを可視化する
 2448音声データを≪WAVEフォーマット変換プラス1.02≫によって単純間足し24192とすることで擬似的にイメージングノイズを可視化し、上記動作を説明を書き込んでみます。

イメージングノイズイメージ

 と、理屈はカンタンなワケですが…

・イメージングノイズカットの現実問題
 でも、しかし、つまりそれって、DA変換においてもAD変換時と同等の急峻な遮断特性を持つ高性能LPFが必要ということです。しかし今度はプロ用ではなくコンスーマ機器に実装する機能です。
 コンスーマ機器でそんなLPFを実現するにはどうすればよいのでしょう? 20kHz以上に存在するイメージングノイズはどうせ聞こえないのだから「何もしなくてもいい」という極論もありえますが実際にはそういうワケにもいかないですよね。そこで…
 CD黎明期のプレーヤではコンスーマ機器として許容範囲のコストや規模でアナログLPFを実装していたようです。しかし、おそらくプロ用LPF技術の簡易版としてバーターがあったであろうことは容易に想像できます。例えば、遮断特性を厳しくすれば波形を崩すけれど緩くすればイメージングノイズが漏れ出る、どっちを取るか? というような。
 初期のCDプレーヤではそれが音質劣化の大きな要因になったという話は納得できるものがありますし、プレーヤ製品間の音質差違の大きな要因になっていたことでしょう。
 しかし、現在では大きく事情が変わりました。デジタル技術の進化よって安価かつ高性能(?)に処理する技術が開発されたからです。
 それが「オーバーサンプリングデジタルフィルタ」です。

・オーバーサンプリングデジタルフィルタとは
 一言で言うと、

「リコンストラクションフィルタの役割を“デジタルのプリフィルタ”と“アナログのポストフィルタ”の2段構成にすることによってアナログフィルタの必要特性を緩くすることを可能にし、そのコスト・規模を大幅に削減する」

でよろしいかと思います。
 現在ではDACチップに内蔵されており、「8倍オーバーサンプリングデジタルフィルタ」などといったスペックがこれを表しています。
 以下、OSDFと略します。

 何が行われているかの理解のため、以下の方法で2倍OSDF動作を擬似的に可視化してみました。
 
step1.≪WAVEフォーマット変換プラス1.02≫で単純間足しして2496化し、イメージングノイズをデータ化
step2.≪Wavosaur x64 1.1.0.0≫のLPFで24kHz以上をカット
step3.≪WAVEフォーマット変換プラス1.02≫で24192化し、イメージングノイズ状態を可視化

 以下がそのスペクトルになります。

デジタルフィルタ動作イメージ

 2倍OSDFをかけると1fsのイメージングノイズ(上記例では48kHz中心の折り返しで24~72kHzに発生)をカットできることが解ります。ただし2fs以上のイメージングノイズは残っているため、この除去はアナログのポストフィルタに担ってもらうということですね。しかし、OSDFがない場合よりかなり緩やかな特性でよくなっていることが解ると思います。
 4倍にすると3fs中心まで、8倍にすると7fs中心で折り返すイメージングノイズまでカットできるため、残留ノイズはかなりの高周波数帯域にしかなくなります。アナログポストフィルタはそれをカットすればよいので、倍率を上げればどんどん緩い特性でよくなる、ということですね。確定的な情報は得られていませんが、遮断周波数は100kHz~150kHzあたりみたい?
 もちろんこのOSDFの性能はDACチップによって千差万別であり、それがDACチップの音質差要因になっていることでしょう。
 OSDFの効果を「ノイズを高域に“移動させる”」という説明を見ることがありますが、移動じゃあないような(苦笑)。もともと離散的であるが故にデータに内在しているノイズのハズですから…
 なお、念のためですが実際にはDACチップ内での“リアルタイム”処理です。

 イマドキのDACチップは、DA変換する前にかなり大量のデジタル演算する半導体なのですね。


 上述の通りDACユニットが謳う「デジタルフィルタ」機能は「DA変換機能の一部=必須機能」です。決して「どうせ音質を損ねる余計なオプション」ではありません。念のため。
 では、≪foobar2000≫のSoX Resamplerなど、送り出し側で行うアップサンプリングとDACチップ(ユニット)で行うオーバーサンプリングとはどんな関係になるのでしょう? 当記事を踏まえて考えてみましたのでよろしければ。


■余談

・デジタルフィルタ部の機能
 実際のデジタルフィルタブロックにはアッテネータやデエンファシス処理など含むことは、本稿では割愛させていただきました。また、DSDについては無視しています。
 イマドキはADもDAもΔΣ方式で行われていると思いますが、原則として本稿の内容とは直接関係しないと思っています(さらに現実的なハナシになる)。

・「エイリアシングノイズ」と「イメージングノイズ」の定義
 これら用語に明確な定義はなさそうで、混在使用されているように見えます。例えばRoland社のインタビュー記事(*)では、明らかにアナデバ社の言う「イメージングノイズ」を「エイリアス成分」と呼んでいます。エイリアスは“折り返し”の意味で使われているので、「イメージングノイズ」も確かに折り返しノイズと言えちゃいます。
 が、そうするとAD段階のエイリアスとDA段階のエイリアスの区別が付かなくなりますので、本Blogではweb検索ヒット内容とSoXの表記から、AD段階を「エイリアシングノイズ」、DA段階を「イメージングノイズ」と記すことにしました。
 なお、「エイリアスノイズ」と「エイリアシングノイズ」、「イメージノイズ」と「イメージングノイズ」も区別が微妙(苦笑)。

*:http://av.watch.impress.co.jp/docs/series/dal/20141020_672091.html

・「ノイズ」は「雑音」か「歪み」か
 エイリアシングノイズやイメージングノイズは、「折り返し雑音」と訳されることも多いですが、個人的には、どっちかというと「歪み」という訳の方がいいと思えます。「雑音」というとどうしてもS/N比的なものを想像しちゃうので。古い?(笑)
 これらはデジタルデータ(離散的)であるが故に存在するものなので、たとえ「雑音」と訳されていてもアナログ的なノイズの概念で捉えないことがポイントかと思います。


■参考資料

・東京電気大の「ディジタル信号処理の基礎」
 大学の教材としてはかなり平易に書かれている
 「理想LPFがデジタル離散信号から原波形を復元する」と明記されている
 末尾の数字は年度を表していて、例えば12、13、14もある
http://www.asp.c.dendai.ac.jp/ASP/DSPseminar08.pdf

・同じく東京電気大の「信号理論(第5回)」
 フーリエ級数について正弦波を重ねて矩形波などを表現できることが図で解りやすく記されている
http://www.asp.c.dendai.ac.jp/courses/spectrum01.pdf

・Resonessence社の「エイリアシング(エイリアス)とは」
 CD黎明期の事情を交えてAD時のエイリアシング除去、DA時のイメージング除去を解りやすく書いている
 DA段階のフィルタをリコンストラクションフィルタと呼んでいる
http://www.resonessencelabs.jp/resonessence-labs/technologies/digital-filter/

・EDN Japanの記事
 こちらにもDAC原理が記されており、同じく「リコンストラクションフィルタ」と呼んでいる
http://ednjapan.com/edn/articles/0607/01/news010.html

・アナログデバイセズ社「データ変換の基本ガイド」
 音声に限らないADC/DACの解説
 エイリアシングノイズが折り返されてずっと続いていく図が掲載されている
 DA変換時に発生する折り返しノイズを除去するのは「アンチイメージングフィルタ」と記されている
http://www.analog.com/static/imported-files/jp/overviews/ADI_Data_Conversion_Poster_F.pdf

・アナログデバイセズ社のΔΣADC/DACの原理解説
 ADCについてだが、P.8に「48kHzで115dB減衰させるフィルタを構成するには4096tap必要」とある。196MHz/tapの計算能力が必要であり、現在(2009年)は無理と言っている
http://www.analog.com/static/imported-files/jp/application_notes/AN-283_jp.pdf

・TI社のオーバーサンプリングデジタルフィルタ解説
 本稿に記している原理が解説されている(アナログポストフィルタの特性など)
http://www.tij.co.jp/jp/lit/an/jaja016/jaja016.pdf

・CDプレーヤからの「11.025kHzサイン波」と「5.5125kHz矩形波」の出力波形
http://www.tcgroup-japan.com/TCE/Tech/0dbf_D-Mastering_JPN.pdf


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

ハイレゾ領域の高音は再生されているか

14/11/02初稿

 最近ハイレゾ試聴についていろいろ考えている中で、

 ・本当にハイレゾな音源か
 ・試聴環境はハイレゾ対応しているか

を確認する必要があると思い、音源がハイレゾリューションかどうか調べる方法は自分なりに考えてみました。

 次は、再生環境がハイレゾに対応できているかです。
 ダイナミックレンジを確認する術は私などには思いつけないのでさておき、ハイサンプリングについては「20kHz以上の音って再生できてんの?」という疑問は昔からあります。
 現在ERIでは、プレーヤPCからHDMIでYAMAHA製AVアンプDSP-Z7に送り込みA-1VLで805Sを駆動、およびZ7のヘッドホンアンプでZENNHEISER製HD700を鳴らしています。HD650(11年当時)で実験したこともありました。
 このシステムはハイレゾ高音を再生できているのでしょうか?

 ADCとして一応SB-DM-PHDが手元にありますので、試しに測ってみました。

*:人工的加工音声の再生は機器を破損する可能性がありますので、ご注意ください。


■32kHzサイン波

 まずは判りやすいものでと思い、人工波形で行います。
 環境は以下の通りです。

・ソース:≪WaveGene1.50≫で32kHz/-10dBのサイン波を2496形式で作成
・プレーヤPC:E-350ベース自作
・プレーヤソフト:≪PlayPcmWin x64 4.0.64.0≫ もちろん排他WASAPI
・DAC:DSP-Z7 音量は-20.0dB(ふだんの値)
・ADC:Sound Blaster Digital Music Premium HD 2496で
・マイク:DSP-Z7付属のYPAOキャリブレーション用マイクEMX-251
・レコーダPC:Versa Pro(ノートPC) ACアダプタは接続せずバッテリ駆動
・スペクトル表示&録音ソフト:≪WaveSpectra1.50≫ 排他WASAPI

 マイクは当然20kHz以上の帯域採取を保証するような代物ではありませんが、なにはともあれやってみようということで。

 生成したファイルの直接スペクトルはこんなカンジです。

32kHz再生:データスペクトル

・Z7のヘッドホン出力(アナログキャプチャ)
 まずはヘッドホン出力をライン入力に突っ込んで。どきどき。

32kHz再生:HD700をZ7マイクで採取

 おお、意外とハッキリ再生してるモンなんですね。ちょっと驚いたと同時に、DSP-Z7はヘッドホン出力に変な手抜きしてなさそうだと判ってちょっと安心(笑)。

・HD700(アナログキャプチャ)
 次は、そのヘッドホン出力を「実際に音波にできてるか」です。
 対象のHD650とHD700のスペックはハイレゾOKと考えていいと思います(HD650はもう手元にありませんが)。

・HD650:http://www.sennheiser.co.jp/sen.user.Item/id/7.html  10~39,500kHz
・HD700:http://www.sennheiser.co.jp/sen.user.Item/id/897.html 15~40,000kHz

 先入観としては、マイク性能も仕様外ですしADCも高級品じゃありませんから、32kHzの音なんて採取できるのか疑問でした。
 そもそも実際に鳴るのかすら半信半疑だったのですが、HD700のイヤーカップに突っ込んでスペクトル見てみると

32kHz再生:Z7ヘッドホン出力をSBDMPHDで採取

再生してる… ていうか音採れてる…

 マイク遠ざけるとレベル小さくなりますし、再生システムと録音システムは全く電気的には繋がっていません(前述の通り録音側はバッテリ駆動)ので、ノイズ回り込みなどではないと思います。もちろん32kHzはマイクの仕様外でしょうけれど、反応はしてるってことですね。
 これは意外… 何事もやってみるモンですねぇ。

・Nautilus805Sツィータ(アナログキャプチャ)
 気をよくして(?)、スピーカの音も拾ってみました。ツィータにマイクくっつけて。
 Nautilus805Sのスペックは42~50kHzとなっています。

32kHz再生:805SツィータをZ7マイクで採取

 おお、こちらも再生してます。スペックに偽りなし(笑)。

・試聴位置(アナログキャプチャ)
 では、いつもの試聴位置まで届いているのでしょうか。

32kHz再生:試聴位置(どまんなか)をZ7マイクで採取

 へええ、結構届いてるようです。


■ハイレゾ音源

 こうなると、普通の音楽ではどうなのかも確認したくなります。32kHz/-10dBのサイン波はスペック確認にはいいでしょうけれど音楽再生とは無縁ですもんね。
 そこで、「ハイレゾ音源に有意な高域は入っているか」を確認させてもらった「HPFをかけたe-onkyoのハイレゾサンプル」を再生してみました。
 ただ、この帯域のこの音量レベルの音声再生は無理な可能性も高いと思いましたので、≪SoundEngineFree5.02≫でノーマライズしたファイルも用意。
 音源以外の環境はサイン波と同じです。

・Z7のヘッドホン出力(アナログキャプチャ)
 ノーマライズしていない音源ですが、なんとか反応してます。へぇ~

HPF再生:Z7ヘッドホン出力をSBDMPHDで採取

 ノーマライズ音源はよりハッキリ反応しました。

・HD700(アナログキャプチャ)
 こちらは残念ながらノーマライズしていない音源には無反応(ていうかADCのフロアノイズ以下?)。
 ノーマライズ音源なら

HPFノーマライズ再生:HD700をZ7マイクで採取

・Nautilus805Sツィータ(アナログキャプチャ)
 ノーマライズ音源を、サイン波と同じくマイクをツィータにくっつけて。

HPFノーマライズ再生:805SツィータをZ7マイクで採取

 なお、ノーマライズしていない音源にも微かに反応していました。
 さすがB&W自慢のチョンマゲツィータ。そもそも“ツィータ”は高域専用スピーカですから、そのツィータでの再生は基本的にワンウェイであるヘッドホンより有利なのは当たり前かも知れません。

・試聴位置(アナログキャプチャ)

HPFノーマライズ再生:試聴位置(Lchのみ再生)をZ7マイクで採取

 上記の通り普段の試聴位置でも反応。ノーマライズ音源です。非ノーマライズ音源はさすがにダメでした。

 となると、今度は「これってどんな音なのか」確認したくなります。ただのノイズだったらしおしおですから。
 そこで、この音を録音、≪Wavosaur x64 1.1.0.0≫で24kHz以下カットのHPFかけたファイルを作成。以下がそのスペクトルです。

HPFノーマライズ再生:試聴位置(どまんなか)をZ7マイクで採取→HPF

 このファイルをノーマライズして0.5倍速再生したら、リズムとって聞こえました。少なくとも実験過程で発生したノイズではなさそうです。

 なんかちょっと感動。
 そもそも可聴周波数帯ではないことに加え、音量的にも音源としてノーマライズしたものを録音後にさらにノーマライズしていますから通常とは全く異なる音ではありますすが、1メートルちょっとの空間を超えてツィータから試聴位置まで音源ファイルに入ってる高音が届いてるんですねぇ。
 「実際には何も聞こえない空間で録音した音」を聞くことができるって不思議なカンジです。


 ということで、「現システムにおけるヘッドホン再生およびスピーカ再生は20kHz以上再生可能である」と言ってよさそうです。DSP-Z7自体(プリ部?)はBDなどのハイレゾ対応ですから問題ないのは当然ですが、アンプ部(特にヘッドホンアンプ)およびヘッドホン&スピーカ(パワーアンプ含む)の性能を実際に確認できた、のは良かったです。
 何か間違ってることあるかも知れませんが…(やや不安(笑))

 もちろん“音質”は考慮していません。繰り返しますが、「元々音源ファイルに入ってた高域を再生しているか(ノイズではなく)」のみの確認です。
 音質、確認する術ありませんし(笑)。


■今そこにある機器

 ちなみに、当実験におけるUSBケーブルやアナログケーブルは“フツー”のものを用いました。
 また、マイクもいくつか試してみましたが、こちらも普通のものでも意外と反応するみたいです。
 ので、アリモノを使って自システムの能力はどうなのか試しに測ってみるのもいいかも知れません。

 ADCなんてない…かも知れませんが、実はデスクトップPCオンボードサウンドのMIC-INやLINE-INでもイケそうです。
 私が現在メインPCにしているGIGABYTE製Z67マザー(Realtek ALC889)のMIC-INは192kHzサンプリングまで対応しており、HD700の32kHzサイン波を拾えることを確認しました。
 当実験には音質あまり関係ありませんので、オンボードサウンドでも有用だと思います。

 ≪WaveSpectra 1.50≫の排他WASAPIデバイス使用可能フォーマット

MIC-INスペック


メインニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

ERIへようこそ

Author:らかせ
 「最新記事」または「メインメニュー」からどうぞ。

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です。
・一応、拍手にコメント(非公開)付けられるようにしてあります。
・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください。
・ということもありますし、無断転載(ファイル含む)はご遠慮ください。
・アフィリエイトはAmazonのみです。
・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)。
・オーディオ再生環境は「008:AVC基本コンセプトと使用機材履歴」の当該日付を含む期間をご参照ください。

最新記事
カテゴリ
検索フォーム
FC2カウンター