通信原理课程设计循环码_第1页
通信原理课程设计循环码_第2页
通信原理课程设计循环码_第3页
通信原理课程设计循环码_第4页
通信原理课程设计循环码_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

科信学院S(x)=0,无误码误码由S(x)确定错误图样E(x)纠错存储c(x)存储c(x)图2-9解码流程图2.6纠检错能力由于循环码是一种线性分组码,所以其纠检错能力与线性分组码相当。而线性分组码的最小距离可用来衡量码的抗干扰能力,那么一个码的最小距离就与它的纠检错能力有关。定理:对于任一个线性分组码,若要在码字内检测e个错误,要求码的最小距离;纠正t个错误,要求码的最小距离;纠正t个错误同时检测e()个错误,则要求循环码的译码分检错译码与纠错译码两类。在无记忆信道上,对码字c,差错图案和接收向量的多项式描述为定义的伴随多项式为由于所以由此可见,则一定有差错产生,或说满足的差错图样产生,它满足。循环码的检错译码即是计算并判断是否为02.7高斯信道高斯信道是一个射频通信信道,其包含了各种频率的特定噪声频谱密度的的特征,从而导致了信道中错误的任意分布。常指加权高斯白噪声(AWGN)信道。这种噪声假设为在整个信道带宽下功率谱密度(PDF)为常数,并且振幅符合高斯概率分布。信号经过高斯信道会受到加性干扰的影响。2.8程序调用函数介绍MATLAB中提供了循环码的编解码、2PSK调制解调函数和不同通信信道模型函数,本程序直接调用进行编程。1、Randint函数功能:用于产生基质的均匀分布的随机整数语法:Randint(M,N)说明:生成的(M,N)矩阵的随机二进制数字,”0”和”12、encode函数功能:编码函数语法:code=encode(msg,N,K,’hamming’)说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。msg是一个K列矩阵。3、decode函数功能:译码函数语法:rcvcode=decode(code,N,K,’hamming’)说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。4、dmod函数功能:调制函数语法:fskout=dmod(signal,Fc,Fd,Fs,'psk',M)说明:该函数可以对输入的数字信号进行2PSK调制,Fs为系统的采样频率,Fc为载波频率,Fd为码元速率。5、ddemod函数功能:调制函数语法:y=ddemod(signal,Fc,Fd,Fs,'psk',M)说明:该函数可以对输入的2PSK信号进行解调,Fs为系统的采样频率,Fc为载波频率,Fd为码元速率。6、awgn函数功能:高斯白噪声信道模型语法:y=awgn(x,SNR,SIGPOWER)说明:在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。7.Figure函数功能:使编号为N的图形窗口成为当前图形窗口,即图形窗口处于可视状态。如果窗口N不存在,则将创建一个句柄为N的图形窗口。语法:Figure(N)8.Title函数功能:用于标注所画图形等,在当前坐标系顶部加一个文本串string,作为该图形的标题。语法:Title(‘string’)9.Subplot函数功能:该函数是将多个图画到一的平面上的工具。其中,m表示是图排列成m行,n表示是图排列成n列,p表示图所在的位置,p=1表示从左到右,从上到下的第一个图。语法:Subplot(m,n,p)或者Subplot(mnp)10.Stem函数功能:stem该函数用于绘制离散序列11.Snr函数功能:信噪比12.Semilogy函数语法:Semilogy(…)功能:X轴为线性刻度,Y轴为对数刻度13.Symerr 功能:计算符号误差数和符号误差率14.holdon功能:是当前轴及图形保持而不被刷新,准备接受此后将绘制15.Xlabel(‘text’)Ylabel(‘text’)功能:给当前X轴或Y轴标注文本标志16.axis([xmin,xmax,ymin,ymax])功能:对当前二维图形对象的X轴Y轴进行标定。3、仿真结果及分析图3-1仿真结果.图形分析:码元总长为7,信息位数为4图3.1中(1)为随机产生的二进制信源序列【0010】;(2)为经过(7,4)循环编码后得到的图形,编码为【0010110】和验证结果相符;(3)为载波频率fc=50HZ,码元频率fd=25HZ,抽样频率fs=500HZ的编码序列经2PSK调制后得到的图形;(4)为经信道加入高斯白噪声后的调制信号图形,其中信噪比为4;(5)为2PSK相干解调后的图形,与调制前的图形相同;(6)为经循环译码后的图形,与信源序列相同。由此证明建立的模型是正确的。图3-2理论值与仿真值的比较图形分析:该图为信噪比范围为-6~20dB,信号幅度为0.001的仿真值与理论值的比较图,其中,纵轴为误码率,横轴为信噪比,由图可知,信噪比越大,误码率越小。仿真值经过多次的循环编码,误码率最终变为零。图3-3加循环编码前后比较图形图形分析:由两图比较,加循环编码编译的仿真值比未加循环编码的仿真值的误码率小。4、课程设计总结本次课程设计我做的课题是以(7,4)循环码为信道编码的2PSK信号的调制解调,并且通过运用Matlab语言进行实现,通过这次CDIO课程设计,让我重新复习了2PSK的调制与解调技术,并通过(7,4)循环码的实现让我也加深了对信道编码的理解,与此同时,在程序的运行和实现的一遍又一遍的重复中,也让我基本熟悉掌握了Matlab的使用方法。通过这次的练习,不仅让我加深了对课本内容的理解,让课本内容与实践相结合,更重要的是又让我提高了动手与思考的能力。这也是我在以后的的学习和生活中所需要和慢慢培养的。通过这次课程设计,我们学会了很多,收获了很多,并且加强了我们的自主能力、动手能力和独立思考、团结协作的能力。5、参考文献[1]樊昌信曹丽娜《通信原理》(第六版)国防工业出版社,2006.2[2]曹雪红张宗橙《信息论与编码?(第二版)清华大学出版社,2009.2[3]李环任波华宇宁《通信系统仿真设计与应用》电子工业出版社,2009.3[4]陈萍《现代通信实验系统的计算机仿真》国防工业出版社,2003.4[5]唐向宏等 《MATLAB及在电子信息类》电子工业出版社,2010.6、附录1、2PSK及循环码编译代码clearclccloseAlln=7;%码长7位,信息位4位k=4;p=cyclpoly(n,k,'all');%产生生成码多项式[H,G]=cyclgen(n,p(1,:));%产生监督矩阵H,生成矩阵max=4;MSG=randint(1,max);%长度为max的随机二进制序列subplot(3,2,1);stem(MSG);title('信源序列');C=rem(MSG*G,2)%信道编码后的码字subplot(3,2,2);stem(C);title('循环编码序列');Fc=50;Fd=25;Fs=500;y=dmod(C,Fc,Fd,Fs,'psk',2);subplot(3,2,3);stem(y);title('2PSK调制后信号');snr=4;s=awgn(y,4,'measured')subplot(3,2,4);stem(s);title('2PSK加入噪声后信号')Y=ddemod(s,Fc,Fd,Fs,'psk',2);%解调subplot(3,2,5);stem(Y);title('2PSK解调后信号');gg=decode(Y,7,4,'cycliccode/fmt');%译码subplot(3,2,6);stem(gg);title(循环码译码后信号');2、真实值与仿真值比较snrdB_min=-6;snrdB_max=20;%设置信噪比取值的上下限:dB为单位A=0.001;%信号幅度snr_dB=-6:20;%信噪比范围(单位分贝)snr=10.^(snr_dB./10);%信噪比(由分贝转化而来10lg(SNR)=SNR_dB)snr2=A.^2./(2*snr);%信号幅度为a时的噪声功率%计算理论值fori=1:length(snr_dB)psk_pe=0.5*erfc(sqrt(0.5*A.^2./snr2));%PSK解调时的误码率endsemilogy(snr_dB,psk_pe,'.m');holdon;forj=snrdB_min:1:snrdB_maxmax=10000;x=randint(1,max);%随机生成一个二进制序列n=max/4;z=zeros(n,4);fori=1:nt=x(4*i-3:4*i);%把信号分成4个一组,4个进行编码a(i,:)=t;endcc=encode(a,7,4,'cycliccode/fmt')%循环码Fc=40;Fd=20;Fs=100;%Fs为系统的采样频率,Fc为载波频率,Fd为码元速率fs>fc>fd.y=dmod(cc,Fc,Fd,Fs,'psk',2);%2psk调制s=awgn(y,j,'measured');%噪声Y=ddemod(s,Fc,Fd,Fs,'psk',2);%解调gg=decode(Y,7,4,'cycliccode/fmt');%循环译码[errornum,error_ratio]=symerr(a,gg);errornumerror_ratiosemilogy(j,error_ratio,'.');holdon;axis([-6,20,1/1e7,1]);endxlabel('SNR_dB');ylabel('BER');legend('理论值','仿真值');%Endofscriptfile.3、加循环码编译前后的比较%未加循环码编译代码snrdB_min=-6;snrdB_max=20;%设置信噪比取值的上下限:dB为单位forj=snrdB_min:1:snrdB_maxmax=10000;x=randint(1,max);%随机生成一个二进制序列n=max/4; Fc=50;Fd=25;Fs=100;%Fs为系统的采样频率,Fc为载波频率,Fd为码元速率fs>fc>fd.y=dmod(x,Fc,Fd,Fs,'psk',2);%2psk调制s=awgn(y,j,'measured');%噪声Y=ddemod(s,Fc,Fd,Fs,'psk',2);%解调[errornum,error_ratio]=symerr(x,Y);errornumerror_ratiosemilogy(j,error_ratio,'.m');holdon;axis([-6,20,1/1e7,1]);endxlabel('SNR_dB');ylabel('BER');legend('未加循环码编译码的仿真值');%Endofscriptfile.%加循环码编译代码snrdB_min=-6;snrdB_max=20;%设置信噪比取值的上下限:dB为单位forj=snrdB_min:1:snrdB_maxmax=10000;x=randint(1,max);%随机生成一个二进制序列n=max/4;z=zeros(n,4);fori=1:nt=x(4*i-3:4*i);%把信号分成4个一组,4个进行编码a(i,:)=t;endcc=encode(a,7,4,'cyclic/fmt')%循环编码Fc=50;Fd=25;Fs=100;%Fs为系统的采样频率,Fc为载波频率,Fd为码元速率fs>fc>fd.y=dmod(cc,Fc,Fd,Fs,'psk',2);%2psk调制s=awgn(y,j,'measured');%噪声Y=ddemod(s,Fc,Fd,Fs,'psk',2);%解调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论