高音質ラズパイ用DACの設計と製作

デジタル信号を正しく再生するには? ~サンプリング定理の意味

Twitterで以下のように発言をしたら、案の定、あまり理解されなかったので頑張って説明してみます。

サンプリング定理は「信号の最大周波数」の2倍より早い速度でサンプリングすれば元信号の情報は完全に再現できる(一意に決まる)、とは言ってるけども、サンプリングしたデータをそのまま再生したとき元波形が再現できるとは一言も言ってない。

https://twitter.com/nabe_abk/status/777874934424940544

なおこの記事では、フーリエ変換が存在する連続信号(関数)のみを考えることにします。

続きを読む

2016/07/06(水)Fusion PCBが微妙だったので、Elecrowを使ってみた

プリント基板の製作に、普段P板を使っていて最近Fusion PCBに移行してたのですが、色々と問題があってElecrowを使ってみることにしました。

Fusion PCBの問題

  • 製造は速いけども、早く発送する気がまるでない。
  • 一度登録したクレジットカード情報を削除する方法がない。
  • キャンセル品*1の返金を忘れられて、1ヶ月待たされた。

*1 : 注文後即キャンセル

Elecrowのルール

Fusion PCBと同じ機械なのか非常によく似ています。

項目P板Fusion PCBElecrow
最小パターン幅0.127mm0.1524mm0.1524mm
最小パターン間隔0.127mm0.1524mm0.1524mm
最小パッド間隔0.127mm0.1524mm0.2032mm
最小シルク高さ1.0mm1.0mm0.8128mm
最小シルク線幅0.127mm0.1524mm0.15mm
最小ホール経0.3mm0.3mm0.3mm
最小ランド経(PTH)0.6mmHole+0.3048mmHole+0.1524mm
銅箔厚18um/35um35um/70um35um/70um*2

細かい違い

Fusionはガーバーをアップロードするとweb上でサイズが確認できたり、枚数の融通が効きますが、Elecrowはその辺の融通が効きません。

あと量産製造だと、銅箔厚みを2oz(75um)に設定できなかったり、色の制限があったり、異種面付けができなかったりします。*3

*2 : 20枚以下のみ

*3 : 2ozは特注すればやってくれそうですので、いずれ試してみようと思います。

面付けルール

PCB Panelize is Available nowに説明があります。

  • 同一基板の面付け
    • 面付け代がかかる(Fusionは無料)
    • すべての面付け基板は同じ方向を向ける。
  • 異種基板の面付けは、種類数に関わらず5面付けまでで有料。
    • 製造枚数は20枚まで
  • 面付けはV-cut処理。

その他の条件。

  • Vcut線は外形線に書き込む。
  • 最小基板サイズ : 8cm×8cm
  • Vcutとパターンの間は0.7-0.8mm程度離す(板厚1.2mm以下は0.6-0.7mm)

「5cm×5cm未満はシルクに書き込んで分けろ。その場合の料金は無料」と書かれているので(Vcutはしてくれないと思われる)、5cm×5cm以上ならば特注対応でカットしてくれると思われます。

ガーバーデータの形式

Fusion PCBと一緒です。

  • 部品面パターン : .GTL
  • 部品面レジスト : .GTS
  • 部品面シルク : .GTO
  • 半田面パターン : .GBL
  • 半田面レジスト : .GBS
  • 半田面シルク : .GBO
  • 外形線データ : .GML
  • ドリルデータ : .TXT

ステンシル(メタルマスク)製造時。

  • 部品面マスク : .GTP
  • 半田面マスク : .GBP

注文から届くまで

送料$20だったので、OCS/ANA Expressで注文しました。

  • 6/30 注文
  • 7/04 Traceable
  • 7/05 国内着
  • 7/06 基板到着(佐川)

注文から6日後に到着してしまいました。早い。2週間かかるFusionはもとより、P板頼むより早いんですけど(苦笑)

2回目

  • 7/15 注文
  • 7/20 Traceable
  • 7/21 国内着
  • 7/26 基板到着(佐川)

国内の輸入申請で4日止まるという珍事。「Prototyping Board」の意味がわからなかったらしいんだけども、OCS/ANAさんはもうちょっとしつこく電話してくるか、そのままPrototyping Boardでググるなりしてほしい。

3コールぐらいで切れる電話なんて出られないよ。

UPSとかFedexとかなら、そんな凡ミスはしない気がしてきた。

