\( \require{amstext} \require{amsmath} \require{amssymb} \require{amsfonts} \)
Finding Orthonormal Basis and optimal detection
 Finding the orthonormal basis for a group of waveform
 Represent the waveform with the found basis function

Optimal detection in AWGN channel

Remember to first map the chanel output into the basis function i.e.find the coefficient for each basis function by inner product between the transmitted signal and each of the basis function (integrate to get the inner product)

Then separate the transmitted signal into the preset waveform part and the noise part. i.e.

\( r = s_i + n \) where n is the noise $s_i$ is the preset waveform where i determine the number of the waveform. \( r = [r_1, r_2, …, r_n] \qquad r_i = \int y(t)f_i(t)\,dt \) where there is n basis function and $y(t)$ is the transmitted signal \( s_i = [s_{i1}, …, s_{in}] \) and there is m waveforms $i\in\{1,…,m\}$
 If all the waveform have the same probability a ML or minimum distance solution is found: \( \hat{s} = \operatorname*{argmin}_{i\in\{1,…,m\}} \left\Vert s_i  r \right\Vert^2 \)
 If the probability is not the same, a MAP solution needs to be constructed: \( \hat{X} = \operatorname*{argmax}_{X\in\{x_1,….\}} P(Y=yX=x)P(X=x) \) for AWGN $P(Y=yX=x) = \exp^{(yx)^2/2\sigma^2}$ without the constant in the gaussian pdf.
PAM transmission
 Unit energy pulse waveform $p(t)$
 Baseband signal: $x(t) =\sum_m x_m p(tmT)$

Desirable properties for $p(t)$:

Band limited to $[W, W]$

Fast decay and only take effect in one period T

Simple and reliable decoding from the noisy version of the received waveform

 However there is the time decay vs. Bandwidth Tradeoff
 Furthermore, to achieve simple and reliable detection, the shifted pulse needs to form an orthonormal basis: \( \langle p(tkT), p(tmT)\rangle = \int_{\infty}^{\infty}p(tkT)p(tmT) \, dt = \left\{ \begin{array}{ll} 1, \quad k=m \newline 0, \quad \textrm{otherwise} \end{array} \right. \)
 Matched low path filter with impulse response $q(t)=p(t)$ \( g(t) = q(t) \star p(t) \quad \quad G(f) = Q(f)P(f) \) To avoid intersymbol interference (ISI): \( g(mT) = \left\{ \begin{array}{ll} 1, \quad m=0 \newline 0, \quad m=…,1,0,1,… \end{array} \right. \quad \quad \sum_{k=\infty}^{\infty}G(f\frac{k}{T}) = \textrm{constant} \) if the constant is T then the sampled output at time $nT$ is exactly $X_n$ if constant is 2T, then $2X_n$
Probability of detection error in QAM/PSK constellation
 Average energy per symbol: $E_s$ = Total energy / Number of constellation. Average energy per bit: $E_b = E_s / \log_2 M$. Where M is the number of constellations/symbols For example: 64 symbols  6 bits.
 The probability of detection error $P_e$ is always a upper bound to bypass the union bound.
 For AWGN, use the QFunction: $Q(Z=\frac{X}{\sqrt{N_0/2}})$ where $N_0/24$ is the typical noise variance.
 QAM is listed on a grid and PSK lists uniformly on a circle.
 For comparing same number QAM vs PSK, QAM may results in larger distance between nearby symbols.
 Qfunction with larger value inside results in smaller output, therefore the probability of detection error would be smaller.
Convolutional code
 State diagram: Current state, coded bits on solid line  0 / dashed line  1, next state
 Modified state diagram for extended transfer function:
 Simplify the 0/00/000 1/01/001 …. to a,b,c…..
 Duplicate allzero state so that the system starts from allzero and ends at allzero. Also, remove the allzero state to allzero state arrow.
 Add a J to every branch
 Add an N to each branch with input 1
 Add a D for each 1 it produced in the coded bit.
 Then find the transfer function between the starting point and the ending point. Binominal expansion or polynomial division could be used here to find multiple paths from start to end.
 The exponents of J represent the number of the branches the path goes through before returns to zero.
 The exponents of N represents the total number of 1 in the input along the path.
 The exponents of D represents the Hamming weight of the output (coded bits) with the all zero codes (the number of ones) along that path.
 Free distance is the minimum Hamming distance between any two codesequence of the convolutional code. It is the value of the minimum D exponents in the transfer function.
 Catastrophic encoders: If there exists two identical long code sequence where they are different in only a small number of bits, however the source sequence of these two are different in a large number of bits. During the transmission, this type of encoder would result in very large input sequence error with limited channel error.
 Remember the viterbi algorithm.