0

我目前正在 Python(2.7.7 版)中实现 LTE 物理层。对于 qpsk、16qam 和 64qam 调制,我想知道在整数比较和列表比较之间使用哪个更有效:

整数比较:bit_pair 作为比较前的整数值

# QPSK - TS 36.211 V12.2.0, section 7.1.2, Table 7.1.2-1 
def mp_qpsk(self): 
    r = [] 
    for i in range(self.nbits/2): 
        bit_pair = (self.sbits[i*2] << 1) | self.sbits[i*2+1] 
        if bit_pair == 0: 
            r.append(complex(1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == 1: 
            r.append(complex(1/math.sqrt(2),-1/math.sqrt(2))) 
        elif bit_pair == 2: 
            r.append(complex(-1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == 3: 
            r.append(complex(-1/math.sqrt(2),-1/math.sqrt(2))) 
    return r 

列表比较:bit_pair 作为比较前的列表

# QPSK - TS 36.211 V12.2.0, section 7.1.2, Table 7.1.2-1 
def mp_qpsk(self): 
    r = [] 
    for i in range(self.nbits/2): 
        bit_pair = self.sbits[i*2:i*2+2] 
        if bit_pair == [0,0]: 
            r.append(complex(1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == [0,1]: 
            r.append(complex(1/math.sqrt(2),-1/math.sqrt(2))) 
        elif bit_pair == [1,0]: 
            r.append(complex(-1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == [1,1]: 
            r.append(complex(-1/math.sqrt(2),-1/math.sqrt(2))) 
    return r 

谢谢

4

0 回答 0