Idiot's guide to ELEC4402 communication systems

This unit allows you to bring infinite physical notes (except books borrowed from the UWA library) to all tests and the final exam. You can't rely on what material they provide in the test/exam, it is very minimal to say the least. Hope this helps.

If you have issues or suggestions, raise them on GitHub. I accept pull requests for fixes or suggestions but the content must not be copyrighted under a non-GPL compatible license.

Download PDF 📄

It is recommended to refer to use the PDF copy instead of whatever GitHub renders.

License and information

Notes are open-source and licensed under the GNU GPL-3.0. You must include the full-text of the license and follow its terms when using these notes or any diagrams in derivative works (but not when printing as notes)

Copyright (C) 2024 Peter Tanner

GPL copyright information Copyright (C) 2024 Peter Tanner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Other advice for this unit

Get more exam papers on OneSearch

Listing of examination papers on OneSearch

Tests

Printable notes begins on next page (in PDF)

Fourier transform identities

Time Function Fourier Transform
rect(tT)Π(tT)\text{rect}\left(\frac{t}{T}\right)\quad\Pi\left(\frac{t}{T}\right) Tsinc(fT)T \text{sinc}(fT)
sinc(2Wt)\text{sinc}(2Wt) 12Wrect(f2W)12WΠ(f2W)\frac{1}{2W}\text{rect}\left(\frac{f}{2W}\right)\quad\frac{1}{2W}\Pi\left(\frac{f}{2W}\right)
exp(at)u(t),a>0\exp(-at)u(t),\quad a>0 1a+j2πf\frac{1}{a + j2\pi f}
exp(at),a>0\exp(-a\lvert t \rvert),\quad a>0 2aa2+(2πf)2\frac{2a}{a^2 + (2\pi f)^2}
exp(πt2)\exp(-\pi t^2) exp(πf2)\exp(-\pi f^2)
1tT,t<T1 - \frac{\lvert t \rvert}{T},\quad\lvert t \rvert < T Tsinc2(fT)T \text{sinc}^2(fT)
δ(t)\delta(t) 11
11 δ(f)\delta(f)
δ(tt0)\delta(t - t_0) exp(j2πft0)\exp(-j2\pi f t_0)
g(ta)g(t-a) exp(j2πfa)G(f)shift property\exp(-j2\pi fa)G(f)\quad\text{shift property}
g(bt)g(bt) G(f/b)bscaling property\frac{G(f/b)}{|b|}\quad\text{scaling property}
g(bta)g(bt-a) 1bexp(j2πa(f/b))G(f/b)shift and scale\frac{1}{|b|}\exp(-j2\pi a(f/b))\cdot G(f/b)\quad\text{shift and scale}
ddtg(t)\frac{d}{dt}g(t) j2πfG(f)differentiation propertyj2\pi fG(f)\quad\text{differentiation property}
G(t)G(t) g(f)duality propertyg(-f)\quad\text{duality property}
g(t)h(t)g(t)h(t) G(f)H(f)G(f)*H(f)
g(t)h(t)g(t)*h(t) G(f)H(f)G(f)H(f)
exp(j2πfct)\exp(j2\pi f_c t) δ(ffc)\delta(f - f_c)
cos(2πfct)\cos(2\pi f_c t) 12[δ(ffc)+δ(f+fc)]\frac{1}{2}[\delta(f - f_c) + \delta(f + f_c)]
sin(2πfct)\sin(2\pi f_c t) 12j[δ(ffc)δ(f+fc)]\frac{1}{2j} [\delta(f - f_c) - \delta(f + f_c)]
sgn(t)\text{sgn}(t) 1jπf\frac{1}{j\pi f}
1πt\frac{1}{\pi t} jsgn(f)-j \text{sgn}(f)
u(t)u(t) 12δ(f)+1j2πf\frac{1}{2} \delta(f) + \frac{1}{j2\pi f}
n=δ(tnT0)\sum_{n=-\infty}^{\infty} \delta(t - nT_0) 1T0n=δ(fnT0)=f0n=δ(fnf0)\frac{1}{T_0} \sum_{n=-\infty}^{\infty} \delta\left(f - \frac{n}{T_0}\right)=f_0 \sum_{n=-\infty}^{\infty} \delta\left(f - n f_0\right)

u(t)={1,t>012,t=00,t<0Unit Step Functionsgn(t)={+1,t>00,t=01,t<0Signum Functionsinc(2Wt)=sin(2πWt)2πWtsinc Functionrect(t)=Π(t)={1,0.5<t<0.50,t>0.5Rectangular/Gate Functiong(t)h(t)=(gh)(t)=g(τ)h(tτ)dτConvolution\begin{align*} u(t) &= \begin{cases} 1, & t > 0 \\ \frac{1}{2}, & t = 0 \\ 0, & t < 0 \end{cases}&\text{Unit Step Function}\\ \text{sgn}(t) &= \begin{cases} +1, & t > 0 \\ 0, & t = 0 \\ -1, & t < 0 \end{cases}&\text{Signum Function}\\ \text{sinc}(2Wt) &= \frac{\sin(2\pi W t)}{2\pi W t}&\text{sinc Function}\\ \text{rect}(t) = \Pi(t) &= \begin{cases} 1, & -0.5 < t < 0.5 \\ 0, & \lvert t \rvert > 0.5 \end{cases}&\text{Rectangular/Gate Function}\\ g(t)*h(t)=(g*h)(t)&=\int_\infty^\infty g(\tau)h(t-\tau)d\tau&\text{Convolution}\\ \end{align*}

Fourier transform of continuous time periodic signal

Required for some questions on sampling:

Transform a continuous time-periodic signal xp(t)=n=x(tnTs)x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s) with period TsT_s:

Xp(f)=n=Cnδ(fnfs)fs=1TsX_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s}

Calculate CnC_n coefficient as follows from xp(t)x_p(t):

Cn=1TsTsxp(t)exp(j2πfst)dt=1TsX(nfs)(TODO: Check)x(tnTs) is contained in the interval Ts\begin{align*} C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} \end{align*}

rect\text{rect} function

rect

Bessel function

nZJn2(β)=1Jn(β)=(1)nJn(β)\begin{align*} \sum_{n\in\mathbb{Z}}{J_n}^2(\beta)&=1\\ J_n(\beta)&=(-1)^nJ_{-n}(\beta) \end{align*}

White noise

RW(τ)=N02δ(τ)=kT2δ(τ)=σ2δ(τ)Gw(f)=N02N0=kTGy(f)=H(f)2Gw(f)Gy(f)=G(f)Gw(f)\begin{align*} R_W(\tau)&=\frac{N_0}{2}\delta(\tau)=\frac{kT}{2}\delta(\tau)=\sigma^2\delta(\tau)\\ G_w(f)&=\frac{N_0}{2}\\ N_0&=kT\\ G_y(f)&=|H(f)|^2G_w(f)\\ G_y(f)&=G(f)G_w(f)\\ \end{align*}

WSS

μX(t)=μX ConstantRXX(t1,t2)=RX(t1t2)=RX(τ)E[X(t1)X(t2)]=E[X(t)X(t+τ)]\begin{align*} \mu_X(t) &= \mu_X\text{ Constant}\\ R_{XX}(t_1,t_2)&=R_X(t_1-t_2)=R_X(\tau)\\ E[X(t_1)X(t_2)]&=E[X(t)X(t+\tau)] \end{align*}

Ergodicity

X(t)T=12TTTx(t)dtX(t+τ)X(t)T=12TTTx(t+τ)x(t)dtE[X(t)T]=12TTTx(t)dt=12TTTmXdt=mX\begin{align*} \braket{X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t)dt\\ \braket{X(t+\tau)X(t)}_T&=\frac{1}{2T}\int_{-T}^{T}x(t+\tau)x(t)dt\\ E[\braket{X(t)}_T]&=\frac{1}{2T}\int_{-T}^{T}x(t)dt=\frac{1}{2T}\int_{-T}^{T}m_Xdt=m_X\\ \end{align*}

Type Normal Mean square sense
ergodic in mean

limTX(t)T=mX(t)=mX\lim_{T\to\infty}\braket{X(t)}_T=m_X(t)=m_X

limTVAR[X(t)T]=0\lim_{T\to\infty}\text{VAR}[\braket{X(t)}_T]=0

ergodic in autocorrelation function

limTX(t+τ)X(t)T=RX(τ)\lim_{T\to\infty}\braket{X(t+\tau)X(t)}_T=R_X(\tau)

limTVAR[X(t+τ)X(t)T]=0\lim_{T\to\infty}\text{VAR}[\braket{X(t+\tau)X(t)}_T]=0

Note: A WSS random process needs to be both ergodic in mean and autocorrelation to be considered an ergodic process

Other identities

f(gh)=(fg)hConvolution associativea(fg)=(af)gConvolution associativex=(f(xa)δ(ωxb))=f(ωab)\begin{align*} f*(g*h) &=(f*g)*h\quad\text{Convolution associative}\\ a(f*g) &= (af)*g \quad\text{Convolution associative}\\ \sum_{x=-\infty}^\infty(f(x a)\delta(\omega-x b))&=f\left(\frac{\omega a}{b}\right) \end{align*}

Other trig

