奇数/偶数高調波を信号に追加しますか?


12

浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか?

tanhまたはsinを使用する必要がありますか?

私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。


3
なぜ高調波を追加したいのですか?あなたが達成しようとしていることは何ですか?どのような信号を使用していますか?
ジム・クレイ

私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。カルチャーハゲタカが五極管と三極管の設定に奇数と偶数の高調波を追加することで、フロート値がサンプルフローの単一のサンプルになることと似ています。
カルロスバルボサ

1
@CarlosBarbosa質問へのコメントからその情報を編集する必要があります。詳細を提供してください-コミュニティにとって質問が興味深いほど、より多くの回答が得られ、質の高い回答が得られます。
ペネロペ

なぜ奇数高調波は電源システムの偶数高調波よりも危険なのか

回答:


17

歪みボックスが行うことは、信号に非線形伝達関数を適用することです:output = function(input)またはy = f(x)。個々の入力サンプルに同じ関数を適用して、対応する出力サンプルを取得するだけです。

入力信号が正弦波の場合、高調波歪みと呼ばれる特定の種類の歪みが生成されます。歪みによって作成される新しいトーンはすべて、入力信号の完全な高調波です。

  • 伝達関数に奇数の対称性がある場合(原点を中心に180°回転可能)、奇数の高調波(1f、3f、5f、...)のみが生成されます。奇妙な対称性を備えたシステムの例は、対称クリッピングアンプです。
  • 伝達関数が 対称性がある場合(Y軸で反射可能)、生成される高調波は偶数次高調波(0f、2f、4f、6f、...)のみになります。基本的な1fは奇数高調波であり、削除されます。均一な対称性を持つシステムの例は、全波整流器です。

そのため、奇数の高調波を追加する場合は、次のような奇数対称の伝達関数を介して信号を入力します y = tanh(x)またはのy = x^3

偶数次の高調波のみを追加する場合は、対称関数にアイデンティティ関数を加えた伝達関数に信号を通し、元の基本波を維持します。y = x + x^4またはのようなものy = x + abs(x)。のx +は、本来は破壊されるはずの基本x^4波を保持しますが、偶数対称であり、偶数高調波のみを生成します(DCを含みます。DCは、後でハイパスフィルターで除去する可能性があります)。

対称性:

偶数対称の伝達関数:

y = x ^ 6伝達関数

元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは偶数の高調波のみを表示し、基本波は表示しません。

y = x ^ 6スペクトル

奇数対称性:

奇数対称の伝達関数:

y = x ^ 7伝達関数

元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは基本波を含む奇数次の高調波のみを示しています。

y = x ^ 7スペクトル

偶数対称+基本:

偶数対称性をもつ伝達関数と恒等関数:

y = x + x ^ 4伝達関数

元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは高調波と基本波を示しています。

y = x + x ^ 4スペクトル

これは、歪みボックスが「奇数倍音を追加する」と言うとき、人々が話していることですが、実際には正確ではありません。問題は、高調波歪みが正弦波入力に対してのみ存在することです。ほとんどの人は正弦波ではなく楽器を演奏するため、入力信号には複数の正弦波成分が含まれています。その場合、高調波歪みではなく相互変調歪みが発生し、奇数および偶数の高調波に関するこれらの規則は適用されなくなります。たとえば、次の信号に全波整流器(対称)を適用します。

  • 正弦波(基本的な奇数次高調波のみ)→全波整流正弦(偶数次高調波のみ)
  • 方形波(奇数次高調波のみ)→DC(0次高調波のみ)
  • のこぎり波(奇数および偶数倍音)→三角波(奇数倍音のみ)
  • 三角波(奇数次高調波のみ)→2×三角波(奇数次高調波のみ)

そのため、出力スペクトルは、歪みデバイスではなく入力信号に強く依存し、誰かが「アンプ/エフェクトがより音楽的な偶数次の高調波を生成する」と言うときはいつでも、それを一粒で取る必要があります。

偶数倍音の音は奇数倍音だけの音よりも「音楽的」であるという主張にはある程度の真実がありますが、これらのスペクトルは上記で説明したように実際には生成されておらず、この主張は以下の文脈でのみ有効ですとにかく西洋の音階。奇数倍音(方形波、クラリネットなど)は、、2:1オクターブではなく3:1の比率に基づいボーレン-ピアスの音階でます。

覚えておくべきもう1つのことは、デジタルの非線形プロセスがエイリアシングを引き起こす可能性があることです。参照帯域制限された非線形歪みのようなものはありますか?


ここの例の関数は、数学を理解しやすくするものですが、通常はオーディオでは使用されません。たとえば、x ^ 7では、ゲインを上げるほど信号の歪みが少なくなります。
エンドリス

8

あなたが達成しようとしているものは、歪みと呼ばれます。この手法は、特定の信号にいくつかの高調波を追加するときに使用します。これを行うには、基本的に2つの方法があります。波形整形とリング変調です。最初に説明します。

波形整形

波形整形により、特別に選択された機能を使用して歪みを作成できます。有用な方法の1つは、チェビシェフ多項式です。それらは、単位振幅の高調波信号(たとえば、正弦波)をファイリングするときに非常に重要な特性を持っているため、同じ信号を得ることができます。周波数乗数は、多項式の次数に依存します。すべての多項式は次のようになります。

 y=fバツ=d0+d1バツ+d2バツ2+d3バツ3++dNバツN;

この場合、各要素がハーモニカを生成し、それらがすべて加算されます。各メンバーのビューは、次の繰り返し関係によって決定されます。

Tk+1バツ=2バツTkバツTk1バツ;

T0バツ=1;

T1バツ=バツ;

T2バツ=2バツバツ1=2バツ21;

T3バツ=2バツ2バツ21バツ=4バツ33バツ;

ご想像のとおり、2番目の項-最初の高調波、3番目の項-2番目など。

チェビシェフ多項式のもう1つの特徴は、それらを介して振幅が単位よりも小さい信号を与える場合、出力は高調波を含む飽和度の低い音になります。これにより、オーバードライブ効果を作成できます。

sin


いい答え、ここで何かを学びました。ただし、伝達関数という用語の使用には同意しません。その一般的な定義は、周波数領域での線形時不変システムの出力と入力の関係です。システムは非線形です。私はむしろそれを特性と呼ぶか、ここで単に機能させます。
DEVE

@Deveありがとう。はい、確かに間違った用語を使用しましたが、機能は十分です。用語が私の考えに残ったので、私は、線形システムの書き込み例に考えていたが、それは非常に簡単です
sigrlami

うわー、これすべてのおかげで、私は多くのように見えますが、いくつかのサンプルCコードの可能性はありますか?もう一度ありがとう
カルロスバルボサ

方程式がどのように正確に展開されますか T0バツT1バツ などは元の方程式に関連しています y?...
スペイシー

@Mohammadそれらは正確に関連しておらず、トピックスターターがそれを知らない場合、それは単に多項式関数の簡単な説明です。
sigrlami
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.