发布时间 : 星期日 文章北邮通信原理软件实验报告(包含一部分思考题)(中)更新完毕开始阅读
实验结论:
(1)、关于码的极性的讨论:
当是单极性码的时候,功率谱具有连续谱,直流分量,和谐波分量(若占空比为25%和75%,功率谱中没有4n次谐波分量;若占空比为50%,功率谱中没有偶次谐波分量)。 当是双极性码的时候,功率谱只有连续谱,没有直流分量和谐波分量。、
(2)、关于占空比的讨论:
随着占空比的增加,功率谱的主瓣宽度逐渐减小,且减小的越慢。
实现数字基带传输系统
实验目的:
利用编程实现数字基带传输系统(参考第2章编程语法-实验题-附录.pdf中例5)
1)画出发送端输入码序列波形和功率谱、发送滤波器输出波形和功率谱
2)画出接收端采样判决后码序列波形和功率谱、接收滤波器输出波形和功率谱
3)画出接收滤波器输出信号眼图(在升余弦滚将系数分别为0、0.5、1的情况下) 4)分别画出升余弦滚将系数为0、0.5、1,采样判决点在眼图最大处的系统的实际误码曲线(Pe~s/n0曲线),并在同坐标系中画出理论误码曲线
5)改变采样点重复1)~4)。
程序代码:
主程序: clear all
exec t2f.sci; exec f2t.sci; exec eyes.sci;
k=13;
N=2^k;//采样点数
L=16;//每码元的采样点数 M=N/L;//码元数 Rb=2; //码速率是2Mb/s Ts=1/Rb; //码元间隔 dt=Ts/L; //时域采样间隔 fs=1/dt;//采样速率
df=1/(N*dt); //频域采样间隔 T=N*dt; //截短时间 Bs=N*df/2; //系统带宽
f=[-Bs+df/2:df:Bs]; //频域横坐标 t=[-T/2+dt/2:dt:T/2]; //时域横坐标
alpha=1; //升余弦滚降系数 Hcos=zeros(1,N);
ii=find(abs(f)>(1-alpha)/(2*Ts)&abs(f)<=(1+alpha)/(2*Ts));
Hcos(ii)=Ts/2*(1+cos(%pi*Ts/alpha*(abs(f(ii))-(1-alpha)/(2*Ts)))); ii=find(abs(f)<=(1-alpha)/(2*Ts)); Hcos(ii)=Ts;
GT=sqrt(Hcos);
GR=GT; //最佳系统的发送接收滤波器的傅式变换 EPC=zeros(1,N);
EPB=zeros(1,N); EP1=zeros(1,N); EP2=zeros(1,N); RECT=ones(L,1);
for l1=1:20;
Eb_N0(l1)=(l1-1); //信噪比
eb_n0(l1)=10^(Eb_N0(l1)/10); Eb=1;
n0=Eb/eb_n0(l1); //信道的噪声谱密度 sita=n0*Bs; //信道中噪声功率 n_err=0; //误码计数
for loop=1:100
a=sign(rand(1,M,\ tmp1=RECT*a;
seq_send=tmp1(:)'; //发送端产生序列!! S1=t2f(seq_send,fs);
P1=abs(S1).^2/T;//样本信号的功率谱密度
EP1=EP1*(1-1/loop)+P1/loop;//随机过程的功率谱是各个样本的功率谱的数学期望 EP11=20+10*log10(EP1+%eps);
sp=zeros(1,N);//产生冲激序列 sp(1:L:N)=a/dt; SP=t2f(sp,fs);
SH=SP.*GT;
sh=real(f2t(SH,fs)); //通过发送滤波器后的信号!! PB=abs(SH).^2/T; //过升余弦后能量谱密度 EPB=EPB*(1-1/loop)+PB/loop;//求平均 EPBB=20+10*log10(EPB+%eps);
nw=sqrt(sita)*rand(1,N,\信道噪声
SY=SH.*GR; sy=real(f2t(SY,fs)); r=sy+nw; //接收信号 R=t2f(r,fs);
PC=abs(R).^2/T;
EPC=EPC*(1-1/loop)+PC/loop;//收端 EPCC=20+10*log10(EPC+%eps); sd=r(L/4:L:N);//*取样!!! sdp=sign(sd);//判决
tmp2=RECT*sdp;
seq_reci=tmp2(:)'; //接收端信号!! S2=t2f(seq_reci,fs);
P2=abs(S2).^2/T;//样本信号的功率谱密度 EP2=EP2*(1-1/loop)+P2/loop; EP22=20+10*log10(EP2+%eps);
n_err=n_err+length(find(sdp~=a));//错误累计 end
Pe(l1)=n_err/(M*loop); xset(\
plot(Eb_N0,log10(Pe+%eps),'g'); //Pe~Eb/N0曲线画图 xlabel('Eb/N0');ylabel('Pe');title(\曲线\ eb_n0=10.^(Eb_N0/10); set(gca(),\
k = log10(0.5*erfc(sqrt(eb_n0))); plot(Eb_N0,k)
mtlb_axis([0,15,-3.5,0]); xlabel('Eb/N0') ylabel('Pe')
legend('实际的','理论的'); set(gca(),\end
xset(\subplot(2,2,1) plot(t,seq_send)
title(\最初产生序列输出波形\mtlb_axis([0,L,-1.5,1.5])
xgrid
subplot(2,2,2) plot(t,sh)
title(\通过发送滤波器后的信号波形\xlabel(\ylabel(\
mtlb_axis([0,L,-2.5,2.5]) xgrid
subplot(2,2,3)
plot(t,sy)
title(\采样前的信号波形\xlabel(\ylabel(\mtlb_axis([0,L,-2,2]) xgrid
subplot(2,2,4) plot(t,seq_reci)