cos2θ=2cos2θ1cos2θ+12=cos2θejαejα=2jsin(α)ejα+ejα=2cos(α)cos(A)=cos(A)sin(A)=sin(A)sin(A+π/2)=cos(A)sin(Aπ/2)=cos(A)cos(Aπ/2)=sin(A)cos(A+π/2)=sin(A)xRsinc(Ax)=1A\begin{align*} \cos2\theta=2 \cos^2 \theta-1&\Leftrightarrow\frac{\cos2\theta+1}{2}=\cos^2\theta\\ e^{-j\alpha}-e^{j\alpha}&=-2j \sin(\alpha)\\ e^{-j\alpha}+e^{j\alpha}&=2 \cos(\alpha)\\ \cos(-A)&=\cos(A)\\ \sin(-A)&=-\sin(A)\\ \sin(A+\pi/2)&=\cos(A)\\ \sin(A-\pi/2)&=-\cos(A)\\ \cos(A-\pi/2)&=\sin(A)\\ \cos(A+\pi/2)&=-\sin(A)\\ \int_{x\in\mathbb{R}}\text{sinc}(A x) &= \frac{1}{|A|}\\ \end{align*}

cos(A+B)=cos(A)cos(B)sin(A)sin(B)sin(A+B)=sin(A)cos(B)+cos(A)sin(B)cos(A)cos(B)=12(cos(AB)+cos(A+B))cos(A)sin(B)=12(sin(A+B)sin(AB))sin(A)sin(B)=12(cos(AB)cos(A+B))\begin{align*} \cos(A+B) &= \cos (A) \cos (B)-\sin (A) \sin (B) \\ \sin(A+B) &= \sin (A) \cos (B)+\cos (A) \sin (B) \\ \cos(A)\cos(B) &= \frac{1}{2} (\cos (A-B)+\cos (A+B)) \\ \cos(A)\sin(B) &= \frac{1}{2} (\sin (A+B)-\sin (A-B)) \\ \sin(A)\sin(B) &= \frac{1}{2} (\cos (A-B)-\cos (A+B)) \\ \end{align*}

cos(A)+cos(B)=2cos(A2B2)cos(A2+B2)cos(A)cos(B)=2sin(A2B2)sin(A2+B2)sin(A)+sin(B)=2sin(A2+B2)cos(A2B2)sin(A)sin(B)=2sin(A2B2)cos(A2+B2)cos(A)+sin(B)=2sin(A2B2π4)sin(A2+B2+π4)cos(A)sin(B)=2sin(A2+B2π4)sin(A2B2+π4)\begin{align*} \cos(A)+\cos(B) &= 2 \cos \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ \cos(A)-\cos(B) &= -2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \sin \left(\frac{A}{2}+\frac{B}{2}\right) \\ \sin(A)+\sin(B) &= 2 \sin \left(\frac{A}{2}+\frac{B}{2}\right) \cos \left(\frac{A}{2}-\frac{B}{2}\right) \\ \sin(A)-\sin(B) &= 2 \sin \left(\frac{A}{2}-\frac{B}{2}\right) \cos \left(\frac{A}{2}+\frac{B}{2}\right) \\ \cos(A)+\sin(B)&= -2 \sin \left(\frac{A}{2}-\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}+\frac{B}{2}+\frac{\pi }{4}\right) \\ \cos(A)-\sin(B)&= -2 \sin \left(\frac{A}{2}+\frac{B}{2}-\frac{\pi }{4}\right) \sin \left(\frac{A}{2}-\frac{B}{2}+\frac{\pi }{4}\right) \\ \end{align*}

IQ/Complex envelope

Def. g~(t)=gI(t)+jgQ(t)\tilde{g}(t)=g_I(t)+jg_Q(t) as the complex envelope. Best to convert to ejθe^{j\theta} form.

Convert complex envelope representation to time-domain representation of signal

g(t)=gI(t)cos(2πfct)gQ(t)sin(2πfct)=Re[g~(t)exp(j2πfct)]=A(t)cos(2πfct+ϕ(t))A(t)=g(t)=gI2(t)+gQ2(t)Amplitudeϕ(t)PhasegI(t)=A(t)cos(ϕ(t))In-phase componentgQ(t)=A(t)sin(ϕ(t))Quadrature-phase component\begin{align*} g(t)&=g_I(t)\cos(2\pi f_c t)-g_Q(t)\sin(2\pi f_c t)\\ &=\text{Re}[\tilde{g}(t)\exp{(j2\pi f_c t)}]\\ &=A(t)\cos(2\pi f_c t+\phi(t))\\ A(t)&=|g(t)|=\sqrt{g_I^2(t)+g_Q^2(t)}\quad\text{Amplitude}\\ \phi(t)&\quad\text{Phase}\\ g_I(t)&=A(t)\cos(\phi(t))\quad\text{In-phase component}\\ g_Q(t)&=A(t)\sin(\phi(t))\quad\text{Quadrature-phase component}\\ \end{align*}

For transfer function

h(t)=hI(t)cos(2πfct)hQ(t)sin(2πfct)=2Re[h~(t)exp(j2πfct)]h~(t)=hI(t)/2+jhQ(t)/2=A(t)/2exp(jϕ(t))\begin{align*} h(t)&=h_I(t)\cos(2\pi f_c t)-h_Q(t)\sin(2\pi f_c t)\\ &=2\text{Re}[\tilde{h}(t)\exp{(j2\pi f_c t)}]\\ \Rightarrow\tilde{h}(t)&=h_I(t)/2+jh_Q(t)/2=A(t)/2\exp{(j\phi(t))} \end{align*}

AM

CAM

ma=mintkam(t)Acka is the amplitude sensitivity (volt1), ma is the modulation index.ma=AmaxAminAmax+Amin (Symmetrical m(t))ma=kaAm (Symmetrical m(t))x(t)=Accos(2πfct)[1+kam(t)]=Accos(2πfct)[1+mam(t)/Ac],where m(t)=Amm^(t) and m^(t) is the normalized modulating signalPc=Ac22Carrier powerPx=14ma2Ac2η=Signal PowerTotal Power=PxPx+PcBT=2fm=2B\begin{align*} m_a &= \frac{\min_t|k_a m(t)|}{A_c} \quad\text{$k_a$ is the amplitude sensitivity ($\text{volt}^{-1}$), $m_a$ is the modulation index.}\\ m_a &= \frac{A_\text{max}-A_\text{min}}{A_\text{max}+A_\text{min}}\quad\text{ (Symmetrical $m(t)$)}\\ m_a&=k_a A_m \quad\text{ (Symmetrical $m(t)$)}\\ x(t)&=A_c\cos(2\pi f_c t)\left[1+k_a m(t)\right]=A_c\cos(2\pi f_c t)\left[1+m_a m(t)/A_c\right], \\ &\text{where $m(t)=A_m\hat m(t)$ and $\hat m(t)$ is the normalized modulating signal}\\ P_c &=\frac{ {A_c}^2}{2}\quad\text{Carrier power}\\ P_x &=\frac{1}{4}{m_a}^2{A_c}^2\\ \eta&=\frac{\text{Signal Power}}{\text{Total Power}}=\frac{P_x}{P_x+P_c}\\ B_T&=2f_m=2B \end{align*}

BTB_T: Signal bandwidth BB: Bandwidth of modulating wave

Overmodulation (resulting in phase reversals at crossing points): ma>1m_a>1

DSB-SC

xDSB(t)=Accos(2πfct)m(t)BT=2fm=2B\begin{align*} x_\text{DSB}(t) &= A_c \cos{(2\pi f_c t)} m(t)\\ B_T&=2f_m=2B \end{align*}

FM/PM

s(t)=Accos[2πfct+kpm(t)]Phase modulated (PM)s(t)=Accos[2πfct+2πkf0tm(τ)dτ]Frequency modulated (FM)s(t)=Accos[2πfct+βsin(2πfmt)]FM single toneβ=Δffm=kfAmModulation indexΔf=βfm=kfAmfm=maxt(kfm(t))mint(kfm(t))Maximum frequency deviationD=ΔfWmDeviation ratio, where Wm is bandwidth of m(t) (Use FT)\begin{align*} s(t) &= A_c\cos\left[2\pi f_c t + k_p m(t)\right]\quad\text{Phase modulated (PM)}\\ s(t) &= A_c\cos\left[2\pi f_c t + 2 \pi k_f \int_0^t m(\tau) d\tau\right]\quad\text{Frequency modulated (FM)}\\ s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right]\quad\text{FM single tone}\\ \beta&=\frac{\Delta f}{f_m}=k_f A_m\quad\text{Modulation index}\\ \Delta f&=\beta f_m=k_f A_m f_m = \max_t(k_f m(t))- \min_t(k_f m(t))\quad\text{Maximum frequency deviation}\\ D&=\frac{\Delta f}{W_m}\quad\text{Deviation ratio, where $W_m$ is bandwidth of $m(t)$ (Use FT)} \end{align*}

Bessel form and magnitude spectrum (single tone)

s(t)=Accos[2πfct+βsin(2πfmt)]s(t)=Acn=Jn(β)cos[2π(fc+nfm)t]\begin{align*} s(t) &= A_c\cos\left[2\pi f_c t + \beta \sin(2\pi f_m t)\right] \Leftrightarrow s(t)= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\cos[2\pi(f_c+nf_m)t] \end{align*}

FM signal power

