Files
ncmr-songs/wip/dsp.md

219 lines
12 KiB
Markdown
Raw Permalink Normal View History

2026-03-10 20:27:17 +09:00
# digital signal processing
A boring lecture about signals and systems, and its digital implementation in DSP.
Borderline 'song' less 'poetic'.
The actual material (text that is read) is in Japanese.
## Outline
2026-03-10 22:51:12 +09:00
### 1. Signals and systems
- What is a signal
- A function of one or more variables carrying information; here, amplitude over time
- What is a system
- A system maps an input signal to an output signal
- Characterized entirely by its behavior on inputs — the internals are not required
- Most systems are nonlinear — linearity is a special property, not the default
- Linearity: superposition holds — scaling and additivity
- Most physical systems violate this under sufficient conditions (e.g. overdrive: linear below clip threshold, nonlinear at and above it)
- Time-invariance
- A time-invariant system responds identically regardless of when the input arrives
- Violation: any system with time-varying parameters (e.g. modulated effects)
- LTI as the restricted, studied case
- Satisfies both simultaneously — analytically tractable
- A deliberate simplification; not a description of typical reality
- The impulse signal; impulse response
- The impulse: unit energy concentrated at a single point in time
- The impulse response: what an LTI system outputs when fed an impulse
- Completely characterizes the system
- The impulse response is a function — it exists in the same space as signals; systems are absorbed into signal space
### 2. LTI and convolution
- An LTI system is fully characterized by its impulse response
- 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
- 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
### 3. Signal transformation
- A signal in time can be equivalently represented in the frequency domain
- The Fourier transform: s(t) ↔ S(ω); decomposes a signal into its constituent frequencies
- Analog signals carry frequency components from DC to arbitrarily high frequencies
2026-03-10 23:10:13 +09:00
### 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)
- Filtering: shaping a signal's spectrum by selectively attenuating or preserving frequency bands
- Basic types: lowpass, highpass, bandpass
- Lowpass: passes low frequencies, attenuates high
- Highpass: passes high frequencies, attenuates low
- 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
2026-03-10 22:51:12 +09:00
- Discretization on two axes: amplitude and time
- Amplitude: bit depth; finite resolution; hard clip at boundary (unlike analog soft limits)
- A signal's frequency spectrum, not its time-domain values alone, determines what is lost in sampling
- Analog signals have components from DC to infinite frequency — not representable in discrete time
- Discrete time is viable if components up to a sufficient frequency are preserved
- 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
- LTI and convolution hold in discrete time — commutativity survives
2026-03-10 23:10:13 +09:00
### 6. Nonlinearity and consequences
2026-03-10 22:51:12 +09:00
- Real systems violate LTI: time-varying parameters, feedback, saturation
- Each breaks a different condition: time-variance breaks TI, feedback and saturation break linearity
2026-03-10 23:10:13 +09:00
- Examples
- 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
2026-03-10 22:51:12 +09:00
- Commutativity breaks — order of composition is no longer irrelevant
- h₁ followed by h₂ ≠ h₂ followed by h₁ in general
- No universal rule; behavior must be examined per case
## Text (lyrics if you insist)
信号とシステム、そしてデジタル信号処理について説明する。
### 1. 信号とシステム
まず信号とは何か、次にシステムとは何かを定義し、
その上でシステムの性質を議論する。
信号とは、一つ以上の変数の関数として定義される。
2026-03-10 23:10:13 +09:00
信号は情報を担う。
2026-03-10 22:51:12 +09:00
ここでは時間を変数とし、振幅の時間変化として扱う。
システムとは、入力信号を出力信号へ写す操作である。
内部の構造は定義に含まれない。
システムはその入出力の関係によってのみ特徴づけられる。
システムの性質として、まず線形性を取り上げる。
線形システムとは、重ね合わせの原理が成立するシステムである。
入力をスケーリングすれば出力も同率でスケーリングされ、
入力の和に対する出力は、各入力の出力の和に等しい。
ここで注意が必要である。
多くの物理システムはこの条件を満たさない。
線形性は特殊な性質であり、デフォルトではない。
次に時不変性について述べる。
時不変システムとは、入力を時間軸上でシフトしたとき、
出力も同じだけシフトされるシステムである。
パラメータが時間とともに変化するシステムは、時不変ではない。
線形かつ時不変なシステムを、線形時不変システムと呼ぶ。
以降の議論はこの線形時不変システムを対象とする。
これは解析的に扱いやすい、制限された特殊ケースである。
現実の典型ではない、という点は記憶にとどめておいてほしい。
線形時不変システムの性質をさらに掘り下げる前に、
インパルス信号を導入する。
インパルス信号とは、単一の時刻に単位エネルギーが集中した信号である。
線形時不変システムにインパルスを入力したときの出力を、インパルス応答と呼ぶ。
このインパルス応答が、線形時不変システムを完全に特徴づける。
ここで重要な点を強調する。
インパルス応答は、信号と同種の関数である。
これにより、システムは信号と同じ操作の空間に置かれる。
システムと信号の区別は、操作の上では消える。
### 2. 線形時不変システムと畳み込み
なぜそう言えるのか。
任意の入力信号は、スケーリングされた時間シフトインパルスの和として分解できる。
線形性と時不変性により、
それぞれのインパルスに対する出力の和が、入力全体に対する出力となる。
この操作を畳み込みと呼ぶ。
y = x * h y イコール x 畳み込み h
畳み込みはその引数に対して対称である。
x * h = h * x x 畳み込み h イコール h 畳み込み x
これは代数的な性質にとどまらない。x と h が同種の対象であることの表れである。
この対称性から、重要な結論が導かれる。
二つの線形時不変システムを直列に接続する場合を考える。
合成されたシステムのインパルス応答は、各インパルス応答の畳み込みに等しい。
h₁ * h₂ = h₂ * h₁ h1 畳み込み h2 イコール h2 畳み込み h1
接続の順序は、結果に影響しない。
### 3. 信号変換
ここで話題を変える。
これまでの議論は連続時間を前提としていた。
しかしデジタルシステムにおいては、連続信号をそのまま扱うことができない。
離散化は二つの軸で生じる。振幅軸と時間軸である。
振幅軸の離散化はビット深度によって規定される。
表現可能な範囲の境界でハードクリップが発生する。
アナログシステムの物理的な限界とは異なり、これは硬い境界である。
時間軸の離散化を理解するには、まず別の観点から信号を見る必要がある。
信号 s(t)(エス ティー)は、時間領域での表現とは別に、周波数領域でも表現できる。
これをフーリエ変換と呼ぶ。s(t)(エス ティー)と S(ω)(エス オメガ)は同じ信号の二つの見方である。
この変換により、信号を周波数成分の重ね合わせとして捉えることができる。
アナログ信号は、原理的にはゼロから無限大まで、すべての周波数成分を持ちうる。
離散システムはこれを完全には表現できない。
しかし、もし十分な高周波成分が不要であれば、離散時間は有効な選択肢となる。
これが離散化の根拠である。
2026-03-10 23:10:13 +09:00
### 4. フィルタ
フィルタは、線形時不変システムの具体的な例である。
フィルタは周波数応答 H(ω)(エイチ オメガ)によって特徴づけられる。
周波数応答はインパルス応答のフーリエ変換である。
フィルタリングとは、信号の周波数成分を選択的に通過させ、あるいは減衰させることである。
基本的な分類としてローパス、ハイパス、バンドパスがある。
ローパスフィルタは低周波成分を通過させ、高周波成分を減衰させる。
ハイパスフィルタはその逆で、高周波成分を通過させ、低周波成分を減衰させる。
バンドパスフィルタは特定の帯域のみを通過させ、それより低い成分も高い成分も減衰させる。
離散時間においては、有限インパルス応答フィルタと無限インパルス応答フィルタの区別がある。
前者はインパルス応答が有限、後者は無限である。
### 5. 離散時間
2026-03-10 22:51:12 +09:00
サンプリング周波数を Fs とする。
ナイキストの定理が保証するのは、Fs/2サンプリング周波数の半分までの帯域を忠実に再構成できる、ということである。
それが全てである。定理はそれ以上のことを言わない。
Fs/2サンプリング周波数の半分をどこに設定すべきかは、定理が答える問いではない。それは用途が決める。
Fs/2サンプリング周波数の半分を超える成分は再構成できない。これをエイリアシングと呼ぶ。
重要なのは、この離散化によって線形時不変システムの性質が失われるわけではない、という点である。
離散時間の線形時不変システムは、連続時間の線形時不変システムと類似した性質を持つ。
畳み込みは有限または無限の和となる。
可換性を含む全ての性質は引き継がれる。
2026-03-10 23:10:13 +09:00
### 6. 非線形性とその影響
2026-03-10 22:51:12 +09:00
では、現実のシステムに戻る。
先ほど線形時不変システムは特殊ケースであると述べた。
現実のシステムは線形時不変システムの条件を様々な形で破る。
時変パラメータは時不変性を破る。
フィードバックと飽和は線形性を破る。
2026-03-10 23:10:13 +09:00
例を挙げる。
モジュレーテッドディレイを考える。コーラスやフランジャーがその例である。
ディレイタイムが時間とともに変化するとき、同じ入力でも入力するタイミングによって出力が異なる。
これは時不変性の破れである。
次にオーバードライブを考える。
入力が閾値を超えると飽和が生じ、出力は入力に比例しなくなる。
これは線形性の破れである。
そして順序が問題になる。EQの後にオーバードライブを適用した結果と、オーバードライブの後にEQを適用した結果は、一般に異なる。
2026-03-10 22:51:12 +09:00
このとき、畳み込みの可換性は成立しない。
非線形システムでは、一般に
h₁システム1の後にh₂システム2を適用した結果と、
h₂システム2の後にh₁システム1を適用した結果は、等しくない。
普遍的な規則は存在しない。
各ケースを個別に検討する必要がある。