您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实验6-PCM调制与解调实验
1班级学号姓名指导教师日期实验6PCM调制与解调实验一、实验目的1.掌握PCM编译码原理与系统性能测试;2.熟悉PCM编译码专用集成芯片的功能和使用方法;3.学习PCM编译码器的硬件实现电路,掌握它的调整测试方法。二、实验仪器1.PCM/ADPCM编译码模块,位号:H2.时钟与基带数据产生器模块,位号:G3.20M双踪示波器1台4.低频信号源1台(选用)5.频率计1台(选用)6.信号连接线3根7.小平口螺丝刀1只三、实验原理脉冲编码调制(PCM)是把一个时间连续、取值连续的模拟信号变换成时间离散、取值离散的数字信号在信道中传输。脉冲编码调制是对模拟信号进行抽样,量化和编码三个过程完成的。PCM通信系统的实验方框图如图6-1所示。图6-1PCM通信系统实验方框图在PCM脉冲编码调制中,话音信号经防混叠低通滤波器后进行脉冲抽样,变成时间上离散的PAM脉冲序列,然后将幅度连续的PAM脉冲序列用类似于“四舍五入”办法划归为有限种幅度,每一种幅度对应一组代码,因此PAM脉冲序列将转换成二进制编码序列。2通信工程实验教学中心通信系统原理实验报告对于电话,CCITT规定抽样率为8KHz,每一抽样值编8位码(即为28=256个量化级),因而每话路PCM编码后的标准数码率是64kB。本实验应用的单路PCM编、译码电路是TP3057芯片(见图6-1中的虚线框)。此芯片采用a律十三折线编码,它设计应用于PCM30/32系统中。它每一帧分32个时隙,采用时分复用方式,最多允许接入30个用户,每个用户各占据一个时隙,另外两个时隙分別用于同步和标志信号传送,系统码元速率为2.048MB。各用户PCM编码数据的发送和接收,受发送时序与接收时序控制,它仅在某一个特定的时隙中被发送和接收,而不同用户占据不同的时隙。若仅有一个用户,在一个PCM帧里只能在某一个特定的时隙发送和接收该用户的PCM编码数据,在其它时隙没有数据输入或输出。本实验模块中,为了降低对测试示波器的要求,将PCM帧的传输速率设置为64Kbit/s或128Kbit/s两种,这样增加了编码数据码元的宽度,便于用低端示波器观测。此时一个PCM帧里,可容纳的PCM编码分别为1路或2路。另外,发送时序FSX与接收时序FSR使用相同的时序,测试点为34TP01。实验结构框图已在模块上画出了,实验时需用信号连接线连接34P02和34P03两铆孔,即将编码数据直接送到译码端,传输信道可视为理想信道。另外,TP3057芯片内部模拟信号的输入端有一个语音带通滤波器,其通带为200HZ~4000HZ,所以输入的模拟信号频率只能在这个范围内有效。四、各测量点的作用34TP01:发送时序FSX和接收时序FSR输入测试点,频率为8KHz的矩形窄脉冲;34TP02:PCM线路编译时钟信号的输入测试点;34P01:模拟信号的输入铆孔;34P02:PCM编码的输出铆孔;34P03:PCM译码的输入铆孔;34P04:译码输出的模拟信号铆孔,波形应与34P01相同。注:一路数字编码输出波形为8比特编码(一般为7个半码元波形,最后半个码元波形被芯片内部移位寄存器在装载下一路数据前复位时丢失掉),数据的速率由编译时钟决定,其中第一位为语音信号编码后的符号位,后七位为语音信号编码后的电平值。五、实验内容及步骤1.插入有关实验模块:在关闭系统电源的条件下,将“时钟与基带数据发生模块”、“PCM/ADPCM编译码模块”,插到底板“G、H”号的位置插座上(具体位置可见底板右下角的“实验模块位置分布表”)。注意模块插头与底板插座的防呆口一致,模块位号与底板位号的一致。2.加电:打开系统电源开关,底板的电源指示灯正常显示。若电源指示灯显示不正常,请立即关闭电源,查找异常原因。3.PCM的编码时钟设定:“时钟与基带数据产生器模块”上的拨码器4SW02设置“01000”,则PCM的编码时钟为64KHZ(后面将简写为:拨码器4SW02)。拨码器4SW02设置“01001”,则PCM的编码时钟为128KHZ。4.时钟为64KHZ,模拟信号为正弦波的PCM编码数据观察:3通信工程实验教学中心通信系统原理实验报告(1)用专用铆孔导线将P03、34P01,34P02、34P03相连。(2)拨码器4SW02设置“01000”,则PCM的编码时钟为64KHZ。(3)双踪示波器探头分别接在测量点34TP01和34P02,观察抽样脉冲及PCM编码数据。DDS信号源设置为正弦波状态(通常频率为2KHZ),调节W01电位器,改变正弦波幅度,并仔细观察PCM编码数据的变化。特别注意观察,当无信号输入时,或信号幅度为0时,PCM编码器编码为11010101或为01010101,并不是一般教材所讲授的编全0码。因为无信号输入时,或信号幅度为0经常出现,编全0码容易使系统失步。此时时钟为64KHZ,一帧中只能容纳1路信号。注意:(4)双踪示波器探头分别接在34P01和34P04,观察译码后的信号与输入正弦波是否一致。5.时钟为128KHZ,模拟信号为正弦波的PCM编码数据观察:上述信号连接不变,将拨码器4SW02设置“01001”,则PCM的编码时钟为128KHZ。双踪示波器探头分别接在测量点34TP01和34P02,观察抽样脉冲及PCM编码数据。DDS信号源设置为正弦波状态(通常频率为2KHZ),调节W01电位器,改变正弦波幅度,并仔细观察PCM编码数据的变化。注意,此时时钟为128KHZ,一帧中能容纳2路信号。本PCM编码仅一路信号,故仅占用一帧中的一半时隙。用示波器观察34P01和34P04两点波形,比较译码后的信号与输入正弦波是否一致。6.关机拆线:实验结束,关闭电源,拆除信号连线,并按要求放置好实验模块。六、实验报告要求观察正弦波的编码波形,读出正弦波的编码数据(至少12个编码数据)做分析,得出你的结论。采用MATLAB语言进行PCMA13折线编码仿真观察。无输入信号的编码有输入信号的编码小幅值信号的编码大幅值信号的编码4通信工程实验教学中心通信系统原理实验报告解调后的波形对比Matlab仿真图代码:clear;%***********参数设置**************%A=10;f=200;fs=8000;N=512;t=0:1/fs:(N-1)/fs;s=A*sin(2*pi*f*t);[s_pcm,A]=my_Apcm_encode(s);s_pcm1=my_sigexpand(s_pcm,2);%在PCM每个编码的值后面插入2个相同的值,以便画出波形图s_jietiao=my_Apcm_decode(s_pcm,A);figure(1);subplot(3,1,1);plot(t,s);axis([00.03-1111]);title('输入正弦波信号');subplot(3,1,2);plot(s_pcm1);axis([0200-0.11.1]);title('PCM编码信号');subplot(3,1,3);plot(s_jietiao);axis([0241-1111]);title('解调信号');5通信工程实验教学中心通信系统原理实验报告子函数1:function[out,A]=my_Apcm_encode(s)%***********************************%%输入:s为需要PCM编码的信号%输出:out为PCM编码之后的信号%A为输入信号s的最大值%***********************************%z=sign(s);%判断极性A=max(s);s1=s/A;%归一化S=abs(s1);N=length(S);Q=2048*S;%量化Y=zeros(N,8);%全零储存矩阵%****************段落码编码*******************%%直接编码forl=1:Nifz(1,l)==1%极性编码Y(l,1)=1;elseifz(1,l)==-1Y(l,1)=0;else%第一个取值z=0Y(l,1)=0;endifQ(l)1024%1024~2048Y(l,2)=1;Y(l,3)=1;Y(l,4)=1;elseifQ(l)512%512~1024Y(l,2)=1;Y(l,3)=1;Y(l,4)=0;elseifQ(l)256%256~512Y(l,2)=1;Y(l,3)=0;Y(l,4)=1;elseifQ(l)128%128~256Y(l,2)=1;Y(l,3)=0;Y(l,4)=0;elseifisequal(d,[101])==1a=floor((Q(l)-256)/16);b=my_switch(a);Y(l,5:8)=b;elseifisequal(d,[100])==1a=floor((Q(l)-128)/8);b=my_switch(a);Y(l,5:8)=b;elseifisequal(d,[011])==1a=floor((Q(l)-64)/4);b=my_switch(a);Y(l,5:8)=b;elseifisequal(d,[010])==1a=floor((Q(l)-32)/2);b=my_switch(a);Y(l,5:8)=b;elseifisequal(d,[001])==1a=Q(l)-16;b=my_switch(a);Y(l,5:8)=b;elsea=Q(l);b=my_switch(a);Y(l,5:8)=b;endendout=reshape(Y',1,8*N);%将N行,8列的Y,重排为1行,8*N列endfunction[g]=my_switch(f)g=zeros(1,4);switchfcase0g=[0000];case1g=[0001];case2g=[0010];case3g=[0011];6通信工程实验教学中心通信系统原理实验报告elseifQ(l)64%64~128Y(l,2)=0;Y(l,3)=1;Y(l,4)=1;elseifQ(l)32%32~64Y(l,2)=0;Y(l,3)=1;Y(l,4)=0;elseifQ(l)16%16~32Y(l,2)=0;Y(l,3)=0;Y(l,4)=1;else%0~16Y(l,2)=0;Y(l,3)=0;Y(l,4)=0;endend%*************段内码编码************%%直接编码forl=1:Nd=Y(l,2:4);ifisequal(d,[111])==1a=floor((Q(l)-1024)/64);b=my_switch(a);Y(l,5:8)=b;%l行5~8列换为段内编码值elseifisequal(d,[110])==1a=floor((Q(l)-512)/32);b=my_switch(a);Y(l,5:8)=b;case4g=[0100];case5g=[0101];case6g=[0110];case7g=[0111];case8g=[1000];case9g=[1001];case10g=[1010];case11g=[1011];case12g=[1100];case13g=[1101];case14g=[1110];case15g=[1111];case16%当取到1或-1时,其向下取整值为16,为防止编码错误,故加入16g=[1111];endend子函数2:function[out]=my_Apcm_decode(s,A)N=length(s);n=N/8;S=reshape(s',8,n);%将PCM已调信号重排为8行,n列,每一列是一组8位编码S1=S';%将S转置,变为n行,8列,每一行是一组8位编码Y=zeros(n,12);Z=zeros(1,n);%*****将编码值转化为7/12线性码*****%elseifisequal(a,[010])==1Y(l,1:5)=0;Y(l,6)=1;Y(l,7:10)=S1(l,5:8);Y(l,11)=1;Y(l,12)=0;elseifis
本文标题:实验6-PCM调制与解调实验
链接地址:https://www.777doc.com/doc-6709709 .html