矩形波: Difference between revisions

From daw.wiki
Jump to navigation Jump to search
DawWriter (talk | contribs)
矩形波とSquare wave、デューティ比、PWM、倍音構成、デジタル生成を詳説
 
Marked this version for translation
 
Line 2: Line 2:


<translate>
<translate>
<!--T:1-->
'''矩形波'''(rectangular wave)は、一定時間ごとに2つのレベルを切り替える周期波形である。2つのレベルに滞在する時間が等しく、[[<tvar name=1>Special:MyLanguage/Duty cycle</tvar>|デューティ比]]が50%の矩形波は特に'''Square wave'''(方形波、スクエア波)と呼ばれる。
'''矩形波'''(rectangular wave)は、一定時間ごとに2つのレベルを切り替える周期波形である。2つのレベルに滞在する時間が等しく、[[<tvar name=1>Special:MyLanguage/Duty cycle</tvar>|デューティ比]]が50%の矩形波は特に'''Square wave'''(方形波、スクエア波)と呼ばれる。


<!--T:2-->
シンセサイザーではSquare、Pulse、Rectangleなどの名称で基本オシレーター波形として広く使われ、[[<tvar name=2>Special:MyLanguage/Subtractive synthesis</tvar>|減算合成]]、[[<tvar name=3>Special:MyLanguage/PWM</tvar>|パルス幅変調]]、[[<tvar name=4>Special:MyLanguage/LFO</tvar>|LFO]]、クロック信号などに利用される。
シンセサイザーではSquare、Pulse、Rectangleなどの名称で基本オシレーター波形として広く使われ、[[<tvar name=2>Special:MyLanguage/Subtractive synthesis</tvar>|減算合成]]、[[<tvar name=3>Special:MyLanguage/PWM</tvar>|パルス幅変調]]、[[<tvar name=4>Special:MyLanguage/LFO</tvar>|LFO]]、クロック信号などに利用される。


<!--T:3-->
== 基本形 ==
== 基本形 ==
矩形波は1周期の中で高レベルと低レベルを切り替える。
矩形波は1周期の中で高レベルと低レベルを切り替える。


<!--T:4-->
50%デューティの理想Square waveでは、
50%デューティの理想Square waveでは、


<!--T:5-->
* 周期の半分が高レベル
* 周期の半分が高レベル
* 残り半分が低レベル
* 残り半分が低レベル


<!--T:6-->
となる。
となる。


<!--T:7-->
この波形は時間領域に不連続な立ち上がり・立ち下がりを持つ。
この波形は時間領域に不連続な立ち上がり・立ち下がりを持つ。


<!--T:8-->
理想的な不連続を完全に表現するには無限に高い周波数成分が必要になるため、現実のアナログ回路やデジタルオーディオでは立ち上がり時間が有限になり、完全な数学的矩形波にはならない。
理想的な不連続を完全に表現するには無限に高い周波数成分が必要になるため、現実のアナログ回路やデジタルオーディオでは立ち上がり時間が有限になり、完全な数学的矩形波にはならない。


<!--T:9-->
== Square wave と rectangular wave ==
== Square wave と rectangular wave ==
日常的なシンセサイザー用語では「矩形波」と「Square wave」がほぼ同義に扱われる場合も多い。
日常的なシンセサイザー用語では「矩形波」と「Square wave」がほぼ同義に扱われる場合も多い。


<!--T:10-->
厳密には、Square waveは50%デューティの矩形波であり、デューティ比が50%以外の波形は一般に[[<tvar name=5>Special:MyLanguage/Pulse wave</tvar>|パルス波]]またはrectangular waveとして扱える。
厳密には、Square waveは50%デューティの矩形波であり、デューティ比が50%以外の波形は一般に[[<tvar name=5>Special:MyLanguage/Pulse wave</tvar>|パルス波]]またはrectangular waveとして扱える。


<!--T:11-->
たとえば、
たとえば、


<!--T:12-->
* 50% : Square wave
* 50% : Square wave
* 25% : 狭い高レベル区間を持つPulse wave
* 25% : 狭い高レベル区間を持つPulse wave
* 10% : より細いパルス
* 10% : より細いパルス


<!--T:13-->
となる。
となる。


<!--T:14-->
デューティ比を連続的に変えると倍音構成も変化する。
デューティ比を連続的に変えると倍音構成も変化する。


<!--T:15-->
== 周波数成分 ==
== 周波数成分 ==
理想的な50%デューティの対称Square waveは、基本周波数と奇数次倍音から構成される。
理想的な50%デューティの対称Square waveは、基本周波数と奇数次倍音から構成される。


<!--T:16-->
振幅±1の代表的なSquare waveは概念的に、
振幅±1の代表的なSquare waveは概念的に、


  <code>x(t) = (4/π)[sin(ωt) + (1/3)sin(3ωt) + (1/5)sin(5ωt) + ...]</code>
  <!--T:17-->
<code>x(t) = (4/π)[sin(ωt) + (1/3)sin(3ωt) + (1/5)sin(5ωt) + ...]</code>


<!--T:18-->
と表せる。
と表せる。


<!--T:19-->
つまり、
つまり、


<!--T:20-->
* 基音
* 基音
* 3次倍音
* 3次倍音
Line 52: Line 72:
* …
* …


<!--T:21-->
を含み、n次の奇数倍音振幅はおおむね1/nで減少する。
を含み、n次の奇数倍音振幅はおおむね1/nで減少する。


