NR 多天线传输过程 2- Scrambling -2

前言:

         这里主要介绍结合Bipolar-AMI 介绍一下为什么要Scrambling

以及北美,欧洲日本常用的方案


    于威廉·斯托林斯的《数据与计算机通信》

  1. Bipolar-AMI
  2. 现有方案问题
  3. B8ZS(bipolar with 8-zeros substitution) 北美方案
  4. high-density bipolar 3zeros 日本|欧洲方案

一     Bipolar-AMI 编码

     这里面简单回顾一下该编码

     作用:

             数字信号调制成模拟脉冲信号

     原理:

          pre_voltage = -1

            if bit== 0:

                       voltage =0

             else

                        voltage = - pre_voltage

                        pre_voltage = voltage


二  现有方案问题

     收发双发时钟不同步,导致收发出错。

     通讯的时候:

      收发双发都是按照约定的采样周期去采样的

      如下图:

            发送方发送5个0,接收方因为时钟不同步,采样得到的数据只有4个0

            同样当接收方发送数据的时候,接收方可能会多一个0

            

     如下:

   当全是1的时候

    由电压变化,重置时钟,避免不同步,但是不能保证任何给定的时钟信号都是周期性的,我们有些1,所以我们通过扰码技术,以确保即使发送者发送一个长序列0,也能检测到电压变化,

达到时钟同步的效果.

         

     


三  B8ZS(bipolar with 8-zeros substitution)

      这种扰码技术是基于双极AMI( Bipolar-AMI),在北美常用

     双极AMI:

                正电压后面一定是负电压值交替出现

    原理:

             编码的时候,当遇到连续8个0 的时候,

当前一个电压值为  +, 替换为 000+     -0-+

 当前一个电压值为 -,      替换为 000 -     +0+-

因为双极AMI( Bipolar-AMI) 编码的时候,必须是+,-交替出现的

是加扰后,出现的是++ -- + 或者 --++-,违反+- 交替出现的规则

def B8ZS():
    
    data = [1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1]
    Positive =[0,0,0,1,-1,0,-1,1]
    Negative= [0,0,0,-1,1,0,1,-1]
    pre_voltage = -1
    Y = []
    N = len(data)
    
    zeros ={}
    
    for i in range(N):
        
        bit = data[i]
        
        if 0 == bit:
            num = num+1
            
            if num==8: #记录下当前的位置
                zeros[i]=pre_voltage
                num = 0
                print("\n i",i,pre_voltage)
        
        else:
            num = 0
            pre_voltage = -pre_voltage
            Y.append(pre_voltage)
            
    
    for key in zeros.keys():
        
        voltage = zeros[key]
        print("\n voltage ",voltage)
       
        if voltage == -1:
            Y[key-7:key]=Negative
        else:
            Y[key-7:key]=Positive
    
    show_voltage(Y)      
    
    
            
 
 
if __name__ == "__main__":
    
    
    B8ZS()

 

  如上图,红色部分是违背编码规则的,很容易检测出来,通过voltage编码

进行时钟同步。


四 high-density bipolar 3zeros(3阶高密度双极性码)

     

  这种扰码技术是基于双极AMI( Bipolar-AMI),在日本欧洲常用

     双极AMI:

                正电压后面一定时负电压值

    原理:

             编码的时候,当遇到连续4个0 的时候,依照

    前面脉冲的场景,替换成对应的脉冲信号。

   需要检查: 

      a:  前面脉冲+ ,- 情况

     b:  上次替换后,脉冲1的奇偶数情况

          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值