✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
The proliferation of mobile platforms has put lot of stress in terms of power limitations and Quality of Service being offered by OFDM systems. BER and SNR analysis plays an important and imperative role in understanding and improving the design of OFDM systems. In this paper we have presented a comprehensive analysis about BER and SNR for various scenarios which include different channels, different modulation techniques and carrier frequency offsets.
⛄完整代码
clc;
clear all;
close all;
%% Initializing parameters
L=input('Length Of OFDM Data = ');
Ncp=L*0.0625
%% Transmitter
% data generation
Tx_data=randi([0 15],L,Ncp);
%%%%%%%%%%%%%%%%%%% QAM modulation %%%%%%%%%%%%%%%%%%%%%
mod_data=qammod(Tx_data,16);
% Serial to Parallel
s2p=mod_data.';
% IFFT
am=ifft(s2p);
% Parallel to series
p2s=am.';
% Cyclic Prefixing
CP_part=p2s(:,end-Ncp+1:end); %Cyclic Prefix part to be appended.
cp=[CP_part p2s];
%% Reciever
% Adding Noise using AWGN
SNRstart=0;
SNRincrement=1;
SNRend=25;
c=0;
r=zeros(size(SNRstart:SNRincrement:SNRend));
for snr=SNRstart:SNRincrement:SNRend
c=c+1;
noisy=awgn(cp,snr,'measured');
% Remove cyclic prefix part
cpr=noisy(:,Ncp+1:Ncp+Ncp); %remove the Cyclic prefix
% series to parallel
parallel=cpr.';
% FFT
amdemod=fft(parallel);
% Parallel to serial
rserial=amdemod.';
%%%%%%%%%%%%%%%%%%%% QAM demodulation %%%%%%%%%%%%%%%%%%%%%
Umap=qamdemod(rserial,16);
% Calculating the Bit Error Rate
[n, r(c)]=biterr(Tx_data,Umap);
end
snr=SNRstart:SNRincrement:SNRend;
%% Plotting BER vs SNR
semilogy(snr,r,'-ok');
grid;
title('OFDM Bit Error Rate .VS. Signal To Noise Ratio');
ylabel('BER');
xlabel('SNR [dB]');
⛄ 运行结果
⛄ 参考文献
[1] Mr. S V , Siddaiah. P . Comprehensive Analysis of BER and SNR in OFDM Systems. 1970.