FDM


FDM (Frequency-division Multiplexing)


OFDM (Orthogonal Frequency-division Multiplexing)


The bit stream is transformed into a series of OFDM batches of complex numbers using the points of the chosen constellation. The component of the signal at any given frequency (frequency bin) is given by a complex number. The complex number mathematically modulates the complex sinusoid with amplitude and phase corresponding to the assigned digital sequence at the point on the constellation. The modulus of the number is the amplitude of that component, and the argument is the relative phase of the wave.

For 802.11a, there are 64 subcarriers $[-32..31]$ with frequency $\frac{k}{T}$ where $k$ is the frequency bin $k \in [0,63]$ and $T$ is the symbol duration / symbol period / signal period / baud period being $3.2µs$. $\frac{1}{T}$ i.e. $F$ is the baud rate and because the symbol is windowed to its reciprocal, all 64 subcarriers are orthogonal to eachother when seprated by this frequency; $\frac{1}{T} = \frac{1}{3.2µs}$ = 0.3125cpµs = 312.5KHz/Ksps. $\frac{64}{3.2µs}$ = 20MHz/spµs; baud rate * no. of samples = $\frac{N}{T}$ = $ f_s$ = 20MHz = passband bandwidth. A 312.5KHz wave has one period in 3.2 microseconds and a 625KHz wave has 2. You take a symbol period $T$ and the lowest frequency that can fit a full period into it is $\frac{1}{T}$. The next wave that can fit into it is an integer multiple of this so these are the frequencies that have to be modulated. You then select how many multiples you want and then the sampling frequency needs to be the frequency of the number selected so that there are 2 samples for the frequency that is half that.

In the time domain, the samples are ${x_0(t_0) ... x_{N-1}(t_{N-1})}$ where $N$ is the amount of samples ($\text{range}(0,N-1) = N) =$ the amount of subcarriers.

The general formula is:

$$x_n(t_n) = \frac{1}{N}\sum_{k=0}^{N-1} (A+Bj)_k e^{\frac{j2\pi kf_st_n}{N}}$$

Where $x_n(t_n)\triangleq x[n]$ and $n$ is the time sample number; $t_n$ is the time of the sample $\frac{n}{f_s}$ where the final sample $\frac{n=63}{\frac{64}{3.2µs}}$ = 3.15µs and sampling period $T_s$ is $\frac{1}{f_s}$ i.e. 0.05µs and total period is $\frac{N}{f_s}$; $(A+Bj)_k$ is complex constellation point $X_k\triangleq X[k]$ at the $k_{th}$ frequency bin and $f_s$ is the sampling frequency $\frac{N}{T}$ = 20MHz or $2f_{max}$ (which is 10MHz as the spectrum is about 0 and the highest frequency used does not exceed 10MHz; Nyquist rate ($f_s = 2B$)). The nature of DFT dictates that the first frequency bins from 0 to $\frac{N}{2} -1$ have the same index as the subcarrier number and frequency but the frequency bin starting with $\frac{N}{2}$ (nyquist frequency) is a negative frequency corresponding to subcarrier -32 and then -31 and so on. So it goes 0 to 31 and then -32 to -1. The -32 in this case overlaps with the 32 of another image, which is 0 as there is no subcarrier 32 (this is the same for the time domain samples). If $N$ is odd then it will be 0 to $\frac{N+1}{2}$. Subcarriers $[-32..-27]$, 0 and $[27..31]$ are set to $(0j+0)$ as guard bands and subcarriers -21, -7, 7 and 21 are pilot subcarriers meaning only the remaining 48 bins are filled from the constellation.

The subcarrier frequency $f_k$ i.e. $\frac{kf_s}{N}$ in the equation is the same thing as $\frac{k}{T}$ because sampling frequency*symbol/signal duration = number of samples, hence sampling frequency / number of samples = 1 / symbol duration ($\frac{f_s}{N} = \frac{1}{T}$; $T=NT_s$). From this we also realise that $t_n = \frac{n}{f_s} = \frac{Tn}{N}$ and hence the $n_{th}$ granularity of the symbol period aka the $n_{th}$ sample. We also observe that $\frac{n}{N} = \frac{t_n}{T}$ where $N$ here is the total number of time domain samples.

Compute $x_0(t_0)$:

$$x_0\left(\frac{0}{f_s}\right) = \frac{1}{N}\sum_{k=0}^{N-1} X_k e^{\frac{j2\pi k*0}{N}}$$
$$\small = \frac{1}{N}\sum_{k=0}^{N-1} X_k \left( \cos \left(\frac{2\pi k*0}{N}\right) + j \sin \left(\frac{2\pi k*0}{N}\right)\right)$$

