歪みと波形・倍音その10(真空管風デジタル歪み)
一般に真空管の歪みは偶数次倍音が多いといわれており、私が作った真空管アンプと真空管エフェクターでもそのような特徴がありました。よって偶数次倍音が奇数次倍音より多くなるような歪みが真空管の歪みに近いと考え、今回の目標とします。前回の記事で紹介したように、入出力の関係を表した関数(伝達関数と呼びます)で信号処理を考えていきます。
真空管のグリッド電圧とプレート電流の関係(Eg-Ip特性)は下図のような形になります。

通常真空管の増幅回路では、グリッド電圧の変化が入力で、プレート電流の変化を出力として取り出します。つまり上図は入出力の関係(=伝達関数)を大まかに表しています。あまり厳密ではありませんが、なんとなく形が似ている二次関数を使えばよさそうです。また、こちらのページでもx2の項により第2高調波歪が混ざることが記載されています。※後から気づきましたが、指数関数(ex)もたぶん使えます。
以下の伝達関数y=f(x)を考えました。

プラス側は一応少しソフトクリップにしています。波形と倍音は下図です。

うまい具合に偶数次倍音が出ています。
高増幅率時(入力信号を大きくしたとき)の波形と倍音は下図です。

波形がほとんど頭打ち部分で占められるため矩形波に近い形になり、奇数次倍音の方が多くなってしまいました。
各波形の倍音をまとめたときに書きましたが、ハイゲイン時にはデューティ比が0.5でないパルス波の形にする必要があると思われます。そのための一番簡単な方法は直流を足して増幅の中心(バイアス点)をずらすことです。

うまくいきそうに見えましたが、信号が小音量のときは直流成分の影響が大きくなってしまいます。このときはデューティ比が大きくなりすぎ、まともな音になりません。別の方法でバイアス点をずらすことを考えます。
真空管アンプの回路では、大抵数段に渡って増幅されており、段間ではハイパスフィルタ(HPF)を通ることになります。これに倣って『低増幅f(x)→HPF→高増幅f(x)』という2段増幅を行ってみます。計算は省きますが、f(x)ではx2の項により2倍音と直流成分が加えられます。そしてHPFを通ると直流成分が除去され、バイアス点がずれると考えられます。結果は以下のようになりました。

2倍音がやや少ないですが概ねOKでしょう。f(x)をもっと偏った非対称にすれば偶数次倍音がさらに増えてきます。
私自身は真空管が特別好きというわけではありませんが、奇数次倍音と偶数次倍音をある程度コントロールする方法がわかったことは意味があるように思います。あとは各種フィルタを使いこなせれば(簡単ではありませんが)、きっと自分に合った歪みエフェクトをプログラミングできることでしょう。
真空管のグリッド電圧とプレート電流の関係(Eg-Ip特性)は下図のような形になります。

通常真空管の増幅回路では、グリッド電圧の変化が入力で、プレート電流の変化を出力として取り出します。つまり上図は入出力の関係(=伝達関数)を大まかに表しています。あまり厳密ではありませんが、なんとなく形が似ている二次関数を使えばよさそうです。また、こちらのページでもx2の項により第2高調波歪が混ざることが記載されています。※後から気づきましたが、指数関数(ex)もたぶん使えます。
以下の伝達関数y=f(x)を考えました。

プラス側は一応少しソフトクリップにしています。波形と倍音は下図です。

うまい具合に偶数次倍音が出ています。
高増幅率時(入力信号を大きくしたとき)の波形と倍音は下図です。

波形がほとんど頭打ち部分で占められるため矩形波に近い形になり、奇数次倍音の方が多くなってしまいました。
各波形の倍音をまとめたときに書きましたが、ハイゲイン時にはデューティ比が0.5でないパルス波の形にする必要があると思われます。そのための一番簡単な方法は直流を足して増幅の中心(バイアス点)をずらすことです。

