Analog Signals, Signal Parameters & Decibels

What analog electronics is and the language of signals. Learn analog vs digital, continuous time and amplitude, real-world signals from sensors, DC/AC/transient/periodic signals, sinusoids (amplitude, frequency, period, phase, ω = 2πf), peak, peak-to-peak, average, RMS, crest factor, duty cycle and DC offset, noise, offset, headroom and dynamic range, decibels (dB, dBm, dBW, dBV, dBu) and cascaded gain, and the complete analog signal chain from sensor to ADC — with Python computing RMS, averages, dB conversions and dynamic range.

The physical world is analog: temperature, sound pressure, light, force and voltage change continuously in time and can take any value. Analog electronics senses, protects, amplifies, filters and converts these signals — and also generates, regulates and delivers power.

Even the most digital system has analog at its edges: every microcontroller ADC, every audio codec, every power supply and every radio depends on analog circuits that are designed with the ideas in this course.

An analogy

An analog signal is like a ramp you can stand anywhere on; a digital signal is like a staircase with fixed steps. Analog electronics shapes the ramp — making it taller (amplification), smoother (filtering) or safe to walk on (protection) — before a converter turns it into stairs.

Analog vs digital

Analog signals are continuous in time and amplitude. Digital signals are sampled (discrete time) and quantised (discrete levels). Digital processing is flexible and noise-immune once the signal is converted, but conversion needs an analog front end, and the output back to the world (speakers, motors, radios) is analog again. Noise and distortion added in the analog stages can never be removed digitally.

Signal types and parameters

Common signal families:

Offset, headroom and dynamic range

Real signals ride on a DC offset (bias) that must stay inside the circuit's allowed range. Headroom is the margin between the largest expected signal and clipping (the rails or ADC full scale); footroom is the margin above the noise floor. Dynamic range is the ratio of largest undistorted signal to noise — e.g. a 16-bit ADC ideally offers ~98 dB. Good gain staging keeps signals large enough to beat noise but small enough never to clip.

Decibel practice

Use 20·log for voltage/current ratios and 10·log for power ratios (they agree when impedances are equal). Absolute units anchor dB to a reference: dBm (1 mW, RF and telecom, 0 dBm = 0.2236 V in 50 Ω), dBV (1 V_rms, consumer audio −10 dBV), dBu (0.775 V_rms, pro audio +4 dBu). Noise figures, SNR, CMRR, PSRR and filter attenuation are all specified in dB. Remember: −3 dB = half power = 0.707 voltage; −6 dB ≈ half voltage; +20 dB = 10× voltage.

Formulas

Worked example: RMS of mains

Given: 230 V_rms mains

Find: Peak and peak-to-peak.

Answer: 325 V peak, 650 V peak-to-peak

Worked example: dBm to voltage

Given: −10 dBm into 50 Ω

Find: V_rms.

Answer: 70.7 mV_rms

Worked example: Chain gain

Given: Mic preamp +40 dB, filter −1 dB, line driver +6 dB

Find: Total gain.

Answer: 45 dB ≈ ×178

The analog signal chain

Sensor ──► Protection ──► Bias / level shift ──► Low-noise amp (LNA)
                                                        │
ADC ◄── ADC driver ◄── Gain stage ◄── Anti-alias filter ◄┘

 each stage: keep signal above noise, below clipping (headroom), inside bandwidth

Every measurement or audio front end follows this chain. Protection keeps faults out, biasing puts the signal in the amplifier's allowed range, the LNA sets the noise floor, filters remove out-of-band noise and aliasing, and the driver delivers a clean signal into the ADC's sampling capacitor.

RMS, averages and decibels

import math
# Signal parameters of a sine, a square and a PWM waveform, plus decibel conversions
Vm, f, offset = 2.0, 1000.0, 0.5
print(f"sine: Vpp = {2*Vm} V, Vrms = {Vm/math.sqrt(2):.3f} V, period = {1/f*1e3:.1f} ms, omega = {2*math.pi*f:.0f} rad/s")
print(f"sine + {offset} V DC: total RMS = {math.sqrt(offset**2 + (Vm/math.sqrt(2))**2):.3f} V, average = {offset} V")
print(f"crest factor: sine {Vm/(Vm/math.sqrt(2)):.3f}, square 1.000")
duty, Vhigh = 0.25, 5.0
print(f"PWM 25% of 5 V: average {duty*Vhigh:.2f} V, RMS {Vhigh*math.sqrt(duty):.2f} V")
# Decibels
gain_v = 50.0
print(f"voltage gain 50 = {20*math.log10(gain_v):.1f} dB; power ratio 50 = {10*math.log10(50):.1f} dB")
P_mW = 1.0
print(f"1 mW = {10*math.log10(P_mW):.0f} dBm = {10*math.log10(P_mW/1000):.0f} dBW")
print(f"1 Vrms = {20*math.log10(1/1):.0f} dBV = {20*math.log10(1/0.7746):.2f} dBu")
# Cascaded chain: gains in dB add
stages = [20.0, -3.0, 26.0]
print(f"cascade {stages} dB -> total {sum(stages):.0f} dB = x{10**(sum(stages)/20):.0f} in voltage")
# Dynamic range of a system: 2 Vrms max, 20 uVrms noise floor
print(f"dynamic range = {20*math.log10(2/20e-6):.0f} dB")
# sine: Vpp = 4.0 V, Vrms = 1.414 V, period = 1.0 ms, omega = 6283 rad/s
# sine + 0.5 V DC: total RMS = 1.500 V, average = 0.5 V
# crest factor: sine 1.414, square 1.000
# PWM 25% of 5 V: average 1.25 V, RMS 2.50 V
# voltage gain 50 = 34.0 dB; power ratio 50 = 17.0 dB
# 1 mW = 0 dBm = -30 dBW
# 1 Vrms = 0 dBV = 2.22 dBu
# cascade [20.0, -3.0, 26.0] dB -> total 43 dB = x141 in voltage
# dynamic range = 100 dB

RMS is the heating-equivalent value — a 2 V-peak sine delivers the same power to a resistor as 1.414 V DC. Average and RMS differ for non-sinusoidal waveforms (a 25% PWM averages 1.25 V but has 2.5 V RMS), which is why 'true-RMS' meters matter. Decibels turn multiplication of gains into addition, so chains are easy to budget: +20 −3 +26 = 43 dB.

Common mistakes

Applications

Key takeaways

Going further