Ofdm Matlab Code Free Download

Posted on by

Matlab-ofdm free download. Use SolarWinds VoIP and Network Quality Manager for proactive WAN and VoIP monitoring tools that can help with troubleshooting via an intuitive web interface. OFDM basic Tx-Rx Chain. The ofdm matlab code for the above block schematic is provided below for download. OFDM transmitter in this example consists of FEC. OFDMA basics. This section of MATLAB source code covers OFDMA transmitter and OFDMA receiver MATLAB code. Following download link provides the generic OFDMA matlab transmitter code. Unlike OFDM where in data from mapper is mapped on to all the used sucarriers of the entire FFT, In OFDMA subcarriers of the entire FFT is divided into subchannels and few of the subchannels are allocated to one. SC-FDMA basics. This section of MATLAB source code covers SC-FDMA basics and mention basic matlab code. SC-FDMA transmitter incorporate FFT module before subcarrier mapping. The reverse is taken care in the receiver part of SC-FDMA compare to either OFDM or OFDMA technique. Mimo ofdm Search and download mimo ofdm open source project / source codes from CodeForge.com. CodeForge Source Codes; Point. Designed and implemented a multiple input multiple output, orthogonal frequency division multiplexing without Health road line communication system-level simulation. This is the mimo-ofdm matlab code that very.

  1. Mimo Ofdm Matlab
  2. Ofdm Spectrum Matlab
  3. Ofdm Matlab Code Free Download For Windows 7

Download MATLAB source codes

This MATLAB section of source code covers signal processing, image processing MATLAB source codes. It include FIR, IIR, scrambler, interleaver, FFT, convolution, correlation, interpolation, decimation, CRC, impairments, data type conversions and more. RS encoder, convolutional encoder, viterbi decoder, OFDM, OFDMA, MIMO is also covered. WiMAX, WLAN, LTE source codes are also provided.

Scrambler and Descrambler code

Refer Scrambler descrambler for design of scrambler and descrambler as per IEEE 802.16-2004 wimax standard specifications.

Interleaver and Deinterleaver

Refer Interleaver deinterleaver as per equation defined in wimax standard.

BPSK,QPSK,16QAM and 64QAM Data Mapping

Refer Data Modulation page for BPSK, QPSK, 16QAM and 64QAM modulation matlab source code.

16 Point Decimation in Frequency FFT MATLAB code

Refer 16point IFFT
code very useful for IFFT implementation from scratch very useful for understanding the concept.

Correlation-Auto,Cross

Refer correlation
code very useful for understanding autocorrelation and cross correlation concepts. It also provides comparison with matlab built in functions.

Convolution

Refer convolution
matlab source code and compares the same with matlab built in function.

Interpolation or Up sampling

Refer Interpolation which is used for upsampling digital samples to the desired sampling rate.

Decimation or Down sampling

Refer Decimation which is used for downsampling digital samples to the desired sampling rate.

Convolutional Encoder and Viterbi decoder

Refer Convolutional Encoder and viterbi decoder with the specifications defined.
Generator Polynomials: 25 (8), 33 (8), 37 (8)
no. of memory elements = 4

FIR filter

Refer FIR Filter which covers FIR digital filter matlab source code. It describes FIR filter as per rectangular,Bartlett,Blackman,Chebyshev,Hamming and Hanning window types.

IIR Filter

Refer IIR Filter BUTTERWORTH digital low pass filter.

Low Pass FIR Filter

Refer Low Pass FIR using firrcos function and matlab FDA tool.

CRC8 and CRC32 generation

Refer CRC Generation code as per CRC8 and CRC32 polynomials.


OFDM basic transmitter and receiver


Basic OFDM Transmitter and receiver MATLAB Code➤➤

Reed Solomon Encoder

Refer RS Encoder as per wimax specifications.

CTC Encoder matlab source code

Refer CTC Encoder matlab source code.

Mimo Ofdm Matlab

MIMO STBC 2T1R and 2T2R

Refer MIMO code as per 2x1 and 2x2 STBC MIMO configurations.

WLAN OFDM physical layer

Refer WLAN OFDM PHY page which explains and provide link for OFDM physical layer as per WLAN 802.11a standard.

WiMAX OFDM Physical layer

Refer WiMAX OFDM PHY page which explains and provide link for wimax physical layer blocks and matlab source code.

LTE source codes

Refer LTE simulators page to refer LTE source codes written in MATLAB.

IRIS Edge detection

Refer IRIS Detection matlab code.

OFDMA basic transmitter and receiver

Refer OFDMA Tx Rx code as per OFDMA specifications.

AES and DES encryption and decryption

AES DES

Carrier aggregation concept with OFDM example

Refer carrier aggregation matlab source code with basic block diagram.

CCDF matlab source code

Refer CCDF code useful for plotting CCDF curve in PAPR analysis.

Text based data compression(Huffman,RLE,Arithmetic coding,LZW)

