Skip to main content
Home Wireless Communication Modulation MATLAB Beamforming Project Ideas MIMO Computer Networks Lab 🚀

What is the Step Size in FFT?

 

In FFT (Fast Fourier Transform), the step size refers to the spacing between consecutive points in the output data after performing the transform. It's often determined by the sampling rate of the signal. The step size is crucial for accurate frequency representation, and smaller step sizes provide finer frequency resolution in the resulting frequency domain representation.

 

Step Size of a Signal in the Time Domain

Suppose you have a signal sampled at 1000 Hz (sampling rate) for a duration of 1 second. The step size, or the time difference between consecutive samples, is then given by the inverse of the sampling rate:

Step size=1/Sampling rate=1/1000Hz=0.001seconds

If you perform an FFT on this signal, the resulting frequency resolution in the frequency domain will be determined in part by this step size. Smaller step sizes provide a finer frequency resolution.

 

Step Size of a Signal in the Frequency / FFT Domain 

Step Size in the Frequency Domain

The step size in the frequency domain refers to the spacing between adjacent frequency bins in the FFT output. It is determined by the signal's sampling rate and the size of the FFT:

Δf = fs / N

Where:

  • Δf: Frequency step size (frequency resolution).
  • fs: Sampling rate (Hz).
  • N: FFT size (number of bins).

Total Bandwidth

The total bandwidth covered by the FFT is determined by the sampling rate and the Nyquist theorem:

Total Bandwidth = fs / 2

Frequencies above the Nyquist frequency (fs/2) cannot be represented due to aliasing.

Frequency Step Size after FFT

Combining the above, the frequency step size (bin width) in the FFT output is:

Δf = fs / (2N)

Key Observations:

  • Smaller Δf results in higher frequency resolution.
  • To achieve smaller Δf, increase the FFT size (N) or the signal's duration (T).
  • Total bandwidth is inversely proportional to the number of bins (N).

MATLAB Code

% The code is developed by SalimWireless.Com


clc;
clear all;
close all;


% Parameters
fs = 1000; % Sampling frequency (Hz)
T = 1; % Duration (seconds)
N1 = 256; % FFT size for coarse resolution
N2 = 1024; % FFT size for fine resolution
t = 0:1/fs:T-1/fs; % Time vector


% Signal with multiple frequency components
f1 = 50; % Frequency 1 (Hz)
f2 = 60; % Frequency 2 (Hz)
f3 = 200; % Frequency 3 (Hz)
signal = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);


% FFT with coarse resolution (N1)
fft_coarse = fft(signal, N1);
frequencies_coarse = (0:N1-1)*(fs/N1); % Frequency vector
magnitude_coarse = abs(fft_coarse);


% FFT with fine resolution (N2)
fft_fine = fft(signal, N2);
frequencies_fine = (0:N2-1)*(fs/N2); % Frequency vector
magnitude_fine = abs(fft_fine);


% Plotting
figure;


% Coarse Resolution Plot
subplot(2, 1, 1);
plot(frequencies_coarse(1:N1/2), magnitude_coarse(1:N1/2));
title('FFT with Coarse Resolution (N = 256) where step size is 3.906');
xlabel('Frequency (Hz)');
ylabel('Magnitude');
grid on;


% Fine Resolution Plot
subplot(2, 1, 2);
plot(frequencies_fine(1:N2/2), magnitude_fine(1:N2/2));
title('FFT with Fine Resolution (N = 1024) where step size is 0.977');
xlabel('Frequency (Hz)');
ylabel('Magnitude');
grid on;

Output






Copy the MATLAB Code above from here

Further Reading

People are good at skipping over material they already know!

View Related Topics to







Admin & Author: Salim

profile

  Website: www.salimwireless.com
  Interests: Signal Processing, Telecommunication, 5G Technology, Present & Future Wireless Technologies, Digital Signal Processing, Computer Networks, Millimeter Wave Band Channel, Web Development
  Seeking an opportunity in the Teaching or Electronics & Telecommunication domains.
  Possess M.Tech in Electronic Communication Systems.


Contact Us

Name

Email *

Message *

Popular Posts

Channel Impulse Response (CIR)

Channel Impulse Response (CIR) Wireless Signal Processing CIR, Doppler Shift & Gaussian Random Variable  The Channel Impulse Response (CIR) is a concept primarily used in the field of telecommunications and signal processing. It provides information about how a communication channel responds to an impulse signal.   What is the Channel Impulse Response (CIR) ? It describes the behavior of a communication channel in response to an impulse signal. In signal processing,  an impulse signal has zero amplitude at all other times and amplitude  ∞ at time 0 for the signal. Using a Dirac Delta function, we can approximate this.  ...(i) δ( t) now has a very intriguing characteristic. The answer is 1 when the Fourier Transform of  δ( t) is calculated. As a result, all frequencies are responded to equally by  δ (t). This is crucial since we never know which frequencies a system will affect when examining an unidentified one. Since i...

MATLAB Code for QAM (Quadrature Amplitude Modulation)

  One of the best-performing modulation techniques is QAM [↗] . Here, we modulate the symbols by varying the carrier signal's amplitude and phase in response to the variation in the message signal (or voltage variation). So, we may say that QAM is a combination of phase and amplitude modulation. Additionally, it performs better than ASK or PSK [↗] . In fact, any constellation for any type of modulation, signal set (or, symbols) is structured in a way that prevents them from interacting further by being distinct by phase, amplitude, or frequency. MATLAB Script % This code is written by SalimWirelss.Com % This is an example of 4-QAM. Here constellation size is 4 % or total number of symbols/signals is 4 % We need 2 bits once to represent four constellation points % QAM modulation is the combination of Amplitude modulation plus % Phase Modulation. We map the decimal value of the input symbols, i.e., % 00, 01, 10, 11 to 1 + 1i, -1 + 1i, 1 - 1i, and -1 - 1i, respectively. clc;clear all;...

Comparisons among ASK, PSK, and FSK | And the definitions of each

Modulation ASK, FSK & PSK Constellation MATLAB Simulink MATLAB Code Comparisons among ASK, PSK, and FSK    Comparisons among ASK, PSK, and FSK Comparison among ASK,  FSK, and PSK Performance Comparison: 1. Noise Sensitivity:    - ASK is the most sensitive to noise due to its reliance on amplitude variations.    - PSK is less sensitive to noise compared to ASK.    - FSK is relatively more robust against noise, making it suitable for noisy environments. 2. Bandwidth Efficiency:    - PSK is the most bandwidth-efficient, requiring less bandwidth than FSK for the same data rate.    - FSK requires wider bandwidth compared to PSK.    - ASK's bandwidth efficiency lies between FSK and PSK. Bandwidth Calculator for ASK, FSK, and PSK The baud rate represents the number of symbols transmitted per second Select Modulation Type: ASK...

Star to Delta Conversion and Vice Versa | star delta conversion

The transformation of a star to a delta and a delta to a star circuit is a hot topic in electrical science and engineering. Examiners often ask about the conversion of star to delta and delta to star circuit diagram. When solving complex circuits, the conversion procedure can sometimes ease calculations and save time. Without further ado, we'll go over the characteristics of both a star and a delta circuit. As its title suggests, the star circuit looks like a star. Delta circuit, on the other hand, looks like a delta. Now we'll look at the mathematical method for converting delta to star and star to delta. Delta to Star R1 = RaRb / (Ra + Rb + Rc) R2 = RbRc / (Ra + Rb + Rc) R3 = RaRc / (Ra + Rb + Rc) Use star to delta online converter and vice versa Star to Delta Ra = (R1R2 + R2R3 + R3R1) / R2 Rb = (R1R2 + R2R3 + R3R1) / R3 Rc = (R1R2 + R2R3 + R3R1) / R1 Next Page>>