<!--T:22-->
MathWorldもSquare waveのフーリエ級数を奇数次成分のみの級数として示している。<ref name="mathworld-square">[https://mathworld.wolfram.com/FourierSeriesSquareWave.html Wolfram MathWorld, ''Fourier Series—Square Wave'']</ref>
MathWorldもSquare waveのフーリエ級数を奇数次成分のみの級数として示している。<ref name="mathworld-square">[https://mathworld.wolfram.com/FourierSeriesSquareWave.html Wolfram MathWorld, ''Fourier Series—Square Wave'']</ref>


<!--T:23-->
== デューティ比とスペクトル ==
== デューティ比とスペクトル ==
50%からデューティ比を変えると、Square waveに見られる奇数次だけという対称性が崩れ、偶数次倍音も現れる。
50%からデューティ比を変えると、Square waveに見られる奇数次だけという対称性が崩れ、偶数次倍音も現れる。


<!--T:24-->
Pulse widthが狭くなるほど、多数の高次倍音が比較的強く含まれる。
Pulse widthが狭くなるほど、多数の高次倍音が比較的強く含まれる。


<!--T:25-->
そのためシンセサイザーでは、Pulse widthを音色パラメーターとして扱う。
そのためシンセサイザーでは、Pulse widthを音色パラメーターとして扱う。


<!--T:26-->
Pulse widthを時間的に変調するのが[[<tvar name=6>Special:MyLanguage/PWM</tvar>|Pulse Width Modulation]]である。
Pulse widthを時間的に変調するのが[[<tvar name=6>Special:MyLanguage/PWM</tvar>|Pulse Width Modulation]]である。


<!--T:27-->
== 音色 ==
== 音色 ==
50% Square waveは、サイン波より多くの倍音を含むが、ノコギリ波より倍音密度が低い。
50% Square waveは、サイン波より多くの倍音を含むが、ノコギリ波より倍音密度が低い。


<!--T:28-->
一般には、
一般には、


<!--T:29-->
* 中空感
* 中空感
* 木管的
* 木管的
Line 76: Line 105:
* 明瞭
* 明瞭


<!--T:30-->
などと形容されることがある。
などと形容されることがある。


<!--T:31-->
ただし音色はフィルター、エンベロープ、ピッチ、PWM、ユニゾンなどによって大きく変化する。
ただし音色はフィルター、エンベロープ、ピッチ、PWM、ユニゾンなどによって大きく変化する。


<!--T:32-->
Square waveにローパスフィルターを適用すると高次倍音が削られ、丸みのある波形・音色へ近づく。
Square waveにローパスフィルターを適用すると高次倍音が削られ、丸みのある波形・音色へ近づく。


<!--T:33-->
== Subtractive synthesis ==
== Subtractive synthesis ==
[[<tvar name=7>Special:MyLanguage/Subtractive synthesis</tvar>|減算合成]]では、倍音を含む矩形波を[[<tvar name=8>Special:MyLanguage/Filter</tvar>|フィルター]]へ通し、不要な周波数成分を減衰させて音色を形成する。
[[<tvar name=7>Special:MyLanguage/Subtractive synthesis</tvar>|減算合成]]では、倍音を含む矩形波を[[<tvar name=8>Special:MyLanguage/Filter</tvar>|フィルター]]へ通し、不要な周波数成分を減衰させて音色を形成する。


<!--T:34-->
Square waveは奇数次倍音が中心なので、Sawtoothとは異なるフィルター応答を得られる。
Square waveは奇数次倍音が中心なので、Sawtoothとは異なるフィルター応答を得られる。


<!--T:35-->
低いカットオフでは高次倍音が削られ、最終的には基音成分が支配的になり、サイン波に近いスペクトルへ向かう。
低いカットオフでは高次倍音が削られ、最終的には基音成分が支配的になり、サイン波に近いスペクトルへ向かう。


<!--T:36-->
== PWM ==
== PWM ==
[[<tvar name=9>Special:MyLanguage/PWM</tvar>|パルス幅変調]]は、矩形波のデューティ比を時間的に変化させる手法である。
[[<tvar name=9>Special:MyLanguage/PWM</tvar>|パルス幅変調]]は、矩形波のデューティ比を時間的に変化させる手法である。


<!--T:37-->
典型的にはLFOやエンベロープをPulse Widthへ入力する。
典型的にはLFOやエンベロープをPulse Widthへ入力する。


<!--T:38-->
PWMを行うと各倍音の振幅が時間的に変化し、単純なオシレーター1基でも厚みや動きのある音色を作れる。
PWMを行うと各倍音の振幅が時間的に変化し、単純なオシレーター1基でも厚みや動きのある音色を作れる。


<!--T:39-->
アナログポリシンセ、ストリングス系、パッド系で代表的な手法である。
アナログポリシンセ、ストリングス系、パッド系で代表的な手法である。


<!--T:40-->
デューティ比が極端に狭くなるとDC成分や平均値の変化も大きくなり、実装によってはレベル感も変化する。
デューティ比が極端に狭くなるとDC成分や平均値の変化も大きくなり、実装によってはレベル感も変化する。


<!--T:41-->
== LFOとしての矩形波 ==
== LFOとしての矩形波 ==
矩形波を[[<tvar name=10>Special:MyLanguage/LFO</tvar>|LFO]]として使うと、変調先のパラメーターが2つの値の間を瞬時に切り替えるような動作になる。
矩形波を[[<tvar name=10>Special:MyLanguage/LFO</tvar>|LFO]]として使うと、変調先のパラメーターが2つの値の間を瞬時に切り替えるような動作になる。


<!--T:42-->
たとえば、
たとえば、


<!--T:43-->
* ピッチを2音間で交互に切り替える
* ピッチを2音間で交互に切り替える
* フィルターカットオフをHigh/Lowで交互に切り替える
* フィルターカットオフをHigh/Lowで交互に切り替える
Line 110: Line 153:
* ゲート的な音量変調を行う
* ゲート的な音量変調を行う


<!--T:44-->
など。
など。


<!--T:45-->
Native InstrumentsはSquare LFOを、値が滑らかに移動するのではなく2つの状態間をジャンプする波形として説明している。<ref name="ni-lfo-square">[https://blog.native-instruments.com/what-is-an-lfo/ Native Instruments, ''What is an LFO?'']</ref>
Native InstrumentsはSquare LFOを、値が滑らかに移動するのではなく2つの状態間をジャンプする波形として説明している。<ref name="ni-lfo-square">[https://blog.native-instruments.com/what-is-an-lfo/ Native Instruments, ''What is an LFO?'']</ref>


<!--T:46-->
== アナログシンセサイザーでの生成 ==
== アナログシンセサイザーでの生成 ==
アナログオシレーターでは、矩形波は比較的生成しやすい。
アナログオシレーターでは、矩形波は比較的生成しやすい。


<!--T:47-->
代表的には、
代表的には、


<!--T:48-->
* コンパレーターで三角波やノコギリ波を閾値比較する
* コンパレーターで三角波やノコギリ波を閾値比較する
* フリップフロップやロジック回路で分周する
* フリップフロップやロジック回路で分周する
* relaxation oscillatorから直接生成する
* relaxation oscillatorから直接生成する


<!--T:49-->
など。
など。


<!--T:50-->
ノコギリ波や三角波を比較器へ入力し、閾値を変えることでPulse Widthを制御する設計も多い。
ノコギリ波や三角波を比較器へ入力し、閾値を変えることでPulse Widthを制御する設計も多い。


<!--T:51-->
この場合、比較閾値をLFOやエンベロープで変調すればPWMを実現できる。
この場合、比較閾値をLFOやエンベロープで変調すればPWMを実現できる。


<!--T:52-->
== デジタル生成とaliasing ==
== デジタル生成とaliasing ==
数学的な矩形波には無限に高い奇数次倍音が存在する。
数学的な矩形波には無限に高い奇数次倍音が存在する。


<!--T:53-->
デジタルオーディオでは[[<tvar name=11>Special:MyLanguage/Nyquist frequency</tvar>|ナイキスト周波数]]より高い倍音をそのまま生成すると、折り返して[[<tvar name=12>Special:MyLanguage/Aliasing</tvar>|エイリアシング]]になる。
デジタルオーディオでは[[<tvar name=11>Special:MyLanguage/Nyquist frequency</tvar>|ナイキスト周波数]]より高い倍音をそのまま生成すると、折り返して[[<tvar name=12>Special:MyLanguage/Aliasing</tvar>|エイリアシング]]になる。


<!--T:54-->
そのためデジタルシンセサイザーでは、
そのためデジタルシンセサイザーでは、


<!--T:55-->
* band-limited wavetable
* band-limited wavetable
* additive resynthesis
* additive resynthesis
Line 142: Line 197:
* oversampling
* oversampling


<!--T:56-->
などを使って帯域制限された矩形波を生成することがある。
などを使って帯域制限された矩形波を生成することがある。


<!--T:57-->
Ableton LiveのOperatorでもsquareやsawtoothは理想波形そのものではなく、倍音数を制限したresynthesized approximationとして実装され、倍音数が少ない波形ほど高音域でaliasingを起こしにくいと説明されている。<ref name="ableton-square">[https://www.ableton.com/en/live-manual/12/live-instrument-reference/ Ableton Live 12 Manual, Operator built-in waveforms]</ref>
Ableton LiveのOperatorでもsquareやsawtoothは理想波形そのものではなく、倍音数を制限したresynthesized approximationとして実装され、倍音数が少ない波形ほど高音域でaliasingを起こしにくいと説明されている。<ref name="ableton-square">[https://www.ableton.com/en/live-manual/12/live-instrument-reference/ Ableton Live 12 Manual, Operator built-in waveforms]</ref>


<!--T:58-->
Cycling '74もデジタルシンセサイザーのsquare、triangle、sawtoothでは、ナイキスト周波数を超える高調波を避けるためanti-aliased / band-limited oscillatorを使うことを説明している。<ref name="cycling-square">[https://docs.cycling74.com/learn/articles/08_filterchapter03/ Cycling '74, ''MSP Filter Tutorial 3: Analog-Style Synthesis'']</ref>
Cycling '74もデジタルシンセサイザーのsquare、triangle、sawtoothでは、ナイキスト周波数を超える高調波を避けるためanti-aliased / band-limited oscillatorを使うことを説明している。<ref name="cycling-square">[https://docs.cycling74.com/learn/articles/08_filterchapter03/ Cycling '74, ''MSP Filter Tutorial 3: Analog-Style Synthesis'']</ref>


<!--T:59-->
== Gibbs phenomenon ==
== Gibbs phenomenon ==
有限数のサイン波だけで理想Square waveを近似すると、不連続点の周辺にオーバーシュートとリンギングが現れる。
有限数のサイン波だけで理想Square waveを近似すると、不連続点の周辺にオーバーシュートとリンギングが現れる。


<!--T:60-->
これは[[<tvar name=13>Special:MyLanguage/Gibbs phenomenon</tvar>|ギブス現象]]と呼ばれる。
これは[[<tvar name=13>Special:MyLanguage/Gibbs phenomenon</tvar>|ギブス現象]]と呼ばれる。


<!--T:61-->
高調波数を増やすと不連続点以外の近似は改善するが、不連続近傍のオーバーシュートが単純に消えるわけではない。
高調波数を増やすと不連続点以外の近似は改善するが、不連続近傍のオーバーシュートが単純に消えるわけではない。


<!--T:62-->
この現象はフーリエ級数による波形合成の代表例である。
この現象はフーリエ級数による波形合成の代表例である。


<!--T:63-->
== DC成分 ==
== DC成分 ==
上下のレベルが+1と-1でデューティ50%なら平均値は0で、DC成分を持たない。
上下のレベルが+1と-1でデューティ50%なら平均値は0で、DC成分を持たない。


<!--T:64-->
一方、
一方、


<!--T:65-->
* High/Lowが非対称
* High/Lowが非対称
* デューティ比が50%でない
* デューティ比が50%でない
* 0〜+1のように片側だけのレベルで生成
* 0〜+1のように片側だけのレベルで生成


<!--T:66-->
といった矩形波では平均値が0でなく、DC成分を持つ。
といった矩形波では平均値が0でなく、DC成分を持つ。


<!--T:67-->
オーディオ信号として使う場合はAC couplingやDC blockingが必要になることがある。
オーディオ信号として使う場合はAC couplingやDC blockingが必要になることがある。


<!--T:68-->
== 同期・クロック用途 ==
== 同期・クロック用途 ==
矩形波は立ち上がり・立ち下がり位置が明確なため、オーディオ以外でもクロック、トリガー、ゲート信号に広く使われる。
矩形波は立ち上がり・立ち下がり位置が明確なため、オーディオ以外でもクロック、トリガー、ゲート信号に広く使われる。


<!--T:69-->
モジュラーシンセでは、
モジュラーシンセでは、


<!--T:70-->
* Gate
* Gate
* Trigger
* Trigger
Line 180: Line 250:
* Sync pulse
* Sync pulse


<!--T:71-->
などが矩形パルスとして扱われる。
などが矩形パルスとして扱われる。


<!--T:72-->
ただし、これらは音声波形としてのSquare waveとは電圧範囲や目的が異なる。
ただし、これらは音声波形としてのSquare waveとは電圧範囲や目的が異なる。


<!--T:73-->
== 極性と位相 ==
== 極性と位相 ==
Square waveを時間方向に半周期ずらすと極性が反転したように見える。
Square waveを時間方向に半周期ずらすと極性が反転したように見える。


<!--T:74-->
一方、Pulse Widthが50%でない矩形波では単純な180°位相反転と極性反転の関係が直感的でない場合がある。
一方、Pulse Widthが50%でない矩形波では単純な180°位相反転と極性反転の関係が直感的でない場合がある。


<!--T:75-->
複数オシレーターを加算する場合、位相関係によって一部倍音が強調・相殺される。
複数オシレーターを加算する場合、位相関係によって一部倍音が強調・相殺される。


<!--T:76-->
== 他の基本波形との比較 ==
== 他の基本波形との比較 ==
{| class="wikitable"
{| class="wikitable"
Line 204: Line 280:
|}
|}


<!--T:77-->
== 関連項目 ==
== 関連項目 ==
* [[<tvar name=17>Special:MyLanguage/Waveform</tvar>|波形]]
* [[<tvar name=17>Special:MyLanguage/Waveform</tvar>|波形]]
Line 217: Line 294:
* [[<tvar name=27>Special:MyLanguage/LFO</tvar>|LFO]]
* [[<tvar name=27>Special:MyLanguage/LFO</tvar>|LFO]]


<!--T:78-->
== 参考資料 ==
== 参考資料 ==
<references />
<references />


<!--T:79-->
* [https://mathworld.wolfram.com/FourierSeriesSquareWave.html Wolfram MathWorld, Fourier Series—Square Wave]
* [https://mathworld.wolfram.com/FourierSeriesSquareWave.html Wolfram MathWorld, Fourier Series—Square Wave]
* [https://www.ableton.com/en/live-manual/12/live-instrument-reference/ Ableton Live 12 Reference Manual]
* [https://www.ableton.com/en/live-manual/12/live-instrument-reference/ Ableton Live 12 Reference Manual]

Latest revision as of 05:06, 9 October 2026

矩形波(rectangular wave)は、一定時間ごとに2つのレベルを切り替える周期波形である。2つのレベルに滞在する時間が等しく、デューティ比が50%の矩形波は特にSquare wave(方形波、スクエア波)と呼ばれる。

シンセサイザーではSquare、Pulse、Rectangleなどの名称で基本オシレーター波形として広く使われ、減算合成、パルス幅変調、LFO、クロック信号などに利用される。

基本形

矩形波は1周期の中で高レベルと低レベルを切り替える。

50%デューティの理想Square waveでは、

  • 周期の半分が高レベル
  • 残り半分が低レベル

となる。

この波形は時間領域に不連続な立ち上がり・立ち下がりを持つ。

理想的な不連続を完全に表現するには無限に高い周波数成分が必要になるため、現実のアナログ回路やデジタルオーディオでは立ち上がり時間が有限になり、完全な数学的矩形波にはならない。

Square wave と rectangular wave

日常的なシンセサイザー用語では「矩形波」と「Square wave」がほぼ同義に扱われる場合も多い。

厳密には、Square waveは50%デューティの矩形波であり、デューティ比が50%以外の波形は一般にパルス波またはrectangular waveとして扱える。

たとえば、

  • 50% : Square wave
  • 25% : 狭い高レベル区間を持つPulse wave
  • 10% : より細いパルス

となる。

デューティ比を連続的に変えると倍音構成も変化する。

周波数成分

理想的な50%デューティの対称Square waveは、基本周波数と奇数次倍音から構成される。

振幅±1の代表的なSquare waveは概念的に、

x(t) = (4/π)[sin(ωt) + (1/3)sin(3ωt) + (1/5)sin(5ωt) + ...]

と表せる。

つまり、

  • 基音
  • 3次倍音
  • 5次倍音
  • 7次倍音
  • …

を含み、n次の奇数倍音振幅はおおむね1/nで減少する。

MathWorldもSquare waveのフーリエ級数を奇数次成分のみの級数として示している。[1]

デューティ比とスペクトル

50%からデューティ比を変えると、Square waveに見られる奇数次だけという対称性が崩れ、偶数次倍音も現れる。

Pulse widthが狭くなるほど、多数の高次倍音が比較的強く含まれる。

そのためシンセサイザーでは、Pulse widthを音色パラメーターとして扱う。

Pulse widthを時間的に変調するのがPulse Width Modulationである。

音色

50% Square waveは、サイン波より多くの倍音を含むが、ノコギリ波より倍音密度が低い。

一般には、

  • 中空感
  • 木管的
  • クラリネット的
  • 硬質
  • 明瞭

などと形容されることがある。

ただし音色はフィルター、エンベロープ、ピッチ、PWM、ユニゾンなどによって大きく変化する。

Square waveにローパスフィルターを適用すると高次倍音が削られ、丸みのある波形・音色へ近づく。

Subtractive synthesis

減算合成では、倍音を含む矩形波をフィルターへ通し、不要な周波数成分を減衰させて音色を形成する。

Square waveは奇数次倍音が中心なので、Sawtoothとは異なるフィルター応答を得られる。

低いカットオフでは高次倍音が削られ、最終的には基音成分が支配的になり、サイン波に近いスペクトルへ向かう。

PWM

パルス幅変調は、矩形波のデューティ比を時間的に変化させる手法である。

典型的にはLFOやエンベロープをPulse Widthへ入力する。

PWMを行うと各倍音の振幅が時間的に変化し、単純なオシレーター1基でも厚みや動きのある音色を作れる。

アナログポリシンセ、ストリングス系、パッド系で代表的な手法である。

デューティ比が極端に狭くなるとDC成分や平均値の変化も大きくなり、実装によってはレベル感も変化する。

LFOとしての矩形波

矩形波をLFOとして使うと、変調先のパラメーターが2つの値の間を瞬時に切り替えるような動作になる。

たとえば、

  • ピッチを2音間で交互に切り替える
  • フィルターカットオフをHigh/Lowで交互に切り替える
  • パンを左右へ切り替える
  • ゲート的な音量変調を行う

など。

Native InstrumentsはSquare LFOを、値が滑らかに移動するのではなく2つの状態間をジャンプする波形として説明している。[2]

アナログシンセサイザーでの生成

アナログオシレーターでは、矩形波は比較的生成しやすい。

代表的には、

  • コンパレーターで三角波やノコギリ波を閾値比較する
  • フリップフロップやロジック回路で分周する
  • relaxation oscillatorから直接生成する

など。

ノコギリ波や三角波を比較器へ入力し、閾値を変えることでPulse Widthを制御する設計も多い。

この場合、比較閾値をLFOやエンベロープで変調すればPWMを実現できる。

デジタル生成とaliasing

数学的な矩形波には無限に高い奇数次倍音が存在する。

デジタルオーディオではナイキスト周波数より高い倍音をそのまま生成すると、折り返してエイリアシングになる。

そのためデジタルシンセサイザーでは、

  • band-limited wavetable
  • additive resynthesis
  • BLEP / PolyBLEP
  • BLIT
  • oversampling

などを使って帯域制限された矩形波を生成することがある。

Ableton LiveのOperatorでもsquareやsawtoothは理想波形そのものではなく、倍音数を制限したresynthesized approximationとして実装され、倍音数が少ない波形ほど高音域でaliasingを起こしにくいと説明されている。[3]

Cycling '74もデジタルシンセサイザーのsquare、triangle、sawtoothでは、ナイキスト周波数を超える高調波を避けるためanti-aliased / band-limited oscillatorを使うことを説明している。[4]

Gibbs phenomenon

有限数のサイン波だけで理想Square waveを近似すると、不連続点の周辺にオーバーシュートとリンギングが現れる。

これはギブス現象と呼ばれる。

高調波数を増やすと不連続点以外の近似は改善するが、不連続近傍のオーバーシュートが単純に消えるわけではない。

この現象はフーリエ級数による波形合成の代表例である。

DC成分

上下のレベルが+1と-1でデューティ50%なら平均値は0で、DC成分を持たない。

一方、

  • High/Lowが非対称
  • デューティ比が50%でない
  • 0〜+1のように片側だけのレベルで生成

といった矩形波では平均値が0でなく、DC成分を持つ。

オーディオ信号として使う場合はAC couplingやDC blockingが必要になることがある。

同期・クロック用途

矩形波は立ち上がり・立ち下がり位置が明確なため、オーディオ以外でもクロック、トリガー、ゲート信号に広く使われる。

モジュラーシンセでは、

  • Gate
  • Trigger
  • Clock
  • Sync pulse

などが矩形パルスとして扱われる。

ただし、これらは音声波形としてのSquare waveとは電圧範囲や目的が異なる。

極性と位相

Square waveを時間方向に半周期ずらすと極性が反転したように見える。

一方、Pulse Widthが50%でない矩形波では単純な180°位相反転と極性反転の関係が直感的でない場合がある。

複数オシレーターを加算する場合、位相関係によって一部倍音が強調・相殺される。

他の基本波形との比較

波形 理想的な倍音構成 特徴
サイン波 基本周波数のみ 最も単純
Square wave(デューティ比50%) 奇数次倍音中心 中空で明瞭
ノコギリ波 整数次倍音全体 明るく密度が高い
三角波 奇数次倍音、1/n²程度で減衰 より柔らかい

関連項目

参考資料