您的当前位置:首页正文

通信原理课程设计报告资料

2020-06-21 来源:步旅网


题目:搭建简单分组传输的(帧传输)的基带数字通信系统

通信工程与系统课程设计报告

姓 名 学 号 专 业 班 级 指导教师

2015年 10 月 10 日

山东科技大学通信工程系 课程设计报告

一、摘要 数字通信是信息经编码变换处理后,以数字信号在信道上传输的,较之于模拟通信有很大的优点,因此,数字通信得到迅速发展。数字通信有基带传输和频带传输两种方式,而基带传输系统在数字通信中有重要的代表性。在基带传输理论学习过程中涉及到的信道编码、传输信道特性、接收滤波、抽样判决等环节存在较为抽象不易理解的问题。本设计主要对数字基带传输系统的理论进行了探讨。本设计运用MATLAB软件对随机码依次进行汉明编码,差分曼彻斯特编码,采样,加高斯白噪声,抽样,差分曼彻斯特译码,汉明译码,最终比较加信道码和不加信道码的误比特率。 关键词:MATLAB,基带数字系统,汉明码,差分曼切斯特码,误码率 二、设计任务 (1)完成基带通信系统的信道编码和解码,线路码的编码和解码,用MATLAB的M代码完成,不允许用Simulink。 (2)对比经信道编码和无信道编码的误码率情况(随信噪比变化)。 发挥部分:可以采用QPSK或8PSK方式载调制波,亦即包括信号调制与解调,载波为离散的采样值数据。 1

山东科技大学通信工程系 课程设计报告

三、课程设计解决的主要问题: (1)尽可能的获得较小的误码率 (2)选用何种信道码何种线路码 (3)如何进行信道编码 (4)如何进行线路编码 (5)如何进行抽样和判决 (6)如何进行线路编码译码 四、设计内容 1、整体设计方案 (1)产生随机矩阵信号 (2)对随机信号分帧对随机信号进行信道编码,采用汉明7-4码 (3)对信号进行线路编码,采用双极性归零的差分曼彻斯特编码 (4)在信道内填加高斯白噪声 (5)对信号进行抽样判决 (6)对信号进行抽样计算误码率输出检验前后的误码率对比 2

山东科技大学通信工程系 课程设计报告

2、设计内容 借助matlab函数产生一随机信号,然后将随机产生的512bit信源码分成多个帧,每帧为16个bit,对每一帧进行校验码计算,得到冗余码附在每一帧,然后进行线路编码。对编码后信号添加高斯白噪声,然后再进行线路译码和信道译码。 信号的线路码选择的是汉明码,汉明码利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性接收端将接收的比特流分块(每块长度为原始字段位数加冗余码位数),再用汉明码检验接收字段是否有错。 线路码传输时采用的是差分曼彻斯特编码,曼彻斯特码又称数字双相码或分相码,曼彻斯特码用一个周期的方波来代表码元“1”,而用它的反相波形来代表码元“0”。这种码在每个码元的中心部位都发生电平跳变,因此有利于定时同步信号的提取,而且定时分量的大小不受信源统计特性的影响。 差分曼彻斯特码是双极性,在抽样时改变为单极性。 由于加入高斯白噪声,信号波形将会有畸变。若只是对信号进行一次采样然后再与判决门限相比较,则误差较大,使得输出的随机信号序列误码率和误比特数较大,从而使得输出信号失真。故在判决之前,可将信号码元进行多次采样。本实验对信号4次采样,然后取平均,且本次实验采用单极性的随机序列,判决门限设为0,从而使所得平均值与判决门限相比较,大于0判为1,小于0则判为0。 对编码译码后的信号输出其图形,去掉冗余码,对照信源输出的原始数据,对比误码情况,输出其校验与非校验的误码率。3

山东科技大学通信工程系 课程设计报告

加高斯白噪声10-12010-1510-1510-151015码元随机码1.510.500102030码元汉明编码40506020251015随机码2025101520253035曼彻斯特译码40455055406080100120140抽样判决后编码1601802002201.510.5051015码元曼彻斯特编码202510-151015202530码元3540455055

4

山东科技大学通信工程系 课程设计报告

五、结果与分析

误比特率0.250.2误比特率0.150.10.050-5-4-3-2-1 有加信道纠错编码与不加信道纠错码得到的误码率和误比特率的对比可以看出,没加信道纠错编码的误码率及误比特数比加信道纠错码的误码率及误比特数还要大。当信道中有信道纠错编码时,信噪比小于零时噪声大于信号,如若纠错将会产生更大的误比特率与误码数;当信噪比大于0时,误比特率和误码数逐渐减小,直至信噪比到达2DB时,误比特率与误比特数趋于0;当信噪比大于2DB时,误比特率与误码数为0。当信道中没有纠错编码时,相同的信噪比下,其误比特率与误比特数明显大于信道中有纠错编码时的误比特率与误比特数,其在5DB左右误比特率与误比特数才趋于0。说明信道纠错码在信噪比小于0时没有纠错能力,但在信噪比大于0时有较强的纠错能力,从而保证了数字基带系统的可靠传输。 5

