《2021-2022年收藏的精品资料通信原理课程设计模拟信号的数字化处理综述.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料通信原理课程设计模拟信号的数字化处理综述.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、通信原理课程设计模拟信号数字化 课 程 设 计 报 告课程设计名称: 通信系统原理 系 : 三 系 学 生 姓 名 : 张梦瑶 班 级: 11通信工程1班 学 号: 20110306111 成 绩: 指 导 教 师: 吴 琼 开 课 时 间:2013-2014学年一学期一、课程设计目的 本课程是为通信工程专业本科生开设的专业必修课,结合学生的专业方向的理论课程,充分发挥学生的主动性,使学生掌握应用MATLAB或者SYSTEMVIEW等仿真软件建立通信系统,巩固理论课程内容,规范文档的建立,培养学生的创新能力,并能够运用其所学知识进行综合的设计。通信系统原理的课程设计是对通信系统仿真软件、课程学
2、习的综合检验,配合理论课的教学,让学生亲自参加设计、仿真、验证通信系统的一般原理、调制解调原理、信号传输及受噪声影响等方面的知识点。二、设计选题模拟信号的数字化处理三、具体要求a.熟悉模拟信号数字化的处理步骤:抽样、量化、编码;b.模拟信号的抽样过程,理解抽样频率的变化对抽样信号的影响;c.用MATLAB或其它EDA工具软件对PCM编码进行使用A律和律的压缩和扩张进行软件仿真;d.PCM的8位编码C1C2C3C4C5C6C7C8e仿真实现增量调制的过程和并理解噪声产生的原理。四、进度安排1、星期一 查阅资料,确定选题和软件,思考总体设计方案;2、星期二 熟悉软件的编程环境;3、星期三 总体设计
3、方案的确定与设计;4、星期四 各部分的具体实现(程序调试并程序注释);5、星期五 整理完成设计报告的电子版,并答辩。五、成绩评定办法总成绩由平时成绩(考勤与课堂表现)、程序设计成绩和报告成绩三部分组成,各部分比例为30%,50%,20%。(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。迟到15分钟按旷课处理。(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。(3)设计报告成绩:按照提交报告的质量给出相应的成绩。备注:每人提交一份课程设计报告(打印稿和电子稿各一份),课程设计报告按照模板撰写内容,要求详细、准确、完整。目 录前言5
4、1、基本原理61.1 脉冲编码调制(PCM)61.2 PCM编码原理61.2.1 抽样61.2.2 量化71.2.3 压缩律与A压缩律91.2.4 A律PCM编码121.3 增量调制141.3.1 增量调制简介141.3.2 增量调制的原理142. 仿真程序、程序编制、仿真结果162.1 仿真程序编制162.1.1 抽样定理的验证162.1.2 量化与编码162.1.3 A律与u律特性曲线192.1.4 PCM的8位编码C1C2C3C4C5C6C7C8212.1.5增量调制222.2 仿真结果及分析232.2.1 抽样定理仿真结果232.2.2 量化与编码仿真结果262.2.3 PCM的8位编
5、码仿真结果272.2.4 A律和u律特性曲线仿真结果272.2.5 增量调制仿真结果283. 运行程序过程中产生的问题及采取的措施304. 总结和展望315.参考文献32前言数字通信系统己成为当今通信的发展方向,然而自然界的许多信息通过传感器转换后,绝大部分是模拟量,脉冲编码调制(PCM)是把模拟信号变换为数字信号的一种调制方式,主要用于语音传输,在光纤通信、数字微波通信、卫星通信中得到广泛的应用,借助于MATLAB软件,可以直观、方便地进行计算和仿真。因此可以通过运行结果,分析系统特性。MATLAB是美国Math Works公司开发的一套面向理论分析研究和工程设计处理的系统仿真软件,它既是一
6、种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。总的来说,该软件有三大特点。一是功能强大,二是界面友善、语言自然,三是开放性强。正是由于MATLAB具有这些特点,所以它被广泛的应用在通信仿真中,通过仿真展示了PCM编码实现的设计思路及具体过程,并加以进行分析。基于MATLAB的仿真模型,能够反映模拟通信系统的动态工作过程,其可视化界面具有很好的演示效果,为通信系统的设计和研究提供强有力的工具,也为学习通信
7、系统理论提供了一条非常好的途径。当然理论与实际还会有很大的出入,在设计时还要考虑各种干扰和噪声等因素的影响。1、基本原理1.1 脉冲编码调制(PCM)脉冲编码调制(pulse code modulation,PCM)是概念上最简单、理论上最完善的编码系统,是最早研制成功、使用最为广泛的编码系统,但也是数据量最大的编码系统。PCM的编码原理比较直观和简单,下图为PCM系统的原理框图:抽样量化编码信道干扰m(t)ms(t)msq(t)A/D变换译码低通滤波msq(t)m(t)图1.1 PCM系统原理框图图中,输入的模拟信号m(t)经抽样、量化、编码后变成了数字信号(PCM信号),经信道传输到达接收
8、端,由译码器恢复出抽样值序列,再由低通滤波器滤出模拟基带信号m(t)。通常,将量化与编码的组合称为模/数变换器(A/D变换器);而译码与低通滤波的组合称为数/模变换器(D/A变换器)。前者完成由模拟信号到数字信号的变换,后者则相反,即完成数字信号到模拟信号的变换。PCM在通信系统中完成将语音信号数字化功能,它的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和律方式,我国采用了A律方式,由于A律压缩实现复杂,常使用 13 折线法编码,采用非均匀量化PCM
9、编码。1.2 PCM编码原理1.2.1 抽样抽样是把时间上连续的模拟信号变成一系列时间上离散的抽样值的过程。抽样定理:设一个频带限制的(0,fH)Hz内的时间连续信号m(t)如果它不少于2fH次/秒的速率进行抽样,则m(t)可以由抽样值完全确定。抽样定理指出,由样值序列无失真恢复原信号的条件是fs2fH ,为了满足抽样定理,要求模拟信号的频谱限制在0fH之内(fH为模拟信号的最高频率)。为此,在抽样之前,先设置一个前置低通滤波器,将模拟信号的带宽限制在fH以下,如果前置低通滤波器特性不良或者抽样频率过低都会产生折叠噪声。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。 抽样频率大于2倍频谱最
10、高频率时,信号的频谱无混叠。另外要注意的是,采样间隔的周期要足够的小,采样率要足够的大,要不然会出现如图1.2(b)所示的混叠现象,一般情况下TsWs=2,Wn2Wm。(a) 不发生混叠现象 (b) 发生混叠现象图1.2抽样过程如图所示:图1.3 抽样过程1.2.2 量化1定义量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示。从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。如下图所示,量化器输出L个量化值,k=1,2,3,L。常称为
11、重建电平或量化电平。当量化器输入信号幅度x落在与之间时,量化器输出电平为。这个量化过程可以表达为:输入量化器量化值这里称为分层电平或判决阈值。通常称为量化间隔。图1.4 量化过程2.分类模拟信号的量化分为均匀量化和非均匀量化。均匀量化: 用这种方法量化输入信号时,无论对大的输入信号还是小的输入信号一律都采用相同的量化间隔。为了适应幅度大的输入信号,同时又要满足精度要求,就需要增加样本的位数。但是,对话音信号来说,大信号出现的机会并不多,增加的样本位数就没有充分利用。为了克服这个不足,就出现了非均匀量化的方法。非均匀量化:非均匀量化是根据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量
12、化间隔也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是压缩律和A压缩律。美国采用压缩律,我国和欧洲各国均采用A压缩律。3.量化信噪比在量化时候会产生量化误差,这里不作详细介绍,其量化误差
13、计算公式如下:量化后量化输出为:我们衡量一个量化器的性能好坏用信噪比来表示:信噪比定义如下:其中:xq(t) 与x(t) 近似程度的好坏用 Sq/Nq 衡量。Sq /Nq越大,说明近似程度越好。1.2.3 压缩律与A压缩律1. 压缩律压缩规律 压缩特性近似满足以下对数规律:=0时:无压缩作用(直线), 0时:压缩明显, 压缩作用:y是均匀的,而x是非均匀的,信号越小x也越小。图1.5 律压缩特性压缩特性早期是用二极管的非线性来实现的,但要保证压缩特性的一致性、稳定性以及压缩与扩张特性的匹配是很困难的。因此通常都是采用近似理想压缩特性曲线的折线来代替理想特性。对于律曲线,采用15段折线近似。2.
14、 A压缩律所谓A压缩律也就是压缩器具有如下特性的压缩律: , 。式中,x为压缩器归一化输入电压;y为压缩器归一化输出电压;A为常数,决定压缩程度。A压缩律中的常数A不同,则压缩曲线的形状也不同,它将特别影响小电压时的信号量噪比的大小,在实际中,选择A等于87.6。A律压缩表示式是一条连续的平滑曲线,用电子线路很难准确的实现。现在由于数字电路技术的发展,这种特性很容易用数字电路来近似实现,13折线特性就是近似于A压缩律的特性,因此常使用 13 折线法编码, 压扩特性图如下图所示:图1.6 A率13折线压扩特性图3.13折线的形成(1)首先把输入信号的幅值归一化(横坐标),把01的值域划分为不均匀
15、的8个区间,每个区间的长度以2倍递增。具体地说就是01/128为第一区间,1/1281/64为第二区间,1/641/32为第三区间,1/321/16为第四区间,直到1/21为第八区间。(2)再把输出信号的幅度也归一化(纵坐标),并均匀分成8个区间,即01/8,1/82/8,2/83/8,直到7/81。(3)然后以横轴各区间的右端点为横坐标,以相对应纵轴区间的上端点为纵坐标,就可得到(1/128,1/8),(1/64,2/8),(1/32,3/8),, (1,1)等8个点。(4)将原点及这8个点依次用直线段连接起来就得到一条近似A律的折线。(5)第一区间和第三区间的线段斜率一样,可以看成一条线段
16、,则正值曲线就只有7条线段,与之对应的负值曲线也只有7条线段,而正、负值曲线合画在一起后,各自的第一段折线斜率也一样,所以在14条线段中再减去一条就成为13折线。完整的13折线图如图1.7所示。图1.7 完整的13折线图13折线的压扩特性基本上保持了连续压扩特性曲线的优点,又便于用数字电路实现,本设计中所用到的PCM编码正是采用这种压扩特性来进行编码的。表1.1是13折线时的x值与计算得到的x值的比较。0101按折线分段时的01段落12345678斜率16168421表1.1 13折线x值与计算x值的比较表1.1中第二行的值是根据计算得到的,第三行的值是13折线分段时的值。可见,13折线各段落
17、的分界点与曲线十分逼近,同时按2的幂次分割有利于数字化。1.2.4 A律PCM编码1.编码的定义所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一般都采用第二类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。本设计采用A律13折线编码。2.A律PCM编码的规则在13折线法中,无论输入信号是正是负,均按8段折线(8个段落
18、)进行编码。若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成27128个量化级。段落码和8个段落之间的关系如表1.2(a)所示;段内码与16个量化级之间的关系见表1.2(b)。段落序号段落码量化级段内码811115111114111071101311011211006101111011101010510091001
19、8100040117011160110301050101401002001300112001010001000100000(a) 段落码 (b) 段内码表1.2 段落码与段内码3.PCM编码流程输入信号x后,先判断x的符号,x0时C1=1,x=2fc,每秒钟内的抽样点数目将等于或大于2fc个sdt=1/fs; %频域采样间隔0.002t1=-0.1:sdt:0.1; %以sdt为间隔从-0.1到0.1画图st=cos(2*pi*30*t1)+sin(2*pi*65*t1); % 离散的抽样函数figure(1); subplot(3,1,1);plot(t,xt);title(原始信号); %
20、画出原始的信号图,以好对比grid on %画背景subplot(3,1,2);stem(t1,st,.); %这里画出来的是抽样后的离散图title(抽样信号);grid on %画背景%量化过程n=length(st); %取st的长度为nM=max(st);A=(st/M)*2048; %a1(极性码) a2a3a4(段落码)a5a6a7a8(段内电平码) code=zeros(i,8); %产生i*8的零矩阵%极性码a1 for i=1:n %if循环语句 if A(i)=0 code(i,1)=1; %代表正值 else code(i,1)=0; %代表负值end % 这里就是量化的
21、过程,划分成几个不等的段,然后用码元来代替,也就是俗称编码 if abs(A(i)=0&abs(A(i)16 code(i,2)=0;code(i,3)=0;code(i,4)=0;step=1;start=0;elseif 16=abs(A(i)&abs(A(i)32 code(i,2)=0;code(i,3)=0;code(i,4)=1;step=1;start=16;elseif 32=abs(A(i)&abs(A(i)64 code(i,2)=0;code(i,3)=1;code(i,4)=0;step=2;start=32;elseif 64=abs(A(i)&abs(A(i)128
22、 code(i,2)=0;code(i,3)=1;code(i,4)=1;step=4;start=64;elseif 128=abs(A(i)&abs(A(i)256 code(i,2)=1;code(i,3)=0;code(i,4)=0;step=8;start=128;elseif 256=abs(A(i)&abs(A(i)512 code(i,2)=1;code(i,3)=0;code(i,4)=1;step=16;start=256;elseif 512=abs(A(i)&abs(A(i)1024 code(i,2)=1;code(i,3)=1;code(i,4)=0;step=32
23、;start=512;elseif 1024=abs(A(i)&abs(A(i)2048 code(i,2)=1;code(i,3)=1;code(i,4)=1;step=64;start=1024; endB=floor(abs(A(i)-start)/step); %段内码编码floor取整(四舍五入) t=dec2bin(B,4)-48; %dec2bin定义将B变为4位2进制码,-48改变格式 code(i,5:8)=t(1:4); %输出段内码endcode=reshape(code,1,8*n); %reshape代表从新塑形codesubplot(3,1,3);stem(code
24、,.);axis(1 64 0 1); %这里我们先取前面八个点编码输出,输出时候有64个点title(编码信号);grid on2.1.3 A律与u律特性曲线下面给出A律13折线以及u律15折线特性曲线绘制的matlab程序源代码:%a律13折线 u律15折线%u and A law for quantize,filename:a_u_law.m%u=255 y=ln(1+ux)/ln(1+u)%A=87.6 y=Ax/(1+lnA)(0x1/A) Y=(1+lnAx)/(1+lnA)clear all;close all;dx=0.01;x=0:dx:1;u=255;%u Lawyu=lo
25、g(1+u*x)/log(1+u);%A LawA=87.6;for i=1:length(x) if x(i) 1/A ya(i)=A*x(i)/(1+log(A); else ya(i)=(1+log(A*x(i)/(1+log(A); endendfigure(1)subplot(2,1,1);plot(x,yu,k.:);title(u Law)xlabel(x);ylabel(y);grid onhold onxxu=0,1/255,3/255,7/255,15/255,31/255,63/255,127/255,1;yyu=0,1/8,2/8,3/8,4/8,5/8,6/8,7/8
26、,1;plot(xxu,yyu,r);stem(xxu,yyu,b-);legend(u律压缩特性,折线近似u律);subplot(2,1,2);plot(x,ya,k.:);title(A Law)xlabel(x);ylabel(y);grid onhold on xxa=0,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1;yya=0,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1;plot(xxa,yya);plot(xxa,yya,r);stem(xxa,yya,o:);legend(A律压缩特性,折线近似A律);2.1.4 PCM的8位编码C1C2C
27、3C4C5C6C7C8对量化电平值为+635和-635的抽样值进行PCM的8位编码,matlab程序源代码如下:functionC=pcm1_encode(x)%x encode to pcm codex=+635 -635n=length(x);%0x0 C(i,1)=1 else C(i,1)=0;endif abs(x(i)=0&abs(x(i)16 C(i,2)=0;C(i,3)=0;C(i,4)=0;step=1;start=0;elseif 16=abs(x(i)&abs(x(i)32 C(i,2)=0;C(i,3)=0;C(i,4)=1;step=1;start=16;elsei
28、f 32=abs(x(i)&abs(x(i)64 C(i,2)=0;C(i,3)=1;C(i,4)=0;step=2;start=32;elseif 64=abs(x(i)&abs(x(i)128 C(i,2)=0;C(i,3)=1;C(i,4)=1;step=4;start=64;elseif 128=abs(x(i)&abs(x(i)256 C(i,2)=1;C(i,3)=0;C(i,4)=0;step=8;start=128;elseif 256=abs(x(i)&abs(x(i)512 C(i,2)=1;C(i,3)=0;C(i,4)=1;step=16;start=256;elsei
29、f 512=abs(x(i)&abs(x(i)1024 C(i,2)=1;C(i,3)=1;C(i,4)=0;step=32;start=512;elseif 1024=abs(x(i)&abs(x(i)=0)-1); D(k+1)=e_q(k)+D(k); codeout(k)=(e_q(k)0);endsubplot(3,1,1);plot(t,x,-o);axis(0 20*Ts,-2 2);title(原信号及离散样值);hold on;subplot(3,1,2);stairs(t,codeout);axis(0 20*Ts,-2 2);title(编码输出二进制序列的波形);Dr(
30、1+length(t)=0;for k=1:length(t) eq(k)=delta*(2*codeout(k)-1); xr(k)=eq(k)+Dr(k); Dr(k+1)=xr(k);endsubplot(3,1,3);stairs(t,xr);hold on;subplot(3,1,3);plot(t,x);title(图形解码结果和信号波形对比);2.2 仿真结果及分析2.2.1 抽样定理仿真结果产生原始信号的函数生成的信号波形如图2.1所示:图2.1 原始信号在生成好原始波形后就要对信号进行抽样,下面就是不同抽样频率下的抽样结果。在这里选择了分别在1000Hz、500Hz、100H
31、z频率下进行抽样,仿真结果如下所示:图2.2 1000Hz频率下的抽样信号图2.3 500Hz频率下的抽样信号图2.4 100Hz频率下的抽样信号分析:分别进行了三次抽样,第一次频率是1000Hz,第二次频率是500Hz,第三次频率是100Hz,可以看出,在频率很高的情况下,抽样间隔很小,一个个的点靠的也很近,抽出的值得个数也很多,同时如果用线把所有的点都连起来,跟原信号很相似,相反的在第三幅图中,可以看出,抽样的点数很少,看起来比较清爽,但是如果没有上面的原信号波形,即使我们把所有的点都连接起来,我想我们还是很难得到像原始图那样的波形,其实,第三幅图中我们有很多的特殊的点都没有取到,比如说,
32、有好几个幅度改变的点我们都没有取,这就在以后的恢复时候,就被忽略掉了,这就造成所谓的失真现象。其实在matlab中我们的原始信号也是离散的,只不过取样的点数特别多罢了,这个很容易理解的,因为我们的计算机 ,就是只能处理数字信号,只能处理离散的二进制信号,模拟信号呢,是由无数的点构成的,计算机不可能取到所有的点,所以原始模拟信号在计算机中也是数字化的,另外再从matlab仿真软件角度来看,matlab软件实际上是叫矩阵实验室,矩阵就是处理的数字,我们matlab编程都是把信号,数字,常量等都是放到矩阵中去运行的。在编程时候,我们在产生原始模拟信号时,参数是这样设置的t = -0.1:0.001:
33、0.1;可以看出时间t也是可数的。所以从这三个方面我们就很好的理解了matlab的工作原理 ,以及数字信号原理。2.2.2 量化与编码仿真结果图2.5是以500Hz的抽样频率抽样后,经过量化、编码后的matlab仿真图:图2.5 量化、编码仿真图下面给出由量化编码程序输出的编码序列(由于数据较多,这里只显示前120位数据):code = Columns 1 through 12 1 1 1 1 0 0 0 0 1 1 0 0 Columns 13 through 24 1 0 1 0 0 1 0 1 0 0 0 1 Columns 25 through 36 0 1 0 0 1 0 1 1 1 1 0 0 Columns 37 through 48 1 0 0 0 1 1 1 0 0 0 0 0 Columns 49 through 60 1 1 0 1 0 1 1 0 0 1 0 1 Columns 61 through 72 0 1 1 0 0 1 1 1 0 1 0 0 Columns 73 through 84 0 1 1 1 1 1 1 0 0 1 1 1 Columns 85 through 96 1 1 0 0 0 1 1 0 1 1 1 1 Columns 97 th