Pav=Ac22Pband_index=Ac2Jband_index2(β)2band_index=0    fc+0fmband_index=1    fc+1fm,\begin{align*} P_\text{av}&=\frac{ {A_c}^2}{2}\\ P_\text{band\_index}&=\frac{ {A_c}^2{J_\text{band\_index}}^2(\beta)}{2}\\ \text{band\_index}&=0\implies f_c+0f_m\\ \text{band\_index}&=1\implies f_c+1f_m,\dots\\ \end{align*}

Carson's rule to find BB (98% power bandwidth rule)

B=2Mfm=2(β+1)fm=2(Δf+fm)=2(kfAm+fm)=2(D+1)WmB={2(Δf+fm)FM, sinusoidal message2(Δϕ+1)fmPM, sinusoidal message\begin{align*} B &= 2Mf_m = 2(\beta + 1)f_m\\ &= 2(\Delta f+f_m)\\ &= 2(k_f A_m+f_m)\\ &= 2(D+1)W_m\\ B &= \begin{cases} 2(\Delta f+f_m) & \text{FM, sinusoidal message}\\ 2(\Delta\phi + 1)f_m & \text{PM, sinusoidal message} \end{cases}\\ \end{align*}

Δf\Delta f of arbitrary modulating signal

Find instantaneous frequency fFMf_\text{FM}.

MM: Number of pairs of significant sidebands

s(t)=Accos(θFM(t))fFM(t)=12πdθFM(t)dtAm=maxtm(t)Δf=maxt(fFM(t))fcWm=max(frequencies in θFM(t)...)Example: sinc(At+t)+2cos(2πt)=sin(2π((At+t)/2))π(At+t)+2cos(2πt)Wm=max(A+12,1)D=ΔfWmBT=2(D+1)Wm\begin{align*} s(t)&=A_c\cos(\theta_\text{FM}(t))\\ f_\text{FM}(t) &= \frac{1}{2\pi}\frac{d\theta_\text{FM}(t)}{dt}\\ A_m &= \max_t|m(t)|\\ \Delta f &= \max_t(f_\text{FM}(t)) - f_c\\ W_m &= \text{max}(\text{frequencies in $\theta_\text{FM}(t)$...}) \\ \text{Example: }&\text{sinc}(At+t)+2\cos(2\pi t)=\frac{\sin(2\pi((At+t)/2))}{\pi(At+t)}+2\cos(2\pi t)\to W_m=\max\left(\frac{A+1}{2},1\right)\\ D &= \frac{\Delta f}{W_m}\\ B_T &= 2(D+1)W_m \end{align*}

Complex envelope

s(t)=Accos(2πfct+βsin(2πfmt))s~(t)=Acexp(jβsin(2πfmt))s(t)=Re[s~(t)exp(j2πfct)]s~(t)=Acn=Jn(β)exp(j2πfmt)\begin{align*} s(t)&=A_c\cos(2\pi f_c t+\beta\sin(2\pi f_m t)) \Leftrightarrow \tilde{s}(t) = A_c\exp(j\beta\sin(2\pi f_m t))\\ s(t)&=\text{Re}[\tilde{s}(t)\exp{(j2\pi f_c t)}]\\ \tilde{s}(t) &= A_c\sum_{n=-\infty}^{\infty}J_n(\beta)\exp(j2\pi f_m t) \end{align*}

Band

Narrowband Wideband
D<1,β<1D<1,\beta<1 D>1,β>1D>1,\beta>1

Power, energy and autocorrelation

GWGN(f)=N02Gx(f)=H(f)2Gw(f) (PSD)Gx(f)=G(f)Gw(f) (PSD)Gx(f)=limTXT(f)2T (PSD)Gx(f)=F[Rx(τ)] (WSS)P=σ2=RGx(f)dfP=σ2=limt1TT/2T/2x(t)2dtP[Acos(2πft+ϕ)]=A22Power of sinusoid E=x(t)2dt=X(f)2Rx(τ)=F(Gx(f))PSD to Autocorrelation\begin{align*} G_\text{WGN}(f)&=\frac{N_0}{2}\\ G_x(f)&=|H(f)|^2G_w(f)\text{ (PSD)}\\ G_x(f)&=G(f)G_w(f)\text{ (PSD)}\\ G_x(f)&=\lim_{T\to\infty}\frac{|X_T(f)|^2}{T}\text{ (PSD)}\\ G_x(f)&=\mathfrak{F}[R_x(\tau)]\text{ (WSS)}\\ P&=\sigma^2=\int_\mathbb{R}G_x(f)df\\ P&=\sigma^2=\lim_{t\to\infty}\frac{1}{T}\int_{-T/2}^{T/2}|x(t)|^2dt\\ P[A\cos(2\pi f t+\phi)]&=\frac{A^2}{2}\quad\text{Power of sinusoid }\\ E&=\int_{-\infty}^{\infty}|x(t)|^2dt=|X(f)|^2\\ R_x(\tau) &= \mathfrak{F}(G_x(f))\quad\text{PSD to Autocorrelation} \end{align*}

Noise performance

CNRin=PinPnoiseCNRin,FM=A22WN0SNRFM=3A2kf2P2N0W3SNR(dB)=10log10(SNR)Decibels from ratio\begin{align*} \text{CNR}_\text{in} &= \frac{P_\text{in}}{P_\text{noise}}\\ \text{CNR}_\text{in,FM} &= \frac{A^2}{2WN_0}\\ \text{SNR}_\text{FM} &= \frac{3A^2k_f^2P}{2N_0W^3}\\ \text{SNR(dB)} &= 10\log_{10}(\text{SNR}) \quad\text{Decibels from ratio} \end{align*}

Sampling

t=nTsTs=1fsxs(t)=x(t)δs(t)=x(t)nZδ(tnTs)=nZx(nTs)δ(tnTs)Xs(f)=X(f)nZδ(fnTs)=X(f)nZδ(fnfs)B>12fs,2B>fsAliasing\begin{align*} t&=nT_s\\ T_s&=\frac{1}{f_s}\\ x_s(t)&=x(t)\delta_s(t)=x(t)\sum_{n\in\mathbb{Z}}\delta(t-nT_s)=\sum_{n\in\mathbb{Z}}x(nT_s)\delta(t-nT_s)\\ X_s(f)&=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-\frac{n}{T_s}\right)=X(f)*\sum_{n\in\mathbb{Z}}\delta\left(f-n f_s\right)\\ B&>\frac{1}{2}f_s, 2B>f_s\rightarrow\text{Aliasing}\\ \end{align*}

Procedure to reconstruct sampled signal

Analog signal x(t)x'(t) which can be reconstructed from a sampled signal xs(t)x_s(t): Put xs(t)x_s(t) through LPF with maximum frequency of fs/2f_s/2 and minimum frequency of fs/2-f_s/2. Anything outside of the BPF will be attenuated, therefore nn which results in frequencies outside the BPF will evaluate to 00 and can be ignored.

Example: fs=5000    LPF[2500,2500]f_s=5000\implies \text{LPF}\in[-2500,2500]

Then iterate for n=0,1,1,2,2,n=0,1,-1,2,-2,\dots until the first iteration where the result is 0 since all terms are eliminated by the LPF.

TODO: Add example

Then add all terms and transform Xˉs(f)\bar X_s(f) back to time domain to get xs(t)x_s(t)

Fourier transform of continuous time periodic signal (1)

Required for some questions on sampling:

Transform a continuous time-periodic signal xp(t)=n=x(tnTs)x_p(t)=\sum_{n=-\infty}^\infty x(t-nT_s) with period TsT_s:

Xp(f)=n=Cnδ(fnfs)fs=1TsX_p(f)=\sum_{n=-\infty}^\infty C_n\delta(f-nf_s)\quad f_s=\frac{1}{T_s}

Calculate CnC_n coefficient as follows from xp(t)x_p(t):

Cn=1TsTsxp(t)exp(j2πfst)dt=1TsX(nfs)(TODO: Check)x(tnTs) is contained in the interval Ts\begin{align*} C_n&=\frac{1}{T_s} \int_{T_s} x_p(t)\exp(-j2\pi f_s t)dt\\ &=\frac{1}{T_s} X(nf_s)\quad\color{red}\text{(TODO: Check)}\quad\color{white}\text{$x(t-nT_s)$ is contained in the interval $T_s$} \end{align*}

Nyquist criterion for zero-ISI

Do not transmit more than 2B2B samples per second over a channel of BB bandwidth.

By Bob K - Own work, CC0, https://commons.wikimedia.org/w/index.php?curid=94674142

Insert here figure 8.3 from M F Mesiya - Contemporary Communication Systems (Add image to images/sampling.png)

Cannot add directly due to copyright!

sampling sampling

Quantizer

Δ=xMaxxMin2kfor k-bit quantizer (V/lsb)\begin{align*} \Delta &= \frac{x_\text{Max}-x_\text{Min}}{2^k} \quad\text{for $k$-bit quantizer (V/lsb)}\\ \end{align*}

Quantization noise

e:=yxQuantization errorμE=E[E]=0Zero meanσE2=E[E2]02=Δ/2Δ/2e2×(1Δ)deWhere E1/Δ uniform over (Δ/2,Δ/2)SQNR=Signal powerQuantization noiseSQNR(dB)=10log10(SQNR)\begin{align*} e &:= y-x\quad\text{Quantization error}\\ \mu_E &= E[E] = 0\quad\text{Zero mean}\\ {\sigma_E}^2&=E[E^2]-0^2=\int_{-\Delta/2}^{\Delta/2}e^2\times\left(\frac{1}{\Delta}\right) de\quad\text{Where $E\thicksim 1/\Delta$ uniform over $(-\Delta/2,\Delta/2)$}\\ \text{SQNR}&=\frac{\text{Signal power}}{\text{Quantization noise}}\\ \text{SQNR(dB)}&=10\log_{10}(\text{SQNR}) \end{align*}

Insert here figure 8.17 from M F Mesiya - Contemporary Communication Systems (Add image to images/quantizer.png)

Cannot add directly due to copyright!

quantizer quantizer

Line codes

binary_codes

RbBit rateDSymbol rate | Rd | 1/TbAmaV(f)Pulse shapeVrectangle(f)=Tsinc(fT×DutyCycle)GMunipolarNRZ(f)=(M21)A2D12V(f)2+(M1)24(DA)2l=V(lD)2δ(flD)GMpolarNRZ(f)=(M21)A2D3V(f)2GunipolarNRZ(f)=A24Rb(sinc2(fRb)+Rbδ(f)),NB0=RbGpolarNRZ(f)=A2Rbsinc2(fRb)GunipolarNRZ(f)=A24Rb(sinc2(fRb)+Rbδ(f))GunipolarRZ(f)=A216(l=δ(flTb)sinc(duty×l)2+Tbsinc(duty×fTb)2),NB0=2Rb\begin{align*} R_b&\rightarrow\text{Bit rate}\\ D&\rightarrow\text{Symbol rate | }R_d\text{ | }1/T_b\\ A&\rightarrow m_a\\ V(f)&\rightarrow\text{Pulse shape}\\ V_\text{rectangle}(f)&=T\text{sinc}(fT\times\text{DutyCycle})\\ G_\text{MunipolarNRZ}(f)&=\frac{(M^2-1)A^2D}{12}|V(f)|^2+\frac{(M-1)^2}{4}(DA)^2\sum_{l=-\infty}^{\infty}|V(lD)|^2\delta(f-lD)\\ G_\text{MpolarNRZ}(f)&=\frac{(M^2-1)A^2D}{3}|V(f)|^2\\ G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right), \text{NB}_0=R_b\\ G_\text{polarNRZ}(f)&=\frac{A^2}{R_b}\text{sinc}^2\left(\frac{f}{R_b}\right)\\ G_\text{unipolarNRZ}(f)&=\frac{A^2}{4R_b}\left(\text{sinc}^2\left(\frac{f}{R_b}\right)+R_b\delta(f)\right)\\ G_\text{unipolarRZ}(f)&=\frac{A^2}{16} \left(\sum _{l=-\infty }^{\infty } \delta \left(f-\frac{l}{T_b}\right) \left| \text{sinc}(\text{duty} \times l) \right| {}^2+T_b \left| \text{sinc}\left(\text{duty} \times f T_b\right) \right| {}^2\right), \text{NB}_0=2R_b \end{align*}

Modulation and basis functions

Constellation diagrams

BASK

Basis functions

φ1(t)=2Tbcos(2πfct)0tTb\begin{align*} \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ \end{align*}

Symbol mapping

bn:{1,0}an:{1,0}b_n:\{1,0\}\to a_n:\{1,0\}

2 possible waveforms

s1(t)=AcTb2φ1(t)=2Ebφ1(t)s1(t)=0Since Eb=Eaverage=12(Ac22×Tb+0)=Ac24Tb\begin{align*} s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{2E_b}\varphi_1(t)\\ s_1(t)&=0\\ &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{ {A_c}^2}{2}\times T_b + 0)=\frac{ {A_c}^2}{4}T_b$} \end{align*}

Distance is d=2Ebd=\sqrt{2E_b}

BPSK

Basis functions

φ1(t)=2Tbcos(2πfct)0tTb\begin{align*} \varphi_1(t) &= \sqrt{\frac{2}{T_b}}\cos(2\pi f_c t)\quad0\leq t\leq T_b\\ \end{align*}

Symbol mapping

bn:{1,0}an:{1,1}b_n:\{1,0\}\to a_n:\{1,\color{green}-1\color{white}\}

2 possible waveforms

s1(t)=AcTb2φ1(t)=Ebφ1(t)s1(t)=AcTb2φ1(t)=Ebφ2(t)Since Eb=Eaverage=12(Ac22×Tb+Ac22×Tb)=Ac22Tb\begin{align*} s_1(t)&=A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=\sqrt{E_b}\varphi_1(t)\\ s_1(t)&=-A_c\sqrt{\frac{T_b}{2}}\varphi_1(t)=-\sqrt{E_b}\varphi_2(t)\\ &\text{Since $E_b=E_\text{average}=\frac{1}{2}(\frac{ {A_c}^2}{2}\times T_b + \frac{ {A_c}^2}{2}\times T_b)=\frac{ {A_c}^2}{2}T_b$} \end{align*}

Distance is d=2Ebd=2\sqrt{E_b}

QPSK (M=4M=4 PSK)

Basis functions

T=2TbTime per symbol for two bits Tbφ1(t)=2Tcos(2πfct)0tTφ2(t)=2Tsin(2πfct)0tT\begin{align*} T &= 2 T_b\quad\text{Time per symbol for two bits $T_b$}\\ \varphi_1(t) &= \sqrt{\frac{2}{T}}\cos(2\pi f_c t)\quad0\leq t\leq T\\ \varphi_2(t) &= \sqrt{\frac{2}{T}}\sin(2\pi f_c t)\quad0\leq t\leq T\\ \end{align*}

4 possible waveforms

s1(t)=Es/2[φ1(t)+φ2(t)]s2(t)=Es/2[φ1(t)φ2(t)]s3(t)=Es/2[φ1(t)+φ2(t)]s4(t)=Es/2[φ1(t)φ2(t)]\begin{align*} s_1(t)&=\sqrt{E_s/2}\left[\varphi_1(t)+\varphi_2(t)\right]\\ s_2(t)&=\sqrt{E_s/2}\left[\varphi_1(t)-\varphi_2(t)\right]\\ s_3(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)+\varphi_2(t)\right]\\ s_4(t)&=\sqrt{E_s/2}\left[-\varphi_1(t)-\varphi_2(t)\right]\\ \end{align*}

Note on energy per symbol: Since si(t)=Ac|s_i(t)|=A_c, have to normalize distance as follows:

si(t)=AcT/2/2×[α1iφ1(t)+α2iφ2(t)]=TAc2/4[α1iφ1(t)+α2iφ2(t)]=Es/2[α1iφ1(t)+α2iφ2(t)]\begin{align*} s_i(t)&=A_c\sqrt{T/2}/\sqrt{2}\times\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ &=\sqrt{T{A_c}^2/4}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ &=\sqrt{E_s/2}\left[\alpha_{1i}\varphi_1(t)+\alpha_{2i}\varphi_2(t)\right]\\ \end{align*}

Signal

Symbol mapping: {1,0}{1,1}I(t)=b2nφ1(t)Even bitsQ(t)=b2n+1φ2(t)Odd bitsx(t)=Ac[I(t)cos(2πfct)Q(t)sin(2πfct)]\begin{align*} \text{Symbol mapping: }& \left\{1,0\right\}\to\left\{1,-1\right\}\\ I(t) &= b_{2n}\varphi_1(t)\quad\text{Even bits}\\ Q(t) &= b_{2n+1}\varphi_2(t)\quad\text{Odd bits}\\ x(t) &= A_c[I(t)\cos(2\pi f_c t)-Q(t)\sin(2\pi f_c t)] \end{align*}

Example of waveform

Code

tBitstream[bitstream_, Tb_, title_] :=
  Module[{timeSteps, gridLines, plot},
   timeSteps =
    Flatten[Table[{(n - 1)     Tb, bitstream[[n]]}, {n, 1,
        Length[bitstream]}] /. {t_, v_} :> { {t, v}, {t + Tb, v}}, 1];
   gridLines = {Join[
      Table[{n  Tb, Dashed}, {n, 1, 2  Length[bitstream], 2}],
      Table[{n  Tb, Thin}, {n, 0, 2  Length[bitstream], 2}]], None};
   plot =
    Labeled[ListLinePlot[timeSteps, InterpolationOrder -> 0,
      PlotRange -> Full, GridLines -> gridLines, PlotStyle -> Thick,
      Ticks -> {Table[{n     Tb,
          Row[{n, "\!\(\*SubscriptBox[\(T\), \(b\)]\)"}]}, {n, 0,
          Length[bitstream]}], {-1, 0, 1}},
      LabelStyle -> Directive[Bold, 12],
      PlotRangePadding -> {Scaled[.05]}, AspectRatio -> 0.1,
      ImageSize -> Large], {Style[title, "Text", 16]}, {Right}]];

tBitstream[{0, 1, 0, 0, 1, 0, 1, 1, 1, 0}, 1, "Bitstream Step Plot"] tBitstream[{-1, -1, -1, -1, 1, 1, 1, 1, 1, 1}, 1, "I(t)"] tBitstream[{1, 1, -1, -1, -1, -1, 1, 1, -1, -1}, 1, "Q(t)"]

Remember that T=2TbT=2T_b

bnb_n QPSK bits
I(t)I(t) (Odd, 1st bits) QPSK bits
Q(t)Q(t) (Even, 2nd bits) QPSK bits