Refer Data Compression code which mention basics of Huffman,RLE,Arithmetic coding,LZW techniques and provide link to download matlab code.

DWT based Image compression

Refer DWT image Compression code which mention four basic steps for image compression. It is haar based transform algorithm with threshold detection(soft and hard). It mentions RLE data compression for further reducing the image data.

Edge detection

Refer Edge Detection matlab source code.

PTS Algorithm for PAPR Reduction

Refer PTS Algorithm for PAPR reduction.

OFDM based Preamble generation

Refer preamble generation for OFDM systems such as WLAN, WiMAX and LDACS etc.

Time offset estimation and correction algorithm for OFDM using preamble

Refer Time offset estimationa and correction algorithm for OFDM system. This preamble is used in LDACS system for aeronautical communication between AS (Aircraft Station) and GS (Ground Station).

Frequency offset estimation and correction for OFDM

Refer Frequency offset estimation and correction algorithm for OFDM system.

CDMA MATLAB code for single user

Refer CDMA MATLAB Code for single user.

OFCDM MATLAB code consisting of OFDM and CDMA chain for single user

Refer OFCDM MATLAB Code housing OFDM and CDMA. The code is simulated for a single user.

SC-FDMA basic transmitter receiver

Refer SC-FDMA matlab simulation code.

PN sequence generation

Refer PN sequence generation basics and matlab code.

Useful Links to MATLAB codes

Refer following as well as links mentioned on left side panel for useful MATLAB codes.
PTS for PAPR reductionOFDM Preamble generationTime off estimation corrFreq off estimation corrchannel estimation11a WLAN channel11g WLAN channelIIR Filter
Low Pass FIR
Viterbi decoder
CRC8 CRC32
AM FM PM modulation

Channel Model MATLAB codes

11a WLAN channel
11g WLAN channel
15.3 UWB channel
15.4a UWB channel
16d SUI Channel
16e wimax channel
Rician channel
Rayleigh channel

RF and Wireless tutorials


Share this page

Ofdm Spectrum Matlab

Translate this page

OFDM MATLAB Code

This section of MATLAB source code covers OFDM transmitter and OFDM receiver basic chain coded in matlab.

This page covers basic OFDM transmitter chain viz. binary data source,data mapping,IFFT,CP insertion. This time domain data is passed to the channel and AWGN. The OFDM receiver consists of CP removal,FFT, data demapping and decoding of the same data.

OFDM Transmitter part

clc;
clear all;
close all;
%..............................................................
% Initiation
%..............................................................
no_of_data_bits = 64%Number of bits per channel extended to 128
M =4 %Number of subcarrier channel
n=256;%Total number of bits to be transmitted at the transmitter
block_size = 16; %Size of each OFDM block to add cyclic prefix
cp_len = floor(0.1 * block_size); %Length of the cyclic prefix
%............................................................
% Transmitter
%.........................................................
%.........................................................
% Source generation and modulation
%........................................................
% Generate random data source to be transmitted of length 64
data = randsrc(1, no_of_data_bits, 0:M-1);
figure(1),stem(data); grid on; xlabel('Data Points'); ylabel('Amplitude')
title('Original Data ')
% Perform QPSK modulation on the input source data
qpsk_modulated_data = pskmod(data, M);
figure(2),stem(qpsk_modulated_data);title('QPSK Modulation ')
%............................................................
%.............................................................
% Converting the series data stream into four parallel data stream to form
% four sub carriers
S2P = reshape(qpsk_modulated_data, no_of_data_bits/M,M)
Sub_carrier1 = S2P(:,1)
Sub_carrier2 = S2P(:,2)
Sub_carrier3 = S2P(:,3)
Sub_carrier4 = S2P(:,4)
figure(3), subplot(4,1,1),stem(Sub_carrier1),title('Subcarrier1'),grid on;
subplot(4,1,2),stem(Sub_carrier2),title('Subcarrier2'),grid on;
subplot(4,1,3),stem(Sub_carrier3),title('Subcarrier3'),grid on;
subplot(4,1,4),stem(Sub_carrier4),title('Subcarrier4'),grid on;
%..................................................................
%..................................................................
% IFFT OF FOUR SUB_CARRIERS
%.................................................................
%..............................................................
number_of_subcarriers=4;
cp_start=block_size-cp_len;
ifft_Subcarrier1 = ifft(Sub_carrier1)
ifft_Subcarrier2 = ifft(Sub_carrier2)
ifft_Subcarrier3 = ifft(Sub_carrier3)
ifft_Subcarrier4 = ifft(Sub_carrier4)
figure(4), subplot(4,1,1),plot(real(ifft_Subcarrier1),'r'),
title('IFFT on all the sub-carriers')
subplot(4,1,2),plot(real(ifft_Subcarrier2),'c')
subplot(4,1,3),plot(real(ifft_Subcarrier3),'b')
subplot(4,1,4),plot(real(ifft_Subcarrier4),'g')
%...........................................................
%...........................................................
% ADD-CYCLIC PREFIX %..........................................................
%............................................................
for i=1:number_of_subcarriers,
ifft_Subcarrier(:,i) = ifft((S2P(:,i)),16)% 16 is the ifft point
for j=1:cp_len,
cyclic_prefix(j,i) = ifft_Subcarrier(j+cp_start,i)
end
Append_prefix(:,i) = vertcat( cyclic_prefix(:,i), ifft_Subcarrier(:,i))
% Appends prefix to each subcarriers
end
A1=Append_prefix(:,1);
A2=Append_prefix(:,2);
A3=Append_prefix(:,3);
A4=Append_prefix(:,4);
figure(5), subplot(4,1,1),plot(real(A1),'r'),title('Cyclic prefix added to all the sub-carriers')
subplot(4,1,2),plot(real(A2),'c')
subplot(4,1,3),plot(real(A3),'b')
subplot(4,1,4),plot(real(A4),'g')
figure(11),plot((real(A1)),'r'),title('Orthogonality'),hold on ,plot((real(A2)),'c'),hold on ,
plot((real(A3)),'b'),hold on ,plot((real(A4)),'g'),hold on ,grid on
%Convert to serial stream for transmission
[rows_Append_prefix cols_Append_prefix]=size(Append_prefix)
len_ofdm_data = rows_Append_prefix*cols_Append_prefix
% OFDM signal to be transmitted
ofdm_signal = reshape(Append_prefix, 1, len_ofdm_data);
figure(6),plot(real(ofdm_signal)); xlabel('Time'); ylabel('Amplitude');
title('OFDM Signal');grid on;
%...............................................................

