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

Generation of Gaussian Random Noise using Box-Mullar Transform

 

Box-Mullar Transform generates random noise where noise samples are independent, standard, and normally distributed. So, we can say this type of noise is Gaussian noise.

 In MATLAB Codes below, independent random variables u1 and u2 are uniformly distributed between 0 and 1 and then transformed using the Box-Muller method to obtain pairs of independent, standard, normally distributed random variables z0 and z1.

 

MATLAB Code for Generating Random (Gaussian) Noise

clc;
clear all;
close all;
numSamples = 1000; % Number of samples
gaussianNoise = generateGaussianNoise(numSamples);

disp(gaussianNoise);
function noise = generateGaussianNoise(numSamples)
% Generate Gaussian noise using Box-Muller transform
noise = zeros(1, numSamples);

% Generate pairs of independent, standard, normally distributed random variables
for i = 1:2:numSamples
u1 = rand();
u2 = rand();

z0 = sqrt(-2 * log(u1)) * cos(2 * pi * u2);
z1 = sqrt(-2 * log(u1)) * sin(2 * pi * u2);

noise(i) = z0;
if i+1 <= numSamples
noise(i+1) = z1;
end
end
end
 

Output 

 
 
 
Fig: Generation of Gaussian Random Noise using Box-Mullar Transform 
 
 

MATLAB Code for Generating AWGN Noise

clc;
clear all;
close all;
numSamples = 1000; % Number of samples
noisePower = 1; % Desired noise power
awgnSignal = generateAWGN(numSamples, noisePower);
% Plot the AWGN signal
plot(awgnSignal);
xlabel('Sample');
ylabel('Amplitude');
title('AWGN Signal');
function noise = generateAWGN(numSamples, noisePower)
% Generate Gaussian noise using Box-Muller transform
noise = zeros(1, numSamples);
% Generate pairs of independent, standard, normally distributed random variables
for i = 1:2:numSamples
u1 = rand();
u2 = rand();
z0 = sqrt(-2 * log(u1)) * cos(2 * pi * u2);
z1 = sqrt(-2 * log(u1)) * sin(2 * pi * u2);
noise(i) = z0;
if i+1 <= numSamples
noise(i+1) = z1;
end
end
% Scale the noise to have the desired power
currentPower = sum(noise.^2) / numSamples;
scalingFactor = sqrt(noisePower / currentPower);
noise = noise * scalingFactor;
end
 

Output 

 
 
Fig: Generation of AWGN Signal using Box-Muller Transform

Differences Between Gaussian Noise and AWGN

  1. Gaussian noise refers to noise that follows a Gaussian (normal) distribution. It's characterized by having values distributed symmetrically around a mean value, with the probability density function given by the bell-shaped Gaussian curve.
  2. Gaussian noise can have any mean and variance, and it's not necessarily additive or white (i.e., frequency-independent).
  3. AWGN is characterized by having zero mean and constant power spectral density across all frequencies, making it ideal for modeling many practical noise scenarios in communication systems

Copy the MATLAB Codes from here

 

 

 

Read more about

[1]  Gaussian Random Variable

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>>

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...

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 ...

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 =...