基于FPGA的数字通信误码测试系统的设计.doc

基于FPGA的数字通信误码测试系统的设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的数字通信误码测试系统的设计

基于FPGA的数字通信误码测试系统设计 摘要:本文提出了一种基于FPGA的数字通信误码测试系统设计方法,重点讨论了实现误码测试的伪随机序列产生,自校验误码插入,位同步原理及实现方法,在EP1K30TC144-3FPGA上实现了测试系统的核心模块。 关键词:误码 测试 FPGA 在数字通信系统传输过程中,无论是设备故障,还是传播衰落、码间干扰、邻近波道干扰等,都可能造成系统性能变差甚至造成通信中断,其结果都可以通过误码的形式表现出来。数字通信系统的研发制造、运行维护中最基本的性能指标测试是误码测试。本文提出了基于FPGA的数字通信误码测试系统的设计方法,重点讨论了实现误码测试的伪随机序列产生,自校验误码插入,位同步等关键技术原理及实现方法,并在Altera公司EP1K30TC144-3FPGA上实现了测试系统的核心模块。 1.系统组成原理 数字通信系统的误码测试一般有近端测试和远端测试2种方式,如图1(a)、(b)所示。 接收与误码检测被测通信系统码型产生与发送 接收与误码检测 被测通信系统 码型产生与发送 (a)近端测试(单向)方式图 被测通信系统码型产生与发送 被测通信系统 码型产生与发送 接收与误码检测 接收与误码检测 (b)远端测试(环路)方式图 图1 数字通信系统的误码测试 图1中误码测试发送部分与误码测试接收部分为误码测试系统的基本组成。本文设计的误码测试发送和接收系统图分别如图2和图3所示。 输出接口电路误码插入控制时钟信号发生器码型产生与选择 输出接口电路 误码插入控制 时钟信号发生器 码型产生与选择 图2误码测试发送系统 误码计数输出控制码型产生比特误码检测 误码计数输出 控制 码型产生 比特误码检测 同步检测 同步检测 被测序列输出 被测序列输出 图(3)误码测试接收系统 误码测试发送部分主要由时钟信号发生器、伪随机码和人工码发生器、误码插入发生器以及接口电路组成,它可以输出各种不同序列长度的伪随机码(从(2^7-1)~(2^23-1) bit)和16bit的人工码,以满足ITU-T对不同速率的PCM系统所规定的不同测试用的序列长度。它具有“0”码插入功能,并能发出带有10^-3~10^-6误码率的数据,可用于检测被测设备和系统的承受能力和检测告警功能等。接口电路用来实现输出CM I码、HDB3码、NRZ码和RZ码等码型,以适应符合ITU-T要求的被测电路的各种不同接口码型。输出码型经被测信道或被测设备后,由误码测试接收部分接收,接收部分可产生一个与发送部分码发生器产生的图像完全相同的且严格同步的码型,并以此为标准,在比特比较器中与输入的图案进行逐比特比较。被测 设备产生的任何一个错误比特,都会被检出误码,并送误码计数器显示。 2.伪随机序列发生与自校验误码插入   误码测试系统的工作码流是伪随机序列。m序列具有良好的伪随机噪声性质,是在通信工程中被广泛应用的伪随机序列之一,本系统采用m序列发生器产生伪随机序列。图4为n=7的伪随机序列发生器结构。伪随机序列发生器在2.048MHz时钟信号的作用下产生序列长度为2^7-1=127的伪随机序列。 + + 输出序列 输出序列 1 2 3 4 5 6 7 图(4)n=7伪随机序列发生器结构图 伪随机序列发生器部分VHDL源程序如下: library ieee; use ieee. std_logic_1164. al;l entitympsn7is port(clk: in std_logic;    load: in std_logic;  Q: out std_logic); endmpsn7; architecture one ofmpsn7is  signal c0, c1, c2, c3, c4, c5, c6, c7: std_log- ic; begin  process(clk, load)  begin  if (clk′eventand clk=′1′) then   if(load=′1′) then    c7<=′0′;    c6<=′0′;    c5<=′0′;    c4<=′0′;    c3<=′0′;    c2<=′0′;    c1<=′0′;    c0<=′1′;    Q<=c7;   else    c1<=c0;    c2<=c1;    c3<=c2;    c4<=c3;    c5<=c4;    c6<=c5;    c7<=c6;    c0<=c7xor c4xor c3xor c2;    Q<=c7;    end if;   end if;  end process;  end one; 图(5)给出了在EP1K30TC144-3FPGA上实现VHDL伪随机序列发生器模块时序仿真结果。

您可能关注的文档

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档