Passing time domain data through channel and AWGN

%.............................................................
channel = randn(1,2) + sqrt(-1)*randn(1,2);
after_channel = filter(channel, 1, ofdm_signal);
awgn_noise = awgn(zeros(1,length(after_channel)),0);
recvd_signal = awgn_noise+after_channel; % With AWGN noise
figure(7),plot(real(recvd_signal)),xlabel('Time'); ylabel('Amplitude');
title('OFDM Signal after passing through channel');grid on;
%...........................................................

OFDM receiver part

%..........................................................
recvd_signal_paralleled = reshape(recvd_signal,rows_Append_prefix, cols_Append_prefix);
%........................................................
%........................................................
% Remove cyclic Prefix
%.......................................................
%......................................................
recvd_signal_paralleled(1:cp_len,:)=[];
R1=recvd_signal_paralleled(:,1);
R2=recvd_signal_paralleled(:,2);
R3=recvd_signal_paralleled(:,3);
R4=recvd_signal_paralleled(:,4);
figure(8),plot((imag(R1)),'r'),subplot(4,1,1),plot(real(R1),'r'),
title('Cyclic prefix removed from the four sub-carriers')
subplot(4,1,2),plot(real(R2),'c')
subplot(4,1,3),plot(real(R3),'b')
subplot(4,1,4),plot(real(R4),'g')
%...................................................
%...................................................
% FFT Of recievied signal
for i=1:number_of_subcarriers,
% FFT
fft_data(:,i) = fft(recvd_signal_paralleled(:,i),16);
end
F1=fft_data(:,1);
F2=fft_data(:,2);
F3=fft_data(:,3);
F4=fft_data(:,4);
figure(9), subplot(4,1,1),plot(real(F1),'r'),title('FFT of all the four sub-carriers')
subplot(4,1,2),plot(real(F2),'c')
subplot(4,1,3),plot(real(F3),'b')
subplot(4,1,4),plot(real(F4),'g')
%................................
%..............................
% Signal Reconstructed
%..................................
%..................................
% Conversion to serial and demodulationa
recvd_serial_data = reshape(fft_data, 1,(16*4));
qpsk_demodulated_data = pskdemod(recvd_serial_data,4);
figure(10)
stem(data)
hold on
stem(qpsk_demodulated_data,'rx');
grid on;xlabel('Data Points');ylabel('Amplitude');
title('Recieved Signal with error')

OFDM basic Tx-Rx Chain

The ofdm matlab code for the above block schematic is provided below for download. OFDM transmitter in this example consists of FEC encoder, BPSK modulator and 256 point IFFT. OFDM receiver part consists of FFT, BPSK demodulator and viterbi decoder.

BER curve for this OFDM matlab model is mentioned below taken after passing the transmitter data from AWGN channel.


BER Curve


DOWNLOAD Source Code

Download OFDM MATLAB source code files as per above block diagram.

Useful Links to MATLAB codes

Refer following as well as links mentioned on left side panel for useful MATLAB codes.
PTS for PAPR reduction
OFDM Preamble generation
Time off estimation corr
Freq off estimation corr
channel estimation
11a WLAN channel
11g WLAN channel
15.3 UWB channel
15.4a UWB channel
16d SUI Channel
16e wimax channel
Rician channel

RF and Wireless tutorials


Share this page

Ofdm Matlab Code Free Download For Windows 7

Translate this page