基板の品質

elecrow_pcb.jpg

上がElecrowで、下がFusion PCBです。高解像度の画像置いておきましたので、クリックすると拡大します。

シルクが断然綺麗ですね。シルク位置は若干ずれてますが、個人的には許容範囲です。そしてP板でハズレ工場引いたときよりも綺麗です(笑)

2回目 2016/07/26

elecrow_pcb2.jpg

シルクがずれてパッドの上に完全に乗ってる。そして前回よりもシルクの印刷が汚くなってる。どうしよ……。

→サポートに問い合わせたら再製造してくれました。

量産製造 2016/09/14

200枚ほど製造してみました。

elecrow_pcb_batch.jpg

  1. レジスト不良
  2. 基板にキズ
  3. ホール潰れ(ただしP板でもパッドが小さいと言われ製造拒否られた幅*4
  4. シルク汚れ

その他、ホール潰れ(ハンダ埋まり)が1つ、細かいキズや汚れは数えられないぐらいありました。+10%ぐらい余分に製造して検品しないとダメな感じです。

*4 : ホール経1.8mm、ランド経2.4mm。推奨ランド経は満たさないけど、製造基準書は満たしているのでなんで拒否られたのか謎。しかも以前は結構な数を問題なく製造してもらっていて、再製造の度にルールの厳しくなるP板の謎。

まとめ

  • 値段やデザインルールはFusionと同じぐらい。
  • Fusionよりもオーダーの融通は効かない。
  • 7日ぐらいで届けてくれる。*5
  • シルクが綺麗。
  • 注文枚数より1,2枚余分に入ってる。
  • 1割ぐらい多めに製造して検品した方が良い。

今後はElecrowメインで使っていこうと思いました。この品質なら、よっぽどのことがない限りP板使わなくていいや。

シルクミスが痛かったので悩ましいけども、シルクミスによる再製造含めてもFusion注文するより早く届いているという事実(苦笑)

品質最優先のときはP板は揺るがないかな、という感じです。

*5 : Fusionは何を選んでもシンガポール経由で送ったりして、早く届ける気がない。

ボリュームの音質改善。L型とT型アッテネータ

はてブ数 2016/06/22 電子::アンプ

はじめに

onshitsu-r01.png

抵抗の場所と音質の謎で述べたとおり、抵抗には「音質への影響が大きい要素」と「音質への影響が比較的小さい要素」があります。

  • 直列要素は影響が大きい(図のR1)
  • 並列要素は影響が小さい(図のR2)

ボリュームは、可変抵抗という物理的制約上音質が良いものを利用しても固定抵抗に比べたら大きく劣ります。擬似Lアッテネーターはこの特性を利用して、ボリュームの音質を改善する方法です。

不思議な現象

volume-T_01.png

今回の実験回路です。VRは10KΩに固定して話を進めます。

R1とVRは擬似L型アッテネーターを構成しています。R1は2K~4.7KΩぐらいの抵抗を利用します(入力の大きさによる)。

R2は入力抵抗です。直列要素ですので抵抗があればあるだけ音質が劣化するはずでした。実際、今まで製作してきたアンプでは、R2は接続せず、常に0Ωにしています。

しかしこれだけでは理解できない現象に出くわしました。この回路では、R2を接続したほうが音が良かったのです

最初は2KΩぐらいで試したのですが、抵抗値をあげるとより音が良くなります。具体的には、R2として10KΩぐらいを接続すると一番音質が良くなりました。22KΩでは、オペアンプ入力端子のインピーダンスが上昇しすぎるのか、音質が低下し始めました。

つまり擬似Lアッテネータよりも、擬似Tアッテネーターのほうが音が良かったのです。

本当に音質を改善しているのか?

これまでの状況では、単に「オペアンプにとって入力インピーダンスがほどほどにあると音質が良くなる」という可能性を否定できませんので、きちんとしたT型アッテネーター回路を製作して検証しました。

volume-T_02.png

R1=2K(LGMFSA)、R3=1K(秋月カーボン抵抗)として、R2(LGMFS)を0Ωと10KΩで比較してみました。明らかにR2(LGMFS)を付けた方が音質が良くなります。

今度は逆にR3をLGMFSの1Kに変更した上で、R2を秋月カーボン抵抗の0Ωと10KΩで比較してみました。さすがに微妙なところですが、この場合もR2を付けた方が音質が良くなりました。

試しにR3をが切断してみると、R2の種類によらず存在しない(0Ωの)ほうが音質が良くなりました。よってこの現象は「R2とR3の何らかの相互作用によるもの」と考えられます。

また「R2の抵抗の種類によらず音質改善効果があり」、音質の良い抵抗のほうが効果が高い言えます。

オペアンプでない場合

昔、抵抗の音質をチェックしたときは、FETバッファアンプを使用しました。このとき、R2に相当する抵抗は入れない状態が一番良かったのですが、本当にそうなのか再度確認してみました。

volume-T_03.png

結論から言うと、R3にボリューム(2CP601)を付けた状態で、手持ち抵抗でもっとも音質が優れるRT0603をR2につけても音質が劣化しました。

つまり、この現象は「オペアンプの非反転入力に接続したときに改善効果があるが、FETバッファアンプのような構成では効果がない」ということが分かりました。

音質改善能力の差

さらに検証してみると、R2による音質改善はオペアンプによって大きく異ることが分かりました。改善が大きかった順に並べます。

オペアンプ電圧ノイズ電流ノイズ入力バイアス種類
LME497214nV(1K)4fA(10K)40fAbipolar
LMP77165.8nV(1K)10fA(1K)50fACMOS
LT16773.2nV(1K)300fA(1K)2nAbipolar
LMP77323.0nV(1K)1.1pA(1K)1.5nAbipolar
LT18073.5nV(10K)1.5pA(10K)1uAbipolar
LT62032.9nV(10K)0.75pA(10K)1.3uAbipolar
OPA23654.5nV(100K)4fA(10K)0.2pACMOS

データシートより抜粋。値はTypicalです。各オペアンプの測定条件は同一ではありませんので、相互比較としては誤差を含む値と思ってください。

観測した現象

他にも検証したことを含めまとめておきます。

  • 擬似Lよりも、R2を付けて擬似Tにしたほうが音質が良くなる。
  • ただしオペアンプ等の非反転入力であること*1
  • この現象はT型アッテネータのR3へR2が影響することで起こっている。*2
  • R2の抵抗値はR3の2~10倍程度がよい。ただし約20倍を超えると音質が悪化する。
  • オペアンプの種類により、改善能力に差がある。

*1 : 反転入力側も効果はあると思いますが、反転入力の時点で「入力信号と入力端子間」に抵抗が付いているので意味はない。

*2 : R3が存在しなければ、R2がついていない(ジャンパした)ほうが音質が良い。

仮説

volume-T_10.png

経路Aは入力信号の通り道です。入力信号は「R1とR3の分圧で減衰され、R1とR2を直列要素、R3を並列要素」としてオペアンプに入力されます。ですので、入力信号から見たらR2の抵抗が無いほうが良いことになります。

そしてオペアンプには入力換算電圧雑音というものが存在します。入力換算電圧雑音は、オペアンプの音質に深く関わってくるものですが、それは実際にオペアンプ入力端に発生するわけではありません。ただしアンプ回路を計測してきた実感として、オペアンプはオーディオ信号などを入力して動作させるときに、アンプの動作状況によって入力端子に雑音を発生させることがあります。*3

経路Bの電圧はR2とR3に印加されます。R3には「入力信号」と「オペアンプからの雑音」の2つの信号がかかることになります。雑音信号が入力信号に対して影響を与えることで、入力信号を歪ませます。

ところがR2があると、「オペアンプからの雑音」がそのままR3に印加されることはなくなり、雑音がR2/(R2+R3)されます。つまりR2が大きければ大きいほど雑音が減ります。

一方で、経路Bには「オペアンプの入力換算電流雑音」も生じます。この雑音は、信号源のインピーダンス(R2+R3)が大きくなればなるほど大きくなります。

  1. R2が大きいほど、R3で生じる信号歪みは小さくなり、音質が向上する。
  2. R2が大きいほど、入力換算雑音による歪みと、入力信号に対するR2そのものによる歪みが大きくなり、音質が劣化する。

この推察は、R2が大きすぎてもいけないなどの観測現象をよく説明できます。音質改善効果が大きいオペアンプは、入力換算電流雑音が小さいので(一部例外)、R2よる音質劣化が少なく改善効果が大きいと考えられます。

*3 : 例えばアンプの出力が大きく切り替わるときに、電流を急激に吸い取る(吐き出す)などしたり、電源由来のノイズが入力に漏れることもあります。

検証

仮説を検証するため、T型アッテネーターに細工をし次のようにしてみました。検証はR1=2K, R2=1K, R3=3K, U1=LME49721です。

volume-T_11.png

もし仮説が正しい(オペアンプ由来の雑音が音を歪める)のならば、U2を接続したとき音質が劣化し、またその劣化の仕方はオペアンプによって異なるはずです。

まずR9=0Ω(ジャンパ)として検証しました。U2に使用した時、狙い通り音質が劣化しました。劣化が小さかった順にオペアンプを並べます。

  • LT1807
  • OPA2365
  • LME49721
  • LMP7732
  • LT1677
  • LMP7716
  • LT6203

こうして見ると、電流ノイズなどのパラメーターと相関はないことが分かります。

続いてU2を最も影響が大きかった「LT6203」に固定し、R9に抵抗を入れて検証しました。

  • R9の抵抗値が大きければ大きいほど、影響を遮る
  • R9の抵抗の種類は全く影響がない

まとめ

  • オペアンプなどの入力にボリュームがつながっている場合、入力抵抗R2を付けた方が音質が良くなる。*4
  • R2の抵抗値は、T型アッテネーターのR3の2~10倍程度が良い。
  • R2による音質改善は、オペアンプ由来のノイズ(雑音)をR3に対し印加するのを軽減する効果による。
  • オペアンプの入力換算電流雑音が小さいほど、R2の抵抗値を大きくして大きな改善効果を得られる(例外あり)。

その他、信号源インピーダンス(究極的にはR3の値)によって、音質が最適になるオペアンプが異なるということも分かりました。

擬似L型(擬似T型)アッテネーターは音量調整がしにくいのですが、R1を付けずに通常のボリューム接続にR2として抵抗を接続するだけでも音質が劇的に改善することがあります。

実際に試してみたご報告や追試、考察へのご意見、感想、ツッコミなどありましたらコメントいただければ幸いです。*5

*4 : ボリュームが通常接続の場合も、T型のR1=R3=VRとみなせるので同様です。

*5 : そういえば、良い抵抗でT型にすると十分な音質になるので、長年製作中だった電子ボリュームは辞めました。結局最大振幅と電源の問題がつきまとい、汎用性と音質を高めると大型化せざる得なかった電子ボリューム。

2016/06/11(土)少年が逮捕されたB-CASソフトの件を調べてみた

逮捕容疑は昨年6月23日、同カードがなくても有料デジタル放送が無料で視聴できるプログラムを独自に開発し、自身のホームページ上に無料で公開して不特定多数の人が閲覧、入手できる状態にしたとしている。

(中略)

ネット上に公開された数百ページにわたるデジタル放送の仕組みが書かれた仕様書を読み込み、独自でプログラムを開発したという。プログラムをダウンロードすれば、ネットの掲示板などに投稿されている「ワークキー」と呼ばれる暗号をパソコンに入力することで放送を視聴できるようになるという。

<不正プログラム>TV無料視聴をネット公開、少年逮捕

「なんで公開されているソフトウェア仕様を実装しただけで逮捕されてるんだ?」というのが、これを読んだ時の正直な感想だったのですが、よくよく調べて記事にまとめてみました。

問題の背景

まず、現在日本国内でデジタル放送を受信する際は、すべからくB-CASカードというものが必要になります。これは、デジタル放送が暗号化されているためです。

まず、テレビの放送を受信した装置は、B-CASカードに対して「この放送(チャンネル)の暗号を解くための鍵を計算してください」と放送データの暗号に関する一部をカードに渡します。カードはそれ自体が小さいコンピューターのようなものになっており、カードは渡されたデータからその暗号を解くための「鍵」を計算して受信装置に渡します。

過去にあったBLACKCAS事件

BLACKCASと呼ばれる事件が起きます。2012年頃、BLACKCASなどと呼ばれる「すべてのテレビ局(有料放送を含む)が永久に視聴できるB-CASカード」がネット上で販売されるようになりました。

ほぼ同時期に、なんと間抜けなことに地デジ用を含めほぼすべてのB-CASカードには、あらゆる放送局の暗号を解除するための暗号鍵が記録されており、B-CASカードは「カード内に記録された各放送局ごとの有効期限の欄を参照して、その日時まで暗号を解けるようになる」という仕組みで動作していること、しかもそのB-CASカードのセキュリティーが甘々で中身を容易に書き換えられることが判明します。

例えば有料放送の場合は、受信契約をしないと有効期限が過去に設定されていて、視聴できないという仕組みです。

つまりカードの各放送局の有効期限を書き換えて、設定限界の2038年に有効期限を伸ばしてあげると、あらゆる放送局のデジタル放送を受信できるようになってしまいます。これがいわゆる2038年化です。

当時市販されていたBLACKCASは、大量に流通していたB-CASカードに対して有効期限を設定する書き換えを行ったものでした。

しかしもちろんすぐ問題になり、B-CASカード書き換えや解析していたサイトは警察かどこかに怒られたのかその手の情報を一斉削除。その後、書き換えたB-CASカードを販売していた人が何人も逮捕される事態となりました。

今回の事件

それから何年かして。

B-CASカードの動作を解析し、B-CASカードの動作をエミュレートするソフトが誕生しました。SoftCASといいます。ソースコード付きだったようで、すぐ公開が停止されたみたいですが、一度公開されたが最後、大量にコピーされて未だにネットの海をさまよっています。

検索した情報をまとめると、SoftCASは以下のとおりです。

  • B-CASカードをエミュレートするソフトで、このソフトを使うとB-CASカードが不要になる。
  • 有料放送を含めたあらゆる放送局のKW(ワークキー)を持っている

どう考えてもアウトです(笑)

さて、その後FreeCASというソフトが開発されました。これが今回の事件で捕まった人が作成したソフトのようです。このFreeCASとは一体何なのか?

  • B-CASカードをエミュレートするソフトで、このソフトを使うとB-CASカードが不要になる。
  • 無料放送のKW(ワークキー)を持っている。
  • 有料放送のKWを別途入力すると、有料放送を受信できるようになる。

つまり、SoftCASよりも性能が悪いわけです。なんでこんな意味のないことをしているのかと言う疑問には、作者の物と思われる次のテキストが答えてくれます。

FreeCASは無料の地上波しか見てない人向けというわけではないですが「有料放送部分のキーを含まなければ提訴の理由となる具体的な損害は発生し得ず、事実上訴訟リスクを回避できる」という発想のSoftCAS

法律に違反するか?

最初のYahooの記事だと「正規の受信プログラムを作っただけ」にしか読めなかったのですが、よくよく調べてみるとB-CASカードのエミュレーターだということが分かりました。

不正競争防止法違反ということですが、

デジタルコンテンツのコピー管理技術やアクセス管理技術を無効にすることを目的とする機器やプログラムを提供する行為を、営業上技術的制限手段を用いている者に損害を加える目的で行った者

が刑事罰の対象になるようです。

有料放送を受信しようがしまいが、B-CASカードのエミュレーター(技術的保護の回避装置)という時点でアウトなのかと思ったのですが、きちんと法律を読むと営業上技術的制限手段を用いている者に損害を加える目的が刑事罰の必須条件です*1ので、有料放送のKWを含まないFreeCASは法律的に難しい判断になるような気もします。

別角度から無料放送をB-CASなしで見られることによる損害を立証するのもまた難しそうですし。法律家の判断を聞いてみたいですね。

法律、ちなみに

ちなみに、法律には「装置(当該装置を組み込んだ機器及び当該装置の部品一式であって容易に組み立てることができるものを含む。)若しくは当該機能を有するプログラム(当該プログラムが他のプログラムと組み合わされたものを含む。)」ともありますので、プログラムを分割したり、キット化して組み立てる装置とかにしてもアウトみたいですね。

*1 : 例えば、HDMIの暗号化をたまたま解いてしまうHDMIスプリッタが普通にAmazonで売られているのも、目的がHDMIの暗号化を解くことではないということだと思われます。

まとめ

  • B-CASカードは完全にクラックされてる(笑)
  • 地デジ(無料放送)の暗号化なんてやるからこんなことになる。*2

こういう正規の利用者ばっかり損するシステム止めませんかね。例えばHDDレコーダーで録画したデータを、モバイル機器やPCで再生するのすら一苦労なのに*3、不正規の利用者によって放送データを抜いてネット上で山ほど公開されている矛盾。

*2 : 大量にB-CASカードが世の中に出回る → 出回った数だけクラックされる機会が増える

*3 : 本当に本当に不便極まりない。

OK キャンセル 確認 その他