零基础学习WCDMA(2):异或

发表时间

为什么要研究异或?异或跟WCDMA有什么关系?异或是非常简单而又实用的二进制运算,所以它成为CDMA系统(包括过时的IS-95和我们现在说的Wideband-CDMA, WCDMA)核心中的核心。所以说掌握了异或算法,也就掌握了WCDMA的钥匙。

每篇开头会提出一个问题,希望能引起你的思考,并且请你试着回答。相信在读完整篇后,你会有明确的答案。

问题:异或运算能用代数方法表示吗?

A. 不能
B. 只能用加法
C. 只能用乘法
D. 加法和乘法都可以

为什么要研究异或?异或跟WCDMA有什么关系?异或是非常简单而又实用的二进制运算,所以它成为CDMA系统(包括过时的IS-95和我们现在说的Wideband-CDMA, WCDMA)核心中的核心。所以说掌握了异或算法,也就掌握了WCDMA的钥匙。

算法和性质

异或运算通常用符号“⊕“表示,A⊕B的结果用真值表表示是这样的

A B A⊕B

直观的解释异或运算,其实是个异值比较器,当两个输入端的值不同时,输出为真。用数学语言说:

当且仅当有一个输入为真时,结果是真。

仔细观察异或的真值表,可以得到:

任何值和本身异或,结果都是假。

A ⊕ A = 假

任何值和假异或,得到它本身。

A ⊕ 假 = A

异或满足结合律,所以结合以上两条关系,得到:任何值连续两次和同一个值异或,都能恢复原值。

(A ⊕ B) ⊕ B = A ⊕ (B ⊕ B) = A ⊕ 假 = A

代数表示法

为了方便表示和计算,我们可以用数字和代数运算表示异或算法。只要能得到相同的结果,它们之间没有任何区别。因为在实际电路里,只有电平的高与低、灯泡的亮和暗、电子的正与负,跟我们用什么表示数学符号去表示它们没有关系,数学符号仅仅用来记录状态。以下用两种代数表示法表示异或运算。

(0,1) 模2加法

模2加的意思是:将相加得到的和除以2的余数,作为最终的结果。

0 + 0 = 0
0 + 1 = 1 
1 + 0 = 1
1 + 1 = 0

(1,-1)乘法

 1 x  1 =  1
 1 x -1 = -1
-1 x  1 = -1
-1 x -1 =  1

对比可以发现,这两种代数算法的结果和异或运算是完全一致的,我们可以用这两种代数运算表示信号的异或计算。所以从现在可以使用(1,-1)表示信号电平,乘法表示异或。比如:下面两组4比特序列进行异或运算,可以表示为:

( 1 -1 1 -1 ) x ( -1 1 -1 1 ) = ( -1 -1 -1 -1 )

除非特别说明,本站文章均系原创,并采用 署名协议 CC-BY 授权。
欢迎转载,惟请保留原文链接:https://lfhacks.com/tech/wcdma2