Flowgraph output

FSK Demodulation in GNU Radio

Frequency Modulation (FM) is one of the oldest communication techniques for high fidelity transmission. Its digital counterpart, Frequency Shift Keying (FSK), also plays a crucial role in applications requiring low receiver complexity. In an FSK scheme, digital information is transmitted by changing the frequency of a carrier signal. It can also be mixed with Chirp Spread Spectrum (CSS) for low-power long-range communication as used in LoRa PHY. Binary FSK Binary FSK (BFSK) is the simplest form of FSK where the two bits 0 and 1 correspond to two distinct carrier frequencies $F_0$ and $F_1$ to be sent over the air.

Continue reading
Beamforming in multi-user vs massive MIMO systems

Zero-Forcing (ZF) Detection in Massive MIMO Systems

Massive MIMO is one of the defining technologies in 5G cellular systems. In a previous article, we have described spatial matched filtering (or maximum ratio) as the simplest algorithm for signal detection. Here, we explain another linear technique, known as Zero-Forcing (ZF), for this purpose. It was described before in the context of simple MIMO systems here. Background Consider the block diagram for uplink of a massive MIMO system as drawn below with $N_B$ base station antennas and $K$ mobiler terminals. It is evident that the cumulative signal at each base station antenna $j$ is a summation of signals arriving

Continue reading

Antenna Arrays: Whole is More than its Parts

In a previous article, we described how multiples antennas can be viewed as sampling the signal in space domain in a direct analogy to sampling the signal in time domain. Filters in discrete-time domain are usually defined by numerical values in the time axis. Space allows three-dimensional freedom. A filter in discrete space can have its elements placed anywhere in the space. This sounds very complicated! But we will show it is not. A Simple Time Domain Filter: 2-Tap FIR The simplest discrete FIR filter has only two samples of unit magnitude. Assuming unit magnitude and zero phase for both

Continue reading
A timing locked loop with a Gardner TED converging to the steady state value for a square-root raised cosine pulse with excess bandwidth 0.4

Gardner Timing Error Detector: A Non-Data-Aided Version of Zero-Crossing Timing Error Detectors

Timing synchronization plays the role of the heart of a digital communication system. We have already seen how a timing locked loop, commonly known as symbol timing PLL, works where I explained the intuition behind the maximum likelihood Timing Error Detector (TED). A simplified version of maximum likelihood TED, known as Early-Late Timing Error Detector, was also covered before. Today we discuss a different timing synchronization philosophy that is based on zero-crossing principle. It is commonly known as Gardner timing recovery. Background Before we start this topic, I recommend that you read about Pulse Amplitude Modulation (PAM) for an introduction

Continue reading
Buridan's donkey at an equal distance from hay and water

k-Nearest Neighbors (k-NN) – A Man is Known by the Company He Keeps

Aesop was a Greek storyteller who created lots of short stories more than 2500 years ago (such as the hare and the tortoise), now collectively known as Aesop’s Fables. "A man is known by the company he keeps" is a quote also attributed to him that has survived through the ages and has proven to be a timeless truth. The k-Nearest Neighbors (k-NN) algorithm is essentially based on the same idea. It suggests that when a machine needs to classify a new data point in an application, examining its neighboring data points is an effective strategy. In the spirit of

Continue reading