clear;
clc;
%---------Input Fields------------------------
N=10000000; %Number of input bits
EbN0dB = -6:2:10; % Eb/N0 range in dB for simulation
%---------------------------------------------
data=randn(1,N)>=0; %Generating a uniformly distributed random 1s and 0s
bpskModulated = 2*data-1; %Mapping 0->-1 and 1->1
M=2; %Number of Constellation points M=2^k for BPSK k=1
Rm=log2(M); %Rm=log2(M) for BPSK M=2
Rc=1; %Rc = code rate for a coded system. Since no coding is used Rc=1
BER = zeros(1,length(EbN0dB)); %Place holder for BER values for each Eb/N0
index=1;
for k=EbN0dB,
%-------------------------------------------
%Channel Noise for various Eb/N0
%-------------------------------------------
%Adding noise with variance according to the required Eb/N0
EbN0 = 10.^(k/10); %Converting Eb/N0 dB value to linear scale
noiseSigma = sqrt(1./(2*Rm*Rc*EbN0)); %Standard deviation for AWGN Noise
noise = noiseSigma*randn(1,length(bpskModulated));
received = bpskModulated + noise;
%-------------------------------------------
%Threshold Detector
estimatedBits=(received>=0);
%------------------------------------------
%Bit Error rate Calculation
BER(index) = sum(xor(data,estimatedBits))/length(data);
index=index+1;
end
%Plot commands follows
plotHandle=plot(EbN0dB,log10(BER),'r--');
set(plotHandle,'LineWidth',1.5);
title('SNR per bit (Eb/N0) Vs BER Curve for BPSK Modulation Scheme');
xlabel('SNR per bit (Eb/N0) in dB');
ylabel('Bit Error Rate (BER) in dB');
grid on;
hold on;
theoreticalBER = 0.5*erfc(sqrt(10.^(EbN0dB/10)));
plotHandle=plot(EbN0dB,log10(theoreticalBER),'k*');
set(plotHandle,'LineWidth',1.5);
legend('Simulated','Theoretical');
grid on;
JonSco
- 粉丝: 95
- 资源: 1万+
最新资源
- 西门子SMART,模拟量滤波,消抖子程序,能实现电流电压和热电阻模拟量信号的采集,有滤波,有高位和低位报警,采用for循环指令和间接寻址,让程序简单好用,并且针对程序,录制了视频讲解,详细的介绍了程序
- 键盘扫描码表.xlsx
- 三相,两相步进方案,矢量控制,超前角控制,内置微控制器
- 基于遗传算法优化BP神经网络(GA-BP)的数据回归 基于GA优化BP神经网络的数据回归 代码可以随意修改输入和输出代码可以选择模型的训练集个数 数据存储用的是 excel (方便修改数据),代码注释
- 基于麻雀搜索算法优化正则化极限学习机(SSA-RELM)的数据分类预测 matlab代码
- 粒子群算法优化随机森林的分类预测pso-RF 随机森林分类预测 狼群优化算法优化随机森林用于分类 鲸鱼优化算法优化随机森林用于分类 秃鹰搜索算法优化随机森林用于分类 matlab代码 另外还有麻雀优化
- 狼群优化算法优化随机森林回归预测(GWO-RF) matlab 代码 同时还有哈里斯鹰,狼群算法,粒子群优化算法,麻雀优化算法,秃鹰优化算法,龙格库塔优化算法,EO优化算法等,可定制2021,2022
- MD500E源码和代码解析文档 代码包含了同步机FOC控制算法、电阻、电感、磁链、反电动势、死区补偿、过调制限制、弱磁等算法,支持无感和有感,亲自带电机运行过
- 最新版三菱FX3U PLC生产方案源码v10 FX3U源码V 10.0版以太网 PLC生产方案 源码,包含新增120条指令 以太网 FX3U PLC 工控板 PLC源码 MODBUS 断电
- 基于autoware的点云建图,定位,巡线 这套代码是移植autoware部分有用的代码,精简过后,加上自己的一些代码组成的 功能: 1.ndt建图 2.ndt定位 3.pure pursuit巡线行
- 超声波焊接电源,大功率焊接电源 设计功率2600W 可6A连续工作 控制板分为硬件版本和软件版本 硬件版本为市面成熟机型优化而来主控为STM32F334 软件版本为自己开发,FPGA+STM
- MATLAB代码:基于SOE算法的多时段随机配电网重构方法 关键词:配电网重构 SOE算法 多时段随机重构 参考文档:Switch Opening and Exchange Method fo
- 西门子博途V16 pLc程序,西门子20轴伺服控制,1200与1500多CPU通讯,威伦屏画面,电池生产线程序大型项目,梯形图和ScL编程
- 基于粒子群算法的考虑需求侧响应的风光储微电网优化调度 考虑电源侧与负荷侧运行成本,以经济运行为目标函数,风电、光伏、储能出力、上级电网购电记忆可削减负荷为优化变量,并采用粒子群算法进行求解
- Matlab算法仿真,无人机系统三维地图路径规划 多种算法对比:BA是蝙蝠算法,CPFIBA和DEBA是改进的蝙蝠算法 注:只保证结果跟下图一样,不对代码解释教学,代码里面有部分解释 这个代码比较
- 基于EMD-ARMA的组合风光出力预测方法 利用emd经验模态分解将原始发电数据分解为多个本征模态函数,采用arma自回归移动平均算法对分量进行分析,通过训练数据建立自回归移动平均模型,将预测分量叠加
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