Matched filter

1. Filter function

Find transfer function h(t)h(t) of matched filter and apply to an input:

h(t)=s1(Tt)s2(Tt)h(t)=s(Tt)((.)* is the conjugate)son(t)=h(t)sn(t)=h(τ)sn(tτ)dτFilter outputno(t)=h(t)n(t)Noise at filter output\begin{align*} h(t)&=s_1(T-t)-s_2(T-t)\\ h(t)&=s^*(T-t) \qquad\text{((.)* is the conjugate)}\\ s_{on}(t)&=h(t)*s_n(t)=\int_\infty^\infty h(\tau)s_n(t-\tau)d\tau\quad\text{Filter output}\\ n_o(t)&=h(t)*n(t)\quad\text{Noise at filter output} \end{align*}

2. Bit error rate

Bit error rate (BER) from matched filter outputs and filter output noise

Q(x)=1212erf(x2)erf(x2)=12Q(x)Eb=d2=s1(t)s2(t)2dtEnergy per bit/DistanceT=1/RbRb: BitrateEb=PavT=Pav/RbEnergy per bitPav=Eb/T=EbRbAverage powerP(W)=10P(dB)10PRX(W)=PTX(W)10Ploss(dB)10Ploss is expressed with negative sign e.g. "-130 dB"BERMatchedFilter=Q(d22N0)=Q(Eb2N0)BERunipolarNRZ|BASK=Q(d2N0)=Q(EbN0)BERpolarNRZ|BPSK=Q(2d2N0)=Q(2EbN0)\begin{align*} Q(x)&=\frac{1}{2}-\frac{1}{2}\text{erf}\left(\frac{x}{\sqrt{2}}\right)\Leftrightarrow\text{erf}\left(\frac{x}{\sqrt{2}}\right)=1-2Q(x)\\ E_b&=d^2=\int_{-\infty}^\infty|s_1(t)-s_2(t)|^2dt\quad\text{Energy per bit/Distance}\\ T&=1/R_b\quad\text{$R_b$: Bitrate}\\ E_b&=P_\text{av}T=P_\text{av}/R_b\quad\text{Energy per bit}\\ P_\text{av}&=E_b/T=E_bR_b\quad\text{Average power}\\ P(\text{W})&=10^{\frac{P(\text{dB})}{10}}\\ P_\text{RX}(W)&=P_\text{TX}(W)\cdot10^{\frac{P_\text{loss}(\text{dB})}{10}}\quad \text{$P_\text{loss}$ is expressed with negative sign e.g. "-130 dB"}\\ \text{BER}_\text{MatchedFilter}&=Q\left(\sqrt{\frac{d^2}{2N_0}}\right)=Q\left(\sqrt{\frac{E_b}{2N_0}}\right)\\ \text{BER}_\text{unipolarNRZ|BASK}&=Q\left(\sqrt{\frac{d^2}{N_0}}\right)=Q\left(\sqrt{\frac{E_b}{N_0}}\right)\\ \text{BER}_\text{polarNRZ|BPSK}&=Q\left(\sqrt{\frac{2d^2}{N_0}}\right)=Q\left(\sqrt{\frac{2E_b}{N_0}}\right)\\ \end{align*}

Value tables for erf(x)\text{erf}(x) and Q(x)Q(x)

Q(x)Q(x) function

xx Q(x)Q(x) xx Q(x)Q(x) xx Q(x)Q(x) xx Q(x)Q(x)
0.000.00 0.50.5 2.302.30 0.0107240.010724 4.554.55 2.6823×1062.6823 \times 10^{-6} 6.806.80 5.231×10125.231 \times 10^{-12}
0.050.05 0.480060.48006 2.352.35 0.00938670.0093867 4.604.60 2.1125×1062.1125 \times 10^{-6} 6.856.85 3.6925×10123.6925 \times 10^{-12}
0.100.10 0.460170.46017 2.402.40 0.00819750.0081975 4.654.65 1.6597×1061.6597 \times 10^{-6} 6.906.90 2.6001×10122.6001 \times 10^{-12}
0.150.15 0.440380.44038 2.452.45 0.00714280.0071428 4.704.70 1.3008×1061.3008 \times 10^{-6} 6.956.95 1.8264×10121.8264 \times 10^{-12}
0.200.20 0.420740.42074 2.502.50 0.00620970.0062097 4.754.75 1.0171×1061.0171 \times 10^{-6} 7.007.00 1.2798×10121.2798 \times 10^{-12}
0.250.25 0.401290.40129 2.552.55 0.00538610.0053861 4.804.80 7.9333×1077.9333 \times 10^{-7} 7.057.05 8.9459×10138.9459 \times 10^{-13}
0.300.30 0.382090.38209 2.602.60 0.00466120.0046612 4.854.85 6.1731×1076.1731 \times 10^{-7} 7.107.10 6.2378×10136.2378 \times 10^{-13}
0.350.35 0.363170.36317 2.652.65 0.00402460.0040246 4.904.90 4.7918×1074.7918 \times 10^{-7} 7.157.15 4.3389×10134.3389 \times 10^{-13}
0.400.40 0.344580.34458 2.702.70 0.0034670.003467 4.954.95 3.7107×1073.7107 \times 10^{-7} 7.207.20 3.0106×10133.0106 \times 10^{-13}
0.450.45 0.326360.32636 2.752.75 0.00297980.0029798 5.005.00 2.8665×1072.8665 \times 10^{-7} 7.257.25 2.0839×10132.0839 \times 10^{-13}
0.500.50 0.308540.30854 2.802.80 0.00255510.0025551 5.055.05 2.2091×1072.2091 \times 10^{-7} 7.307.30 1.4388×10131.4388 \times 10^{-13}
0.550.55 0.291160.29116 2.852.85 0.0021860.002186 5.105.10 1.6983×1071.6983 \times 10^{-7} 7.357.35 9.9103×10149.9103 \times 10^{-14}
0.600.60 0.274250.27425 2.902.90 0.00186580.0018658 5.155.15 1.3024×1071.3024 \times 10^{-7} 7.407.40 6.8092×10146.8092 \times 10^{-14}
0.650.65 0.257850.25785 2.952.95 0.00158890.0015889 5.205.20 9.9644×1089.9644 \times 10^{-8} 7.457.45 4.667×10144.667 \times 10^{-14}
0.700.70 0.241960.24196 3.003.00 0.00134990.0013499 5.255.25 7.605×1087.605 \times 10^{-8} 7.507.50 3.1909×10143.1909 \times 10^{-14}
0.750.75 0.226630.22663 3.053.05 0.00114420.0011442 5.305.30 5.7901×1085.7901 \times 10^{-8} 7.557.55 2.1763×10142.1763 \times 10^{-14}
0.800.80 0.211860.21186 3.103.10 0.00096760.0009676 5.355.35 4.3977×1084.3977 \times 10^{-8} 7.607.60 1.4807×10141.4807 \times 10^{-14}
0.850.85 0.197660.19766 3.153.15 0.000816350.00081635 5.405.40 3.332×1083.332 \times 10^{-8} 7.657.65 1.0049×10141.0049 \times 10^{-14}
0.900.90 0.184060.18406 3.203.20 0.000687140.00068714 5.455.45 2.5185×1082.5185 \times 10^{-8} 7.707.70 6.8033×10156.8033 \times 10^{-15}
0.950.95 0.171060.17106 3.253.25 0.000577030.00057703 5.505.50 1.899×1081.899 \times 10^{-8} 7.757.75 4.5946×10154.5946 \times 10^{-15}
1.001.00 0.158660.15866 3.303.30 0.000483420.00048342 5.555.55 1.4283×1081.4283 \times 10^{-8} 7.807.80 3.0954×10153.0954 \times 10^{-15}
1.051.05 0.146860.14686 3.353.35 0.000404060.00040406 5.605.60 1.0718×1081.0718 \times 10^{-8} 7.857.85 2.0802×10152.0802 \times 10^{-15}
1.101.10 0.135670.13567 3.403.40 0.000336930.00033693 5.655.65 8.0224×1098.0224 \times 10^{-9} 7.907.90 1.3945×10151.3945 \times 10^{-15}
1.151.15 0.125070.12507 3.453.45 0.000280290.00028029 5.705.70 5.9904×1035.9904 \times 10^{-3} 7.957.95 9.3256×10169.3256 \times 10^{-16}
1.201.20 0.115070.11507 3.503.50 0.000232630.00023263 5.755.75 4.4622×1094.4622 \times 10^{-9} 8.008.00 6.221×10166.221 \times 10^{-16}
1.251.25 0.105650.10565 3.553.55 0.000192620.00019262 5.805.80 3.3157×1093.3157 \times 10^{-9} 8.058.05 4.1397×10164.1397 \times 10^{-16}
1.301.30 0.09680.0968 3.603.60 0.000159110.00015911 5.855.85 2.4579×1092.4579 \times 10^{-9} 8.108.10 2.748×10162.748 \times 10^{-16}
1.351.35 0.0885080.088508 3.653.65 0.000131120.00013112 5.905.90 1.8175×1091.8175 \times 10^{-9} 8.158.15 1.8196×10161.8196 \times 10^{-16}
1.401.40 0.0807570.080757 3.703.70 0.00010780.0001078 5.955.95 1.3407×1091.3407 \times 10^{-9} 8.208.20 1.2019×10161.2019 \times 10^{-16}
1.451.45 0.0735290.073529 3.753.75 8.8417×1058.8417 \times 10^{-5} 6.006.00 9.8659×10109.8659 \times 10^{-10} 8.258.25 7.9197×10177.9197 \times 10^{-17}
1.501.50 0.0668070.066807 3.803.80 7.2348×1057.2348 \times 10^{-5} 6.056.05 7.2423×10107.2423 \times 10^{-10} 8.308.30 5.2056×10175.2056 \times 10^{-17}
1.551.55 0.0605710.060571 3.853.85 5.9059×1055.9059 \times 10^{-5} 6.106.10 5.3034×10105.3034 \times 10^{-10} 8.358.35 3.4131×10173.4131 \times 10^{-17}
1.601.60 0.0547990.054799 3.903.90 4.8096×1054.8096 \times 10^{-5} 6.156.15 3.8741×10103.8741 \times 10^{-10} 8.408.40 2.2324×10172.2324 \times 10^{-17}
1.651.65 0.0494710.049471 3.953.95 3.9076×1053.9076 \times 10^{-5} 6.206.20 2.8232×10102.8232 \times 10^{-10} 8.458.45 1.4565×10171.4565 \times 10^{-17}
1.701.70 0.0445650.044565 4.004.00 3.1671×1053.1671 \times 10^{-5} 6.256.25 2.0523×10102.0523 \times 10^{-10} 8.508.50 9.4795×10189.4795 \times 10^{-18}
1.751.75 0.0400590.040059 4.054.05 2.5609×1052.5609 \times 10^{-5} 6.306.30 1.4882×10101.4882 \times 10^{-10} 8.558.55 6.1544×10186.1544 \times 10^{-18}
1.801.80 0.035930.03593 4.104.10 2.0658×1052.0658 \times 10^{-5} 6.356.35 1.0766×10101.0766 \times 10^{-10} 8.608.60 3.9858×10183.9858 \times 10^{-18}
1.851.85 0.0321570.032157 4.154.15 1.6624×1051.6624 \times 10^{-5} 6.406.40 7.7688×10117.7688 \times 10^{-11} 8.658.65 2.575×10182.575 \times 10^{-18}
1.901.90 0.0287170.028717 4.204.20 1.3346×1051.3346 \times 10^{-5} 6.456.45 5.5925×10115.5925 \times 10^{-11} 8.708.70 1.6594×10181.6594 \times 10^{-18}
1.951.95 0.0255880.025588 4.254.25 1.0689×1051.0689 \times 10^{-5} 6.506.50 4.016×10114.016 \times 10^{-11} 8.758.75 1.0668×10181.0668 \times 10^{-18}
2.002.00 0.022750.02275 4.304.30 8.5399×1068.5399 \times 10^{-6} 6.556.55 2.8769×10112.8769 \times 10^{-11} 8.808.80 6.8408×10196.8408 \times 10^{-19}
2.052.05 0.0201820.020182 4.354.35 6.8069×1066.8069 \times 10^{-6} 6.606.60 2.0558×10112.0558 \times 10^{-11} 8.858.85 4.376×10194.376 \times 10^{-19}
2.102.10 0.0178640.017864 4.404.40 5.4125×1065.4125 \times 10^{-6} 6.656.65 1.4655×10111.4655 \times 10^{-11} 8.908.90 2.7923×10192.7923 \times 10^{-19}
2.152.15 0.0157780.015778 4.454.45 4.2935×1064.2935 \times 10^{-6} 6.706.70 1.0421×10111.0421 \times 10^{-11} 8.958.95 1.7774×10191.7774 \times 10^{-19}
2.202.20 0.0139030.013903 4.504.50 3.3977×1063.3977 \times 10^{-6} 6.756.75 7.3923×10127.3923 \times 10^{-12} 9.009.00 1.1286×10191.1286 \times 10^{-19}
2.252.25 0.0122240.012224

