デジタルオーディオあれこれ

半田ごての人。紙と鉛筆だけではちょっと。

PCMから1bitDSMへの変換。色々と多士済々。

 PCMから1bitDSM(DSD)への変換に対する、面白いFFTを見つけた。

https://twitter.com/serieril/status/1175818591884599296

色々なソフトウエアでの変換をした時、どんな特性になるかというもの。PCM-DSD Converter(黄色)が記事の作者の作った物みたい。 

 

一枚目の図の24bit quality group oneで、SONY DSD Direct(緑) とKORG AudioGate 4(水色)はどうも同じ特性。16bit PCMの量子化ノイズから推測すると32kか64kぐらいのFFTだから、-150dBのラインが110dBのNに相当する。ここら辺りが所謂ハイエンドの下限。なのでSONY DSD Directはちょっと厳しい。SACDの特性よりも悪いと思う。

 

NTFの零点が二つあって、低域にかけてだらだら下がりなので、典型的な五次の特性で二つのlocal feedbackを入れている。経験的に言って、local feedbackを入れられるのは七次以上になる。そうでないと、64OSRでは帯域内でも(20kHzまで)110dBのNを確保できない。このFFTでも、20kHz近辺では110dB以下に悪化してしまう。

 

但し、外してしまうと三枚目のFFTTASCAM Hi-Res Editor(水色)に近い特性になるので、やはり110dBは確保できない。前回書いたように、この場合はOSRを128にしてやれば、30kHz近くまでは110dBを確保して、尚且つ帯域外のノイズを八次などの物よりもかなり減らせる。一枚目のWave to Dsddiff converter(オレンジ)は七次で三個のlocal feedback。アナログ出力で総合的に判断するならば、一枚目ではこれが一番良い。

 

二枚目のFFTでは、SoX(clans-8水色)が面白い。これは八次で四個のlocal feedback。local feedbackは前々回にちらっと書いたはず。量子化ノイズの特性を決めているNTFは、八次だと分母と分子は因数分解可能なzの八次の多項式になる。分母のゼロは不安定を意味するので不許可。分子がゼロになると、そのものずばりでNTFはゼロになる。

 

local feedbackを入れていない時、z^(8)のような分子になるので、ゼロになるのは直流の時のみ。一枚目のSONY DSD Direct(緑)とかWave to Dsddiff converter(オレンジ)が、直流に向けてだらだら下がるのは、z^(1)という項を残しているため。奇数次の場合は、このzのお蔭で多くの場合、直流でのゲインはゼロになる。SoX(clans-8水色)は八次で全ての項をゼロ以外にずらしているので(それがlocal feedback)、直流に対してもゼロにはならない。

 

尚且つ、最適な係数を触っているようで、八次にしては落ちが悪いので低域では110dBのNを確保できていない。音を聞きながら調整していたらこうなっちゃった、とか。次数とは単に量子化ノイズの分布を変えるだけの作用、という原点から見るならば、帯域内でのノイズ増加は帯域外でのノイズ低下を意味する。

 

実際、同じく八次のPCM-DSD Converter(黄色)よりは、ずっと帯域外ノイズは小さい。音ではなくて、オシロの波形を見て調整したのかもね。アナログ波形はかなり綺麗なはずだから。総合的には、二枚目の中ではSoX(clans-8水色)が一番良いかも。かなり試行錯誤をしてるはず。

 

三枚目は色々と個性的なのがあって面白い。TASCAM Hi-Res Editor(水色)はlocal feedback を外している珍しいタイプ。次数としては傾きと-150dBとの交点からして五次だと思う。12kHz以上では110dBのNは厳しいけれど、全体のバランスは良い。かなりの試行錯誤をしない限りここまでは出来ない。評判の良いらしいHQP(ADSM7)は、少しだけ係数を触った七次に過ぎないので、TASCAM Hi-Res Editor(水色)の方がずっと考えている。

 

もう一つちょっと中身が読めなくて初めて見るのが、Foobar 2000 Type D(緑)。五次で二つのlocal feedbackであるだろうけれど、 帯域内での落ち方が前述の五次のSONY DSD Direct(緑)よりも、ずっと良い。その分、110dBのNは13kHzあたり。local feedbackを外すとこんな特性になるけれど、その場合は零点を持たないので、どうしてこうなのかが分からない。

 

64bit精度にするとこうなるのかと言えば、些か疑問がある。少なくとも、48bit精度ではSONY DSD Direct(緑)と同じ特性にしかならないのは経験済み。これはちょっと理由が分からない。謎。

 

Weiss Saracon(CRFB10)は名前の通りに、CRFB型の十次で五個のlocal feedback。必要なのは最終のアナログ出力での特性がどうなるかなので、些か牛刀の趣なきにしもあらず。ソフトウエアとしては良好であっても、現実世界のDAC用としては今一つ。TASCAM Hi-Res Editor(水色)が三枚目の中では良いのかなあ。

 

四枚目のFFTSONAR(緑)は、TASCAM Hi-Res Editor(水色)と同じに見える。いずれにしても、local feedbackを外している。偶数次の場合、最低でも一つはz^(n)の項を残さないと、直流でのNTFが零にならない。八次であれば、二個を残してz^(4)を含んだ方がアナログ出力としては好ましくなる。なので四次であれば、local feedbackは無しで分子はz^(4)とするのが得策。

 

ソフトウエアのライブラリーでは、多分一律に入れられるだけ入れてしまっているんだと思う。HPQ(ADSM7オレンジ)が、ここに出ていた。七次で三個のlocal feedback。帯域外でのノイズが少し少な目なので、その分帯域内は増えるけれど、-180dB近辺はアナログ出力での140dBのNを意味するので、観測不能。つまり、ここに拘ったとしても、アナログ出力には何の変化もないという事。

 

でもSoX(SDM-8水色)とかPCM-DSD Converter(黄)よりは、帯域外ノイズは小さくて帯域内ノイズは良好。ちょっと値段が高いらしいけれど、四枚目の中では良いかも。うちの1bitDSMでは、TASCAM Hi-Res Editor(水色)みたいなlocal feedback無しを四次にして、OSRを128にする。そうすると、DSM-tax は2dBの軽減税率適用で25kHzぐらいまでは110dBのNを確保できる。

 

帯域外ノイズは元々小さめの上に、一ビットなのにアナログFIRでデジタルフィルターがかかるから、相当に減る。6dB/octのアナログLPFだけでこの程度。色々な特性を見たけれど、1bitDSMの最適な変調は、そのあたりと思う。

f:id:xx3stksm:20190917205406j:plain

f:id:xx3stksm:20190918151029j:plain


 更に現実の問題として1bitDSMは、-40dBFSから-60dBFSぐらいにかけて空ぶかしの状態になってしまい、特性が悪化する。市販のチップが多ビットなのは、その辺の事情も関係するのかもしれない。対策はなくもないので、次の基板ぐらいからぼちぼちと。DSMをがりがり自前で足掻いていると、なんかの弾みにふと気が付くことがあって、対策を知っている人は少なからずいるとは思うけど。