Electronics notes/Signal modulation

From Helpful
(Redirected from ADPCM)
Jump to navigation Jump to search

⚠ This is for beginners and very much by a beginner / hobbyist

It's intended to get an intuitive overview for hobbyist needs. It may get you started, but to be able to do anything remotely clever, follow a proper course or read a good book.


Some basics and reference: Volts, amps, energy, power · batteries · resistors · transistors · fuses · diodes · capacitors · inductors and transformers · ground

Slightly less basic: amplifier notes · varistors · changing voltage · baluns · frequency generation · Transmission lines · skin effect


And some more applied stuff:

IO: Input and output pins · wired local IO · wired local-ish IO · ·  Various wireless · 802.11 (WiFi) · cell phone

Sensors: General sensor notes, voltage and current sensing · Knobs and dials · Pressure sensing · Temperature sensing · humidity sensing · Light sensing · Movement sensing · Capacitive sensing · Touch screen notes

Actuators: General actuator notes, circuit protection · Motors and servos · Solenoids

Noise stuff: Stray signals and noise · sound-related noise names · electronic non-coupled noise names · electronic coupled noise · ground loop · strategies to avoid coupled noise · Sampling, reproduction, and transmission distortions

Audio and video notes: See avnotes

Platform specific: : Microcontroller and computer platforms ·· Arduino and AVR notes · ESP series notes · STM32 series notes · Teensy series notes


Less sorted: USB notes · Ground · device voltage and impedance (+ audio-specific) · electricity and humans · Soldering · landline phones · pulse modulation · PLL · Multimeter notes · signal reflection · Project boxes · resource metering · Radio and SDR · vacuum tubes · Unsorted stuff · 'E-fuse'

Some stuff I've messed with: Avrusb500v2 · GPS · Hilo GPRS · JY-MCU · DMX · Thermal printer ·

See also Category:Electronics.

Most broadly, pulse modulation refers to modulating or communicating or approximating a signal in a way involving pulse trains.

Note also that PAM resembles AM, PPM resembles PM, and PWM (moderately) resembles FM.

(Also, some of these parts run into analog and digital (passband) modulation, and for decent handling of said topics you're much better off on serious sites for those.)


Purposes and best uses are varied.


Side note: Pulse Code Modulation

Pulse-Code Modulation refers more widely to the idea of samples at at regular (uniform) intervals, and storing them as distinct values.

It points out that we are quantizing in both time and in amplitude. It tells us how to store that, and what it represents.

...and is not a reproduction technique, like most other acronyms mentioned on this page. (reproduction was a separate thing even in the earliest development of these concepts)


Variants include:

PCM (without further qualification) usually means linear PCM

quantization levels are linearly uniform (so ratiometric) with amplitude
PCM is technically about any signal, but practically often about audio
...in which case that amplitude is a physical amplitude, the pressure (so not with perceived loudness -- see decibel)
used for sound, it means most of the bits are used on really quiet stuff (because human perception is logarithmic).
which is actually quite useful (for human consumption of audio)
because 8 bits isn't enough range to have the quietest bits be all that quiet, 8-bit PCM is audibly not enough for sound, and 16-bit is (for most things)
probably easiest raw format to deal with (particularly when storage/bandwidth are not an issue)
Directly used in Audio CDs (Red Book), in WAV files, and quite a few others.
Also used in some way or other in a number sound- or music-related electronics, although note that mu-law and a-law are seen in some older hardware


logarithmic PCM

Because of the nonlinear way we hear loudness, and given a fixed, limited bandwidth, people at different volume levels get similar signal-to-quantizing noise ratio - than linear PCM(verify)
since the original input and eventual reproduction is often linear PCM (it's a choice most hardware makes), this is often used to effectively compand signal while in transmission/storage
implementations include μ-law (mu-law) and A-law
which historically implied 8-bit and often 8000Hz implementations, as used in early digital phone transmissions (see e.g. ITU-T G.711)
if storage is not a hard constraint (and harder than CPU use), then linear PCM is easier and log PCM is probably more work than it's worth
u-law and a-law are quoted as roughly comparable to the quality of 12-bit linear PCM (in what regard?(verify))
(even though technically 16-bit logarithmic still give better detail than linear 16-bit(verify), you generally don't need it)


Differential PCM

there seem to be two distinct things this can point to:
instead of storing the absolute values, we store the difference from the previous sample
instead of storing the absolute values, we store the difference from a predicted next sample
in a sense, the first is a special case of the second. Both have a model of prediction, one of them is just very simple.
If the prediction is reasonable, that value is typically small, a stream of them is compressible, and we need to store/send fewer bits.
...but only on simpler signals, so basic DPCM is rare. The basic idea of "make both sides share a predictor, and code the difference" is common in audio and video codecs -- but usually in a more refined form.



ADPCM is Adaptive Differential PCM.

It takes PCM, produces the differential PCM output as just mentioned, and varies the amount of quantization it sends that with (in early implementations often 5-, 4-, or 3-bit?(verify)).

This is a lossy format that gives you some steps of control, trading bandwidth and SNR on low bandwidth (/ noisy) channels.


SB-ADPCM: ADPCM, but applied to distinct frequency sub-bands.

For example, G.722
splits into two bands (roughly 0Hz to 4kHz, and 4kHz to 8kHz), then applies ADPCM to each
This mainly so that you can spend bits differently, decide on sending 64 kbit/s overall, and spending 48 of the on the lower sub-band that includes most voice energy, and 16 kbit/s on the rest. (G.722 actually has a few different target bitrates)



Even when storage/transmission is mu-law/A-law or ADPCM or some other codec, processing on endpoints is often linear PCM, mostly because it's easier and faster to work with.


For context on companding: linear PCM is not clever about spreading quantization to where our (approximately logarithmic) perception hears it best. Companding basically rescales (in a reversible way) to reduce that issue.

The companding step is lossy, but since the signal to noise ratio is better than linear PCM in the same amount of bits, it provides quality improvements - and rather useful whenever you are bandwidth-limited.


Both μ-law and A-law are used in analog and digital telecommunication (in analog it was mostly for quality, in digital tranfer it was also handy for compression), in different countries.

The .au sound format uses μ-law.



See also:



See also:

-->

Continuous wave modulation

Amplitude Modulation (AM)

Frequency Modulation (FM)

Phase Modulation (PM)

Related: Dimming practicalities

Pulse modulation

Pulse Amplitude Modulation (PAM)

Pulse Skip Modulation (PSM)

Pulse Position Modulation (PPM)

Pulse Density Modulation (PDM), Delta-Sigma modulation

Pulse Width Modulation (PWM)

PWM for average energy

Hardware PWM, software PWM, and inbetween

PWM or PDM as a simple DAC

Sound PWM

On PWM resolution

On PWM distortion

On PWM oversampling

Unsorted

MQS

On PWM filtering

PWM IC notes

TLC5940

PCA9685

Comparing PDM and PWM

Combining PWM or PDM outputs for bit depth

Unsorted

Binary code modulation, a.k.a. Bit Angle Modulation

Modulating data to send: ASK, FSK, PSK

https://en.wikipedia.org/wiki/Amplitude-shift_keying

https://en.wikipedia.org/wiki/Frequency-shift_keying

https://en.wikipedia.org/wiki/Phase-shift_keying