MIMO, massive MIMO, and Beamforming

  The term 'MIMO' was originally applied to systems with multiple antennas on both the transmitter (Tx) and receiver (Rx) sides. MIMO is a key component of Wi-Fi 4 and 5, 3G, and 4G cellular networks. This method was introduced to increase the capacity of a channel by sending multiple simultaneous data streams through a single channel. All simultaneous data streams in a MIMO system are encoded orthogonally multiplexed, which reduces interference. Massive MIMO is used extensively in 5G to achieve extremely high capacity and to communicate via  beamforming  or directional transmission. 1. Some essential characteristics of a MIMO system 1.1. Spatial Division Multiplexing Access (SDMA) SDMA is a key feature of MIMO, allowing a base station (BS) to communicate with several devices simultaneously (or even using the same frequency) if they are in different locations. There may be no knowledge of channel information at the transmitter. 1.2. Spatial Multiplexing Another essential ...

Simulation of ASK, FSK, and PSK using MATLAB Simulink

ASK, FSK & PSK HomePage MATLAB Simulation Simulation of Amplitude Shift Keying (ASK) using MATLAB Simulink      In Simulink, we pick different components/elements from MATLAB Simulink Library. Then we connect the components and perform a particular operation.  Result A sine wave source, a pulse generator, a product block, a mux, and a scope are shown in the diagram above. The pulse generator generates the '1' and '0' bit sequences. Sine wave sources produce a specific amplitude and frequency. The scope displays the modulated signal as well as the original bit sequence created by the pulse generator. Mux is a tool for displaying both modulated and unmodulated signals at the same time. The result section shows that binary '1' is modulated by a certain sine wave amplitude of 1 Volt, and binary '0' is modulated by zero amplitude. Simulation of Frequency Shift Keying (FSK) using MATLAB Simulink   Result The diagram above shows t...

MATLAB Code for Rank and Condition Number of a Channel Matrix

To assess the signal strengths of various multipaths between TX and RX and enable communication, the rank and condition numbers of a channel matrix are highly helpful characteristics. Signal multipath propagation is a typical occurrence in wireless communication. Phases shift and the signal weakens during this process. We are discussing signal phases in this context. When numerous multipaths arrive at the receiver, the resulting signal may be additive or destructive because of phase alterations. A channel matrix is referred to as a sparse matrix if it only has a few stronger elements and the majority of the other elements are zero. Finding rank and condition number for sparse matrices is important for numerous reasons. That topic has already been covered in another article [ click here ]. We will just talk about the corresponding MATLAB codes here. MATLAB Code for Rank and Condition Number of a Channel Matrix %Author: Salim Wireless For study materials on wireless %com...

MATLAB Code for Pulse Width Modulation (PWM) and Demodulation

   Pulse Width Modulation (PWM) MATLAB Script   clc; clear all; close all; fs=5; %frequency of the sawtooth signal fm=5; %frequency of the message signal sampling_frequency = 10e3; a=0.5; % amplitide t=0:(1/sampling_frequency):1; %sampling rate of 10kHz sawtooth=1.01*a.*sawtooth(2*pi*fs*t); %generating a sawtooth wave subplot(4,1,1); plot(t,sawtooth); % plotting the sawtooth wave title('Comparator Wave'); msg=a.*sin(2*pi*fm*t); %generating message wave subplot(4,1,2); plot(t,msg); %plotting the sine message wave title('Message Signal'); for i=1:length(sawtooth) if (msg(i)>=sawtooth(i)) pwm(i)=1; %is message signal amplitude at i th sample is greater than %sawtooth wave amplitude at i th sample else pwm(i)=0; end end subplot(4,1,3); plot(t,pwm,'r'); title('PWM'); axis([0 1 0 1.1]); %to keep the pwm visible during plotting. %% Demodulation % Demodulation: Measure the pulse width to reconstruct the signal demodulated_signal = zeros(size(msg)); for i =...