% *************** Simulation BER of QPSK transmission over noise *********%
% with using Monte Carlo simulation
% ********************* Initialization ***********************************%
clc;
clear all;
close all;
loop=1; % Monte Carlo
M=1000000; % Frame length (x_1 x_2 ... x_M)
SNRdB=-10:10; % SNR in dB
SNR=10.^(SNRdB/10);
Rate= zeros(1, length(SNRdB)); %
% ********************* Transmitter **************************************%
for dB= 1: length(SNRdB) % start looping by SNR
dB
for lp= 1: loop, % start looping of frame data
% ********************* QPSK signal generation ***************************%
x_inp_I=sign(rand(M,1)- 0.5); % 1 or -1 for inphase signal
x_inp_Q=sign(rand(M,1)- 0.5); % 1 or -1 for guadrature signal
x_inp=x_inp_I+i*x_inp_Q; % 1+j=00, -1+j=01, -1-j=10, 1-j=11
x_inp=(1/sqrt(2))*x_inp; % normalization
% ********************* Channel ******************************************%
N0=1./SNR(dB);
sigma(dB)=sqrt(N0/2);
noise=(1/sqrt(2))*(sigma(dB)*randn(M,1)+i*sigma(dB)*randn(M,1));
y_channel=x_inp+noise; % Additive White Guassiann Noise (AWGN)
% ********************* Receiver *****************************************%
y=y_channel;
x_out_I= sign(real(y)); %
x_out_Q= sign(imag(y)); %
x_out=x_out_I+i*x_out_Q;
% ********************* Bit Error Rate (BER) calulation ******************%
[err, rate]= symerr([x_inp_I;x_inp_Q], [x_out_I;x_out_Q]);
Rate(dB)= Rate(dB) + rate;
end % end for loop
Rate(dB)= Rate(dB)/loop; % Average value over Monte Carlo simulation
% loop
end % end Monte Carlo
% ********************* Plot the simulation result ***********************%
f1 = figure(1);
set(f1,'color',[1 1 1]);
semilogy(SNRdB,Rate, 'b')
hold on;
BER_th=(1/2)*erfc(sqrt(SNR)); % theoritical calculation for BER
semilogy(SNRdB,BER_th,'r-o');
hold on;
axis([-10 10 0.000001 1.2]);
xlabel( 'Signal-to-Noise Ratio (SNR)')
ylabel( 'Bit Error Rate (BER)')
title('Simulation QPSK transmission over noise');
legend('BER simulation','BER calculation')
grid on;
没有合适的资源?快使用搜索试试~ 我知道了~
蒙特卡罗模拟QPSK传输噪声仿真Matlab代码.rar
共2个文件
png:1个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2024-10-09
18:35:58
上传
评论
收藏 40KB RAR 举报
温馨提示
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
蒙特卡罗模拟QPSK传输噪声仿真Matlab代码.rar (2个子文件)
蒙特卡罗模拟QPSK传输噪声仿真Matlab代码
1.png 43KB
Mahmoud_Aldababsa_QPSK_Noise.m 2KB
共 2 条
- 1
资源评论
天天Matlab代码科研顾问
- 粉丝: 3w+
- 资源: 1984
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功