17 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
Mikkeli Matlock
3621ff049c manual merge from dsp notes 2026-03-13 21:05:26 +09:00
f24b777d95 detailed general tone 2026-03-13 13:40:19 +09:00
6d9564af66 added some notes 2026-03-13 13:38:37 +09:00
Mikkeli Matlock
61ea53780f dsp: more drafting 2026-03-10 23:10:13 +09:00
Mikkeli Matlock
f351086490 dsp: drafting 2026-03-10 22:51:12 +09:00
Mikkeli Matlock
a66154d701 dsp: initial commit 2026-03-10 20:27:17 +09:00
d1b19f0ee5 Merge pull request 'beijing: started working' (#2) from songs/beijing into master
Reviewed-on: #2
2026-03-01 19:22:00 +00:00
eef1facf3a Merge branch 'master' into songs/beijing 2026-03-01 19:21:53 +00:00
Mikkeli Matlock
481890aa5a beijing: started working 2026-02-20 18:40:53 +09:00
4 changed files with 323 additions and 20 deletions

14
wip/beijing.md Normal file
View File

@@ -0,0 +1,14 @@
# 海淀
## 思考区域
我觉得我不想思考北京这个概念。一思考就全都是不爽的负面的难受的东西首当其冲[sic]涌出来。
北京对我来说是一种烙印,不是胎记。烙印稍微带那么一点耻辱感但说实话又不是很重。可能情感上更接近纹身吧。
## 工地
```cpp
```

297
wip/dsp.md Normal file
View File

@@ -0,0 +1,297 @@
# 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 out by a vocal synthesiser) is in Japanese.
## Simple notes
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(\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 `サンプリング周波数の半分までの帯域を忠実に再構成できる`
The general direction is to stay boring, but the deadpan kind of boring. Keep technical language appearing but explain things in more laymen's language.
## Outline
### 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$
- 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_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) \leftrightarrow S(\omega)$; any signal is a sum of sinusoids at different frequencies
- Each sinusoid has a frequency, amplitude, and phase
- $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(\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
- 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. Discretization
- Moving from continuous to discrete: two axes require discretization
- 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 $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)
### 6. Nonlinearity and consequences
- Real systems violate LTI: time-varying parameters, feedback, saturation
- Each breaks a different condition: time-variance breaks TI, feedback and saturation break linearity
- 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
- Commutativity breaks — order of composition is no longer irrelevant
- $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
畳み込みはその二つの引数に対して対称である。
$x * h = h * x$ x 畳み込み h イコール h 畳み込み x
これは計算上の偶然ではない。x と h が同じ種類の対象だからそうなる。前の節で言った、インパルス応答で、システムが信号空間に変換される話の続きである。
この対称性には実用上の意味がある。
二つの線形時不変システムを直列につないだとき、合成されたシステムのインパルス応答は、各インパルス応答の畳み込みである。
$h_1 * h_2 = h_2 * h_1$ h1 畳み込み h2 イコール h2 畳み込み h1
どちらを先につないでも、結果は変わらない。
数学ではこれを可換性と呼ぶ。一応。
### 3. 信号変換
これまで信号を、時間に対する振幅の変化として扱ってきた。同じ信号を、周波数に対する振幅の分布として見ることもできる。
厳密には各周波数成分に位相もあるが、ここでは振幅に注目する。
そのためにフーリエ変換がある。というか、フーリエがその変換の仕方を決めたのでフーリエ変換と呼ばれた。
$s(t)$(エス ティー)と $S(\omega)$(エス オメガ)は同じ信号の二つの顔である。
一方は時間の経過を、もう一方は周波数の分布を示す。
つまり、どんな信号も、周波数の異なる正弦波をいくつか重ね合わせたものとして表せる。
楽器かエンジンの音がわかりやすい。どちらも複数の周波数成分が混ざっている。その配合が音色を決める。
$S(\omega)$ はその内訳である。どの周波数の成分がどれだけの強さで含まれているか、それがスペクトルである。
アナログ信号は原理的には、ゼロから無限大まであらゆる周波数成分を持ちうる。
これが後で問題になる。
### 4. フィルタ
信号は原理的に無限の周波数成分を持ちうると述べた。
実用上、その全てが必要なことはまずない。例えば人間の聴覚はおよそ20kHzまでしか知覚できない。
聞こえないので、人間に聞くための信号では要らない。必要な帯域だけを残し、不要な成分を落とす。それがフィルタの仕事である。
フィルタは線形時不変システムであり、フーリエ変換の言葉で言えば、信号のスペクトルを形作るシステムである。
フィルタを特徴づけるのは周波数応答 $H(\omega)$(エイチ オメガ)である。
これはインパルス応答 $h(t)$ をフーリエ変換したものである。
インパルス応答が時間領域でシステムを表すように、周波数応答は周波数領域でそのシステムを表している。
フィルタの働きは、周波数によって信号をふるいにかけることである。
基本的な分類としてローパス、ハイパス、バンドパスがある。
ローパスフィルタは低い周波数だけを通し、高い周波数を削ぎ落とす。
ハイパスフィルタはその逆で、高い周波数を通し、低い周波数を削ぐ。
バンドパスフィルタは特定の帯域だけを通し、それより低い成分も高い成分も減衰させる。
バンドパスフィルタは普通にローパスとハイパスを組み合わせたものと見なせる。
どちらを先に適用しても結果は変わらない。線形時不変システムだからの可換性です。
これらのフィルタは全て、カットオフ周波数という境界を持つ。
理想的には、境界の手前までゲインが1、超えた瞬間にゲインが0になる。垂直な壁である。
しかし、そのような理想は実現できない。
現実のフィルタは、カットオフ周波数の周辺に曲線を持つ。急な減衰ではなく、緩やかに下る斜面になる。
理想の壁に近づけようとすると、設計が複雑になり、部品が増え、コストが上がる。
時には、緩やかな斜面で十分である。
離散時間においては、有限インパルス応答フィルタと無限インパルス応答フィルタの区別がある。
前者のインパルス応答はある時点で終わる。後者は終わらない。
### 5. 離散化
フィルタはアナログにもデジタルにも存在する。
アナログ空間では、振幅も時間も連続である。最小単位というものがない。なめらかに、切れ目なく続く。
デジタル空間では、切れ目がある。
デジタルシステムが振幅を表現できる精度は、ビット深度によって決まる。
$N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ。別にこういう二進数の話はしなくていいはずですが。
各サンプルの値は、最も近いレベルに丸められる。この丸め誤差を量子化ノイズと呼ぶ。
表現できる振幅の上限と下限は、設計とハードウェアによって固定されている。ADCやDACの基準電圧がそれを決める。
その境界を超えると、ハードクリップが起きる。
アナログ回路は限界に近づくにつれて少しずつ歪む。デジタルにそういう曖昧さはない。境界は硬い。
次に時間軸について。
デジタルシステムは、連続した時間の流れから、一定間隔で値を取り出す。これがサンプリングである。
ここで問題がある。前の節で述べたように、アナログ信号は原理的には無限大まで周波数成分を持ちうる。
しかし有限のサンプリング頻度では、表現できる周波数に上限がある。全てを保存することはできない。
その上限を超える成分がサンプリング時に残っていると、消えるわけではない。
折り返される。上限を超えた分だけ、反対側に折り返して、低い周波数の成分として現れる。
サンプリング周波数が40kHzのとき、25kHzの成分は15kHzとして記録される。存在しないはずの周波数が信号に混入する。
これをエイリアシングと呼ぶ。
対策は、サンプリングの前にローパスフィルタをかけておくことである。
ではそのフィルタのカットオフ周波数をどこに設定するか。
それは用途次第である。例えば人間の聴覚はおよそ20kHzまでしか知覚できない。
音声信号であれば、20kHz以上を保持する理由はない。
ただし、ここで単純に20kHzでローパスをかけて20kHzでサンプリングすると、情報は失われる。
サンプリング周波数と保存したい帯域の上限が同じでは、再構成できない。余裕が要る。
ナイキストの定理が、その余裕を定量化する。
サンプリング周波数を $F_s$ としたとき、$F_s/2$ より低い周波数成分は忠実に再構成できる。
つまり保存したい帯域の上限の2倍でサンプリングすれば、再構成が保証される。
人間の聴覚が20kHzまでなら、$F_s$ が40kHzを超えていれば聞こえる範囲はカバーできる。
余裕を持たせて、一般的には44.1kHzや48kHzが使われる。192kHzは人間以外の何かのためにあるのだろう。
定理が言うのはそれだけである。$F_s$ をどこに設定すべきかは用途が決める。
$F_s/2$ を超える成分は再構成できない。それがエイリアシングである。
補足しておく。この離散化によって、線形時不変システムの性質が崩れるわけではない。
連続時間において積分であった畳み込みは、離散時間においては和になる。有限インパルス応答なら有限和、無限インパルス応答なら無限和である。
可換性を含む全ての性質は引き継がれる。
### 6. 非線形性とその影響
では、現実のシステムに戻る。
先ほど線形時不変システムは特殊ケースであると述べた。
現実のシステムは線形時不変システムの条件を様々な形で破る。
時変パラメータは時不変性を破る。
フィードバックと飽和は線形性を破る。
例を挙げる。
モジュレーテッドディレイを考える。コーラスやフランジャーがその例である。
ディレイタイムが時間とともに変化するとき、同じ入力でも入力するタイミングによって出力が異なる。
これは時不変性の破れである。
次にオーバードライブを考える。
入力が閾値を超えると飽和が生じ、出力は入力に比例しなくなる。
これは線形性の破れである。
そして順序が問題になる。EQの後にオーバードライブを適用した結果と、オーバードライブの後にEQを適用した結果は、一般に異なる。
このとき、畳み込みの可換性は成立しない。
非線形システムでは、一般に
$h_1$システム1の後に$h_2$システム2を適用した結果と、
$h_2$システム2の後に$h_1$システム1を適用した結果は、等しくない。
普遍的な規則は存在しない。
各ケースを個別に検討する必要がある。
### まとめ
以上がデジタル信号処理の基本的な枠組みである。
振り返ると、ここで述べたことの大半は線形時不変システムという前提の上に成り立っている。
信号とシステムが同じ空間に住むこと。畳み込みによる合成。可換性。周波数領域での見通しのよさ。
これらは全て、線形性と時不変性が揃っているからこそ成り立つ性質である。
そして最後で述べた通り、現実のシステムはその前提をしばしば破る。
では、なぜこの枠組みを学ぶのか、現実のシステムはほとんど非線形なのに。
非線形性は白黒ではないから。線形と見なして良いシステムもあれば、線形理論が全く通用しないシステムもある。
その見極めには、何が破れているのかを知る必要がある。線形の理論はそのためにある。
線形時不変システムの理論は、現実そのものの記述ではない。現実を測るための基準線である。

View File

@@ -26,7 +26,7 @@ Literally, there can be long, essay-like, paragraphs (not too many) with structu
1. "Surface." - the breach, the fever-dream opener
2. Instrumental - let the image settle
3. Essay/documentary - the explanatory core, almost clinical, "semi-boring scientific" (this is where the concept gets stated plainly before the rest of the song complicates it)
4. Instrumental - going into the poemic verses
4. Instrumental + fragments - the logic starts dissolving
5. Poem-ic verses - emotional density, maybe climax, maybe not
6. P-U-L-S-E 5-liners - trademark closer, acrostic constraint
7. Instrumental outro
@@ -38,10 +38,12 @@ Literally, there can be long, essay-like, paragraphs (not too many) with structu
```cpp
// Opener
Surface.
The equilibrium of silence between the static magnetic noise, the watery planes, and the optical waves.
Blurred and mangled electronic signs over the outbound informational motorway.
Distant stations estimated in abnormal heat perform the collimation rite.
The equilibrium of silence between the static magnetic noise, the watery planes, and the optical waves
blurring the electronic signs over the outbound informational motorway.
Images imagined in the imaginary region of the protruding obelisks many kilometres away
from this here expanding entropy killing various variables as abnormal heat usually may.
// think a submarine surfacing at night to do some radio comms as the starting point, then infuse it with a fever dream
// 'Images imagined in the imaginary region' is half wordplay, half multimedia transmission with a loss (signal-wise). the obelisks are basically antennae.
Dive.
The black screen of stalemate conceals the black stars, the black comets, the black meteorites
@@ -55,9 +57,9 @@ now the only traces, obscured and indifferent to all but those with a special br
// The pseudo documentary narration, half-blended into the background music
// in a metalingual sense the music is the background noise and the narration is the signal with a low SNR. Or one could consider the roles swapped.
The noise floor of a receiving environment is the aggregate of all background signal energy present across a given frequency band at any instant. In urban contexts, primary contributors include electromagnetic emissions from power distribution infrastructure, wireless communications networks, and consumer electronic devices. The noise floor is not centrally coordinated; no single source generates it. It emerges from the cumulative output of many independently operating transmitters, each functioning within its own parameters, whose combined effect is persistent and largely uniform. Under standard conditions, this background level is treated as a fixed baseline rather than a variable of interest. Signals whose amplitude falls at or below this baseline remain physically present in the medium but cannot be distinguished from the background by a receiving system, and are not considered recoverable.
The term "ambient frequency" refers to the aggregate of background signals present in a given environment. In urban contexts, this includes electromagnetic interference from power infrastructure, wireless communications networks, and consumer electronic devices. The ambient field is not centrally coordinated. No single source generates it. It emerges from the cumulative output of many transmitters operating within similar parameters. The resulting noise floor is persistent and of low significance under normal circumstances. Signals that fall below this threshold remain technically present but are not distinguishable from the noise itself, and are not considered practially receivable.
An impulse signal, also referred to as a unit impulse, is defined as a signal with zero value at all points in time except a single instant, at which its value is notionally unbounded, subject to the constraint that its total integrated area equals unity. In practice, true impulse signals cannot be physically produced; they are approximated by short-duration, high-amplitude pulses of sufficient bandwidth. The impulse response of any linear time-invariant system that is, the output produced when an impulse is presented as input fully characterises that system's behaviour under any subsequent input. In the absence of any input, a system at rest produces no output and exhibits no properties that distinguish it from any other inactive system. From a single impulse and its measured response, the complete transfer function of the system can be derived. This property is considered foundational to systems analysis.
An impulse signal, sometimes referred to as a unit impulse, is defined as a signal with zero amplitude at all points except for a single instant, at which point its amplitude approaches infinity while its total energy remains finite. In practical applications, true impulse signals cannot be generated; they are approximated by short-duration waveforms of high amplitude. The impulse response of any linear system - that is, the system's output when presented with an impulse input - fully characterises that system's behaviour. From a single impulse and its response, the complete identity of the system can be derived. This property is considered fundamental to signal analysis.
// build some tension with bass and drum and fiddle here
@@ -68,23 +70,16 @@ Acoustic aberrations dissipate
// sahb - duwd - sao - nihk - skay - lahrs - vehk - tahr - rayz,
// (ah - ) kaws - tihk - ax - bahr - ray - shaxns - dihs - sah - payt
// --- stanza: the receiving end ---
// the rover is also a receiver. dual nature - emitter and listener.
// signals arrive occasionally. sparse, not a stream.
// the rover knows others were lost - not reported, but inferred from being a transmitter yourself.
// what arrives gets a grin. brief. acknowledging the crossing, not the content.
// what didn't arrive is genuinely unknown. not mourned. the protocol doesn't carry that information.
// tone: observational, not mournful. emotion doesn't assert itself - detectable only if you're paying attention.
// could be more than a couplet. give it room if it needs room.
// rhyme: lax, not strict. sonic texture matters more than scheme.
Spectral broadcast lossy with a narrow sight
No perceived replies per design
// needs further tweaking
The ocean as a desert buries all of its life
Deck the shell with a perfect thermocline
// (thax - ) ao - sheh(n) - naes - ax - deh - zahrt - bah - riys - ao(l) - lahv - ihts - layf
// (dehk - thax - ) shehl - wit - ax - pahr - fekt - thahr - mow - klayn
// 'deck the shell': intentional vagueness between 'decorate the outer shell' and 'knock on the border surface'.
Light dims and dies in the rover's eyes
A dim light dies in the rover's eyes
Or the next one could never come otherwise
// Thoughts: 'the light dies' because a pulse is mostly dormant you wanker. You have to let the light die so it lights up again, simple as

View File

@@ -1,3 +0,0 @@
# 西苑
可能会改标题吧