模拟信号地数字化及编码仿真-安建学7000.doc

上传人:李司机 文档编号:1089038 上传时间:2022-06-21 格式:DOC 页数:13 大小:230.13KB
返回 下载 相关 举报
模拟信号地数字化及编码仿真-安建学7000.doc_第1页
第1页 / 共13页
模拟信号地数字化及编码仿真-安建学7000.doc_第2页
第2页 / 共13页
模拟信号地数字化及编码仿真-安建学7000.doc_第3页
第3页 / 共13页
模拟信号地数字化及编码仿真-安建学7000.doc_第4页
第4页 / 共13页
模拟信号地数字化及编码仿真-安建学7000.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《模拟信号地数字化及编码仿真-安建学7000.doc》由会员分享,可在线阅读,更多相关《模拟信号地数字化及编码仿真-安建学7000.doc(13页珍藏版)》请在三一办公上搜索。

1、word通信原理课程设计报告书课题名称模拟信号的数字化与编码仿真PCM系统仿真姓 名学 号院、系、部电气工程系专 业电子信息工程指导教师模拟信号的数字化与编码仿真PCM系统仿真一、设计目的熟练掌握PCM编译码原理,理解模拟信号抽样、量化和基于13折线的PCM编码过程。二、设计要求用MATLAB编码实现模拟信号抽样、量化、编码的过程,画出PCM编码和未编码波形。如:设输入信号为,对x(t)信号进展抽样、量化和PCM编码和译码,画出经过PCM编码与未编码波形。三、设计原理通信系统的信源有两大类:模拟信号和数字信号。假如输入是模拟信号,如此在数字通信系统的信源编码局部需对输入模拟信号进展数字化,或称

2、为“摸/数变换,将模拟输入信号变为数字信号。数字化过程包括三个步骤:抽样、量化和编码。模拟信号首先被抽样。通常抽样是按照等时间间隔进展的,虽然在理论上不是必须如此。模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。第二步是量化。量化的结果使抽样信号变成量化信号,其取值是离散的。故量化信号已经是数字信号,它可以看成多进制的数字脉冲信号。第三步是编码。最根本和最常用的编码方法是,脉冲编码调制(Pulse Code Modulating,PCM),它将量化后的信号变成二进制码元。由于编码方法直接和系统的传输效率有关,为了提高传输效率,常常将这种PCM信号

3、进一步做压缩编码,再在通信系统中传输。接收端接收到信号后再对其进展译码,复原出原信号。译码就是把编码后的码流在通过信道传输后得到的码流译成离散时间连续幅度的信号。 图3-1 PCM系统原理图1抽样:将模拟信号转换为时间离散的样本脉冲序列。模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。2量化:将离散时间连续幅度的抽样信号转换成为离散时间离散幅度的数字信号。国际上通用的两种对数压缩特性:A律和律 。本次设计采用的是A律13折线。A律13折线的原理归一化信号(x/V),过载电压为1,A律对数(3.6)未压缩12345678 0其中A为压缩系数,国际标

4、准。13折线如图3-2所示:图3-2为13折线特性表3-1 13折线时的值与计算值的比拟。0101按折线分段时的01段落12345678斜率16168421表3-1中第二行的值是根据时计算得到的,第三行的值是13折线分段时的值。可见,13折线各段落的分界点与曲线十分逼近,同时按2的幂次分割有利于数字化图中只有正幅度局部,共7折线,负幅度局部也有7折线。但正负局部第一段折线斜率相等,为同一折线,共13折线。3编码所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。在现有的编码方法中,最根本和最常用的编码方法是,脉冲编码调制(Pulse Code Modulating,PCM),它将量化后

5、的信号变成二进制码元。编码器的种类大体上可以归结为三类:逐次比拟型、折叠级联型、混合型。在逐次比拟型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。在13折线法中,无论输入信号是正是负,均按8段折线8个段落进展编码。假如用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位第二位至第八位如此表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划

6、分成27128个量化级。段落码和8个段落之间的关系如表3-2所示;段内码与16个量化级之间的关系见表3-3。表3-2段落码表3-3段内码段落序号段落码量化级段内码8111151111141110711013110112110061011110111010105100910018100040117011160110301050101401002001300112001010001000100000四、程序设计1PCM抽样的MATLAB实现PCM抽样的MATLAB程序设计按如下步骤进展: (1)确定输入的模拟信号为;(2)根据输入的模拟信号,确定抽样频率,对输入信号进展抽样;(3)编写程序,画出频

