RIAAフォノイコライザをIIRデジタルフィルタで実装する ①準備編
コロナ禍待機中でヒマなので、いままであまりなじみのなかった、FPGAをつかったデジタル信号処理の勉強をしている。やはりここは、うまく動作すると音楽が聴けるという特典を付けると勉強も捗るのではないかと思い、ここ何年かトラ技でも取り上げられているFPGA、MAX10にIIRでデジタルフォノイコライザを実装する、という課題を通じて勉強することにした。
この企画を思いついて着手したのが9/30だったが、すでに10/14に試聴ができ、特性も確認した。いつものわるい癖で、現物を作るのは早いが理論が後回しになっているので、備忘録として記事を書いておく。
1.RIAAアナログフォノイコライザの復習
アナログレコードはCDとちがって音の信号がそのまま溝として掘られていて、この溝の振動を増幅して音にしている。実際にレコード盤に溝を掘る場合、低域の大振幅の溝を掘るのが物理的に困難だったり、高域の細かな信号のS/Nがわるくなったり、という問題を解決するため、レコードの録音(カッティング)は低域のレベルを下げ、高域のレベルを上げて行い、再生時にその逆の処理をして原信号に戻すということをしている。この処理はアメリカレコード協会(RIAA)によって規格が定められていて、RIAAフォノイコライザ特性といわれる。
フォノイコライザの規格はRIAAによって1950年代に統一されたということだが、当時IEC,Columbia,Decca,eRIAAなど複数の規格が乱立していて、レコード会社によって使う規格がちがうということが起こった。ただ現在われわれに縁があるレコード盤はほとんどがRIAAだろうと考えられるので、今回はもっとも標準的なRIAA規格のみを検討する。
★RIAAフォノイコライザ規格
レコード再生時のRIAAイコライザ規格は図1に示すような時定数になっている。

図1.再生時のRIAA特性
RIAA特性は3つの時定数で定義されている。
図1は3つの時定数を明確に示すために折れ線になっているが、実際にはなめらかな曲線になっている(図2)。
1kHzを基準0dBとして、低域20Hzで約+20dB、高域20kHzで約-20dBとなっている。
20dBは信号振幅で10倍なので、1kHzを基準(1倍)としたときに20Hzでおよそ10倍、20kHzでおよそ1/10倍になっていて、20Hzと20kHzではゲイン差がおよそ100倍だ。つまりこの倍率で低域を持ち上げて、逆に高域を下げている。
レコードの音を、フォノイコライザを通さずに直接増幅して聴いたことがあるだろうか?
レコード直接の音は、チャカチャカとした、低音がほとんどなく、高音が強調された音になっている。
つまりレコードは図2に示すRIAAカーブの逆特性、すなわち低域を約20dB下げて、高域を約20dB増幅して録音されていて、再生時に図2のRIAA特性をかけることで元通りのフラットな周波数特性を得ている。
2.RIAAフォノイコライザの定数計算
それではこのRIAA特性は具体的にどのような伝達関数になっているのだろうか。
RIAAイコライザの伝達特性の式は次のとおり。
ここで時定数T1,T2,T3は上述したとおりそれぞれ3180μs(3180*10^(-6))、318μs(318*10^(-6))、75μs(75*10^(-6))、sはラプラス演算子だ。
これは文献によっては次のように表現されることもあるが、同じものだ。
ラプラス変換が出てきたからといって、恐れる必要は無い。これは交流信号で周波数によって位相が回ったりする面倒な現象を表現する便利な道具で、実際にラプラス変換したり、ラプラス逆変換したり、微分方程式を解くような場面はほとんどない。単なる記号だと思っておけばよい。ラプラスの悪魔なんていないのだ。
さて、式1の伝達関数を回路で表現すればレコードが正しい音で聴ける。
どのような回路だろうか。一般的には図3のような回路になっている。