Which will equal a complex value $(C+Dj)$, hence $x_0(t_0)=(C+Dj)$ and we have our first sample mapping from the frequency to the time domain.

This process is then repeated for all samples ${x_0(t_0) ... x_{N-1}(t_{N-1})}$. Then, a 0.8µs duration Guard Interval (GI) or Cyclic prefix is then added to the beginning of the OFDM waveform (+16 samples), to mitigate ISI. A cyclic prefix is the last part (in this case the last 16 samples) of an OFDM symbol and is copied and inserted as the first part of the OFDM symbol. The set of samples are then windowed in the digital domain. Windowing is done in the digital domain (pulse shape filtering isn't because it's referring to an analogue phenomenon -- a symbol has to be pulse shape filtered in the analogue domain, because the pulse shaping is what a DAC produces; the pulse shaping literally means how a digital pulse manifests in the analogue domain, whereas a symbol can be windowed in the analogue and digital domain). The speed of light is 299.792 metres per microsecond (299.792*4 = 1,199.168m). A 20MHz signal has a wavelength of 15m and there are 80 samples in a 4 microsecond symbol (80*15 = 1,200m). For 80 samples in 4 microseconds, the maximum frequency to have 2 samples per period is 10MHz, which is what's required. 20MHz has 1 sample per period, hence it is the sampling frequency. The real (C) and imaginary (D) coefficients of all $N$ samples now go through a DAC at 20MHz. The DAC outputs a ZOH output for the samples, which results in a real frequency domain of sinc shapes appearing at the samples at the reciprocal of the length of the symbol outputted and the spacing at which the samples are clocked out define the bandwidth of the signal, this is the same for the imaginary frequency domain. Their desired frequencies have to be known in order to clock it out at the correct speed for the sample size. The ZOH output exhibits images of the 20MHz band in the frequency domain which have been limited by an overarching sinc shape. This is because the time domain impulses have been convolved with rects which hence have the height of their areas, this is the same as multiplying the frequency domain with a sinc filter. The time domain is now aperiodic and continuous but the frequency domain still has images but not identical images because the time domain in effect still has discrete samples except theyre rects and not impulses. Impulses would make all the images identical to infinity but the rect makes the images increasingly smaller and bound to the sinc shape. This signal then can go through a reconstruction filter which essentially clips off these images by brick walling the side lobes of the sinc containing the images, this results in a convolution of a sinc with each rect in the time domain and because it effectively looks like a rect now in the frequency domain, it now looks like a sinc at each impulse in the time domain. A root raised cosine reconstruction could also be used instead. The real analogue signal is modulated with the real part of the carrier sinusoid of the channel (i.e. 2.412MHz for channel 1) and the complex signal with the complex part, they are then combined and the resulting signal is transmitted from the antenna

The outputted continuous signal is now (where $N$ is now 80, and includes the CP samples at the start):

$$x(t) = p(t) \circledast d(t) \circledast w(t) \sum_{n} \left( \frac{1}{N} \sum_{k=0}^{N-1} X_k \bigg[ Re \Big\{e^{\frac{j2\pi f_cn}{f_s}} \Big\} \cos\left(\frac{2\pi kn}{N}\right) + Im \Big\{e^{\frac{j2\pi f_cn}{f_s}} \Big\} j \sin \left(\frac{2\pi kn}{N}\right) \bigg] \delta (t-nT_s)\right) $$

Where $e^{\frac{j2\pi f_c n}{f_s}}$ is a sinusoid at the carrier frequency sampled at $t = \frac{n}{f_s}$ time and $d(t)$ is the impulse response of the DAC and $p(t)$ is the impulse response of the pulse-shaping reconstruction filter; the impulse response is the same thing as the IFT of the filter itself, which refers to the impulse at the origin of the time domain which is a line in the frequency domain which gets truncated to the rect window. $w(t_n)$ is the time domain windowing function $w(t) = rect(\frac{t}{T})$ is the same as not using one at all, because it is implicit by sending out a continuous aperiodic symbol truncated to the period length. It's treated as aperiodic because no other periods of that symbol are received so it's assumed to be null either side to infinity. There is only the symbol to do the integral over, so this is obviously a restricted range fourier transform, which implies that the rest to infinity is 0. The dirac delta sum in the above equation performs the convolution of the fixed time samples $x_0\delta(t-0)$ to $x_{N-1}\delta(t-T_s(N-1))$ with the filter and therefore $t$ is a point on that convolution with the filter and does not influence the convolution itself because the integral in the convolution operation is not with respect to $t$.