うまくいきそうに見えましたが、信号が小音量のときは直流成分の影響が大きくなってしまいます。このときはデューティ比が大きくなりすぎ、まともな音になりません。別の方法でバイアス点をずらすことを考えます。
真空管アンプの回路では、大抵数段に渡って増幅されており、段間ではハイパスフィルタ(HPF)を通ることになります。これに倣って『低増幅f(x)→HPF→高増幅f(x)』という2段増幅を行ってみます。計算は省きますが、f(x)ではx2の項により2倍音と直流成分が加えられます。そしてHPFを通ると直流成分が除去され、バイアス点がずれると考えられます。結果は以下のようになりました。

2倍音がやや少ないですが概ねOKでしょう。f(x)をもっと偏った非対称にすれば偶数次倍音がさらに増えてきます。
私自身は真空管が特別好きというわけではありませんが、奇数次倍音と偶数次倍音をある程度コントロールする方法がわかったことは意味があるように思います。あとは各種フィルタを使いこなせれば(簡単ではありませんが)、きっと自分に合った歪みエフェクトをプログラミングできることでしょう。
歪みと波形・倍音その9(非線形性と歪み)
歪み系エフェクターのデジタル処理を考える場合、処理内容は基本的に関数の形(入力x、出力y)で書くことになります。以下にその例と非線形関数による歪みについて簡単に説明しておきます。倍音については前回の記事にまとめています。
まず理想的な増幅器を考えます。増幅率をaとすると、出力は入力に比例して大きくなるy=axという式になります。下図はa=1のときの入力と出力の関係をグラフにしたものです。

このように入力と出力が直線(比例)関係にある場合は「線形」です。直線の傾きaが変わっても線形といえます。正弦波を入力したとき(上図下側)、出力(上図右側)には全く歪みがありません。
増幅器には通常電源電圧等の制約があるため、一定の入力を超えたところから出力が頭打ちします。グラフでは、途中からyが一定となる形になります。

正弦波を入力したとき、出力はクリップされたものとなります。この場合は線形でないので「非線形」であり、歪みが発生するというわけです。しかしながら、単純なクリッピングのみで自然な歪みを得るのはなかなか難しいと思います。
現実の増幅素子では急に出力が頭打ちになるわけではなく、ある程度滑らかな変化だと考えられます。

上図の関数はy=tanh(x)で、このようにS字を引き伸ばしたような形はシグモイド曲線と呼ばれています。正弦波を入力したとき、出力はソフトにクリップされたものとなります。
真空管を使った増幅では、非対称で複雑なカーブになるようです。

正弦波を入力したとき、出力は非対称に変形しているものとなります。この場合の関数の詳細については別記事にまとめています。
まず理想的な増幅器を考えます。増幅率をaとすると、出力は入力に比例して大きくなるy=axという式になります。下図はa=1のときの入力と出力の関係をグラフにしたものです。

このように入力と出力が直線(比例)関係にある場合は「線形」です。直線の傾きaが変わっても線形といえます。正弦波を入力したとき(上図下側)、出力(上図右側)には全く歪みがありません。
増幅器には通常電源電圧等の制約があるため、一定の入力を超えたところから出力が頭打ちします。グラフでは、途中からyが一定となる形になります。

正弦波を入力したとき、出力はクリップされたものとなります。この場合は線形でないので「非線形」であり、歪みが発生するというわけです。しかしながら、単純なクリッピングのみで自然な歪みを得るのはなかなか難しいと思います。
現実の増幅素子では急に出力が頭打ちになるわけではなく、ある程度滑らかな変化だと考えられます。

上図の関数はy=tanh(x)で、このようにS字を引き伸ばしたような形はシグモイド曲線と呼ばれています。正弦波を入力したとき、出力はソフトにクリップされたものとなります。
真空管を使った増幅では、非対称で複雑なカーブになるようです。

正弦波を入力したとき、出力は非対称に変形しているものとなります。この場合の関数の詳細については別記事にまとめています。
歪みと波形・倍音その8(各クリッピングと倍音)
Pure Data(Pd)を使って正弦波のクリッピングと倍音確認を行ったので、メモとしてまとめておきます。振幅は適宜調節しています。
<対称ハードクリップ>

奇数次倍音のみ出ています。
<非対称ハードクリップ>

偶数次倍音が加わっています。
<対称ソフトクリップ>

ハードクリップより全体的に倍音が減っています。
<非対称ソフトクリップ>