0信噪比12345山东科技大学通信工程系 课程设计报告

参考资料 《通信原理》 樊昌信 曹丽娜 出版社:国防工业出版社 《通信系统》 西蒙.荷金 出版社:电子工业出版社

6

山东科技大学通信工程系 课程设计报告

六、总结与心得:

此次有关数字基带传输系统的课程设计,让我对通信系统有了更深的认识,这使我对考研学习通信原理有了框架式的理解。在本次设计任务中,我负责整体框架的编写,将每个分块程序衔接在一起形成完整的通信系统。 在整个过程中,我们不断发现错误并及时翻阅资料,询问老师以寻找解决办法。在最开始我们采用的信道编码码是二维奇偶校验,线路码是HDB3。后来经过多次实验反复检查改错,最终得出的结果却并不理想,误码率较高。于是我们选择了汉明码与HDB3,但在一系列的实验之后发现汉明码与差分曼彻斯特编码能使误比特率更小,纠错效果也更好。但由于误比特率太小,在正信噪比下,加信道编码和不加信道编码误比特率差距不大。老师建议我们算负信噪比下的误比特率,但由于使用的biterr函数只能在正信噪比下使用,所以我们根据原理自行写程序解决了这个问题。这培养了我们的独立思考、动手操作的能力。 通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得以补充,在设计中遇到一些模糊的公式和专业术语,大都得以理解并使用。由于换了好几种方法,使我们对各种编解码的优缺点都有所了解。总之,本次课程设计让我对通信工程这个专业再次产生了浓厚的兴趣,为我以后工作考研打下了严实的基础。

7

山东科技大学通信工程系 课程设计报告

七、附件:

源程序及注解 1、子程序

汉明码编码

function y=enhanming(a,N) %a为编码序列,N为帧数

%生成矩阵

G=[1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1]; for k=1:N

code=[a(4*k-3) a(4*k-2) a(4*k-1) a(4*k)]*G; for l=0:6

y(7*k-l)=mod(code(7-l),2); %y为汉明码 end end

汉明码译码

function y=dehanming(C,N,K) A=zeros(7*N,1);%编码后信号 S=zeros(N,3); %校验子 E=zeros(7*N,1);%错误图样 I=zeros(7*N,1);%解调纠错后的矩阵 NEW=zeros(K,1);%收到的信号

%监督矩阵

H=[1 1 1 0 1 0 0;1 1 0 1 0 1 0;1 0 1 1 0 0 1] ; for n=1:N M=7*n-6; Z=4*n-3; T=7*n-3; V=4*n; L=7*n;

%s=C(M:L,1)'*H'; s=C(1,M:L)*H'; S(n,:)=mod(s,2); if S(n,:)==[0 0 0]

E(M:L,1)=[0 0 0 0 0 0 0]';

elseif S(n,:)==[0 0 1] E(M:L,1)=[0 0 0 0 0 0 1]'; elseif S(n,:)==[0 1 0] E(M:L,1)=[0 0 0 0 0 1 0]'; elseif S(n,:)==[0 1 1] E(M:L,1)=[0 0 0 0 1 0 0]'; elseif S(n,:)==[1 0 0] E(M:L,1)=[0 0 0 1 0 0 0]'; elseif S(n,:)==[1 0 1] E(M:L,1)=[0 0 1 0 0 0 0]'; elseif S(n,:)==[1 1 0] E(M:L,1)=[0 1 0 0 0 0 0]'; elseif S(n,:)==[1 1 1] E(M:L,1)=[1 0 0 0 0 0 0]';

8

山东科技大学通信工程系 课程设计报告

End

曼彻斯特编码

function y=dehanming(C,N,K) A=zeros(7*N,1);%编码后信号 S=zeros(N,3); %校验子 E=zeros(7*N,1);%错误图样 I=zeros(7*N,1);%解调纠错后的矩阵 NEW=zeros(K,1);%收到的信号

%监督矩阵

H=[1 1 1 0 1 0 0;1 1 0 1 0 1 0;1 0 1 1 0 0 1] ; for n=1:N M=7*n-6; Z=4*n-3; T=7*n-3; V=4*n; L=7*n;

%s=C(M:L,1)'*H'; s=C(1,M:L)*H'; S(n,:)=mod(s,2); if S(n,:)==[0 0 0]

E(M:L,1)=[0 0 0 0 0 0 0]';

