8 Commits

Author SHA1 Message Date
c307df8f87 dsp: fixing discretisation progression to 'good enough' 2026-03-24 16:34:10 +09:00
c5650d002a dsp: major reworks surrounding filters and discretisation 2026-03-24 15:56:27 +09:00
7d4ed4da0f dsp: tone and stuctural improvements around section 4/5 2026-03-23 15:27:14 +09:00
1fd30d6716 dsp: tone rework and better transitions 2026-03-20 15:23:42 +09:00
18bf55f5da dsp: tone rework ~section 3 2026-03-19 19:26:10 +09:00
7ada45a6e7 dsp: tone rework until section 2 2026-03-17 17:33:38 +09:00
e08980cd81 minor wording change 2026-03-17 14:20:01 +09:00
a48d1c344b dsp: multiple reworks
- deadpan tone adjustment
- added summary section
- inline LaTeX for symbols and exprs
2026-03-17 14:08:49 +09:00

View File

@@ -9,7 +9,7 @@ The actual material (text that is read out by a vocal synthesiser) is in Japanes
For things that are not easily pronounced (e.g. formulae, expressions, symbols), inclusive either:
- Mark how the thing should be pronounced in a pair of adjacent parentheses
- e.g. H(ω) (エッチオメガ)
- e.g. $H(\omega)$ (エッチオメガ)
- (inclusive) Or don't embed these elements too deep into the flow of sentences; use common, laymen's language instead
- e.g. not `Fs/2サンプリング周波数の半分までの帯域を忠実に再構成できる` but `サンプリング周波数の半分までの帯域を忠実に再構成できる`
@@ -43,24 +43,24 @@ The general direction is to stay boring, but the deadpan kind of boring. Keep te
- Any input decomposes into scaled, shifted impulses
- By linearity and time-invariance, the output is the corresponding sum of scaled, shifted impulse responses
- Convolution as the operation
- That sum is convolution: y = x * h
- In continuous time, this is an integral: y(t) = ∫ x(τ) h(tτ) dτ
- Symmetric in its arguments: x * h = h * x
- That sum is convolution: $y = x * h$
- In continuous time, this is an integral: $y(t) = \int x(\tau) \, h(t - \tau) \, d\tau$
- Symmetric in its arguments: $x * h = h * x$
- Signal and system are interchangeable operands — both are functions; convolution makes no distinction between them
- Commutativity: for LTI systems, order of composition is irrelevant
- Two LTI systems in series have a combined impulse response equal to the convolution of each
- h₁ * h = h * h — order does not affect the result
- $h_1 * h_2 = h_2 * h_1$ — order does not affect the result
### 3. Signal transformation
- A signal can be represented equivalently in the frequency domain
- The Fourier transform: s(t) ↔ S(ω); any signal is a sum of sinusoids at different frequencies
- The Fourier transform: $s(t) \leftrightarrow S(\omega)$; any signal is a sum of sinusoids at different frequencies
- Each sinusoid has a frequency, amplitude, and phase
- S(ω) is the spectrum: how much of each frequency is present
- $S(\omega)$ is the spectrum: how much of each frequency is present
- Analog signals carry components from DC to arbitrarily high frequencies
### 4. Filters
- A filter is an LTI system — characterized by its frequency response H(ω)
- H(ω) is the Fourier transform of the impulse response h(t)
- A filter is an LTI system — characterized by its frequency response $H(\omega)$
- $H(\omega)$ is the Fourier transform of the impulse response $h(t)$
- Filtering: shaping a signal's spectrum by selectively attenuating or preserving frequency bands
- Basic types: lowpass, highpass, bandpass
- Lowpass: passes low frequencies, attenuates high
@@ -68,18 +68,18 @@ The general direction is to stay boring, but the deadpan kind of boring. Keep te
- Bandpass: passes a target band, attenuates above and below
- In discrete time: finite impulse response (FIR) and infinite impulse response (IIR) filters
### 5. Discrete time
### 5. Discretization
- Moving from continuous to discrete: two axes require discretization
- Amplitude: N bits → 2^N discrete levels
- Amplitude: $N$ bits → $2^N$ discrete levels
- Each sample is mapped to the nearest representable level; the error is quantization noise
- The representable range is fixed by design and hardware (ADC/DAC reference voltage)
- Hard clip at the boundary — analog degrades gradually toward its physical limits; digital does not
- Time axis: sampling captures only finitely many values per second
- Analog signals contain frequency components up to infinity — a discrete system cannot represent all of them
- Discrete time is viable when the high-frequency components that would be lost are not needed
- Nyquist: given sampling rate Fs, faithful reconstruction is guaranteed up to Fs/2
- What Fs/2 should be is an applied engineering question — Nyquist does not answer it
- Components above Fs/2 are lost: aliasing
- Nyquist: given sampling rate $F_s$, faithful reconstruction is guaranteed up to $F_s/2$
- What $F_s/2$ should be is an applied engineering question — Nyquist does not answer it
- Components above $F_s/2$ are lost: aliasing
- LTI and convolution hold in discrete time — commutativity survives
- Convolution becomes a sum (finite for FIR, infinite for IIR)
@@ -90,97 +90,107 @@ The general direction is to stay boring, but the deadpan kind of boring. Keep te
- Modulated delay (chorus, flanger): delay time varies with time → time-invariance breaks; same input at different times yields different output
- Overdrive: saturation above threshold → linearity breaks; EQ before overdrive ≠ overdrive before EQ
- Commutativity breaks — order of composition is no longer irrelevant
- h₁ followed by h₂ ≠ h₂ followed by h₁ in general
- $h_1$ followed by $h_2$ ≠ $h_2$ followed by $h_1$ in general
- No universal rule; behavior must be examined per case
### 7. Summary
- Most of the framework rests on the LTI assumption
- Signalsystem equivalence, convolution, commutativity, frequency-domain analysis — all require linearity and time-invariance
- Real systems break the assumption routinely
- Nonlinearity is not binary — it is a spectrum
- Some systems are close enough to linear that the theory applies as a practical approximation
- Others are not — linear theory offers no useful prediction
- Judging where a system falls requires knowing what linearity is in the first place
- The framework is studied not as a description of reality, but as a baseline against which deviations are measured
## Text (lyrics if you insist)
信号とシステム、そしてデジタル信号処理について説明する。
今度は、信号とシステム、そしてデジタル信号処理について説明する。
### 1. 信号とシステム
まず信号とは何か、次にシステムとは何かを定義し、その上でシステムの性質を議論する。
信号とシステムを知るには、信号とシステム両方を知る必要がある。
信号とは情報を運ぶものである。
ここでは時間の経過とともに振幅がどう変化するか、その関数として扱う。
システムとは、入力信号を受け取り、出力信号を返す操作である。
システムとは、入力信号を受け取り、出力信号を出す箱である。
箱の中身は問わない。何を入れたら何が出るか、その関係だけがシステムを定義する。
システムの性質として、まず線形性を取り上げる
システムにはいくつか性質がある。線形性
線形システムとは、重ね合わせの原理が成り立つシステムである。
入力を2倍にすれば出力も2倍になる。二つの入力を足し合わせたときの出力は、それぞれ単独で入れたときの出力を足したものと等しい。
この二つの条件が揃ったとき、そのシステムは線形である。
ただし注意が必要である
多くの物理システムはこの条件を満たさない。線形性は特殊な性質であり、当たり前ではない。
ただ、多くの物理システムはこの条件を満たさない。線形性は特殊であり、当たり前ではない
次に時不変性について述べる
そして時不変性。
時不変システムとは、入力を時間軸上でずらしたとき、出力も同じだけずれるシステムである。
今日と明日で同じ入力を与えれば、同じ出力が返ってくる。
パラメータが時間とともに変わるシステムは、この条件を満たさない。
線形かつ時不変なシステムを、線形時不変システムと呼ぶ。以降の議論はこれを対象とする
これは解析的に扱いやすい、意図的に絞った特殊ケースである。現実の典型ではない
線形かつ時不変なシステムを、線形時不変システムと呼ぶ。ここから先は一旦これだけを扱う
これは解析的に扱いやすい、意図的に絞った特殊ケースである。現実の大半はこれに当てはまらない。けど、解析的に扱いやすいから線形時不変だけを考える
線形時不変システムをさらに掘り下げる前に、インパルス信号を導入する。
インパルス信号とは、単一の瞬間に単位エネルギーが集中した信号である。実際には存在しない理想だが、有用な概念道具である。
このインパルスを線形時不変システムに入力したときの出力を、インパルス応答と呼ぶ。
ここで道具を一つ出す。インパルス信号である。
単一の瞬間に単位エネルギーが集中した信号で実際には存在しない理想だが、使える。ちなみに瞬間とは無限に短い間のことである。
このインパルスをある線形時不変システムに通した出力を、そのシステムのインパルス応答と呼ぶ。
インパルス応答は、そのシステムを完全に決定する。
なぜなら、任意の入力はインパルスの積み重ねとして分解できるからである。インパルス応答さえ分かれば、どんな入力に対する出力も計算できる。
インパルス応答は、そのシステムを完全に表現できる。システムが確定したらインパルス応答も唯一になり、インパルス応答があれば唯一に対応するシステムも特定できる。
任意の入力はインパルスの積み重ねとして分解できる。インパルス応答さえ分かれば、どんな入力に対する出力も計算できる。
もう一つ重要なことがある。
インパルス応答、システムの出力でありながら、信号と同じ種類の関数である。
つまりシステムは、信号と同じ操作の空間に置くことができる。システムと信号の区別は、操作の上では消える。
それと、インパルス応答はシステムの出力でありながら、信号と同じ種類の関数である。
つまりインパルス応答によって、システムは信号と同じ空間に置ける。操作の上では、システムと信号の区別は消える。
### 2. 線形時不変システムと畳み込み
なぜインパルス応答がシステムを完全に決定できるのか
インパルス応答がシステムを決定すると言った。なぜだろう
任意の入力信号は、大きさの異なるインパルスを時間軸上に並べたものとして表せる。
線形時不変システムはそれぞれのインパルスに独立に反応し、その応答を全て重ね合わせる。
この重ね合わせ全体の操作を、畳み込みと呼ぶ。
連続時間においては、畳み込みは積分として定義される
連続時間は、畳み込みは積分になる。連続じゃない時間の場合は後ほど
時間軸に沿って入力を少しずつずらしながら、そのずれに対応するインパルス応答を強さに応じて足し合わせる。その積分の結果が出力である。
y = x * h y イコール x 畳み込み h
$y = x * h$ y イコール x 畳み込み h
ここで興味深い性質がある。畳み込みはその二つの引数に対して対称である。
x * h = h * x x 畳み込み h イコール h 畳み込み x
これは単なる計算上の便宜ではない。x と h が同じ種類の対象であること、つまりシステムが信号空間に吸収されることの、自然な帰結である。
畳み込みはその二つの引数に対して対称である。
$x * h = h * x$ x 畳み込み h イコール h 畳み込み x
これは計算上の偶然ではない。x と h が同じ種類の対象だからそうなる。前の節で言った、インパルス応答で、システムが信号空間に変換される話の続きである。
この対称性から、実用上重要な結論が出てくる。
この対称性には実用上の意味がある。
二つの線形時不変システムを直列につないだとき、合成されたシステムのインパルス応答は、各インパルス応答の畳み込みである。
h₁ * h = h * h h1 畳み込み h2 イコール h2 畳み込み h1
$h_1 * h_2 = h_2 * h_1$ h1 畳み込み h2 イコール h2 畳み込み h1
どちらを先につないでも、結果は変わらない。
数学ではこれを可換性と呼ぶ。一応。
### 3. 信号変換
これまで信号を時間の関数として扱ってきた。しかし同じ信号を、全く別の視点から見ることできる。
それが周波数領域という見方である。
これまで信号を時間に対する振幅の変化として扱ってきた。同じ信号を、周波数に対する振幅の分布として見ることできる。
厳密には各周波数成分に位相もあるが、ここでは振幅に注目する。
フーリエ変換がそれを可能にする
s(t)(エス ティー)と S(ω)(エス オメガ)は同じ信号の二つの顔である。
そのためにフーリエ変換がある。というか、フーリエがその変換の仕方を決めたのでフーリエ変換と呼ばれた
$s(t)$(エス ティー)と $S(\omega)$(エス オメガ)は同じ信号の二つの顔である。
一方は時間の経過を、もう一方は周波数の分布を示す。
フーリエ変換が言っているのは、こういうことである。
どんな信号も、周波数の異なる正弦波をいくつか重ね合わせたものとして表せる。
たとえば楽器の音を思い浮かべてほしい。基音があり、倍音がある。
それぞれが異なる周波数の正弦波で、それらが重なって一つの音色になる。
S(ω) はその内訳である。どの周波数の成分がどれだけの強さで含まれているか、それがスペクトルである。
つまり、どんな信号も、周波数の異なる正弦波をいくつか重ね合わせたものとして表せる。
楽器かエンジンの音がわかりやすい。どちらも複数の周波数成分が混ざっている。その配合が音色を決める。
$S(\omega)$ はその内訳である。どの周波数の成分がどれだけの強さで含まれているか、それがスペクトルである。
アナログ信号は原理的には、ゼロから無限大まであらゆる周波数成分を持ちうる。
のことが、後の離散化の議論に関わってくる。
れが後で問題になる。
### 4. フィルタ
フィルタは線形時不変システムの実用的な例である
フーリエ変換の言葉で言えば、フィルタとは信号のスペクトルを形作るシステムである
信号は原理的に無限の周波数成分を持ちうると述べた
実用上、その全てが必要なことはまずない。例えば人間の聴覚はおよそ20kHzまでしか知覚できない
聞こえないので、人間に聞くための信号では要らない。必要な帯域だけを残し、不要な成分を落とす。それがフィルタの仕事である。
フィルタは線形時不変システムであり、フーリエ変換の言葉で言えば、信号のスペクトルを形作るシステムである。
フィルタを特徴づけるのは周波数応答 H(ω)(エイチ オメガ)である。
これはインパルス応答 h(t) をフーリエ変換したものである。
フィルタを特徴づけるのは周波数応答 $H(\omega)$(エイチ オメガ)である。
これはインパルス応答 $h(t)$ をフーリエ変換したものである。
インパルス応答が時間領域でシステムを表すように、周波数応答は周波数領域でそのシステムを表している。
フィルタの働きは、周波数によって信号をふるいにかけることである。
@@ -189,19 +199,27 @@ S(ω) はその内訳である。どの周波数の成分がどれだけの強
ハイパスフィルタはその逆で、高い周波数を通し、低い周波数を削ぐ。
バンドパスフィルタは特定の帯域だけを通し、それより低い成分も高い成分も減衰させる。
バンドパスフィルタは普通にローパスとハイパスを組み合わせたものと見なせる。
どちらを先に適用しても結果は変わらない。線形時不変システムだからの可換性です。
これらのフィルタは全て、カットオフ周波数という境界を持つ。
理想的には、境界の手前までゲインが1、超えた瞬間にゲインが0になる。垂直な壁である。
しかし、そのような理想は実現できない。
現実のフィルタは、カットオフ周波数の周辺に曲線を持つ。急な減衰ではなく、緩やかに下る斜面になる。
理想の壁に近づけようとすると、設計が複雑になり、部品が増え、コストが上がる。
時には、緩やかな斜面で十分である。
離散時間においては、有限インパルス応答フィルタと無限インパルス応答フィルタの区別がある。
前者のインパルス応答はある時点で終わる。後者は終わらない。
### 5. 離散時間
### 5. 離散
ここで話題を変える。これまでの議論は連続時間を前提としていた
デジタルシステムは連続信号をそのまま扱えない。離散化が必要になる
離散化には二つの軸がある。振幅軸と時間軸である。
まず振幅軸について。
フィルタはアナログにもデジタルにも存在する
アナログ空間では、振幅も時間も連続である。最小単位というものがない。なめらかに、切れ目なく続く
デジタル空間では、切れ目がある。
デジタルシステムが振幅を表現できる精度は、ビット深度によって決まる。
Nビットのシステムは 2^N 個の離散的な振幅レベルを持つ。
$N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ。別にこういう二進数の話はしなくていいはずですが。
各サンプルの値は、最も近いレベルに丸められる。この丸め誤差を量子化ノイズと呼ぶ。
表現できる振幅の上限と下限は、設計とハードウェアによって固定されている。ADCやDACの基準電圧がそれを決める。
その境界を超えると、ハードクリップが起きる。
@@ -212,14 +230,26 @@ Nビットのシステムは 2^N 個の離散的な振幅レベルを持つ。
ここで問題がある。前の節で述べたように、アナログ信号は原理的には無限大まで周波数成分を持ちうる。
しかし有限のサンプリング頻度では、表現できる周波数に上限がある。全てを保存することはできない。
では何が失われ、何が残るのか
もし信号の中に高すぎる周波数成分がなければ、サンプリングによって失うものは実質的にない
これが離散化を正当化する前提である。
その上限を超える成分がサンプリング時に残っていると、消えるわけではない
折り返される。上限を超えた分だけ、反対側に折り返して、低い周波数の成分として現れる
サンプリング周波数が40kHzのとき、25kHzの成分は15kHzとして記録される。存在しないはずの周波数が信号に混入する。
これをエイリアシングと呼ぶ。
対策は、サンプリングの前にローパスフィルタをかけておくことである。
ナイキストの定理が、これを定量化する。
サンプリング周波数を Fs としたとき、Fs/2 より低い周波数成分は忠実に再構成できる
定理が言うのはそれだけである。Fs をどこに設定すべきかは、定理が教えてくれることではない。用途が決める
Fs/2 を超える成分は再構成できない。これをエイリアシングと呼ぶ。
ではそのフィルタのカットオフ周波数をどこに設定する
それは用途次第である。例えば人間の聴覚はおよそ20kHzまでしか知覚できない
音声信号であれば、20kHz以上を保持する理由はない
ただし、ここで単純に20kHzでローパスをかけて20kHzでサンプリングすると、情報は失われる。
サンプリング周波数と保存したい帯域の上限が同じでは、再構成できない。余裕が要る。
ナイキストの定理が、その余裕を定量化する。
サンプリング周波数を $F_s$ としたとき、$F_s/2$ より低い周波数成分は忠実に再構成できる。
つまり保存したい帯域の上限の2倍でサンプリングすれば、再構成が保証される。
人間の聴覚が20kHzまでなら、$F_s$ が40kHzを超えていれば聞こえる範囲はカバーできる。
余裕を持たせて、一般的には44.1kHzや48kHzが使われる。192kHzは人間以外の何かのためにあるのだろう。
定理が言うのはそれだけである。$F_s$ をどこに設定すべきかは用途が決める。
$F_s/2$ を超える成分は再構成できない。それがエイリアシングである。
補足しておく。この離散化によって、線形時不変システムの性質が崩れるわけではない。
連続時間において積分であった畳み込みは、離散時間においては和になる。有限インパルス応答なら有限和、無限インパルス応答なら無限和である。
@@ -245,8 +275,23 @@ Fs/2 を超える成分は再構成できない。これをエイリアシング
このとき、畳み込みの可換性は成立しない。
非線形システムでは、一般に
h₁システム1の後にh₂システム2を適用した結果と、
h₂システム2の後にh₁システム1を適用した結果は、等しくない。
$h_1$システム1の後に$h_2$システム2を適用した結果と、
$h_2$システム2の後に$h_1$システム1を適用した結果は、等しくない。
普遍的な規則は存在しない。
各ケースを個別に検討する必要がある。
各ケースを個別に検討する必要がある。
### まとめ
以上がデジタル信号処理の基本的な枠組みである。
振り返ると、ここで述べたことの大半は線形時不変システムという前提の上に成り立っている。
信号とシステムが同じ空間に住むこと。畳み込みによる合成。可換性。周波数領域での見通しのよさ。
これらは全て、線形性と時不変性が揃っているからこそ成り立つ性質である。
そして最後で述べた通り、現実のシステムはその前提をしばしば破る。
では、なぜこの枠組みを学ぶのか、現実のシステムはほとんど非線形なのに。
非線形性は白黒ではないから。線形と見なして良いシステムもあれば、線形理論が全く通用しないシステムもある。
その見極めには、何が破れているのかを知る必要がある。線形の理論はそのためにある。
線形時不変システムの理論は、現実そのものの記述ではない。現実を測るための基準線である。