Let's make a radio (or at least, let's pretend)
| What | Bits | Why |
|---|---|---|
| X displacement | 8 | |
| Y displacement | 8 | |
| CRC | 4 | Bit errors |
| Buttons | 16 | One-hot coding. Most mice have buttons |
| Preamble | 8 | Synchronization |
| Address | 32 | Unique identifier |
| Total | 76 |
Assume 1 ms update rate
Application Data Rate > 76 bits/ms = 76 kbps
Assume 30 % packet loss
Raw Data Rate > 228 kbps
Multiply by 3.14 > 716 kbps
Round to nearest nice number = 1Mbps
| Flow | Fhigh | Bandwidth | Description |
|---|---|---|---|
| 40.66 MHz | 40.7 MHz | 40 kHz | Worldwide |
| 433.05 MHz | 434.79 MHz | 1.74 MHz | Region 1 |
| 902 MHz | 928 MHz | 26 MHz | Region 2 |
| 2.4 GHz | 2.5 GHz | 100 MHz | Worldwide |
| 5.725 GHz | 5.875 GHz | 150 MHz | Worldwide |
| 24 GHz | 24.25 GHz | 250 MHz | Worldwide |
| 61 GHz | 61.5 GHz | 500 MHz | Subject to local acceptance |
assume wavelength/4 is an OK antenna size (wavelength = lightspeed/frequency)
| ISM band | \(\lambda/4\) | Unit | OK/NOK |
|---|---|---|---|
| 40.68 MHz | 1.8 | m | :x: |
| 433.92 MHz | 17 | cm | :x: |
| 915 MHz | 8.2 | cm | |
| 2450 MHz | 3.06 | cm | :white_check_mark: |
| 5800 MHz | 1.29 | cm | :white_check_mark: |
| 24.125 GHz | 3.1 | mm | :white_check_mark: |
| 61.25 GHz | 1.2 | mm | :white_check_mark: |
Assume no antenna gain, power density p at distance D is
\[p = \frac{P_{TX}}{4 \pi D^2}\]
Assume receiver antenna has no gain, then the effective aperture is
\[A_e = \frac{\lambda^2}{4 \pi}\]
Power received is then
\[P_{RX} = \frac{P_{TX}}{D^2} \left[\frac{\lambda}{4 \pi}\right]^2\]
Or in terms of distance
\[D = 10^\frac{P_{TX} - P_{RX} + 20 log_{10}\left(\frac{c}{4 \pi f}\right)}{20}\]
Assume TX = 0 dBm, assume RX sensitivity is -80 dBm
| Freq | \(20 log_{10}\left(c/4 \pi f\right)\) [dB] | D [m] | OK/NOK |
|---|---|---|---|
| 915 MHz | -31.7 | 260.9 | :white_check_mark: |
| 2.45 GHz | -40.2 | 97.4 | :white_check_mark: |
| 5.80 GHz | -47.7 | 41.2 | :white_check_mark: |
| 24.12 GHz | -60.1 | 9.9 | :x: |
| 61.25 GHz | -68.2 | 3.9 | :x: |
| 160 GHz | -76.52 | 1.5 | :x: |
path loss factor, \(n \in [1.6,6]\), \(D = 10^\frac{P_{TX} - P_{RX} + 20 log_{10}\left(\frac{c}{4 \pi f}\right)}{n \times 10}\)
| Freq | \(20 log_{10}\left(c/4 \pi f\right)\) [dB] | D@n=2 [m] | D@n=6 [m] | OK/NOK |
|---|---|---|---|---|
| 2.45 GHz | -40.2 | 97.4 | 4.6 | :white_check_mark: |
| 5.80 GHz | -47.7 | 41.2 | 3.45 | :white_check_mark: |
| 24.12 GHz | -60.1 | 9.9 | 2.1 | :x: |
Mouse is maybe AA, 3000 mAh
| Cell | Chemistry | Voltage (V) | Capacity (Ah) |
|---|---|---|---|
| AA | LiFeS2 | 1.0 - 1.8 | 3 |
| 2xAA | LiFeS2 | 2.0 - 3.6 | 3 |
| AA | Zn/Alk/MnO2 | 0.8 - 1.6 | 3 |
| 2xAA | Zn/Alk/MnO2 | 1.6 - 3.2 | 3 |
\[A_m(t) \times \cos\left( 2 \pi \int_0^t f_{carrier}(\tau)d\tau + \phi_{m}(t)\right)\]
| Scheme | Acronym | Pro | Con |
|---|---|---|---|
| Binary phase shift keying | BPSK | Simple | Not constant envelope |
| Quadrature phase-shift keying | QPSK | 2bits/symbol | Not constant envelope |
| Offset QPSK | OQPSK | 2bits/symbol | Constant envelope with half-sine pulse shaping |
| Gaussian Frequency Shift Keying | GFSK | 1 bit/symbol | Constant envelope |
| Quadrature amplitude modulation | QAM | > 10 bits/symbol | Really non-constant envelope |
The radio numbers live in the Bluetooth Core Specification: Enhanced Data Rate uses \(\pi/4\)-DQPSK at 2 Mb/s and 8DPSK at 3 Mb/s.
ADC FOM \(= \frac{P}{2 BW 2^n}\)
State of the art FOM \(\approx 5 \text{ fJ/step}\)
\[BW = 2.5\text{ GHz}\]
\(DR = 100\text{ dB} \Rightarrow \text{Bits} = (100-1.76)/6.02 \approx 16\text{ bit}\)
\[P = 5\text{ fJ/step} \times 5 \text{ GHz} \times 2^{16} = 1.6\text{ W}\]

