版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信工程专业通信仿真综合实践研究报告基于MATLAB的PCM仿真设计学生姓名:学生学号:指导教师: 所在学院: 专业班级: 信息技术学院课 程 设 计 任 务 书 院 专业 学号:姓名: 一、课程设计课题:基于MATLAB的PCM仿真设计二、课程设计工作日自 年 月 日至 年 月 日三、课程设计进行地点: 四、 程设计任务要求: 1.课题来源: 通信专业老师命题。2.目的意义:(1)培养我综合运用多门课程知识的能力。(2)培养我熟练掌握MATLAB,运用此MATLAB软件工具进行通信系统仿真的能力。(3)培养我发现问题,解决问题,查阅资料解决问题的能力。(4)加强我对通信系统各个不同方面的理解
2、。(5)培养我们系统设计和系统开发的良好的思想。3.基本要求:1:使用matlab 编程完成pcm 编码与解码 2:阐述pcm基本理论 3:最终给出信号的仿真结果课程设计评审表指导教师评语:成绩: 签字: 日期: 基于MATLAB的PCM仿真设计概述 :数字通信系统己经成为现今通信发展的方向,但是经过传感器的转换以后自然界中的很多信息,大多数依旧为模拟量,PCM(脉冲编码调制)它是一种调制方式就是把模拟信号转换作数字信号。重点运用在语音传输,并且在数字微波通信、卫星通信、光纤通信当中得到了广阔的运用,通过凭借MATLAB软件,能够更便捷、直接的来仿真与计算。因此可以通过运行出的结果,分析系统特
3、性。MATLAB能够进行绘制函数与数据、运算矩阵、用户界面的创建、算法的实现、matlab的开发工作界面连到其它编程语言程序等等。它重点运用在控制设计、工程的计算、金融建模分析和设计、检测信号、处理图像、信号通讯和处理等方面。第一部分 原理介绍 l PCM的基本原理脉冲编码调制(PCM)简称脉码调制,它是一种用二进制数字代码来代替连续信号的抽样值,从而实现通信的方式。因为此种通信方式抗干扰能力强,因此在光钎通信、数字微波通信、卫星通信中均获得了极为广泛的运用。PCM信号的形成是模拟信号经过“抽样、量化、编码”三个步骤实现的。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。根据CCITT
4、的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和律方式,我国采用了A律方式,由于A律压缩实现复杂,常使用 13 折线法编码。l 抽样抽样,即是对模拟的信号所进行的周期性的扫描,将在时间上连续的信号变为在时间上离散的信号。这个模拟信号经过抽样以后还应要包含原有信号当中所有信息,也就是说能够无失真的恢复原有模拟信号。抽样定理可确定其抽样速率下限。于一个频带限制在(0,fh )内的时间连续信号f(t),若以1/2 fh的时间间隔对它进行抽样,以此能完全恢复有原信号依靠这些个抽样值。也就是说,要是一个连续信号f(t)的频谱当中其最高的频率不大于fh,在抽样的频率fs2fh
5、时候,原有连续的所有信息也就包含于抽样后的信号。这就是抽样定理。l 量化抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。显然,对无限个样值一一给出数字码组来对应是不可能的。为了实现以数字码表示样值,必须采用“四舍五入”的方法把样值分级“取整”,使一定取值范围内的样值由无限多个值变为有限个值。这一过程称为量化。量化后的抽样信号与量化前的抽样信号相比较,当然有所失真,且不再是模拟信号。这种量化失真在接收端还原模拟信号时表现为噪声,并称为量化噪声。量化噪声的大小取决于把样值分级“取整”的方式,分的级数越多,即量化级差或间隔越小,量化噪声也越小。模拟信号的
6、量化分为均匀量化和非均匀量化。均匀量化均匀量化,即量化间隔相等,均匀量化输出与输入关系为均匀阶梯关系。在非过载区内,量化值随信号变化,在过载区内,量化值不随信号变化,保持在最大量化值。设过载量化电平,在非过载区内,量化电平数,且个量化电平数可以用个二进制数进行编码,均匀量化的量化间隔是图1均匀量化原理图如图1所示,在非过载区,当原电平数满足时,M就被量化为量化电平;在过载区,原电平被量化成最大值。非均匀量化非均匀量化的量化间隔是依据信号的不同的区间来定的。信号取值大的区间,它的量化间隔v大;在信号的取值小的区间,它的量化间隔v小。将它和均匀量化作比较,它有俩主要好处。首先,在信号具非均匀的分布
7、概率密度(现实中经常如此)时当在输入量化器的时候,能够取得比更加高地的平均信号的量化噪声的功率比在非均匀量化器输出端上;第二是,量化噪声功率的它均方根值大体上和信号的抽样值成比例在非均匀量化的时候。所以说大信号和小信号在量化噪声影响下大体是一样的,也就是改良小信号的时候其量化的信噪比。在实际中,非均匀的量化的办法通常是将获得的抽样值经过压缩然后再均匀量化。广泛被采用的两种对数压缩律是压缩律和A压缩律。在设计中我们使用A压缩律。所谓A压缩律也就是压缩器具有如下特性的压缩律: (1-1) (1-2)A律压扩特性是连续曲线,A值不同压扩特性亦不同,在电路上实现这样的函数规律是相当复杂的。实际中,往往
8、都采用近似于A律函数规律的13折线(A=87.6)的压扩特性。 图2 13折线图 图3 A=87.6压缩特性曲线图4 A=87.6时A律压缩曲线和13折线的比较图如图4所示,当A律压缩A=87.6时,A律压缩曲线和13折线图基本重合,具体数据比较件见表1所示。表1 13折线时A律的x值与折线x值的比较表11按折线分段时的1段落12345678斜率16168421l 编码所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一
9、般都采用第二类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。在13折线法中,无论输入信号正还是负,都依8段折线(8个段落)来编码。要是输入信号抽样量化值由8位折叠二进制码表示,在此间量化值极性就要用第一位表示,抽样量化值其绝对的大小就要用其余七位(第2至8位)来表示。详细的做法是:用第2到第4位表示段落码,八个段落的起点电平由它的八种可能状态来分别表示。其它四位表示段内码,每一个段落它的16个均匀的划分地量化级由它的16种可能状态来分别的代表。这样处理的结果
10、,8个段落被划分成128个量化级。PCM编码8位二进制码的具体组成结构如下:M1 M2M3M4 M5M6M7M8M1是极性码,“1”表示正极性,“0”表示负极性;M2M3M4这3位二进制码表示段落码,3位二进制码共可以表示8个段落;剩余的4位二进制码,M5M6M7M8表示的是每一段内的16个量化电平,每一段内的量化电平是等间隔分布的,但是量化电平间隔的大小是随着段落序号的增加而以2倍的速度增加的。其中段落码和段内码分别如下表2和表3所示。表2段落码表段落序号段落码81117110610151004011301020011000表3段内码表量化级段内码量化级段内码1511117011114111
11、0601101311015010112110040100111011300111010102001091001100018100000000第二部分 直接用MATLAB编程仿真编码过程如图4所示:模拟信号 抽样 量化 编码 信源编码图5 编码过程框图译码过程如图5所示:信源译码 输出信号图6 译码过程框图设计方案如图6所示:产生模拟信源并得到抽样信号通过13折线得到转换后的值 主函数通过编码子函数进行量化和编码通过A侓公式反转成原始模拟信号图7 设计方案框图在主函数中,先产生一个模拟信号,再经过抽样后得到抽样值,将抽样值通过13拆线法转换成对应值,将转换后的值经过量化和编码后得到0、1比特流,
12、完成信源编码。信源编码不能直接在通信系统内进行传输,需要经过数字调制,在经过借条得到信源译码,再经过A侓公式反转成原始模拟信号。利用MATLAB进行调制与解调的仿真的程序,以下是建立的M文件:图8 MATLAB的界面主程序:clcclear allt=0:0.1:6*pi;a1=4*sin(3*t)+cos(2*t); c=abs(a1);figure(1)plot(t,a1);t1=0:2*pi/32:6*pi; a=4*sin(3*t1)+cos(2*t1);figure(2)plot(t1,a);stem(t1,a);y4=zhexianlianghua(a); n=256; bitst
13、ream=bianma(y4,n);figure(3)plot(y4);y2=xinyuanyima(bitstream,n);y5=Ayi(y2,87.65);y5=y5*max(c);figure(4)plot(y5);stem(y5,'r')figure(5)plot(y5,'r');hold onplot(y5,'.b');图9 原始信号图10 抽样信号量化子程序:function y1=zhexianlianghua(x)x=x/max(x);z=sign(x);x=abs(x);for i=1:length(x) if(x(i)>
14、;0)&(x(i)<1/64) y(i)=16*x(i); else if(x(i)>=1/64)&(x(i)<1/32) y(i)=x(i)*8+1/8; else if(x(i)>=1/32)&(x(i)<1/16) y(i)=4*x(i)+2/8; else if(x(i)>=1/16)&(x(i)<1/8) y(i)=2*x(i)+3/8; else if(x(i)>=1/8)&(x(i)<1/4) y(i)=x(i)+4/8; else if(x(i)>=1/4)&(x(i)&
15、lt;1/2) y(i)=1/2*x(i)+5/8; else if(x(i)>=1/2)&(x(i)<=1) y(i)=1/4*x(i)+6/8; end; end; end; end; end; end; end;end;y1=z.*y;end运行结果如下:图11 非均匀量化后的信号 编码子程序:function bit=bianma(y4,n)m=2/n;for i=1:n+1 q(i)=min(y4)+(i-1)*m;end t=length(q); ttt=; tt=; e=1; tt(1)=-1; for x=2:length(q) tt(x)=(q(x-1)+
16、q(x)/2; end tt=tt,max(y4); b_duan=; for x=1:length(y4) if y4(x)=q(t) b_duan(x)=length(tt); else if y4(x)=min(q) b_duan(x)=1; else for y=1:t-1 if (q(y)<=y4(x)&& (y4(x)<q(y+1) b_duan(x)=y+1; end end end endendnu=ceil(log2(n); code=zeros(length(y4),nu); for i=1:length(y4) for j=nu:-1:0 if
17、 (fix(b_duan(i)/(2j)=1) code(i,(nu-j+1)=1; b_duan(i)=b_duan(i)-2j; else code(i,(nu-j+1)=0; end endendbit=;for i=1:length(y4) bit=bit,code(i,:);end运行结果如下:g = 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
18、 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0信源译码子程序:function a3=xinyuanyima(y,n)m=2/n;for i=1:n+1 q(i)=(-1)+(i-1)*m;end tt=; tt(1)=-1; for x=2:length(q) tt(x)=(q(x-1)+q(x)/2; end tt=tt,1;nu=ceil(log2(
19、n);decode=;for i=1:length(y)/(nu+1) decode(i,1:(nu+1)=y(i-1)*(nu+1) + 1 : i*(nu+1);endab= ; w,z=size(decode); for j=1:w L=nu; value=0; for i=0:L value=decode(j,i+1)*(2(L-i)+ value; end ab(j)=value; end decode; w; a3= ; for i=1:w a3(i)=tt(ab(i); end运行结果如下:h = Columns 1 through 9 0.7428 0.9354 0.9976
20、0.9763 0.8788 -0.4447 -0.8990 -0.9856 -0.9928 Columns 10 through 18 -0.9182 -0.6474 0.8388 0.9646 1.0000 0.9511 0.7939 -0.7428 -0.9354A律还原原信号子程序:function y5=Ayi(y,A)for i=1:length(y)if(abs(y(i)>=0)&(abs(y(i)<=(1/(1+log(A) y1(i)=y(i)*(1+log(A)/A;else if(abs(y(i)<=1)&(abs(y(i)>(1/(
21、1+log(A) y1(i)=(1/A)*sign(y(i)*exp(abs(y(i)*(1+log(A)-1); endendendy5=y1;end运行结果如下:图12 译码之后的信号图13 还原出原信号均匀量化的程序:function average() t=0:0.01:4*pi; y=sin(3*t)+2*cos(t); w=jylh(y,1,64); plot(t,w); xlabel('时间'); ylabel('幅度'); axis(0,4*pi,-1.1,1.1); function h=jylh(f,V,L) n=length(f);t=2*
22、V/L; p=zeros(1,L+1); for i=1:L+1,p(i)=-V+(i-1)*t;end for i=1:n if f(i)>V,h(i)=V;end if f(i)<=-V,h(i)=-V;end flag=0; for j=2:L/2+1 if(flag=0) if(f(i)<p(j) h(i)=p(j-1); flag=1; end; end;end; for j=L/2+2:L+1 if(flag=0) if(f(i)<p(j) h(i)=p(j); flag=1; end end end end nq=V2/(3*L2);运行结果如下:图14 均匀量化后的信号第三部分 设计过程和体会通过这次课设我认识到在以后的学习中,不仅要有刻苦钻研的精神,还要有创新精神,对自己感兴趣的一定要用心去学。而在本次课程设计在刚开始时,由于对MATLAB的应用不太熟,觉得做起来有些棘手,当发现可以用软件仿真来实现PCM的编码过程后,我便去图书馆查阅了相关书籍,进一步熟悉了MATLAB编程方法和PCM的MATLAB实现原理,这是我最终顺利完成PCM系统设计的前提。随着设计的完成,我也逐渐掌握了PCM编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理核心能力比武教学课件
- 护理科研设计与数据分析
- 产后并发症的预防与监测
- 高耗能特种设备节能课件
- 大数据基础知识培训课件
- 企业文化培训课件制作
- 高中生防震安全课件
- 道路抢险培训班课件
- 2025年新疆高中语文题库及答案
- 2025年财务主管答辩题库及答案
- 老年人失智症护理与照护
- 2025重庆市勘规数智科技有限公司招聘3人考试题库必考题
- 2025贵州锦麟化工有限责任公司第三次招聘7人参考笔试题库及答案解析
- 村监委会职责课件
- 历史试卷答案四川省达州市普通高中2026届高三第一次诊断性测试(达州一诊)(12.15-12.17)
- 平津战役讲解课件
- 农村房屋安全排查培训
- 2026-2031年中国文化旅游行业市场未来发展趋势研究报告
- (16)普通高中体育与健康课程标准日常修订版(2017年版2025年修订)
- 个人与团队管理-008-国开机考复习资料
- 卓越绩效管理手册(含质量环境职业健康安全四合一手册)
评论
0/150
提交评论