Adapted from table 6.1 M F Mesiya - Contemporary Communication Systems

erf(x)\text{erf}(x) function

xx erf(x)\text{erf}(x) xx erf(x)\text{erf}(x) xx erf(x)\text{erf}(x)
0.000.00 0.000000.00000 0.750.75 0.711160.71116 1.501.50 0.966110.96611
0.050.05 0.056370.05637 0.800.80 0.742100.74210 1.551.55 0.971620.97162
0.100.10 0.112460.11246 0.850.85 0.770670.77067 1.601.60 0.976350.97635
0.150.15 0.168000.16800 0.900.90 0.796910.79691 1.651.65 0.980380.98038
0.200.20 0.222700.22270 0.950.95 0.820890.82089 1.701.70 0.983790.98379
0.250.25 0.276330.27633 1.001.00 0.842700.84270 1.751.75 0.986670.98667
0.300.30 0.328630.32863 1.051.05 0.862440.86244 1.801.80 0.989090.98909
0.350.35 0.379380.37938 1.101.10 0.880210.88021 1.851.85 0.991110.99111
0.400.40 0.428390.42839 1.151.15 0.896120.89612 1.901.90 0.992790.99279
0.450.45 0.475480.47548 1.201.20 0.910310.91031 1.951.95 0.994180.99418
0.500.50 0.520500.52050 1.251.25 0.922900.92290 2.002.00 0.995320.99532
0.550.55 0.563320.56332 1.301.30 0.934010.93401 2.502.50 0.999590.99959
0.600.60 0.603860.60386 1.351.35 0.943760.94376 3.003.00 0.999980.99998
0.650.65 0.642030.64203 1.401.40 0.952290.95229 3.303.30 0.9999980.999998**
0.700.70 0.677800.67780 1.451.45 0.959700.95970

**The value of erf(3.30)\text{erf}(3.30) should be 0.999997\approx0.999997 instead, but this value is quoted in the formula table.

Receiver output shit

ro(t)={so1(t)+no(t)code 1so2(t)+no(t)code 0n:AWGN with σo2\begin{align*} r_o(t)&=\begin{cases} s_{o1}(t)+n_o(t) & \text{code 1}\\ s_{o2}(t)+n_o(t) & \text{code 0}\\ \end{cases}\\ n&: \text{AWGN with }\sigma_o^2\\ \end{align*}

ISI, channel model

Nyquist criterion for zero ISI

TODO:

Nomenclature

DSymbol Rate, Max. Signalling RateTSymbol DurationMSymbol set sizeWBandwidth\begin{align*} D&\rightarrow\text{Symbol Rate, Max. Signalling Rate}\\ T&\rightarrow\text{Symbol Duration}\\ M&\rightarrow\text{Symbol set size}\\ W&\rightarrow\text{Bandwidth}\\ \end{align*}

Raised cosine (RC) pulse

Raised cosine pulse

0α10\leq\alpha\leq1

⚠ NOTE might not be safe to assume T=TT'=T, if you can solve the question without TT then use that method.

To solve this type of question:

  1. Use the formula for DD below
  2. Consult the BER table below to get the BER which relates the noise of the channel N0N_0 to EbE_b and to RbR_b.
Linear modulation (MM-PSK, BPSK, MM-QAM) NRZ unipolar encoding, BASK
W=Babs-absW=B_\text{\color{green}abs-abs} W=BabsW=B_\text{\color{green}abs}
W=Babs-abs=1+αT=(1+α)DW=B_\text{abs-abs}=\frac{1+\alpha}{T}=(1+\alpha)D W=Babs=1+α2T=(1+α)D/2W=B_\text{abs}=\frac{1+\alpha}{2T}=(1+\alpha)D/2
D=W symbol/s1+αD=\frac{W\text{ symbol/s}}{1+\alpha} D=2W symbol/s1+αD=\frac{2W\text{ symbol/s}}{1+\alpha}

Rb bit/s=(D symbol/s)×(k bit/symbol)M symbol/set=2kEb=PT=Pav/RbEnergy per bit\begin{align*} R_b\text{ bit/s}&=(D\text{ symbol/s})\times(k\text{ bit/symbol})\\ M\text{ symbol/set}&=2^k\\ E_b&=PT=P_\text{av}/R_b\quad\text{Energy per bit}\\ \end{align*}

Nyquist stuff

TODO: Condition for 0 ISI

Pr(kT)={1k=00k0P_r(kT)=\begin{cases} 1 & k=0\\ 0 & k\neq0 \end{cases}

Other

Excess BW=BabsBNyquist=1+α2T12T=α2TFOR NRZ (Use correct Babs)α=Excess BWBNyquist=BabsBNyquistBNyquistT=1/D\begin{align*} \text{Excess BW}&=B_\text{abs}-B_\text{Nyquist}=\frac{1+\alpha}{2T}-\frac{1}{2T}=\frac{\alpha}{2T}\quad\text{FOR NRZ (Use correct $B_\text{abs}$)}\\ \alpha&=\frac{\text{Excess BW}}{B_\text{Nyquist}}=\frac{B_\text{abs}-B_\text{Nyquist}}{B_\text{Nyquist}}\\ T&=1/D \end{align*}

Table of bandpass signalling and BER

Binary Bandpass Signaling Bnull-nullB_\text{null-null} (Hz) Babs-abs=2BabsB_\text{abs-abs}\color{red}=2B_\text{abs} (Hz) BER with Coherent Detection BER with Noncoherent Detection
ASK, unipolar NRZ 2Rb2R_b Rb(1+α)R_b (1 + \alpha) Q(Eb/N0)Q\left( \sqrt{E_b / N_0} \right) 0.5exp(Eb/(2N0))0.5\exp(-E_b / (2N_0))
BPSK 2Rb2R_b Rb(1+α)R_b (1 + \alpha) Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right) Requires coherent detection
Sunde's FSK 3Rb3R_b Q(Eb/N0)Q\left( \sqrt{E_b / N_0} \right) 0.5exp(Eb/(2N0))0.5\exp(-E_b / (2N_0))
DBPSK, MM-ary Bandpass Signaling 2Rb2R_b Rb(1+α)R_b (1 + \alpha) 0.5exp(Eb/N0)0.5\exp(-E_b / N_0)
QPSK/OQPSK (M=4M=4, PSK) RbR_b Rb(1+α)2\frac{R_b (1 + \alpha)}{2} Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right) Requires coherent detection
MSK 1.5Rb1.5R_b 3Rb(1+α)4\frac{3R_b (1 + \alpha)}{4} Q(2Eb/N0)Q\left( \sqrt{2E_b / N_0} \right) Requires coherent detection
MM-PSK (M>4M > 4) 2Rb/log2M2R_b / \log_2 M Rb(1+α)log2M\frac{R_b (1 + \alpha)}{\log_2 M} 2log2MQ(2log2Msin2(π/M)Eb/N0)\frac{2}{\log_2 M} Q\left( \sqrt{2 \log_2 M \sin^2 \left( \pi / M \right) E_b / N_0} \right) Requires coherent detection
MM-DPSK (M>4M > 4) 2Rb/log2M2R_b / \log_2 M Rb(1+α)2log2M\frac{R_b (1 + \alpha)}{2 \log_2 M} 2log2MQ(4log2Msin2(π/(2M))Eb/N0)\frac{2}{\log_2 M} Q\left( \sqrt{4 \log_2 M \sin^2 \left( \pi / (2M) \right) E_b / N_0} \right)
MM-QAM (Square constellation) 2Rb/log2M2R_b / \log_2 M Rb(1+α)log2M\frac{R_b (1 + \alpha)}{\log_2 M} 4log2M(11M)Q(3log2MM1Eb/N0)\frac{4}{\log_2 M} \left( 1 - \frac{1}{\sqrt{M}} \right) Q\left( \sqrt{\frac{3 \log_2 M}{M - 1} E_b / N_0} \right) Requires coherent detection
MM-FSK Coherent (M+3)Rb2log2M\frac{(M + 3) R_b}{2 \log_2 M} M1log2MQ((log2M)Eb/N0)\frac{M - 1}{\log_2 M} Q\left( \sqrt{(\log_2 M) E_b / N_0} \right)
Noncoherent 2MRb/log2M2M R_b / \log_2 M M12log2M0.5exp((log2M)Eb/2N0)\frac{M - 1}{2 \log_2 M} 0.5\exp({-(\log_2 M) E_b / 2N_0})

Adapted from table 11.4 M F Mesiya - Contemporary Communication Systems

PSD of modulated signals

Modulation Gx(f)G_x(f)
Quadrature Ac24[GI(ffc)+GI(f+fc)+GQ(ffc)+GQ(f+fc)]\color{red}\frac{ {A_c}^2}{4}[G_I(f-f_c)+G_I(f+f_c)+G_Q(f-f_c)+G_Q(f+f_c)]
Linear V(f)22l=R(l)exp(j2πlfT)What??\color{red}\frac{|V(f)|^2}{2}\sum_{l=-\infty}^\infty R(l)\exp(-j2\pi l f T)\quad\text{What??}

Symbol error probability

Information theory

Entropy for discrete random variables

H(x)0H(x)=xiAxpX(xi)log2(pX(xi))H(x,y)=xiAxyiAypXY(xi,yi)log2(pXY(xi,yi))Joint entropyH(x,y)=H(x)+H(y)Joint entropy if x and y independentH(xy=yj)=xiAxpX(xiy=yj)log2(pX(xiy=yj))Conditional entropyH(xy)=yjAypY(yj)H(xy=yj)Average conditional entropy, equivocationH(xy)=xiAxyiAypX(xi,yj)log2(pX(xiy=yj))H(xy)=H(x,y)H(y)H(x,y)=H(x)+H(yx)=H(y)+H(xy)\begin{align*} H(x) &\geq 0\\ H(x) &= -\sum_{x_i\in A_x} p_X(x_i) \log_2(p_X(x_i))\\ H(x,y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_{XY}(x_i,y_i)\log_2(p_{XY}(x_i,y_i)) \quad\text{Joint entropy}\\ H(x,y) &= H(x)+H(y) \quad\text{Joint entropy if $x$ and $y$ independent}\\ H(x|y=y_j) &= -\sum_{x_i\in A_x} p_X(x_i|y=y_j) \log_2(p_X(x_i|y=y_j)) \quad\text{Conditional entropy}\\ H(x|y) &= -\sum_{y_j\in A_y} p_Y(y_j) H(x|y=y_j) \quad\text{Average conditional entropy, equivocation}\\ H(x|y) &= -\sum_{x_i\in A_x}\sum_{y_i\in A_y} p_X(x_i,y_j) \log_2(p_X(x_i|y=y_j))\\ H(x|y) &= H(x,y)-H(y)\\ H(x,y) &= H(x) + H(y|x) = H(y) + H(x|y)\\ \end{align*}

Entropy is maximized when all have an equal probability.

Differential entropy for continuous random variables

TODO: Cut out if not required

h(x)=RfX(x)log2(fX(x))dx\begin{align*} h(x) &= -\int_\mathbb{R}f_X(x)\log_2(f_X(x))dx \end{align*}

Mutual information

Amount of entropy decrease of xx after observation by yy.

I(x;y)=H(x)H(xy)=H(y)H(yx)\begin{align*} I(x;y) &= H(x)-H(x|y)=H(y)-H(y|x)\\ \end{align*}

Channel model

Vertical, xx: input
Horizontal, yy: output

P=[p11p12p1Np21p22p2NpM1pM2pMN]\mathbf{P}=\left[\begin{matrix} p_{11} & p_{12} &\dots & p_{1N}\\ p_{21} & p_{22} &\dots & p_{2N}\\ \vdots & \vdots &\ddots & \vdots\\ p_{M1} & p_{M2} &\dots & p_{MN}\\ \end{matrix}\right]

P(yjxi)y1y2yNx1p11p12p1Nx2p21p22p2NxMpM1pM2pMN\begin{array}{c|cccc} P(y_j|x_i)& y_1 & y_2 & \dots & y_N \\\hline x_1 & p_{11} & p_{12} & \dots & p_{1N} \\ x_2 & p_{21} & p_{22} & \dots & p_{2N} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ x_M & p_{M1} & p_{M2} & \dots & p_{MN} \\ \end{array}

Input has probability distribution pX(ai)=P(X=ai)p_X(a_i)=P(X=a_i)

Channel maps alphabet {a1,,aM}{b1,,bN}`\{a_1,\dots,a_M\} \to \{b_1,\dots,b_N\}`

Output has probabiltiy distribution pY(bj)=P(y=bj)p_Y(b_j)=P(y=b_j)

pY(bj)=i=1MP[x=ai,y=bj]1jN=i=1MP[X=ai]P[Y=bjX=ai][pY(b0)pY(b1)pY(bj)]=[pX(a0)pX(a1)pX(ai)]×P\begin{align*} p_Y(b_j) &= \sum_{i=1}^{M}P[x=a_i,y=b_j]\quad 1\leq j\leq N \\ &= \sum_{i=1}^{M}P[X=a_i]P[Y=b_j|X=a_i]\\ [\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] &= [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P} \end{align*}

Fast procedure to calculate I(y;x)I(y;x)

1. Find H(x)2. Find [pY(b0)pY(b1)pY(bj)]=[pX(a0)pX(a1)pX(ai)]×P3. Multiply each row in P by pX(ai) since pXY(xi,yi)=P(yixi)P(xi)4. Find H(x,y) using each element from (3.)5. Find H(xy)=H(x,y)H(y)6. Find I(y;x)=H(x)H(xy)\begin{align*} &\text{1. Find }H(x)\\ &\text{2. Find }[\begin{matrix}p_Y(b_0)&p_Y(b_1)&\dots&p_Y(b_j)\end{matrix}] = [\begin{matrix}p_X(a_0)&p_X(a_1)&\dots&p_X(a_i)\end{matrix}]\times\mathbf{P}\\ &\text{3. Multiply each row in $\textbf{P}$ by $p_X(a_i)$ since $p_{XY}(x_i,y_i)=P(y_i|x_i)P(x_i)$}\\ &\text{4. Find $H(x,y)$ using each element from (3.)}\\ &\text{5. Find }H(x|y)=H(x,y)-H(y)\\ &\text{6. Find }I(y;x)=H(x)-H(x|y)\\ \end{align*}

Channel types

Type Definition
Symmetric channel Every row is a permutation of every other row, Every column is a permutation of every other column. Symmetric    Weakly symmetric\text{Symmetric}\implies\text{Weakly symmetric}
Weakly symmetric Every row is a permutation of every other row, Every column has the same sum

Channel capacity of weakly symmetric channel

CChannel capacity (bits/channels used)NOutput alphabet sizepProbability vector, any row of the transition matrixC=log2(N)H(p)Capacity for weakly symmetric and symmetric channelsR<C for error-free transmission\begin{align*} C &\to\text{Channel capacity (bits/channels used)}\\ N &\to\text{Output alphabet size}\\ \mathbf{p} &\to\text{Probability vector, any row of the transition matrix}\\ C &= \log_2(N)-H(\mathbf{p})\quad\text{Capacity for weakly symmetric and symmetric channels}\\ R &< C \text{ for error-free transmission} \end{align*}

Channel capacity of an AWGN channel

yi=xi+niniN(0,N0/2)y_i=x_i+n_i\quad n_i\thicksim N(0,N_0/2)

C=12log2(1+PavN0/2)C=\frac{1}{2}\log_2\left(1+\frac{P_\text{av}}{N_0/2}\right)

Channel capacity of a bandwidth AWGN channel

Note: Define XOR (\oplus) as exclusive OR, or modulo-2 addition.

PsBandwidth limited average poweryi=bandpassW(xi)+niniN(0,N0/2)C=Wlog2(1+PsN0W)C=Wlog2(1+SNR)SNR=Ps/(N0W)\begin{align*} P_s&\to\text{Bandwidth limited average power}\\ y_i&=\text{bandpass}_W(x_i)+n_i\quad n_i\thicksim N(0,N_0/2)\\ C&=W\log_2\left(1+\frac{P_s}{N_0 W}\right)\\ C&=W\log_2(1+\text{SNR})\quad\text{SNR}=P_s/(N_0 W) \end{align*}

Channel code

Hamming weight wH(x)w_H(x) Number of '1' in codeword xx
Hamming distance dH(x1,x2)=wH(x1x2)d_H(x_1,x_2)=w_H(x_1\oplus x_2) Number of different bits between codewords x1x_1 and x2x_2 which is the hamming weight of the XOR of the two codes.
Minimum distance dmind_\text{min} IMPORTANT: x0x\neq\textbf{0}, excludes weight of all-zero codeword. For a linear block code, dmin=wmind_\text{min}=w_\text{min}

Linear block code

Code is (n,k)(n,k)

nn is the width of a codeword

2k2^k codewords

A linear block code must be a subspace and satisfy both:

  1. Zero vector must be present at least once
  2. The XOR of any codeword pair in the code must result in a codeword that is already present in the code table.

For a linear block code, dmin=wmind_\text{min}=w_\text{min}

Code generation

Each generator vector is a binary string of size nn. There are kk generator vectors in G\mathbf{G}.

gi=[gi,0gi,n2gi,n1]g0=[1010]Example for n=4G=[g0g1gk1]=[g0,0g0,n2g0,n1g1,0g1,n2g1,n1gk1,0gk1,n2gk1,n1]\begin{align*} \mathbf{g}_i&=[\begin{matrix} g_{i,0}& \dots & g_{i,n-2} & g_{i,n-1} \end{matrix}]\\ \color{darkgray}\mathbf{g}_0&\color{darkgray}=[1010]\quad\text{Example for $n=4$}\\ \mathbf{G}&=\left[\begin{matrix} \mathbf{g}_0\\ \mathbf{g}_1\\ \vdots\\ \mathbf{g}_{k-1}\\ \end{matrix}\right]=\left[\begin{matrix} g_{0,0}& \dots & g_{0,n-2} & g_{0,n-1}\\ g_{1,0}& \dots & g_{1,n-2} & g_{1,n-1}\\ \vdots & \ddots & \vdots & \vdots\\ g_{k-1,0}& \dots & g_{k-1,n-2} & g_{k-1,n-1}\\ \end{matrix}\right] \end{align*}

A message block m\mathbf{m} is coded as x\mathbf{x} using the generation codewords in G\mathbf{G}:

m=[m0mn2mk1]m=[101001]Example for k=6x=mG=m0g0+m1g1++mk1gk1\begin{align*} \mathbf{m}&=[\begin{matrix} m_{0}& \dots & m_{n-2} & m_{k-1} \end{matrix}]\\ \color{darkgray}\mathbf{m}&\color{darkgray}=[101001]\quad\text{Example for $k=6$}\\ \mathbf{x} &= \mathbf{m}\mathbf{G}=m_0\mathbf{g}_0+m_1\mathbf{g}_1+\dots+m_{k-1}\mathbf{g}_{k-1} \end{align*}

Systemic linear block code

Contains kk message bits (Copy m\mathbf{m} as-is) and (nk)(n-k) parity bits after the message bits.

G=[IkP]=[100010001p0,0p0,n2p0,n1p1,0p1,n2p1,n1pk1,0pk1,n2pk1,n1]m=[m0mn2mk1]x=mG=m[IkP]=[mIkmP]=[mb]b=mPParity bits of x\begin{align*} \mathbf{G}&=\begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\left[ \begin{array}{c|c} \begin{matrix} 1 & 0 & \dots & 0\\ 0 & 1 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0& 0 & \dots & 1\\ \end{matrix} & \begin{matrix} p_{0,0}& \dots & p_{0,n-2} & p_{0,n-1}\\ p_{1,0}& \dots & p_{1,n-2} & p_{1,n-1}\\ \vdots & \ddots & \vdots & \vdots\\ p_{k-1,0}& \dots & p_{k-1,n-2} & p_{k-1,n-1}\\ \end{matrix}\end{array}\right]\\ \mathbf{m}&=[\begin{matrix} m_{0}& \dots & m_{n-2} & m_{k-1} \end{matrix}]\\ \mathbf{x} &= \mathbf{m}\mathbf{G}= \mathbf{m} \begin{array}{c|c}[\mathbf{I}_k & \mathbf{P}]\end{array}=\begin{array}{c|c}[\mathbf{mI}_k & \mathbf{mP}]\end{array}=\begin{array}{c|c}[\mathbf{m} & \mathbf{b}]\end{array}\\ \mathbf{b} &= \mathbf{m}\mathbf{P}\quad\text{Parity bits of $\mathbf{x}$} \end{align*}

Parity check matrix H\mathbf{H}

Transpose P\mathbf{P} for the parity check matrix

H=[PTInk]=[p0Tp1Tpk1TInk]=[p0,0p0,k2p0,k1p1,0p1,k2p1,k1pn1,0pn1,k2pn1,k1100010001]xHT=0    Codeword is valid\begin{align*} \mathbf{H}&=\begin{array}{c|c}[\mathbf{P}^\text{T} & \mathbf{I}_{n-k}]\end{array}\\ &=\left[ \begin{array}{c|c} \begin{matrix} {\textbf{p}_0}^\text{T} & {\textbf{p}_1}^\text{T} & \dots & {\textbf{p}_{k-1}}^\text{T} \end{matrix} & \mathbf{I}_{n-k}\end{array}\right]\\ &=\left[ \begin{array}{c|c} \begin{matrix} p_{0,0}& \dots & p_{0,k-2} & p_{0,k-1}\\ p_{1,0}& \dots & p_{1,k-2} & p_{1,k-1}\\ \vdots & \ddots & \vdots & \vdots\\ p_{n-1,0}& \dots & p_{n-1,k-2} & p_{n-1,k-1}\\ \end{matrix} & \begin{matrix} 1 & 0 & \dots & 0\\ 0 & 1 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0& 0 & \dots & 1\\ \end{matrix}\end{array}\right]\\ \mathbf{xH}^\text{T}&=\mathbf{0}\implies\text{Codeword is valid} \end{align*}

Procedure to find parity check matrix from list of codewords

  1. From the number of codewords, find k=log2(N)k=\log_2(N)
  2. Partition codewords into kk information bits and remaining bits into nkn-k parity bits. The information bits should be a simple counter (?).
  3. Express parity bits as a linear combination of information bits
  4. Put coefficients into P\textbf{P} matrix and find H\textbf{H}

Example:

x1x2x3x4x510110011110000011001\begin{array}{cccc} x_1 & x_2 & x_3 & x_4 & x_5 \\\hline \color{magenta}1&\color{magenta}0&1&1&0\\ \color{magenta}0&\color{magenta}1&1&1&1\\ \color{magenta}0&\color{magenta}0&0&0&0\\ \color{magenta}1&\color{magenta}1&0&0&1\\ \end{array}

Set x1,x2x_1,x_2 as information bits. Express x3,x4,x5x_3,x_4,x_5 in terms of x1,x2x_1,x_2.

x3=x1x2x4=x1x2x5=x2    P=x1x2x311x411x501H=[111101100010001]\begin{align*} \begin{aligned} x_3 &= x_1\oplus x_2\\ x_4 &= x_1\oplus x_2\\ x_5 &= x_2\\ \end{aligned} \implies\textbf{P}&= \begin{array}{c|cc} & x_1 & x_2 \\\hline x_3&1&1&\\ x_4&1&1&\\ x_5&0&1&\\ \end{array}\\ \textbf{H}&=\left[ \begin{array}{c|c} \begin{matrix} 1&1\\ 1&1\\ 0&1\\ \end{matrix} & \begin{matrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ \end{matrix}\end{array}\right] \end{align*}

Error detection and correction

Detection of ss errors: dmins+1d_\text{min}\geq s+1

Correction of uu errors: dmin2u+1d_\text{min}\geq 2u+1

CHECKLIST