Signals and Systems
Signal Classification
A signal is a function carrying information, typically varying over time or space.
Continuous vs Discrete: Continuous signals are defined for all time (analog). Discrete signals are defined at specific time indices (sampled).
Deterministic vs Random: Deterministic signals are fully specified by a formula. Random signals require statistical description.
Periodic vs Aperiodic: Periodic: x(t) = x(t + T) for some period T. Aperiodic: no such T exists.
Energy vs Power signals: Energy signal has finite total energy (E = Σ|x[n]|²). Power signal has finite average power (P = lim (1/N) Σ|x[n]|²).
Basic Signal Operations
Time shifting: x[n - k] delays by k samples. x[n + k] advances by k.
Time scaling: x[an] compresses (|a| > 1) or expands (|a| < 1).
Time reversal (folding): x[-n] reflects around n = 0.
Amplitude scaling: c·x[n] scales amplitude by factor c.
Convolution
The output of a linear time-invariant (LTI) system with impulse response h[n]:
y[n] = x[n] * h[n] = Σₖ x[k] · h[n - k]
Properties: Commutative (x * h = h * x), associative ((x * h₁) * h₂ = x * (h₁ * h₂)), distributive (x * (h₁ + h₂) = x * h₁ + x * h₂).
Computation: For each output sample n, slide h reversed across x, multiply and sum overlapping samples.
PROCEDURE CONVOLVE(x, h)
y ← array of 0.0, size LENGTH(x) + LENGTH(h) - 1
FOR i ← 0 TO LENGTH(x) - 1 DO
FOR j ← 0 TO LENGTH(h) - 1 DO
y[i + j] ← y[i + j] + x[i] * h[j]
RETURN y
Time: O(N·M). With FFT: O((N+M) log(N+M)).
LTI System Properties
Linearity: T{ax₁ + bx₂} = aT{x₁} + bT{x₂}. Superposition holds.
Time-invariance: If x[n] → y[n], then x[n-k] → y[n-k]. System behavior doesn't change over time.
Causality: Output depends only on present and past inputs. h[n] = 0 for n < 0.
Stability (BIBO): Bounded input → bounded output. Condition: Σ|h[n]| < ∞ (impulse response is absolutely summable).
Memory: Memoryless if y[n] depends only on x[n]. h[n] = c·δ[n].
Impulse Response
The response h[n] of an LTI system to a unit impulse δ[n]. Completely characterizes the system.
δ[n] = { 1 if n = 0
{ 0 otherwise
x[n] = Σₖ x[k]·δ[n-k] → y[n] = Σₖ x[k]·h[n-k] = x[n] * h[n]
FIR (Finite Impulse Response): h[n] has finite duration. Always stable.
IIR (Infinite Impulse Response): h[n] has infinite duration. May be unstable. Requires feedback.
Applications in CS
- Audio processing: Convolution for reverb, echo, filtering.
- Image processing: 2D convolution for blur, sharpen, edge detection.
- Telecommunications: Signal modulation, channel equalization.
- Machine learning: Convolutional neural networks use discrete convolution.
- Control systems: System response analysis via impulse/step response.