こちらも全体的に倍音が減っています。
<半波整流>

偶数次倍音のみ出ています。
<全波整流>

偶数次倍音のみ出ていて、基音がありません。オクターブファズでこの処理を行うことがあります。
クリッピングではありませんが、周波数2倍、振幅0.25倍の正弦波を元の正弦波に足した場合は下図のようになります。

真空管の歪みは単なる非対称クリップではなく、このような非対称な変形によるものといわれています。
半波整流した正弦波と元の正弦波を混ぜた場合は下図のようになります。

非対称に変形した波形になるので、これを利用すれば面白い歪みエフェクターが作れるかもしれません。
---以下2018年3月3日追記---
<対称クロスオーバー歪み>

奇数次倍音のみ出ています。
<非対称クロスオーバー歪み>

偶数次倍音が加わっています。
<対称ハードクリップ>

奇数次倍音のみ出ています。
<非対称ハードクリップ>

偶数次倍音が加わっています。
<対称ソフトクリップ>

ハードクリップより全体的に倍音が減っています。
<非対称ソフトクリップ>

こちらも全体的に倍音が減っています。
<半波整流>

偶数次倍音のみ出ています。
<全波整流>

偶数次倍音のみ出ていて、基音がありません。オクターブファズでこの処理を行うことがあります。
クリッピングではありませんが、周波数2倍、振幅0.25倍の正弦波を元の正弦波に足した場合は下図のようになります。

真空管の歪みは単なる非対称クリップではなく、このような非対称な変形によるものといわれています。
半波整流した正弦波と元の正弦波を混ぜた場合は下図のようになります。

非対称に変形した波形になるので、これを利用すれば面白い歪みエフェクターが作れるかもしれません。
---以下2018年3月3日追記---
<対称クロスオーバー歪み>

奇数次倍音のみ出ています。
<非対称クロスオーバー歪み>

偶数次倍音が加わっています。
歪みと波形・倍音その7(各波形の倍音)
Pure Data(Pd)を使うと簡単に信号発生と倍音確認ができますので、メモとしてまとめておきます。
<三角波>

奇数次倍音がきれいに並んでいます。
<ノコギリ波>

奇数次倍音と偶数次倍音が両方出ています。
<矩形波>

ほぼ奇数次倍音ですが、三角波より倍音が多いです。
<矩形波+ハイパスフィルター>(※振幅0.8倍)

波形が斜めにえぐりとられる感じになります。
<矩形波+ローパスフィルター>

波形が丸く削られる形になります。ローパスフィルターなので高域の倍音が減ります。
<パルス波>(※パルス波という呼称でいいのか不明)

矩形波に似ていますが、プラス側とマイナス側になっている時間の幅の比が1:1(デューティ比0.5)ではありません。上図はデューティ比0.6の場合で、偶数次倍音が出ています。真空管の歪みを調べた際にハイゲインでも偶数次倍音が多かったのは、この波形に近いためかもしれないと考えています。
<三角波>

奇数次倍音がきれいに並んでいます。
<ノコギリ波>

奇数次倍音と偶数次倍音が両方出ています。
<矩形波>

ほぼ奇数次倍音ですが、三角波より倍音が多いです。
<矩形波+ハイパスフィルター>(※振幅0.8倍)

波形が斜めにえぐりとられる感じになります。
<矩形波+ローパスフィルター>

波形が丸く削られる形になります。ローパスフィルターなので高域の倍音が減ります。
<パルス波>(※パルス波という呼称でいいのか不明)

矩形波に似ていますが、プラス側とマイナス側になっている時間の幅の比が1:1(デューティ比0.5)ではありません。上図はデューティ比0.6の場合で、偶数次倍音が出ています。真空管の歪みを調べた際にハイゲインでも偶数次倍音が多かったのは、この波形に近いためかもしれないと考えています。
歪みと波形・倍音その6(ダイオードの位置)
歪み系エフェクターでは多くの場合、波形クリップのためにダイオードが使われます。ダイオードクリッパーとかクリッピングダイオードという呼び方があるようです。このダイオードの回路上の位置を変更し、波形・倍音の違いを調べました。
歪みと波形・倍音 記事一覧
▽回路図

