lcytms
发表于 2018-6-23 22:14:29
1000
就是说能够做这个DS的,是一个pseudo noise,PN,伪随机数。
什么是伪随机数呢?
也就是说,我们实际上做不了真随机数。
无论我们是用C语言,还是verilog的random系统任务,它实际上并不是一个真随机数。
它的内部有一个随机数表。
是不是?
数学上有一个随机数表。
按照随机数表给你生成的数。
所以它并不是一个真随机数。
真正的符合随机规律的这个模型呢,也是现在前沿研究的一个热点。
但是大多数情况之下,我们用伪随机数都可以。
就是用随机数表产生的随机数。
lcytms
发表于 2018-6-23 22:16:43
1001
用一个伪随机数来做这个直接序列。
它起到的作用,就是用它来做扩频的秘钥。
伪随机数,刚才我们说了,10100011,并不一定符合这个特征。
首先呢,它要一定的隐蔽性,还要有一定的统计规律。
这个伪随机数,pseudo noise,从随机数表上得到。
但是,我们加上一个pseudo,也就是说,它便于便利地实现。
现在我们选用的,称之为M序列。
什么是M序列呢?
lcytms
发表于 2018-6-23 22:17:43
1002
M序列只是一个特殊的名词。
它是说有一种电路结构,外形上长得有点像英文字母的M。
所以说我们把这种特定的电路结构,称之为M序列。
这个M序列呢,它是可以实现的。它可以生成pseudo noise,伪随机数PN。
这个M序列在现在的文献上,又称之为负反馈线性移位寄存器。
也是比较现代、比较前沿热门的一个词汇,负反馈线性移位寄存器。
之后我会把相关的一些文献、引文发给大家。
现在我们来看看,这个M序列它具有哪些特征?
lcytms
发表于 2018-6-23 22:19:42
1003
pseudo noise,要用PN来做这个M序列。
M序列,它是符合这个特征的。
PN伪随机数,你可以查随机数表,但是它并不便于实现。
功能上比较方便的,就是使用M序列来做它的随机数。
要说到M序列呢,我们就或多或少要说到一些数学工具。
说到数字通信里面的二元序列运算的方法。
在数字通信里面,大多数要处理的是二进制。
仅仅是0和1组成的这个序列不一定是二进制,但是可以称之为是二元。
只有两个元素的,二元的这种数学模型。
对于这个二元序列的运算,在数字通信里面,它是用一种特殊的方式,数学的线性多项式来描述。
用线性多项式来描述一个线性序列。
lcytms
发表于 2018-6-23 22:21:27
1004
这个需要一些数学背景。
但是呢,我们可以把它简单地看成一个内部电路。
lcytms
发表于 2018-6-23 22:22:16
1005
MS,用它来做直接序列。
就像我们现在看见的这个电路,它的外形有点像英文字母的M。
你把这个电路搭建出来,它的输出,将会得到一个随机数。
这个电路,你加上时钟,加上复位,这个输出的就是一个伪随机数。
虽然它是伪的。
就像我们查数学的随机数表一样,你查随机数表每次都是一样的。
并不是一个真的随机数。
我们来看它的结构是什么样的。
lcytms
发表于 2018-6-23 22:23:20
1006
它就是一个特定的电路。
Rn-1。
Rn-2。
lcytms
发表于 2018-6-23 22:24:43
1007
R1。
R0。
输出ms。
这是顶层。
这是它里面的架构。
这是寄存器。
时钟、复位我就不画了。
直接相连,是一个移位寄存器。
所以说,为什么把M序列称之为负反馈线性移位寄存器呢?
它就是一个移位寄存器。
这个移位寄存器都是顺序加载的嘛。
N-2用的是n-1的输出,0用的是1的输出。
它最终是一个反馈回来的。
我们也可以用一个数字开关来描述。
lcytms
发表于 2018-6-23 22:25:22
1008
每一级都有一个数字开关。
输入端、输出端都接了一个数字开关。
lcytms
发表于 2018-6-23 22:26:27
1009
这个数字开关我们给它进行编码。
C0、C1、C2,Cn-2、Cn-1、Cn。
这个开关有0到n个,一共n+1个开关。
一头一尾都有开关。
然后呢,是摩尔运算,就是二元值运算定理。
用异或门,