📄 dpe.m
字号:
%实验三:理想信道误比特率曲线,升余弦滚降系数为0.5,在Ts/4处取样
global dt df t f N
close all
clear Eb_N0 Pe
N=2^13 % 采样点数
L=8 % 每码元的采样点数
M=N/L % 码元数
Rb=2 % 发送码元的信息速率:2Mbps
Ts=1/Rb % 码元宽度:0.5us
dt=Ts/L;
df=1/(dt*N);
T=N*dt % 截短时间
B=N*df/2 % 系统带宽
t=linspace(-T/2,T/2,N); %时域横坐标
f=linspace(-B,B,N)+eps; %频域横坐标
alpha=0.5;
g1=sin(pi*t/Ts)./(pi*t/Ts);
g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
g=g1.*g2; % 升余弦脉冲波形
G=abs(t2f(g));
GT=sqrt(G); % GT是发送滤波器
GR=GT; % GR是接收滤波器
for loop1=1:20
Eb_N0(loop1)=(loop1-1); % Eb_N0 is Eb/N0 in db
eb_n0(loop1)=10^(Eb_N0(loop1)/10); % eb_n0 is Eb/N0 in real
Eb=1; % Eb is Eb in real
n0=Eb/eb_n0(loop1); % n0 is n0 in real
np=n0*B; % 信道噪声功率
n_err=0;
for loop2=1:5
% 产生发送信号(冲击序列)
a=sign(randn(1,M));
imp=zeros(1,N);
imp(L/4:L:N)=a/dt;
IMP=t2f(imp);
% 接收信号(叠加噪声)
n_ch=sqrt(np)*randn(size(t)); % 信道噪声,时域
nr=real(f2t(t2f(n_ch).*GR)); % 接收噪声,时域
sr=real(f2t(IMP.*G))+nr; % 接收信号(叠加噪声),时域
y=sr(L/2:L:N); % 在Ts/4处取样
% 判决
aa=sign(y);
n_err=n_err+length(find(aa~=a));
end
Pe(loop1)=n_err/(M*loop2); % 实验所得误比特率
semilogy(Eb_N0,Pe,'r:') % 实验所得误比特率曲线
eb_n0=10.^(Eb_N0/10);
hold on;
semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0))); % 理论误比特率曲线
axis([0,9,1e-4,1])
xlabel('Eb/N0')
ylabel('Pe')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -