北邮通信原理软件实验报告(包含一部分思考题)(中) 联系客服

发布时间 : 星期日 文章北邮通信原理软件实验报告(包含一部分思考题)(中)更新完毕开始阅读

实验结论:

(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)