Skip to main content

Posts

Search

Search Search Any Topic from Any Website Search
Recent posts

Discrete and Fast Fourier Transform (DFT & FFT)

Discrete and Fast Fourier Transform Understanding DFT and FFT algorithms, their formulas, and advantages. Discrete Fourier Transform (DFT) For digital systems, the Fourier transform is realized by: For complex numbers \(x_0, x_1, x_2, \dots, x_{N-1}\): \(X[k] = \sum_{n=0}^{N-1} x_n W_N^{kn}, \quad k = 0, 1, 2, \dots, N-1\) Where: \(W_N = e^{-j 2 \pi / N}\) is the \(N^{th}\) root of unity. \(n\) is the index of the input sample (time-domain index). \(k\) is the index of the output frequency bin (frequency-domain index). \(W_N^{kn}\) represents the complex rotation corresponding to the contribution of sample \(x_n\) to frequency \(k\). Fast Fourier Transform (FFT) The basic idea of a fast Fourier transform is to break up a transform of length \(N\) into two transforms of length \(N/2\). For complex numbers \(x[n]\), \(n = 0, 1, 2, \dots, N-1\): ...

ML and MAP Decoding Fundamentals

Fundamentals of ML and MAP Decoding 1. Introduction In digital communication: A transmitter sends a symbol s ∈ 𝒮 (from a finite set of possible symbols). The channel adds noise, so the receiver observes y . The goal of the receiver is to decode y to the most likely transmitted symbol s . This is where ML and MAP decoding come in. 2. Maximum Likelihood (ML) Decoding Idea: Choose the symbol s that maximizes the likelihood of receiving y , assuming all symbols are equally likely. Mathematically: ŝ_ML = argmax_{s ∈ 𝒮} P(y | s) Where P(y|s) = probability of observing y given that s was transmitted (likelihood function). Intuition: Pick the symbol that makes the received signal y “most probable” based on the channel. Notes: ML decoding does not consider prior probabilities of symbols. Common in AWGN channels: it reduces to minimum Euclidean distance decoding for equally likely symbols. 3. Maximum a Posteriori (MAP) Decod...

OFDMA

OFDMA and Practical Example OFDMA (Orthogonal Frequency-Division Multiple Access) allows many users to connect at the same time by assigning each user a different group of subcarriers . The total channel is divided into multiple narrow, orthogonal subcarriers. Each user gets a different subset, allowing simultaneous transmission without interference. Simple Example Total subcarriers: 12 Subcarriers per user: 4 Number of users = 12 ÷ 4 = 3 users Practical Real-World Example (Wi-Fi 6) Imagine a Wi-Fi 6 router in a coffee shop with 3 connected devices: Phone checking messages Laptop streaming video Smartwatch sending tiny packets Available subcarriers: 12 OFDMA assignment: Laptop: 6 subcarriers Phone: 4 subcarriers Smartwatch: 2 subcarriers All devices transmit simultaneously o...

Cell-Free Massive MIMO for 6G

Cell-Free Massive MIMO for 6G That’s the core idea of cell-free massive MIMO : You have lots of antennas distributed over an area (like a city). They are all connected to a central processing unit . When a user is active, multiple antennas transmit/receive signals to/from that user simultaneously . This coherent combination boosts the signal strength at the user and reduces interference from other users. So, unlike traditional cellular or Wi-Fi, the user is not tied to a single antenna or access point — instead, the network acts like one giant distributed antenna serving all users together . 1. Traditional Massive MIMO MIMO = Multiple Input, Multiple Output. In massive MIMO , a base station has lots of antennas to serve many users at once. Problem: Each cell has its own base station. Users at the...

Control and Robotics

Modern Control, Speech Processing & Robotics Notes Beginner-Friendly Notes on Modern Control Topics 1. Control of Robots Through Speech Signals 1.1 Introduction Speech-controlled robots combine speech processing, artificial intelligence, and control systems to allow robots to respond to human voice commands. 1.2 Key Components Speech Signal Processing: Noise reduction and feature extraction. Automatic Speech Recognition (ASR): Converts speech to text. Language Understanding: Interprets text into commands. Robot Control System: Executes motion using PID, LQR, MPC, etc. 1.3 Challenges ...

Degrees of Freedom in MIMO

Degrees of Freedom in MIMO Systems In MIMO (Multiple-Input Multiple-Output) wireless systems, the degrees of freedom (DoF) refer to the maximum number of independent data streams that can be transmitted simultaneously over the channel without interfering with each other. Basic Formula For a point-to-point MIMO system with: N t transmit antennas N r receive antennas DoF = min( N t , N r ) Meaning This number represents the maximum number of parallel data streams the channel can support. 4×2 MIMO → DoF = 2 8×8 MIMO → DoF = 8 2×1 MISO → DoF = 1 Why is this the DoF? Each independent stream needs: a unique transmit spatial direction, and a unique receive spatial dimension So the limiting factor is the side with fewer antennas. DoF & Rank of MIMO Channel Matrix If the channel matrix H has rank r , then: DoF = rank(H) ≤ min(N t , N r ) In rich-scattering envir...

SISO & MIMO Channel Capacity

SISO Channel Capacity The capacity of a SISO (Single Input Single Output) channel represents the maximum achievable data rate that can be transmitted reliably over an AWGN channel. Shannon Capacity Formula C = B log 2 (1 + SNR) C = channel capacity (bits/s) B = bandwidth (Hz) SNR = signal-to-noise ratio (linear scale) Capacity per Unit Bandwidth C = log 2 (1 + SNR)   bits/s/Hz Important Notes SNR must be converted from dB to linear: SNR linear = 10^(SNR dB /10) Capacity increases logarithmically with SNR High SNR approximation: C ≈ B log 2 (SNR) Low SNR approximation: C ≈ (B / ln(2)) × SNR log2​(1+SNR) ≈  SNR​ / ln(2) for SNR≪1  Example Calculation Given: B = 1 MHz SNR = 10 dB → 10 (linear) Then: C = 10⁶ × log 2 (1 + 10) ≈ 3.46 Mbps MIMO Channel Capacity (Telatar Formula) For an \(M \times N\) MIMO system with channel matrix \(H\) and total transmit power, the Telatar capacity is...

Carrier synchronization using correlation in MATLAB

MATLAB Code clc; clear; close all; % Parameters fs = 10000; % Sampling frequency (Hz) symbolRate = 100; % Symbol rate (baud) fc = 1000; % Carrier frequency (Hz) message = [0 0 1 1 1 0 0 0]; % Original binary message % Upsample the data by samples per symbol samplesPerSymbol = fs / symbolRate; upsampledData = upsample(2 * message - 1, samplesPerSymbol); % BPSK modulation (-1,1) % Generate carrier signal t = (0:length(upsampledData)-1) / fs; % Time vector carrier = cos(2 * pi * fc * t); % Carrier signal % Transmit signal (modulate the data with carrier) txSignal = upsampledData .* carrier; % Modulated signal txSignal = awgn(txSignal, 15); % Add noise to the signal % Simulate lag (delay in transmission) lagAmount = 200; % Introduce lag (can be positive or negative) laggedSignal = [zeros(1, lagAmount), txSignal(1:end - lagAmount)]; % Receiver Side % Demodulation: multiply received signal by the same carrier rxSignal = laggedSignal .* carrier; % Demodulate by multiplying with carrier % Low-...

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *