码分多路复用 CDM
根据大佬博客改编 参考博客
大概思想:结合初中物理知识,如果我们将要传输的数据比作分力的话,那么由经过被称为码的东西处理后所有的分力变成了合力,合力传输后,通过CDMA的方式让合力变成分力
也就是从分到和,再从和到分的一种思想
首先,举个栗子:
这是一段乱码的文字
用一张挖有小洞的白纸罩在这一段乱码的文字上,这时你会发现上面写着一句话
要发送的数据可以比喻为上图那段乱码的文字
码可以比喻为挖有小洞的白纸(解密的道具)
也就是说不同的码可以得到不同的内容
下面要讲一下沃尔什向量
沃尔什向量:如下图,将“1”换成了“+”,将“-1”换成了“-”,沃尔什矩阵中只有“1”和“-1” 所以某个数的平方都为1(后面要用)
观察发现,任意两行或者任意两列是正交的
好了,现在要举个要算的栗子了
例子
1.用户1的码:a1=(-1 -1 -1 -1 1 1 1 1)--第2行
2.用户2的码:a2=(-1 1 -1 1 1 -1 1 -1)--第7行
3.用户1的数据:d1=110
4.用户2的数据:d2=010
其中码为向量 数据为标量
码与数据相乘的结果如下
a1 x d1 = (-1 -1 -1 -1 1 1 1 1)|(-1 -1 -1 -1 1 1 1 1)|(0 0 0 0 0 0 0 0) a2 x d2 = (0 0 0 0 0 0 0 0)|(-1 1 -1 1 1 -1 1 -1)|(0 0 0 0 0 0 0 0)
可以看到 数据为1的部分替换成了码 数据为0的部分替换成了0向量
二者叠加后为: (相加)
(-1 -1 -1 -1 1 1 1 1)|(-1 -1 -1 -1 1 1 1 1)|(0 0 0 0 0 0 0 0)
(0 0 0 0 0 0 0 0)|(-1 1 -1 1 1 -1 1 -1)|(0 0 0 0 0 0 0 0)
_______________________________________________________________
(-1 -1 -1 -1 1 1 1 1)|(-2 0 -2 0 2 0 2 0)|(0 0 0 0 0 0 0 0)
所以最终结果是:
(-1 -1 -1 -1 1 1 1 1)|(-2 0 -2 0 2 0 2 0)|(0 0 0 0 0 0 0 0)
这个结果也就是最开始比喻的合力
用户1的数据和用户2的数据(两组数据)通过各自的码处理后相加变成了一组数据
那么,怎么分开呢?
前方高能!!!
设a向量为(即码a):
设b向量为(即码b):
码a和一个0或者1,总之记为k的数相乘得到:
同理码b和一个数据r得到:
二者叠加得到叠加信号:
这就是上述过程的公式化
然后分开的方式
叠加信号到达拥有码a的用户那儿时,与码a相乘得到:
因为的值为1或-1,(沃尔什向量的值只有“1”和“-1” )所以无论为何值,都有
因为码a和码b之间是相互正交,所以
所以有
//m个1的向量的值为m 不太清楚是为什么? 有哪位大佬知道的话麻烦留言告知,感谢~
所以 又得到了k的值 注意 k为0或1 说明也就是一个二进制数
写了一下午,终于写完了~~~ 呼 好累啊(;´д`)ゞ