您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

用FPGA实现数据远距离的高精度传输

时间:2007-1-20栏目:电子通信论文

距9,纠4错8位数据最高位(9,1)码0对应010101010,1对应101010101,汉明距9,纠4错
  表2
  
  第1位第2位第3位第4位第5位第6位第7位最高位00100100101001010010101001010100101010100101010101101101101011010110101011010101101010101101010101
  对8个位远逐位编码,8个生成矩阵为1维矢量。因此用FPGA实现编码时,采用查表法更方便,如表2所列。
  
  之所以选用010等作为码字,是因为01相间在组合为帧发送时,可以减少连0或连1的出现概率。
  
  (4)帧结构实现交错发送技术
  
  为纠突发错,码字要按交错格式发送。因此,用帧实现码字的交错,数据发端按帧发送,数据收端按帧解码。8个码字共48位(6字节),加帧头2字节,所以,帧为8字节。为说明帧结构,暂以字母表示码字各位:
  
  码字0:a2a1a0;码字3:d4d3d2ed1d0;
  
  码字1:b2b1b0;码字4:e6e5e4e3e2e1e0;
  
  码字2:c4c3c2c1c0;码字5:f6f5f4f3f2f1f0;
  
  码字6:g8g7g6g5g4g3g2g1g0;
  
  码字7:h8h7h6h5h4h3h2h1h0;
  
  帧结构如表3所列。
  
  图5纠突发错仿真图
  
  利用帧头1和帧头2的重合特点来检测帧头,因为码字交错发送时相邻两字节对应位基本01相间的。由表3可得,第3字节到第8字节,相邻字节至少有6位不相同。因此可借用汉明距的纠错思想,认为帧头1和2不重合的位在2位以内,则表示正确收到帧头。
  
  表3
  
  帧头111010100帧头211010100第3字节a0c0e0f6f0g0g6h0第4字节a1c1e2d0f1g1g7h1第5字节a2c2e2d1f2g2g8h2第6字节b0c3e3d2f3g3h6h3第7字节b1c4e4d3f4g4h7h4第8字节b2e6e5d4f5g5h8h5
  3FPGA实现设计
  
  (1)单工条件下的实现
  
  用两块FPGA分别实现编码器和解码器。按前面的编解码原理,编码器接收子站8位信息和1位同步,输出8字节×8位帧结构编码作远程传输,解码器收到帧结构编码,输出8位信息和1位同步给基站。(在实际应用中,子基站两MPU还要加入通常的累加和检错或偶校验检错。因不属编解码内容,不作讨论。)
  
  单工电路原理如图2。
  
  为检验电路设计,假设输入信号为11001010,编码输出的帧结构为表4。
  
  表4
  
  帧头111010100=D4帧头211010100=D4第3字节00000111=07第4字节11111000=FB第5字节00000111=07第6字节11111010=FA第7字节00000101=05第8字节10111010=BA
  编码器仿真图如图3。
  
  同步信号clk_in上升沿到来时,编码器读入数据信息11001010,并按内部的波特率clk;在下降沿产生正确的帧格式编码输出(D4、D4、07、FB、07、FA、05、BA)。
  
  解码器的仿真图如图4所示。
  
  当解码器判断收到帧头(两个D4),则将同步信号clk_out置高,再按内部波特率clk在上升沿收6字节的帧结构码字,在同步信号的下降沿输出译码(11001010)。
  
  纠突发错仿真图如图5所示。
  
  当传输过程出现突发错时,第5字节改为FF,第7字节改为00,译码器给出信息11001010。
  
  纠突发错仿真图如图5所示。
  
  当传输过程出现突发错时,第5字节改为FF,第7字节改为00,译码器给出信息11001010。
  
  因为信息最低位的编码能纠1位错,最高位能纠4位错,所以,当第3~5字节、第6~8字节分别出现一个8位的突发错,译码器均能完全纠正。出现多个突发错时,相应的信息低位将出错,

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页