elseif S(n,:)==[0 0 1] E(M:L,1)=[0 0 0 0 0 0 1]'; elseif S(n,:)==[0 1 0] E(M:L,1)=[0 0 0 0 0 1 0]'; elseif S(n,:)==[0 1 1] E(M:L,1)=[0 0 0 0 1 0 0]'; elseif S(n,:)==[1 0 0] E(M:L,1)=[0 0 0 1 0 0 0]'; elseif S(n,:)==[1 0 1] E(M:L,1)=[0 0 1 0 0 0 0]'; elseif S(n,:)==[1 1 0] E(M:L,1)=[0 1 0 0 0 0 0]'; elseif S(n,:)==[1 1 1] E(M:L,1)=[1 0 0 0 0 0 0]'; end

曼彻斯特译码

function y=endiffmanchester(x) % diffmanchester ecoder

lastcode=1; %设定初始值为1

for i= 1:length(x) if (x(i)==1) %1跳变0不跳变 if (lastcode==1) y(2*i-1)=-1;

y(2*i)=1; lastcode=1; else

y(2*i-1)=1; y(2*i)=-1;

9

山东科技大学通信工程系 课程设计报告

lastcode=-1; end else

if (lastcode==1) y(2*i-1)=1; y(2*i)=-1;

lastcode=-1; else

y(2*i-1)=-1;

y(2*i)=1; lastcode=1; end end End

抽样

function y=chouyang(x,n)

for i=1:n

%av(i)=(x(6*i-5)+x(6*i-4)+x(6*i-3)+x(6*i-2)+x(6*i-1)+x(6*i))/6; %抽样

av(i)=(x(4*i-3)+x(4*i-2)+x(4*i-1)+x(4*i))/4; if(av(i)>0) y(i)=1;

else y(i)=0; end end y; end

2、总程序

%% 产生随机信号

N=1024; %512bit随机码 a=randint(1,N,2); figure(1) subplot(311) stairs(a)

axis([0 60 0 1.5]) xlabel('码元')

10

山东科技大学通信工程系 课程设计报告

title('随机码')

%%分帧

for i=0:255 msg1(i+1,(1:4))=a(1,(1+i*4:4+i*4)); i=i+1; end

for SNR=-5:1:5 %%信噪比 t=SNR+6 %%分帧传输

for i=0:63 %%16bit一帧 msg=msg1((4*i+1):(4*i+4),1:4);

%%汉明编码

msgnew=enhanming(msg,4);

subplot(312) stairs(msgnew) axis([1 28 0 1.5]);

xlabel('码元'); title('汉明编码');

%%线路码——曼彻斯特 p=length(msgnew); xn=msgnew(1,1:p);

xl(1,1:2*p)=endiffmanchester(xn);

subplot(313) stairs(xl)

axis([1 56 -1.5 1.5]);

xlabel('码元'); title('曼彻斯特编码');

%%一个码元4次采样值

nn=length(xl); whole=caiyang(xl);

11

山东科技大学通信工程系 课程设计报告

%%加噪声

zao=awgn(whole,SNR); figure(2) subplot(411) plot(zao)

title('加高斯白噪声'); axis([1 224 -1.5 1.5]);

%%抽样判决

wholenew=chouyang(zao,nn); nn1=length(a1);

subplot(412) stairs(wholenew) title('抽样判决后编码'); axis([1 56 -1.5 1.5]);

%%曼彻斯特译码

decode=dediffmanchester(wholenew); subplot(413) stairs(decode)

title('曼彻斯特译码'); axis([1 28 -1.5 1.5]);

subplot(414) stairs(a)

axis([1 28 -1.5 1.5]);

xlabel('码元'); title('随机码');

%%汉明码译码纠错

jiucuo=dehanming(decode,4,16);

jiucuonew=reshape(jiucuo,4,4); finall((1+i*4):(4+4*i),1:4)=jiucuonew;

12

山东科技大学通信工程系 课程设计报告

end

%%计算误码率

final=zeros(1,1024);

s=1;

for i=1:256; for j=1:4;

final(1,s)=finall(i,j); s=s+1; end end final;

a1=endiffmanchester(a); a2=caiyang(a1); a3=awgn(a2,SNR); a4=chouyang(a3,nn1); a5=dediffmanchester(a4);

zhong=mod(final+a,2); cuochu=find(zhong==1); geshu=length(cuochu); ber(1,t)=geshu/1024;

zhong1=mod(a5+a,2); cuochu1=find(zhong1==1); geshu1=length(cuochu1); ber1(1,t)=(geshu1)/1024; end

figure(3)

plot(-5:1:5,ber,'b-*') title('误比特率'); xlabel('信噪比');

ylabel('误比特率');

set(gca,'xtick',-5:1:5); axis([-5 5 0 0.3]) hold on

plot(-5:1:5,ber1,'r-*') set(gca,'xtick',-5:1:5); axis([-5 5 0 0.3])

13

山东科技大学通信工程系 课程设计报告

八、指导老师评语及得分:

签名: 年 月 日 14

因篇幅问题不能全部显示,请点此查看更多更全内容