Symbol in frequency domain:

Symbol in time domain:

On the other end, the signal comes in. At this stage, the symbol is in the analogue domain and contains the cyclic prefix. In the frequency domain conceptually it is a single symbol around the positive carrier frequency (because it was multiplied by a complex sinusoid) with no images, but in the actual received symbol this is not the case and there are 2 frequency domains, sin and cos, where there is an image at the negative frequency in each. In the time domain it is a continuous, aperiodic symbol with infinite period and due to this truncation, there is a sinc at the magnitude of each subcarrier. The cyclic prefix is removed and the symbol is unwindowed if the window is not purely part of the CP. The voltage is then sent to 2 streams where one is multiplied by the $\cos$ carrier and the other is multiplied by the $\sin$ at the carrier frequency, which brings the part of the signal in the imaginary frequency domain and part in the real frequency domain back to baseband. These streams then travel through bandpass filters which filter out everything other than baseband, which include the excess images now at twice the positive and negative of the carrier frequency on both streams. The streams then travel into two separate ADCs, which anti-aliasing filter, sample and quantise them. They then become the real and imaginary parts of a combined sample in the digital domain. The sampling window sets the spacing of the frequency domain samples and the sample rate sets the spacing of the time domain samples. Crucial to note is that it is sampling the analogue time and frequency domains as they present. When those samples have been captured using sample and hold to produce values in memory and the symbol is now a set of samples in the digital domain, it is now a periodic signal in the time and frequency domain, with infinite images of samples in the time and frequency domain, and for this reason, the DFT performed from 0 to 20MHz is the same as from -10MHz to 10MHz. There are no longer sincs in the frequency domain as it is just a set of samples which reflects this periodicity. The samples in the frequency domain are indeed sampling sincs, but the samples themselves are just samples. When it then does an FFT over the time samples, it will produce a complex number at the corresponding frequencies (the band of which is decided on by the sample spacing and the spacing of the frequencies based on the symbol length) which is then normalised for channel gain (which is called subcarrier equalisation) before CFO is corrected using coarse/fine CFO correction using the short/log preamble or/and corrected using the phase offset calculated from the pilots before being correlated to the closest point on the reference constellation which all frequencies use.

The introduction of the cyclic prefix prevents non line of sight ghost symbols which arrive after the LOS symbol from eating in to the next symbol. The overlap with the next symbol is mitigated by ensuring the start of each symbol in the time domaim contains redundant data. That way, you only have the ghost components of the current symbol to deal with. It would be detrimental if the end of the ghost components of the previous symbol added to the start of some ghost components on the next symbol. It's the most you can do, because you can't stop ghost components of the current symbol from affecting the current symbol but you can stop ghost components of other symbols interfering with the symbol as well.

When the CP is introduced, the symbol becomes 80 samples in the time domain because the end 16 samples of the symbol are repeated at the start. At the receiver, this presents as an aperiodic signal where the rect window lasts longer than a symbol without a CP. The sincs in the frequency domain will now be tighter and about the same frequencies (which is what happens to one sinusoid in the time domain when it is truncated to a period and a bit of the period before it; the sinc expands but the frequency does not change. This happens for every sinusoid in the signal. If this were to be sampled now at the receiver as 80 samples then you'd be taking samples in the frequency domain with contracted sincs, at a baud rate of 200kHz, which would sample in between the peaks of the sincs and would be unoptimal. The window needs to instead be truncated to the 64 samples which gives a baud rate of 321.5Khz and would actually be sampling the components in the signal. Whats more if the CP is discarded from the signal itself to match the sample window then the sincs also expand out to their original sizes.

Orthogonality of subcarriers in this case simply means that they are orthogonal functions. For instance:

$$\int_{-\infty}^{\infty} \frac{A\tau\sin(\tau\pi f)}{\tau\pi f} \frac{A\tau\sin(\tau\pi (f-\frac{n}{\tau}))}{\tau\pi (f-\frac{n}{\tau})} df = 0, ~ \forall n \in \mathbb{Z}, ~n\neq 0$$

Each null of a subcarrier sinc is based on the length of the symbol and is spaced at $1\tau$ if oscillatory factor of -1 i.e. $-f$ is used and will produce a frequency domain. If oscillatory factor $-2\pi$ is used i.e. $-\omega$ the spacing will be $2\pi/\tau$ and will produce an omega frequency domain. The former gives the transform in terms of frequency and the latter gives the sinusoid to be transformed in terms of angular frequency. This means that $\cos(t)$ always translates as 1 angular frequency or $1/2\pi$ frequency. The DFT sampling window $T$ needs to be equal to $\tau$, the symbol width / symbol window, to sample the correct frequencies that were used to synthesise the symbol. $A$ in this case is the height of the rect window times the amplitude at the frequency. Non-orthogonality of subcarriers is a problem because the adjacent carriers either side decreases or increases the height of the sinc when it needs to be a certain level for the constellation. Basically, if $-\omega$ is used for the oscillatory factor then the omega frequency domain shows the actual frequency $f$. If it is -1 the omega frequency domain shows the angular frequency and f shows the real frequency.

Intercarrier interference is caused by Doppler spread due to channel-time variation, carrier frequency offsets (CFOs) and to a lesser extent, from sampling frequency offsets (SFOs). Doppler spread contracts the time domain signal such that the symbol for instance has a length of 3.999μs instead of 4μs. The spacing of the sincs in the frequency domain changes as well as the width, such that they remain orthogonal. If the sample window is kept at 4μs, which is highly likely, then the samples will start to lag behind the actual frequencies in the symbol additively, which results in 'intercarrier interference' and 'loss of orthogonality' even though it doesn't really, it just makes the samples sample tardily because it's sampling a waveform that has changed from what it expected, and therefore it doesn't sample at the optimum locations in the frequency domain where all other subcarriers are 0 apart from the one being sampled. This is however considered to be intercarrier interference because it has components in the sample and the SIR is the ratio of those components in the sample to the expected sample. Certain situations of doppler shift may result in a phase modulation of the signal where it is not a uniform compaction, which causes loss of orthogonality when this is convolved with the sincs in the frequency domain. CFOs are due to mismatch of the oscillation frequency of the local carrier at the receiver with the one at the transmitter, this combined inaccuracy in $\text{ppm}$ results in the symbol at baseband not quite being centred about the origin after demodulation, because the time domain is still modulated with a sinusoid of a miniscule frequency and therefore there is a blur where the positive and negative images have come not quite together, which causes each frequency domain samples to be at an equal offset and not additively.

This is for instance $Im(x)\sin(5x)\sin(5x)$. The $Re(x)\cos(5x)\sin(5x)$ would be the same as this but with the purple, blue and green below the graph to cancel out. This results in the green black and blue carrier being left. The same thing happens for the real part.

$$i(Re(x)\cos(5x)\sin(5x) + Im(x)\sin(5x)\sin(5x)) + (Re(x)\cos(5x)\cos(5x) + Im(x)\sin(5x)\cos(5x))$$

The sampling instants here would be at the origin and because of the shift, it is no longer sampling the top. The other components still average to 0. Remember that the subcarriers when using QAM are different heights to each other and some are negative and are below the frequency axis. If a complex magnitude frequency domain plot is being used then they are all positive magnitudes and therefore above the frequency axis. If they are pictured at the same height, this is either a simplification or its a complex magnitude plot and all points on the constellation have the same magnitude (BPSK, 8PSK etc). The sampling offset results in ICI, attenuation and CPE (common phase error)

SFOs are due to mismatch between the sampling frequency and sampling window of the DAC at the transmitter and ADC at the receiver, which can result in a larger/smaller window in the frequency domain or greater/smaller spacing of the samples in the frequency domain respectively.

The reason for pulse shaping is to reduce the rolloff in the desired frequency band and reduce interference with other channels that arise from the DAC ZOH output. The interpolation of the output is done with the filter alone. It does not need to carefully output sincs, just a ZOH output and then pass it through a frequency domain filter, which will turn the analogue signal in to one that looks like it has been constructed from sinc impulses in the first place. To do this, the ZOH frequency domain response times the filter needs to produce a rect filter (with best rolloff). This means that the filter isnt quite a rect filter, but one that will mitigate the rolloff of the ZOH output in the band of interest as well as have a stronger rolloff to reduce the side lobes (if you just multiply the rect filter with the sinc filter then you get a curved top rectangular pulse and worse rolloff). The resulting sinc impulse cannot be infinite and this is reflected by the fact that the rolloff in the frequency domain of the filter is not a brick wall response (which is a result of windowing and what happens to the filter when the signal is windowed) i.e. what the filter looks like when it's going to be used on a signal with that particular window.

As can be seen, there is rolloff within the region of interest, as well as a large amount of power outside the channel, which will interfere with other channels. The rolloff results in reduction of power in the region of interest because it is a filter that is multiplied with the frequency spectrum, thus reducing the voltseconds at those frequencies because it is being timesed by factor less than 1 at the sides rather than being 1 all the way across, which is a desired flat-top filter. The desired pulse shaping filter is flat top with minimal rolloff approaching a brick wall response, not a matched filter, which isn't applicable with OFDM.

The reason for windowing is to reduce the interference with other channels. It changes the orthogonality of the actual transmitted symbol, which is not orthogonal because of the CP. This means that modifying the orthogonality does not matter, because the correct orthogonality will always be there when the CP is chopped off. Therefore, the window can be shaped to sacrifice orthogonality for loss of power in the side lobes.

Black:

$$\int_{-2}^{2} e^{-i\omega t} dt = 4\frac{\sin(2\omega)}{2\omega}$$
$$4\frac{\sin\left(4\pi x\right)}{4\pi x}+4\frac{\sin\left(4\pi\left(x-0.25\right)\right)}{4\pi\left(x-0.25\right)}+4\frac{\sin\left(4\pi\left(x+0.25\right)\right)}{4\pi\left(x+0.25\right)}+4\frac{\sin\left(4\pi\left(x+0.5\right)\right)}{4\pi\left(x+0.5\right)}$$

Green:

$$\int_{-2}^{-1} (t+2)e^{-i\omega t} dt + \int_{-1}^{1} e^{-i\omega t} dt + \int_{1}^{2} (2-t)e^{-i\omega t} dt = \frac{2(\cos(\omega) - \cos(2\omega))}{\omega^2} $$
$$\frac{(2\cos(2\pi x)-2\cos(4\pi x))}{\left(2\pi x\right)^{2}}+\frac{(2\cos(2\pi\left(x-0.25\right))-2\cos(4\pi\left(x-0.25\right)))}{\left(2\pi\left(x-0.25\right)\right)^{2}}+\frac{(2\cos(2\pi\left(x+0.5\right))-2\cos(4\pi\left(x+0.5\right)))}{\left(2\pi\left(x+0.5\right)\right)^{2}}+\frac{(2\cos(2\pi\left(x+0.25\right))-2\cos(4\pi\left(x+0.25\right)))}{\left(2\pi\left(x+0.25\right)\right)^{2}}$$

Here black is is a rect pulse window and green is a trapezium window used on an ideal symbol with 4 subcarriers. There is clearly less interference with other channels when using the the trapezium window. Ideal symbol here means if it the pulse shaping resulted in a perfect interpolation of the intended waveform. It should be noted that the trapezium window not only reduces the protrusion of the impulse side lobes in the frequency domain but also improves the rolloff of the filter that is caused by the sinc reconstruction impulses in the time domain not being infinite because they are being windowed into the signal length. The overall leakage (side lobes x rolloff x images) is less because the former 2 are both reduced. The filter itself is a perfect rect convolved with the FT of the trapezium.

Windowing can be achieved using cyclic extensions, introducing a cyclic suffix as well as a cyclic prefix or windowing the CP half and half. It can also be achieved windowing the CP and the end of the symbol and then summing the rolloffs together to make the window symbol a rect shape again. i.e.

Different windowing schemes:

As can be seen, the rolloff does not change but the power outside the channel does. Which can be called spectral leakage

The spectral efficiency of an OFDM data subcarrier i.e. a QAM symbol is the coding rate times the modulation efficiency of the modulation scheme. The $E_s/N_0$ of an OFDM data subcarrier i.e. the QAM symbol is $\frac{C}{N}\frac{B}{F}$ where $B$ is the bandwidth of the subchannel and $F$ is the baud rate i.e. the repirocal of the symbol length. The $E_b/N_0$ of an OFDM data subcarrier is the $E_s/N_0$ of the subcarrier divided by the spectral efficiency $\rho$ of the subcarrier. The spectral efficiency of the whole symbol is the modulation efficiency times the percentage of data carriers i.e. 48/80 times the coding rate. The $E_s/N_0$ of the whole symbol is $\frac{C}{N}\frac{B}{F}$ where $B$ is the bandwidth of the 20MHz channel and the $E_b/N_0$ of the whole symbol is the $E_s/N_0$ of the whole symbol divided by the number of information bits $k$ in the symbol.