7、域图形。function sample()t0=100; %定义时间长度 ts=0.001; fs=1/ts;t=-t0/2:ts:t0/2; %定义时间序列 df=0.5; %定义频率分辨率 x=sin(2*pi*t); m=x;w=t0/(2*ts)+1; %确定t=0的点m(w)=1; %修正t=0点的信号值 M,mn,dfy=fft_seq(m,ts,df); %傅立叶变换 M=M/fs;f=0:dfy:dfy*length(mn)-dfy-fs/2; %定义频率序列figure(1)subplot(2,1,1); plot(t,m);xlabel(时间);ylabel(幅值);tit

8、le(原始信号的波形); axis(0,7,-1,1); subplot(2,1,2);plot(f,abs(fftshift(M);xlabel(频率);ylabel(幅值);axis(-100,100,0,10);title(原始信号的频谱); t0=100; %信号持续的时间 ts1=0.05; %满足抽样条件的抽样间隔 fs1=1/ts1;t1=-t0/2:ts1:t0/2; %定义满足抽样条件的时间序列x1=sin(2*pi*t1); m1=x1; w1=t0/(2*ts1)+1; m1(w1)=1; %修正t=0时的信号值M1,mn1,df1=fft_seq(m1,ts1,df);

9、 %对满抽样条件的信号进展傅立叶变换 M1=M1/fs1;N1=M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1;f1=-7*df1*length(mn1):df1:6*df1*length(mn1)-df1-fs1/2;figure(2)subplot(2,1,1); stem(t1,m1); xlabel(时间);ylabel(幅值);title(抽样的信号波形);axis(0,7,-1.5,1.5); subplot(2,1,2)plot(f1,abs(fftshift(N1);xlabel(频率);ylabel(幅值);axis(-100,100,0,10)

10、;title(抽样的信号频谱);function M,m,df=fft_seq(m,ts,df) fs=1/ts;if nargin=2n1=0 elsen1=fs/df endn2=length(m);n=2(max(nextpow2(n1),nextpow2(n2); M=fft(m,n);m=m,zeros(1,n-n2);df=fs/n2PCM译码MATLAB实现(1)产生一个正弦信号对其进展非均匀量化编码;(2)对正弦信号给出PCM码组进展译码。%PCM 编码与译码%给定正弦信号 clear; t = 0:1/1000:1; %给定 10 个单位的时间 x = 0 : 0.002*p

11、i : 2*pi; Signal_m = 8 * sin(x); %给一个正弦信号,信号输入X围为-8,8 figure(1)subplot(2,1,1); plot(t,Signal_m); title(输入正弦信号); axis(0,1,-10,10);grid;%PCM 编码%随机的产生抽样值,给出 PCM 码组Is = round(2048 * (Signal_m/10); %归一化 Len = length(Is); Code = zeros(Len,8); %极性码for i = 1:Len if(Is(i) 0) Code(i,1) = 1; end end %段落码Signal

12、 = abs(Is); for i = 1:Len if(Signal(i) = 128) Code(i,2) = 1; %为 1 在 58段,否如此在14段 end if(Code(i,2) = 1) %确在 58段 if(Signal(i) = 512) Code(i,3) = 1; %为 1在 78段,否如此在 56 段 end if(Code(i,3) = 1) %确在 78段if(Signal(i) = 1024) Code(i,4) = 1; %为1在第8段,否如此在第 7 段 end elseif(Signal(i) = 256) Code(i,4) = 1; end end e

13、lse %确在 14 段 if(Signal(i) = 32) Code(i,3) = 1; %为1在 34 段,否如此在 12 段 end; if(Code(i,3) = 1) %确在 34 段if(Signal(i) = 64) Code(i,4) = 1; %为1在第4 段,否如此在第 3 段 end else if(Signal(i) = 16) Code(i,4) = 1; end end end end %段内码QidianDianping=0,16,32,64,128,256,512,1024,2048; %段落起点电平 LianghuaJiange=1,1,2,4,8,16,3

14、2,64; %段落量化间隔 DuanluoN = zeros(1,Len); for i = 1:Len DuanluoN(i) = bin2dec(num2str(Code(i,2:4) + 1; end for i = 1:Len temp=num2str(dec2bin(Signal(i)-QidianDianping(DuanluoN(i)/LianghuaJiange(DuanluoN(i),4); Code(i,5) = bin2dec(temp(1); Code(i,6) = bin2dec(temp(2); Code(i,7) = bin2dec(temp(3); Code(i

15、,8) = bin2dec(temp(4); Code;end %PCM 译码LianghuaDanweiN = zeros(1,Len); Lianghuazhi = zeros(1,Len); Mark = zeros(1,Len); Signal_trans = zeros(1,Len); for i = 1:Len DuanluoN(i) = bin2dec(num2str(Code(i,2:4) + 1; LianghuaDanweiN(i) = bin2dec(num2str(Code(i,5:8);Mark(i) = QidianDianping(DuanluoN(i); Lia

16、nghuazhi(i) = LianghuaJiange(DuanluoN(i); sign = 1; if(Code(i,1) = 0) sign = -1; end Signal_trans(i) = sign * (Mark(i) + Lianghuazhi(i) * LianghuaDanweiN(i); end for i = 1:Len Signal_trans(i) = 10 * (Signal_trans(i)/2048); end figure(1)subplot(2,1,2); plot(t,Signal_trans); title(编码再译码后的正弦信号); grid;

17、五、仿真结果与分析原始信号的波形如图5-1所示:图5-1 原始信号的波形以抽样间隔为抽样的信号波形如图5-2所示:图5-2 抽样信号波形图5-1与5-2分别为连续模拟信号的原始信号和抽样后的信号,可以看出,抽样频率越高,抽样后的信号越接近原信号,但同时这也会占用大量的系统资源。原始信号的频谱如图5-3所示:图 5-3 原始信号的频谱抽样的信号频谱如图5-4所示:图5-4 抽样信号频谱从原始信号和抽样信号的频谱图5-3与5-4可以知道,信号在时域的离散化导致其在频域的周期化。抽样信号的频谱是无数间隔频率为20Hz(即抽样频率)的原信号频谱相叠加而成,由于抽样信号的频率20Hz远大于原始信号的频率

18、2Hz,所以抽样信号的频谱没有发生频谱混叠。对连续信号的进展抽样后得到的一组抽样值如图5-5所示:图5-5 对连续信号的进展抽样后得到的一组抽样值信号抽样所得的抽样值的量化结果如图5-6所示:图5-6 信号抽样所得的抽样值的量化结果对量化信号的非均匀量化编码输出如图5-7所示: 图5-7 对量化信号的非均匀量化编码输出信号的PCM码组的译码输出如图5-8所示: 图5-8 信号的PCM码组的译码输出由图5-5,图5-6,图5-7,图5-8分别为连续信号在某一个时间段的其抽样、量化、编码、译码的结果。显然,量化输出电平与量化前的抽样值存在误差。这是因为在量化的过程中,将抽样值划分成假如干个区间,处

19、在同个区间内数值不同的抽样值用一个量化电平表示,这种一对多的表示方法不可防止地会产生误差,即量化误差。量化误差不能消除但能减弱。输入正弦信号如图5-9所示:图 5-9 信源的原始信号波形编码再译码后的正弦信号如图5-10所示:图5-10 原信号经过编码后再译码的输出波形由图5-9和图5-10可看出图中原信号和译码后的信号形状几乎一样,但也有一些细微的区别,经编码译码后的信号没有原模拟信号的波形光滑,这些误差就是量化误差。量化是用有限个值代替了无限个值,显然有限个值无法完全准确表示无限个值,量化值和其所代表的样值之差即为量化误差,量化误差可以通过增加量化级数,即减小量化级长的方法来减弱,但无法完

20、全消除。六、设计总结PCM是模拟信号数字化的根本方法,PCM的抽样速率Fs是根据抽样定理来确定的,即假如信号的最高频率为Fm,如此Fs2Fm。模拟信号的数字化过程包括三个步骤:抽样、量化和编码。模拟信号转换为数字信号的过程中,信号首先被抽样。抽样后,信号转换成为抽样信号,在时间上是离散的,但其取值是连续的,所以是离散模拟信号。然后对离散模拟信号进展量化。量化的结果使抽样信号变成量化信号,其取值是离散的,即为数字信号,它可以看成多进制的数字脉冲信号。第三步是编码。最根本和最常用的编码方法是脉冲编码调制(Pulse Code Modulating,PCM),它将量化后的信号变成二进制码元。最后是译码,得到与原信号根本一致的信号。这次的通信原理课程设计是进展PCM系统仿真,通过本次的课程设计我了解了PCM编码的工作原理与其过程,并且学会了使用MATLAB编写程序来对PCM系统进展仿真。这对我以后的学习有很大的促进。总体来说,这次课程设计我受益匪浅,培养了我的设计思维,增加了实际操作能力,提升了我的动手能力和学业技能。七、参考文献1樊昌信,曹丽娜.通信原理.:国防工业,2007.2樊昌信,宫锦文,X忠诚.通信原理与系统实验.:电子工业,2008.3 MATLAB释义与实现.:电子工业,2008.13 / 13

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号