通信原理课程设计基于FPGA的时分多路数字基带传输系统的设计与开发.docx
- 文档编号:5473838
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:38
- 大小:737.13KB
通信原理课程设计基于FPGA的时分多路数字基带传输系统的设计与开发.docx
《通信原理课程设计基于FPGA的时分多路数字基带传输系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计基于FPGA的时分多路数字基带传输系统的设计与开发.docx(38页珍藏版)》请在冰豆网上搜索。
通信原理课程设计基于FPGA的时分多路数字基带传输系统的设计与开发
通信系统课程设计
基于FPGA的时分多路数字基带传输系统的设计与开发
指导老师:
戴慧洁武卫华
班级:
通信102班
组长:
组员:
2013年7月5日
通信系统课程设计目录
1.通信系统课程设计目的、内容、要求
1.1课程设计目的
1.2课程设计内容
1.3课程设计要求
2.通信系统课程设计选题及小组划分
2.1课程设计选题
2.2小组划分
3.通信系统课程设计系统框图及各模块参数指标
3.1系统框图
3.2各模块参数指标
4.通信系统课程设计各模块原理与思路
4.1PCM编译码
4.2HDB3编译码
4.3一次群时分复用与分接
4.4同步
5.通信系统课程设计各模块编程与波形仿真(含代码)
5.1PCM编译码
5.2HDB3编译码
5.3一次群时分复用与分接
5.4同步
6.通信系统课程设计心得体会
1.通信系统课程设计目的、内容、要求及相关工具
1.1课程设计目的
通信系统课程设计是一门综合设计性实践课程。
使大家在综合已学现代通信系统理论知识的基础上,借助可编程逻辑器件及EDA技术的灵活性和可编程性,充分发挥自主创新意识,在规定时间内完成符合实际需求的通信系统电路设计与调试任务。
本次课程设计选题为数字基带传输系统。
数字通信系统是利用数字信号来传输信息的通信系统,传输的对象通常是二元数字信息,它可能来自计算机等其他数字设备的各种数字代码,也可能来自数字电话终端的脉冲编码,其包括数字基带传输和数字频带传输。
数字基带传输就是不经过调制而直接传送的方式,即发送端不使用调制器,接收端也不使用解调器。
和频带传输相比,基带传输的优点是:
设备简单,易做成“一机多速率”,适应性强。
而对于时分多路技术,其具有十分优越的特点。
其便于实现数字通信,易于制造,适于采用集成电路实现,成本较低,因此在数字信号传输中得到了广泛的应用。
它不仅能够提高大家对所学理论知识的理解能力,更重要的是能够提高和挖掘大家对所学知识的实际运用能力,为将来进入社会从事相关工作奠定较好的“能力”基础。
1.2课程设计内容(可选)
A)时分多路数字电话基带传输系统的设计与开发
B)时分多路数字电话基带传输系统的设计与开发
1.3课程设计要求
A)64Kb/S的A律PCM数字话音编译码器的开发设计
B)PCM30/32一次群时分复接与分接器的开发设计
C)数字基带编码HDB3编译码器的开发设计
D)正交相对四相移相键控QDPSK调制器的开发设计(可选)
E)同步(帧、位、载波同步(可选))电路的开发设计
根据给定的设计指标,要求能综合运用通信原理理论所学知识,借助可编程逻辑器件,灵活使用EDA开发工具平台QuartusⅡ,独立进行时分多路数字电话基带传输系统初步方案设计、单元电路设计、VHDL程序设计、程序调试等工作。
附工具:
quartusⅡ6.0、FPGA、VHDL语言
本次课程设计使用的软件是EDA开发工具平台QuartusⅡ6.0,QuartusⅡ是Altera公司提供的可编程逻辑器件的集成开发软件,可编程逻辑器件开发的所有过程为:
设计输入、综合、布局和布线、验证和仿真以及可编程逻辑器件的编程或配置。
使用的芯片是EP1C6Q240C8。
VHDL的全名是very-high-speedintegratedcircuithardwaredescriptionlanguage,VHDL主要用于描述数字系统的结构,行为,功能和接口。
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
2课程设计选题、小组划分
2.1选题:
时分多路数字电话基带传输系统的设计与开发
2.2模块划分
(A)负责
64Kb/S的A律PCM数字话音编码器的开发设计
(B)负责
64Kb/S的A律PCM数字话音译码器的开发设计
(C)负责
数字基带编码HDB3编码器的开发设计
(D)负责
数字基带编码HDB3译码器的开发设计
(E)负责
PCM30/32一次群时分复接器的开发设计
(F)负责
PCM30/32一次群时分分接器的开发设计
(G)负责
同步(帧、位同步)电路的开发设计
3.通信系统课程设计系统框图及各模块技术指标
3.1系统框图
PCM时分复用数字基带传输,是各路信号在同一信道上占有不同的时间间隙进行通信。
它把模拟信号通过抽样、量化、编码转变为数字信号,这些都靠编码器来实现,然后在位同步和帧同步信号的控制下通过复接器实现复接,复接后的信号通过信道传输,分接器在同步信号的作用下把接收到的信号进行分路,分路后的信号通过PCM译码、低通滤波器还原出输入的模拟语音信号。
同步技术是时分复用数字通信的又一个重要特点。
位同步是最基本的同步,是实现帧同步的前提。
它的基本含义是收、发两端机的时钟频率必须同频、同相,这样接收端才能正确判断和接收发送端送来的每一个码元。
帧同步是为了保证收、发各对应的话路在时间上保持一致,这样接收端就能正确接收发送端送来的每一个话路信号。
图3.1时分多路数字基带传输系统框图
3.2各模块技术指标
3.2.1PCM编码器参数指标(符合ITU-TG.711建议)
(1)PCM编码器输入信号为:
一个13位逻辑矢量的均匀量化值:
D0,D1…D12
其中:
D0为极性位,取值范围在-4096~+4096之间;
一个占空比为1/32的8K/S的取样时钟信号;
一个占空比为50%的2.048Mb/S的合路时钟信号;
(2)PCM编码器输出信号为:
一个8位逻辑矢量的13折线非均匀量化值:
C0,C1…C7
其中:
C0为极性位.C0=1为正,C0=0为负;
一个占空比为1/32的8K/S的取样时钟信号;
一个占空比为50%的2.048Mb/S的合路时钟信号;
(3)PCM编码规则
图3.2.1PCM编码规则
3.2.2PCM译码器参数指标(符合ITU-TG.711建议)
(1)PCM译码器输入信号为:
一个8位逻辑矢量的13折线非均匀量化值:
C0,C1…C7
其中:
C0为极性位.C0=1为正,C0=0为负;
一个占空比为1/32的8K/S的取样时钟信号;
一个占空比为50%的2.048KB/S的合路时钟信号;
(2)PCM译码器输出信号为:
一个13位逻辑矢量的均匀量化值:
D0,D1…D12
其中:
D0为极性位,取值范围在-4096~+4096之间;
一个占空比为1/32的8K/S的取样时钟信号;
一个占空比为50%的2.048Mb/S的合路时钟信号;
(3)PCM译码规则
图3.2.2PCM译码规则
3.2.3HDB3编码器参数指标(符合ITU-TG.703建议)
(1)HDB3编码器输入信号为:
一路串行2.048Mb/S合路数据流
一路2.048Mb/S位同步时钟脉冲
(2)HDB3编码器输出信号为:
一路串行2.048Mb/S合路HDB3编码的正极性数据流H+
一路串行2.048Mb/S合路HDB3编码的负极性数据流H-
一路2.048Mb/S位同步时钟脉冲
3.2.4HDB3译码器参数指标(符合ITU-TG.703建议)
(1)HDB3译码器输入信号为:
一路串行2.048Mb/S合路HDB3编码的正极性数据流H+
一路串行2.048Mb/S合路HDB3编码的负极性数据流H-
一路2.048Mb/S位同步时钟脉冲
(2)HDB3译码器输出信号为:
一路串行2.048Mb/S合路数据流
一路2.048Mb/S位同步时钟脉冲
3.2.5一次群时分复接器参数指标()
(1)一次群时分复接器输入信号为:
一个8位数据总线D7~D0
一个一次群串行位同步时钟2.048Mb/S信号;
(2)一次群时分复接器输出信号为:
一个一次群串行合路数据流2.048Mb/S信号
一个一次群串行位同步时钟2.048Mb/S信号
一个5位时隙地址总线信号
3.2.6一次群时分接器参数指标
(1)一次群时分分接器输入信号为:
一个一次群串行合路数据流2.048Mb/S信号
一个一次群串行位同步时钟2.048Mb/S信号
(2)一次群时分分接器输出信号为:
一个一次群串行合路数据流2.048Mb/S信号
一个30位逻辑矢量时隙脉冲信号
一个一次群串行位同步时钟2.048Mb/S信号
3.2.6相关帧结构图
3.2.7同步的参数指标
同步主要是进行帧同步与位同步,具体设计体现在一次群时分分接器设计,还有提供各模块的时钟。
4通信系统课程设计各模块原理与思路
4.1PCM编码器原理
4.1.1PCM编码器分析
脉冲编码调制(PCM,PulseCodeModulation)在通信系统中完成将语音信号数字化功能。
是一种对模拟信号数字化的取样技术,将模拟信号变换为数字信号的编码方式,特别是对于音频信号。
PCM对信号每秒钟取样8000次;每次取样为8个位,总共64kbps。
PCM的实现主要包括三个步骤完成:
抽样、量化、编码。
分别完成时间上离散、幅度上离散、及量化信号的二进制表示。
根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和
律方式,本设计采用了A律方式。
在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。
若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。
具体的做法是:
用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。
其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。
这样处理的结果,8个段落被划分成128个量化级。
段落码和8个段落之间的关系如表1所示;段内码与16个量化级之间的关系见表4.1.2所示。
4.1.2PCM编码规则
表1段落码表2段内码
段落序号
段落码
段落范围
量化间隔
段内码
量化间隔
段内码
8
111
2048-4096
15
1111
7
0111
7
110
1024-2048
14
1110
6
0110
6
101
512-1024
13
1101
5
0101
5
100
256-512
12
1100
4
0100
4
011
128-256
11
1011
3
0011
3
010
64-128
10
1010
2
0010
2
001
32-64
9
1001
1
0001
1
000
0-32
8
1000
0
0000
4.1.3流程图如下
图4.1.3PCM编码器流程图
4.2PCM译码器原理
4.2.1PCM译码分析
PCM译码是PCM编码的逆过程。
通过对PCM编码的分析,可以进行8位PCM编码到13位A率13折线的转换,具体转换见下译码规则图。
其中注意,在译码时的13位码是对应段的中间值,既所得的编码应加上对应段量化值的一半。
4.2.2PCM译码规则
图4.2.2PCM译码规则
4.2.3流程图如下
图4.2.3PCM译码流程图
4.3HDB3编码器原理
4.3.1HDB3编码规则分析:
1)对输入为1码元交替翻转编码,即依次在H+和H-端口输出1
2)对输入为0码元同时在H+和H-端口输出0
3)当连续输入4个0码元,且与上一个连续0码元之间1码元为奇数个时,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:
在同端口输出
4)当连续输入4个0码元,且与上一个连续4个0码元之间1码元为偶数个时,第一个0码元改为1码元,与之前1码元的最后一个1码元反极性,即:
在不同端口输出,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:
在同端口输出
4.3.2HDB3编码VHDL语言设计
1)逐位处理输入输出数据,即:
每输入一比特数据就判断处理,并在H+和H-端口同时输出一位比特脉冲.
2)为了能修改含本时钟之前4个时钟周期的输出比特,建立一个4位移位寄存器保存输入数据temp;
3)输出“1”时,确定下次1码元输出端口的确定,即极性是+或-;每输入一个“1”,极性反转一次,记录信息county;
4)检测当前是否为连续“0000”,记当前零个数count0;
5)记录两个连续“0000”之前连续1的个数记数count1,(即奇偶数)。
6)更新“B00V”“000V”时,更新信息count0,count1,county;
4.3.3流程图如下:
源码
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
HDB3码
+1
0
0
0
+1
-1
0
0
0
-1
+1
-1
+1
0
0
-1
+1
0
0
-1
+1
H+
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
H-
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
4.4HDB3译码器原理
4.4.1HDB3译码规则分析
将编码修改过的0码元恢复,并将双极性交替1脉冲改为单极性1脉冲
4.4.2HDB3译码VHDL语言设计
对输入的H+和H-分别设立一个五级缓存移位寄存器,每一拍都判断是否存在10001,或1001X;若存在分别改成10000,或0000X。
再将H+和H-相或输出。
4.4.3流程图如下:
4.5一次群时分复接器原理
复接器的功能是将30路PCM信号与帧同步和勤务信号综合成一路2.048Mb/s的串行合路输出,并包括生成时隙地址信号。
其中主要包括多路数据选择器,串并转换器,计数器等。
4.6一次群时分分接器原理
分接器的功能是将32路合路的2.048Mb/s的信号分成32路64K/S的分路信号,同时生成32路时隙脉冲。
其中主要是帧同步与位同步的捕捉与确定。
4.7同步模块原理
在数字通信系统中,同步包括载波同步,码元同步(位同步),群同步(帧同步),网同步四种,本课程设计主要用到帧同步与位同步。
1)帧同步是为接收信号而使给定数字信道的接收端与发送端的相应信道对齐的过程,帧同步码有集中插入和分散插入两种插入方法,此课程设计中主要研究集中插入帧同步法,详细设计可见一次群时分分接。
2)位同步是为了在准确的时刻对接收码元进行判决,以及对接收码元能量正确积分,它是从接收码元的起止时刻产生一个码元同步脉冲序列。
位同步可分为外同步法和自同步法。
外同步法是一种利用辅助信息同步的方法,需要在信号中另外加入包含码元定时信息的导频或数据序列。
自同步法不需要辅助同步信息,直接从信息码元中提取出码元定时信息,这种方法要求在信息码元序列中含有码元定时信息,在此课程设计中,用数字锁相环法实现码元的自同步。
位同步原理图:
5通信系统课程设计各模块编程与上机实现
5.1PCM编码程序与仿真图
--PCM编码,符合ITU-TG.711建议
--一个输入为13位逻辑矢量的均匀量化值,一个8000HZ占空比为1/32的取样脉冲
--输出为八位逻辑矢量的A律PCM编码,和一个8000HZ的时钟
--虽然设计要求输入输出2.048MB/S时钟,个人觉得用不上,故舍去了
--quartus软件是以下标大的位为高位,所以十三位输入采用D(12)为符号位
libraryieee;--程序调用的库是IEEE库
useieee.std_logic_1164.all;--定义了std_logic,std_logic_vector类型
entityPCMencodeis
port(clkin:
instd_logic;--输入时钟8000HZ
D:
instd_logic_vector(12downto0);--std_logic_vector全拼standard_logic标准逻辑矢量
C:
outstd_logic_vector(7downto0);
clkout:
outstd_logic);
endPCMencode;
architecturebehaviorofPCMencodeis
begin
process(clkin,D)
begin
ifclkin'eventandclkin='1'then
ifD(11)='1'thenC<=D(12)&'1'&'1'&'1'&D(10)&D(9)&D(8)&D(7);
elsifD(10)='1'thenC<=D(12)&'1'&'1'&'0'&D(9)&D(8)&D(7)&D(6);
elsifD(9)='1'thenC<=D(12)&'1'&'0'&'1'&D(8)&D(7)&D(6)&D(5);
elsifD(8)='1'thenC<=D(12)&'1'&'0'&'0'&D(7)&D(6)&D(5)&D(4);
elsifD(7)='1'thenC<=D(12)&'0'&'1'&'1'&D(6)&D(5)&D(4)&D(3);
elsifD(6)='1'thenC<=D(12)&'0'&'1'&'0'&D(5)&D(4)&D(3)&D
(2);
elsifD(5)='1'thenC<=D(12)&'0'&'0'&'1'&D(4)&D(3)&D
(2)&D
(1);
elseC<=D(12)&'0'&'0'&'0'&D(4)&D(3)&D
(2)&D
(1);
endif;
endif;
endprocess;
clkout<=clkin;
end
behavior;
仿真图:
5.2PCM译码程序与仿真图
--PCM译码
--输入A律八位PCM编码,占空比为1/32的8000HZ的去取样时钟
--输出为十三位逻辑矢量均匀量化值,占空比为1/32的8000HZ的去取样时钟
libraryieee;
useieee.std_logic_1164.all;
entityPCMdecodeis
port(
clkin:
instd_logic;
C:
instd_logic_vector(7downto0);
D:
outstd_logic_vector(12downto0);
clkout:
outstd_logic);
endPCMdecode;
architecturebehaviorofPCMdecodeis
signaltemp:
std_logic_vector(2downto0);
begin
temp<=C(6downto4);
process(clkin)
begin
ifclkin'eventandclkin='1'then
casetempis
when"111"=>D<=C(7)&"1"&C(3downto0)&"1000000";
when"011"=>D<=C(7)&"01"&C(3downto0)&"100000";
when"101"=>D<=C(7)&"001"&C(3downto0)&"10000";
when"001"=>D<=C(7)&"0001"&C(3downto0)&"1000";
when"110"=>D<=C(7)&"00001"&C(3downto0)&"100";
when"010"=>D<=C(7)&"000001"&C(3downto0)&"10";
when"100"=>D<=C(7)&"0000001"&C(3downto0)&"1";
when"000"=>D<=C(7)&"0000000"&C(3downto0)&"1";
whenothers=>D<=null;
endcase;
endif;
endprocess;
clkout<=clkin;
endbehavior;
仿真图:
5.3HDB3编码器程序与仿真图
--HDB3编码
--输入2.048Mb/s数据流,占空比为50%的2.048MHZ的去取样时钟
--输出为两路双极性2.048Mb/s数据流,占空比为50%的2.048MHZ的去取样时钟
libraryieee;
useieee.std_logic_1164.all;
useieee.numeric_std;
useieee.std_logic_arith;
entityhdbnecodeis
port(clkin:
instd_logic;
datain:
instd_logic;
dataouthh:
outstd_logic;
dataouthl:
outstd_logic;
clkout:
outstd_logic);
endhdbnecode;
architecturebehaviorofhdbnecodeis
begin
process(clkin)
variablecount0,count1:
integer:
=0;
variablecounty:
boolean;
variabletemp:
std_logic_vector(3downto0);
begin
ifclkin'eventandclkin='0'then
ifdatain='1'then--输入为1时处理4位寄存器
count0:
=0;
temp(0):
=datain;
count1:
=count1+1;
iftemp(3)='0'then--首位0处理输出
dataouthh<='0';
dataouthl<='0';
elseifcountythen--首位1处理输出
dataouthh<='1';
dataouthl<='0';
county:
=notcounty;
else
dataouthh<='0';
dataouthl<='1';
county:
=notcounty;
endif;
endif;
else
temp(0):
=datain;--输入为0时处理4位寄存器
count0:
=count0+1;
if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信原理课程设计 基于FPGA的时分多路数字基带传输系统的设计与开发 通信 原理 课程设计 基于 FPGA 时分 路数 基带 传输 系统 设计 开发