| Blocks | Key parameter | Architecture | Complexity (nr people) |
|---|---|---|---|
| Antenna | Gain, impedance | lambda/4 | <1 |
| RF match | loss, input impedance | PI-match | <1 |
| Low noise amp | NF, current, linearity | LNTA | 1 |
| Mixer | NF, current, linearity | Passive | 1 |
| Anti-alias filter | NF, current, linearity | Active-RC | 1 |
| ADC | Sample rate, dynamic range, linearity | NS-SAR | 1 - 2 |
| PLL | Phase noise, current | AD-PLL | 2-3 |
| Baseband | Eb/N0, gate count, current. | SystemVerilog | > 10 |
30.5 A 0.5V BLE Transceiver with a 1.9mW RX Achieving -96.4dBm Sensitivity and 4.1dB Adjacent Channel Rejection at 1MHz Offset in 22nm FDSOI [@tamura20]
Complex signal processing is not complex [@martin04]
A 370uW 5.5dB-NF BLE/BT5.0/IEEE 802.15.4-Compliant Receiver with >63dB Adjacent Channel Rejection at >2 Channels Offset in 22nm FDSOI [@thijssen20]


AD-PLL with Bang-Bang phase detector for steady-state
| Baseband block | Why |
|---|---|
| Mixer? | If we're using low intermediate frequency to avoid DC offset problems and flicker noise |
| Channel filters? | If the AAF is insufficient for adjacent channel |
| Power detection | To be able to control the gain of the radio |
| Phase extraction | Assuming we're using FSK |
| Timing recovery | Figure out when to slice the symbol |
| Bit detection | single slice, multi-bit slice, correlators etc |
| Address detection | Is the packet for us? |
| Header detection | What does the packet contain |
| CRC | Does the packet have bit errors |
| Payload de-crypt | Most links are encrypted by AES |
| Memory access | Payload need to be stored until CPU can do something |
\[P_{RX_{sens}} = -174 \text{ dBm} + 10 log_{10}(R_b) + NF + E_b/N_0\]
\[P_{RX_{sens}} + 174 - 60 = NF + E_b/N_0 = 16.5 \text{ dB}\]



A 0.5V BLE Transceiver with a 1.9mW RX Achieving -96.4dBm Sensitivity and 4.1dB Adjacent Channel Rejection at 1MHz Offset in 22nm FDSOI [@tamura20], M. Tamura, Sony Semiconductor Solutions, Atsugi, Japan, 30.5, ISSCC 2020
A 370uW 5.5dB-NF BLE/BT5.0/IEEE 802.15.4-Compliant Receiver with >63dB Adjacent Channel Rejection at >2 Channels Offset in 22nm FDSOI [@thijssen20], B. J. Thijssen, University of Twente, Enschede, The Netherlands
A 68 dB SNDR Compiled Noise-Shaping SAR ADC With On-Chip CDAC Calibration [@garvik19], H. Garvik, C. Wulff, T. Ytterdal
A Compiled 9-bit 20-MS/s 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy Receivers [@wulff17], C. Wulff, T. Ytterdal
Cole Nielsen, https://github.com/nielscol/thesis_presentations
"Python Framework for Design and Simulation of Integer-N ADPLLs", Cole Nielsen, https://github.com/nielscol/tfe4580-report/blob/master/report.pdf
Design of CMOS Phase-Locked Loops [@razavi20], Behzad Razavi, University of California, Los Angeles