安徽工业大学—通信原理课程设计—基于FPGA的时分多路数字电话基带传输系统的设计与开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一.项目名称及小组分工1.1项目名称:时分多路数字电话基带传输系统的设计与开发1.2成员分工:程杜仁64Kb/S的A律PCM数字话音编码器的开发设计李栋64Kb/S的A律PCM数字话音译码器的开发设计戴健博数字基带编码HDB3编码器的开发设计毕东立数字基带编码HDB3译码器的开发设计刘东方PCM30/32一次群时分复接器的开发设计胡磊PCM30/32一次群时分分接器的开发设计王堂辉同步(帧、位同步)电路的开发设计二、课题背景及目的2.1课程设计背景基带传输就是不经过调制而直接传送的方式,即发送端不使用调制器,接收端也不使用解调器。目前,虽然在实际使用的数字通信系统中基带传输不如频带传输制那样广泛,但是,对于基带输系统的研究仍然是十分有意义的。主要原因有以下几个方面。1)在频带传输制式里同样存在基带传输的问题(如码间干扰等),因为信道的含义是相对的,若把调制解调器包括在信道中(如广2义信道),则频带传输就变成了基带传输。可以说基带传输是频带传输的基础。2)随着数字通信技术的发展,基带传输这种方式也有迅速发展的趋势。目前,它不仅用于低速数据传输,而且还用于高速数据传输。3)理论上也可以证明,任何一个采用线性调制的频带传输系统,总是可以由一个等效的基带传输系统所替代。2.2课程设计目的:使大家在综合已学现代通信系统理论知识的基础上,借助可编程逻辑器件FPGA及EDA技术的灵活性和可编程性,充分发挥自主创新意识,在规定时间内完成符合实际需求的通信系统电路设计与调试任务。通过此次课程设计不仅能够提高大家对所学理论知识的理解,还能够提高和挖掘大家对所学知识的实际运用能力,锻炼大家的创新实践能力,为以后自己做项目打下基础。3三、系统结构框图及工作原理3.1系统框图图3.1系统总框图3.2工作原理模拟话音经A/D转换后每个样点13个比特,经PCM编码后形成每个样点8比特的非均匀量化值。30路话音及同步、信令信息复接成一路2.048Mbit/s串行数据流发送出去。在接收端进行HDB3译码、分接、PCM译码、D/A转换,还原出模拟话音。四、各模块工作原理及程序实现4.1PCM编码器4.1.1PCM编码器模块简介输入信号为:(1)一个13位逻辑矢量的均匀量化值:D0,D1…D12,其中:D0为极性位,取值范围在-4096~+4096之间;4(2)一个占空比为1/32的8K/S的取样时钟信号;(3)一个占空比为50%的2.048Mb/S的合路时钟信号;输出信号为:(1)一个8位逻辑矢量的13折线非均匀量化值:C0,C1…C7,其中:C0为极性位.C0=1为正,C0=0为负;(2)一个占空比为1/32的8K/S的取样时钟信号;(3)一个占空比为50%的2.048Mb/S的合路时钟信号;4.1.2PCM编码原理PCM脉冲编码调制是PulseCodeModulation的缩写。PCM编码的方法是对语音信号进行采样,然后对每个样值进行量化编码。CCITT(现ITU-T)的64kbit/s语音编码标准G.711采用PCM编码方式,采样速率为8kHz,每个样值用8bit非线性的μ律或A律进行编码,总速率为64kbit/s。我国和欧洲各国都采用A律,它的13折线的产生是从非均匀量化的基点出发,设法用13折线逼近A=87.6的A律压缩特性。A律压扩特性是连续曲线,这样,它基本上保证了连续压扩的优点,有便于数字电路实现。在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)5则表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成128个量化级。段落码和8个段落之间的关系如表1所示;段内码与16个量化级之间的关系见表4.1.2所示。表4.1.2-1段落码表4.1.2-1段内码段落序号段落码段落范围量化间隔段内码量化间隔段内码81112048-40961511117011171101024-2048141110601106101512-1024131101501015100256-512121100401004011128-25611101130011301064-12810101020010200132-64910011000110000-3281000000004.1.3PCM编码程序实现程序实现方法参照表4.1.3,运用VHDL语言中的连接符’&’实现输入输出的转换。6图4.1.34.1.4PCM编码程序与仿真libraryieee;useieee.std_logic_1164.all;entitypcm_bmisport(clkin:instd_logic;b:instd_logic_vector(12downto0);c:outstd_logic_vector(7downto0));endpcm_bm;architectureoneofpcm_bmisbeginprocess(clkin,b)beginifclkin'eventandclkin='1'thenifb(11)='1'thenc=b(12)&111&b(10downto7);elsifb(10)='1'thenc=b(12)&110&b(9downto6);elsifb(9)='1'thenc=b(12)&101&b(8downto5);elsifb(8)='1'thenc=b(12)&100&b(7downto4);elsifb(7)='1'thenc=b(12)&011&b(6downto3);elsifb(6)='1'thenc=b(12)&010&b(5downto2);elsif7b(5)='1'thenc=b(12)&001&b(4downto1);elsec=b(12)&000&b(4downto1);endif;endif;endprocess;endone;4.2PCM译码器4.2.1PCM译码器模块简介输入信号:(1)一个8位逻辑矢量的13折线非均匀量化值:C0,C1…C7其中:C0为极性位.C0=1为正,C0=0为负。(2)一个占空比为1/32的8K/S的取样时钟信号。(3)一个占空比为50%的2.048Mb/S的合路时钟信号。输出信号:(1)一个13位逻辑矢量的均匀量化值:D0,D1…D12,其中:D0为极性位,取值范围在-4096~+4096之间。8(2)一个占空比为1/32的8K/S的取样时钟信号(3)一个占空比为50%的2.048Mb/S的合路时钟信号。4.2.2PCM译码译码原理PCM译码是PCM编码的逆过程。通过对PCM编码的分析,可以进行8位PCM编码到13位A率13折线的转换,具体转换见下译码规则见图4.2.2。图4.2.2PCM译码规则4.2.3流程图如下94.2.4PCM译码程序与仿真图libraryieee;useieee.std_logic_1164.all;entityPCMdecodeisport(clkin:instd_logic;C:instd_logic_vector(7downto0);D:outstd_logic_vector(12downto0);clkout:outstd_logic);endPCMdecode;architecturebehaviorofPCMdecodeissignaltemp:std_logic_vector(2downto0);begintemp=C(6downto4);process(clkin)beginifclkin'eventandclkin='1'thencasetempiswhen111=D=C(7)&1&C(3downto0)&1000000;10when110=D=C(7)&01&C(3downto0)&100000;when101=D=C(7)&001&C(3downto0)&10000;when100=D=C(7)&0001&C(3downto0)&1000;when011=D=C(7)&00001&C(3downto0)&100;when010=D=C(7)&000001&C(3downto0)&10;when001=D=C(7)&0000001&C(3downto0)&1;when000=D=C(7)&0000000&C(3downto0)&1;whenothers=D=null;endcase;endif;endprocess;clkout=clkin;endbehavior;4.3HDB3编码器4.3.1HDB3编码器模块简介:输入信号:(1)一路串行2.048Mb/S合路数据流;(2)一路2.048Mb/S位同步时钟脉冲。输出信号:(1)一路串行2.048Mb/S合路HDB3编码的正极性数据流H+;(2)一路串行2.048Mb/S合路HDB3编码的负极性数据流H-;(3)一路2.048Mb/S位同步时钟脉冲。114.3.2HDB3编码原理1)对输入为1码元交替翻转编码,即依次在H+和H-端口输出12)对输入为0码元同时在H+和H-端口输出03)当连续输入4个0码元,且与上一个连续0码元之间1码元为奇数个时,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:在同端口输出4)当连续输入4个0码元,且与上一个连续4个0码元之间1码元为偶数个时,第一个0码元改为1码元,与之前1码元的最后一个1码元反极性,即:在不同端口输出,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:在同端口输出4.3.3设计流程图图4.3.3124.3.4HDB3编码程序与仿真图libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityhdb3_bmisport(clk,data:instd_logic;h1,h2:outstd_logic);endhdb3_bm;architectureoneofhdb3_bmissignalfirstv:std_logic:='0';signalreg_h1,reg_h2:std_logic_vector(3downto0):=0000;signalflag,h1_temp,h2_temp,B,s1,ctl:std_logic:='0';beginp1:process(clk)variablecnt0:std_logic_vector(2downto0):=000;variablecnt1,cnt11,v:std_logic:='0';beginifclk'eventandclk='1'thenifdata='0'thencnt0:=cnt0+1;ifcnt0=100thencnt0:=000;--输入连续四个0;if(firstv='0')thenif(cnt11='0')thenv:='0';elsev:='1';endif;cnt11:='0';firstv='1';elsev:=notv;ifcnt11='0'then--偶数1插Bctl='1';B=v;flag=notflag;--修改B之后用flag标记以后对1极性做相反处理elsecnt11:='0';ctl='0';endif;endif;ifv='1'thenh1_temp='1';h2_temp='0';elseh1_temp='0';h2_temp='1';endif;else13ctl='0';--不为四个连0时;h1_temp='0';h2_temp='0';endif;else--输入为1时;cnt0:=000;ctl='0';cnt11:=notcnt11;cnt1:=notcnt1;

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功