第三节:扩频解码

内容:

1. 熟悉PCM码在信号领域的作用,了解扩频解码原理;

2. 设计编写扩频解码程序;

3.1PCM应用

PCM是一种信源编码,作用就是将模拟信号转化为能够被硬件识别的一串二级制码,本质上PCM代表一种信号,在信号处理领域有了该码就相当于给我们对应信号。

3.1.1系统种精度要求

在任何通信系统,任何信号对应的能够被硬件识别的码值不能够超过精度限定。

forum.jpg

3.3-1信号系统幅值与PCM对应关系

3.2扩频解码原理

forum.jpg

解码原理视图

3.2.1相关性计算

所有等价相异的m序列都具有自相关性,并且相关性较好的m序列可以用来解码,当我们不直到编码用的哪一种m序列的时候可以通过计算相关性,找到一个相关性较好的序列用来解码。

在应用种,同步之前必须有用来解码的序列,而且同步之前对应的是空闲序列,在我们系统设计空闲序列默认为全1。

空闲序列受到到噪声干扰无法控制,由于空闲序列有多个序列,总能遇到一个噪声干扰非常小的序列,我们可以认为噪声干扰忽略不计,我们称之为序列高峰,如果空闲序列是1,即为1的高峰。我们可以通过将所有等价相异的m序列同时解码,通过判断sum的值断言相关性。

forum.jpg

解码推导序列排序

forum.jpg

周期序列解码31组合排序

if(cnt==30)begin

if(sum0>= 28)

m<=m0;

if(sum30>= 28)

m<=m30;

end

///////////////////////////////////////////////////////////////////////////////////////////////////////

3.3解码硬件设计

3.3.1电路框图

forum.jpg

短路框架设计图

Verilog代码:

if(cnt==30)cnt<=0;

else cnt <=cnt +1;

if(cnt ==30)sum<=93;

else if(noise[2]==m[cnt])sum<=sum+|noise|;

else sum<=sum-|noise|;

if(cnt ==30)

if(sum>= 93 )begin seq_rec<=1;flag_seq_rec<=1;end

else begin seq_rec<=0;flag_seq_rec<=1;end

///////////////////////////////////////////////////////////////////////////////////////////

3.3.2状态机设计

forum.jpg

转态转移图架构

3.3.3绝对值运算

在计算机种绝对值等于原码

|noise| = noise[2]?~ noise+1 : noise;

///////////////////////////////////////////////////////////////////////////////////////////////////////