clear all
close all
q = 1.6e-19;%电子电量
Ib = 202e-6;%平均光电流
N0 = 2*q*Ib;%单边噪声功率谱密度
R = 1;%光电探测器灵敏度
Rb = 1e6;%比特率
Tb = 1/Rb;%码元时间
sig_length = 1e5;%信号长度
nsamp = 10;%每个信号采样点数
Tsamp = Tb/nsamp;%采样间隔
EbN0 = 1:12;%信噪比
SNR = 10.^(EbN0./10);
h = waitbar(0,'计算进度');
%%
%************ simulation of probabbility of errors ****************
for i = 1:length(SNR)
waitbar(i/length(SNR));%显示计算进度
p_avg(i) = sqrt(N0*Rb*SNR(i)/(2*R^2));%平均传输光功率
i_peak(i) = 2*R*p_avg(i);%峰值光电流
Ep(i) = i_peak(i)^2*Tb;%峰值光能量
sigma(i) = sqrt(N0/2/Tsamp);%1/Tsamp其实是带宽
%%
%NRZ
pt = ones(1,nsamp)*i_peak(i);%默认每个信号的采样值都是一样的
rt = pt;%匹配滤波器
OOK = round(rand(1,sig_length));%生成ook信号
Tx_signal = reshape((pt.'*OOK),1,sig_length*nsamp);%发送信号(长度为所有采样点数)
Rx_signal = Tx_signal+sigma(i)*randn(1,sig_length*nsamp);%匹配滤波器接收信号
MF_out = conv(Rx_signal,rt)*Tsamp;%卷积,但是为什么要乘采样间隔,或者说除以带宽 匹配滤波器输出
MF_out_downsamp = MF_out(nsamp:nsamp:end);%nsamp开始,每隔
蒙特卡洛法仿真OOK的NRZ与RZ波形
最新推荐文章于 2025-07-13 14:08:34 发布

最低0.47元/天 解锁文章
2380

被折叠的 条评论
为什么被折叠?