非反転増幅回路の帰還部分にダイオードを入れる場合をODタイプ、出力にダイオードを入れる場合をDSタイプと勝手に呼ぶことにします。偶数次倍音も出るように、非対称クリッピングにしました。入力は1kHzサイン波、約0.14Vrmsです。音量はDSタイプの方が小さくなるため、各タイプ録音後ノーマライズしています。
※Twitterにて指摘をいただき、回路図左上にコンデンサを追加しました。増幅率を変更し、全データを差し替えています。(2017年8月12日)
▽11倍増幅

ODタイプの方が倍音が多そうに見えますが、なんともいえない感じです。聴感上は、ODタイプの方が高域が出ているように感じました。
▽21倍増幅

2~6次倍音はDSタイプの方が多く、7次倍音以降はODタイプの方が多いです。聴感上も、ODタイプの方が高域が出ているように感じました。
▽34倍増幅

DSタイプの方が歪率が高く、全体的に倍音が多いです。聴感上はあまり違いがわかりません。波形については、どの増幅率でもODタイプの方が丸みを帯びた形になっています。
さらに増幅率を上げていくと、ODタイプは歪率が31%程度で頭打ちになったので、深い歪みは得にくいようです。DSタイプは歪率が上がり続けましたが、波形の角が鋭くなるので、ICの歪みが混ざっていると思います。
・総評(のようなもの)
ODタイプは高次倍音が出やすい(クリアな音に感じる)、DSタイプは低次倍音が出やすい(太い音に感じる)というような傾向がわかりました。LED対称クリッピングでも測定しましたが、同じ傾向のようです。丸い波形になるODタイプの方がなんとなく低域寄りな音になるイメージがあったので、意外な結果となりました。
---以下2017年8月20日追記---
▽LTspiceでのシミュレーション結果(21倍増幅)

入力電圧は0.12Vrmsで同じぐらいの歪率になりました。実測と違う部分はあるものの、倍音の出方の傾向は大体同じといってよいと思います。シミュレーションでも歪みの特徴は充分参考になるようです。
歪みと波形・倍音 記事一覧
▽回路図

非反転増幅回路の帰還部分にダイオードを入れる場合をODタイプ、出力にダイオードを入れる場合をDSタイプと勝手に呼ぶことにします。偶数次倍音も出るように、非対称クリッピングにしました。入力は1kHzサイン波、約0.14Vrmsです。音量はDSタイプの方が小さくなるため、各タイプ録音後ノーマライズしています。
※Twitterにて指摘をいただき、回路図左上にコンデンサを追加しました。増幅率を変更し、全データを差し替えています。(2017年8月12日)
▽11倍増幅

ODタイプの方が倍音が多そうに見えますが、なんともいえない感じです。聴感上は、ODタイプの方が高域が出ているように感じました。
▽21倍増幅

2~6次倍音はDSタイプの方が多く、7次倍音以降はODタイプの方が多いです。聴感上も、ODタイプの方が高域が出ているように感じました。
▽34倍増幅

DSタイプの方が歪率が高く、全体的に倍音が多いです。聴感上はあまり違いがわかりません。波形については、どの増幅率でもODタイプの方が丸みを帯びた形になっています。
さらに増幅率を上げていくと、ODタイプは歪率が31%程度で頭打ちになったので、深い歪みは得にくいようです。DSタイプは歪率が上がり続けましたが、波形の角が鋭くなるので、ICの歪みが混ざっていると思います。
・総評(のようなもの)
ODタイプは高次倍音が出やすい(クリアな音に感じる)、DSタイプは低次倍音が出やすい(太い音に感じる)というような傾向がわかりました。LED対称クリッピングでも測定しましたが、同じ傾向のようです。丸い波形になるODタイプの方がなんとなく低域寄りな音になるイメージがあったので、意外な結果となりました。
---以下2017年8月20日追記---
▽LTspiceでのシミュレーション結果(21倍増幅)

入力電圧は0.12Vrmsで同じぐらいの歪率になりました。実測と違う部分はあるものの、倍音の出方の傾向は大体同じといってよいと思います。シミュレーションでも歪みの特徴は充分参考になるようです。