図3.CR型RIAAイコライザ回路
式1に示す伝達関数を表現する一般的な回路。
ただしこの回路は前段の出力インピーダンスが0、次段の入力インピーダンスが十分に高い、という前提になっているので、実際はこの回路の前後にバッファアンプが接続される。
現在ぼくが実際に使っているイコライザアンプの回路を図4に示す。
図4.実際に使用中のイコライザアンプ
これはMJの安井さんの設計をもとに作ったもので、±4.8Vのニッケル水素電池で組んでいます。枠で囲った部分がRIAAイコライザ回路で、
8.256kは8.2k+56、0.147は0.1u+0.047uです。図中、平滑コン、パスコンの類いは省略しています。
なお、民生品では帰還型のRIAAイコライザアンプが多いようですが、ここではCR型しか扱いません。
ぼくも深く考えずに長らく帰還型のイコライザを使っていましたが、あるときCR型の試作をして音を聞いてびっくりしました。帰還型のイコライザはなにか不自然な艶っぽさのようなものがあることがわかりました。
わかりやすいのは針が落ちたときのポツという音です。帰還型だとうっすらリバーブがかかったような音になりますが、CR型だとそれがありません。
それ以来イコライザはもとより、パワーアンプも無帰還の電流アンプ、電圧アンプをオリジナルで設計して使っています。
図4のイコライザアンプのオペアンプも、いつか無帰還バッファアンプに作り替えて、どんな音になるか試してみたいと思っています。
さて、図3の回路に伝達関数を実装するには以下のようにする。図5を参照してほしい。
まず図5の伝達関数Vo(s)/Vi(s)の式を導出し、その伝達関数が式1と同じになるように、恒等式として各パーツの定数を求める。
図中に示すように、入力電圧をVi(s)、出力電圧をVo(s)、R1,R2,C1を流れる電流をI1(s)、R3,C2を流れる電流をI2(s)、C1,C2のインピーダンスをそれぞれ1/C1・s、1/C2・sとする。
まず入力信号Vi(s)に着目すると、信号電流I1(s)、I2(s)を使って、
次に、出力電圧Vo(s)に着目すると、I2(s)がC2に流れているので
またR1,R2,R3の接続点の電位に着目すると
つまり
・・・式4
この式4を式2,3に代入して整理すると、
よって伝達関数Vi(s)/Vo(s)は
式1で最初に示されたRIAAイコライザの伝達関数を展開すると
なので、式5と式1-bを恒等式として見れば、
・・・式6
・・・式7
・・・式8
ここで、T1,T2,T3は上述したとおりRIAA規格で定められた定数で、それぞれ次のとおり。
T1=3180μs
T2=318μs
T3=75μs
ただし、5変数に対して式が3つしかないので、初期値はエイヤっと決めてやる必要がある。
まず考えやすいのは式6だ。T2が318μsなので、適当な組み合わせを当てはめる。よく使われるのは次の値。
C1=0.047μF
R2=6.8kΩ
この2つを決めた上で、R1もエイヤでR1=56kΩとして残りのC2とR3の組み合わせを計算すればよい。
この作業は式7または式8のどちらかのみで行うことができるが、式8はT1とT3の和の値を基準として計算するため、誤差が大きい。よってT1,T3の積を基準とする式7を使って、C2、R3の組み合わせを計算する。エクセルで計算した結果を表1に示す。
T1、T3はそれぞれ規格で3180μs、75μsなので、T1*T3=2.385*10^(-7)、T1+T3=3.255*10^(-3)が理論値だ。
s^2の項の係数であるT1*T3を基準に計算しているので、T1*T3はぴったり計算通りだが、T1+T3では誤差が生じる。誤差が最小になっているのはC2=4700PF、R3=11kΩの場合だ。これらの定数の組み合わせはよく見られる。
3.計算結果のシミュレーション
上で算出した定数で回路を組んだ場合の誤差をシミュレーションしてみよう。
まず、RIAAの規格通りの各周波数のゲインは次の式で得られる。
・・・式9
次に、上で求めた各部品の値を使った回路の、各周波数の振幅特性を求めるには、伝達特性から振幅特性を求める式を導出する。
振幅特性は、伝達特性からH(s)*H(-s)を求め最後にs=jω(jは虚数)を代入し、平方根をとればよい。つまり、
式1-bに対し、
・・・式10
・・・式11
と置き換えると、振幅特性は

(ただしω=2πf)
これで各周波数のゲインはエクセルで求められる。
せっかくなので位相特性も計算してみよう。
位相特性は伝達特性の虚部と実部の比の逆正接(アークタンジェント)から求める。ただ今回の場合は虚部と実部を分離するのがたいへんなので、重ね合わせから求めることにする。
図6に示すのは積分回路だ。
この回路の伝達関数は
このとき、位相特性は
・・・式13
ところで今回求めるRIAAの伝達特性はT=C・Rとすれば、
と分解することができるため、式12,式13の関係から重ね合わせて求めると、
(rad)・・・式15
とすることができる。
T1、T3は式10,式11で示したとおりなので、それぞれ
(ただしP=T1*T3、Q=T1+T3)
と示すことができ、式15より位相特性を計算することができる。
位相特性についてはあまり触れられていないが、システムの伝達特性を考える上では非常に重要だ。とはいえ、今回のような場合では、伝達特性が決まれば振幅特性と位相特性は一意に決まるので、振幅特性のみ検証すればよいと考えられる。
さて以上ですべての材料が出たので、エクセルによるシミュレーション結果を表2にそのグラフを図7に示す。
表2.RIAAイコライザのシミュレーション
図7.EXCELによるシミュレーション結果のグラフ
表2で”RIAA”と書いてある行が式9による理論値で、式9によれば1kHzでの値は0.089dBとなるが、これを0に正規化してある。Gain(dB)の行が今回の設計によるシミュレーション結果、Error(dB)が今回求めた部品定数による誤差だ。
アナログRIAAイコライザの復習はこれでおしまいです。
10/18
一気に書き上げたので肩が凝りました\(>_<)/
内容確認せずにここで一旦アップしてしまう。加筆や修正は気がついた時点でやります。
| 固定リンク | 0





















コメント
>これで各周波数のゲインはエクセルで求められる。
でホッとしたら
>せっかくなので位相特性も計算してみよう。
でまた計算が始まってしまった‥
アップお疲れ様でした!
投稿: 梅太郎 | 2020年10月18日 (日) 16時16分
梅太郎さん
コメントありがとうございます(^-^)
そしてきょうもまた計算しています。次回はいよいよIIRの係数計算に突入します!
投稿: DJ HIGO | 2020年10月18日 (日) 20時13分