基带芯片公共信道中产生从同步码的装置和方法技术领域
本发明涉及产生从同步码(SSC)的装置和方法,具体涉及基带芯片公共
信道中产生从同步码(SSC)的装置和方法。
背景技术
在WCDMA基站基带调制芯片公共信道调电路设计中,需要产生多个从同步
码SSCs,根据3G25.213协议,需要产生16个备用的从同步码SSCs,
{Cssc1,...,Cssc16},它们都是实部和虚部相同的复数值序列,是由Hadamard
(汉明)序列产生的。而汉明序列是通过产生z序列获得。定义z序列为:
z=<b,b,b,-b,b,b,-b,-b,b,-b,b,-b,-b,-b,-b,-b>,
其中:
b=<x1,x2,x3,x4,x5,x6,x7,x8,-x9,-x10,-x11,-x12,-x13,-
x14,-x15,-x16>。
其中,
x1,x2,...x15,,x16与PSC(主同步码)码的a序列的定义相
同,即
a=<x1,x2,x3,...,x16>=<1,1,1,1,1,1,-1,-1,1,-1,1,-
1,1,-1,-1,1>
根据a序列,可以计算出:
b=<1,1,1,1,1,1,-1,-1,,-1,1,-1,1,-1,1,1,-1>。
通常,Hadamard序列是由矩阵H8的行产生的:
H0=(1)
H k = H k - 1 H k - 1 H k - 1 - H k - 1 , k ≥ 1 ]]>
其中,矩阵的行是从顶部行0(全1序列)开始编号的。将n阶Hadamard序
列记为矩阵H8的一行,从顶部开始编号,n=0,1,2,...,255,将序列hn和z的
第i个符号记为hn(i)和z(i),i=0,1,2,...,255,i=0对应最左边的符
号。
第k个SSC码,Cssck,k=1,2,3,...,16定义为:
Cssck=(1+j)<hm(0)’z(0),hm(1)’z(1),hm(2)’z(2),...,
hm(255)’z(255)>
其中,m=16*(k-1)和序列最左边的码片对应于在时间上最先发送的码片。
图1描绘了现有技术产生从同步信道码的装置的原理框图。图2描绘了图1
中产生从同步信道码的装置中b序列发生器、z序列发生器和控制单元的电路
原理图。根据图1和2,b序列发生器1包括2输入多路选择器和移位寄存器,在
外部信号ssc_sync的触发下,从同步码中的的b序列由固定的16个移位寄存器
每一个系统时钟周期移位一位产生,控制单元3中的计数器count[7:0]在外部
信号ssc_sync的触发下开始从0~255计数,以产生相关控制。根据Cssck的
求取等式中z(i),i=0,1,2,...,255,,Z序列发生器2完成的功能是每
16个系统时钟周期发送b序列或对b序列取反发送。
因此,获取Cssck的关键在于如何计算矩阵H8。图3是现有技术中用查表
法获取矩阵H8的存储装置示意图。由于矩阵序列H8实际上就是一个256*256的
矩阵,可以采取查表的方法实现,根据行号(RAM的地址)和列号(RAM中所
对应的位bit)来查询某一行某一列对应的数据。
矩阵,可以采取查表的方法实现,根据行号(RAM的地址)和列号(RAM中所
对应的位bit)来查询某一行某一列对应的数据。
在现有技术中使用查表的方法来产生矩阵序列H8的方法,消耗的寄存器
资源较大。如在上述应用中,要实现256*256的矩阵,消耗的寄存器为8192字
节。
发明内容
本发明的目的是克服现有技术的上述缺点,提供一种装置和方法,以在
基带芯片公共信道中产生从同步码(SSC),也就是产生Hadamard序列矩阵,
本发明利用简单的逻辑电路实现了在已知行号和列号的情况下对一个有规律
的矩阵实时计算对应位置的值。
本发明提供了一种基带芯片公共信道中产生从同步码(SSC),即产生2m
阶Hadamard序列矩阵中各元素的装置,其中,m为不小于0的整数,所述装置
包括:
至少一个与逻辑运算单元和一个异或运算单元;
一个获取装置,用于获取任意数对应的二进制数的各比特对应的二进
制数;
其中,为得到所述矩阵的第n行i列的值hn(i)时,所述获取装置分别
获取所述n和i的0到m-1比特对应的二进制数,将获取的所述n和i对应二进
制数的相同比特由所述与逻辑运算单元分别求与,将所述分别求与的0到
m-1个状态通过所述异或运算单元后获取所述hn(i),其中所述n和i为大于
等于0小于2m的整数。
可选地,在m=1时,所述n和i为小于2的整数;所述装置包括二个二输
入与逻辑运算单元和一个异或运算单元,根据要得到的2阶Hadamard序列
矩阵的所述行(n)和列(i)的元素,所述二个二输入与逻辑运算单元的
输入分别输入所述行(n)和列(i)二进制数的第1位到第2位的对应比
特,即其中一个二输入与逻辑运算单元的输入分别为所述行(n)和列
(i)二进制数的第1位,另一个二输入与逻辑运算单元的输入分别为所述
行(n)和列(i)二进制数的第2位,所述一个二输入与逻辑运算单元的
输出端与所述另一个二输入与逻辑运算单元的输出端分别连接到所述异或
运算单元的输入端,所述异或运算单元的输出端输出对应元素。
优选地,在m增加1时,所述装置包括一个增加的所述与逻辑运算单
元,以进行所述行(n)和列(i)的增加的1位的与逻辑运算。
可选地,在m增加1时,所述装置包括一个增加的所述二输入与逻辑运
算单元,以进行所述行(n)和列(i)的增加的1位的与逻辑运算。
优选地,还包括一个增加的异或运算单元,以完成所述一个增加的所
述二输入与逻辑运算单元的输出的异或运算。
另外,一种基带芯片公共信道中产生同步码(SSC)即产生2m阶
Hadamard序列矩阵中各元素的装置,其中,m为不小于0的整数,所述装置
包括:
一个处理器单元,用于进行与逻辑运算和异或运算;
一个存储装置,用于存储任意数对应的二进制数的各比特对应的二进
制数;
其中,为得到所述矩阵的第n行i列的值hn(i)时,所述一个处理器单
元读取所述存储装置存储的所述n和i的0到m-1比特对应的二进制数,将读
取的所述n和i对应二进制数的相同比特由所述处理器单元分别求与,将所
述分别求与的0到m-1个状态通过所述处理器单元异或运算后获取所述
hn(i),其中所述n和i为小于2m的整数。
本发明还提供一种产生基带芯片公共信道中产生同步码(SSC)即2m
阶Hadamard序列矩阵中各元素的方法,其中,m为不小于0的整数,所述方
法包括:
在需要得到所述矩阵的第n行i列的值hn(i)时;
获取所述n和i的0到m-1比特对应的二进制数;
分别求与所述或取的所述n和i对应二进制数的相同比特;
将所有所述分别求与的0到m-1个状态进行异或运算;
输出所述hn(i),其中所述n和i为小于2m的整数。
可选地,所述获取所述n和i的0到m-1比特对应的二进制数的步骤包括步
骤:获取所述n和i二进制数的最低位比特和获取所述n和i二进制数的下一位
比特。
优选地,所述分别求与所述获取的所述n和i相同的比特对应的二进制数
的步骤包括步骤:求与所述获取的所述n和i二进制数的最低位比特和求与所
述或取的所述n和i二进制数的下一位比特。
可选地,所述进行异或运算的步骤包括步骤:异或所述获取的所述n和i
二进制数的最低位比特和求与所述或取的所述n和i二进制数的下一位比特。
利用本发明,当存储的数据量大时,可大大节省寄存器资源的消耗。
利用本发明,由于这种矩阵的扩展和缩减采用相同的电路计算,而不必随时
更新电路。
附图说明
图1描绘了现有技术产生从同步信道码的装置的原理框图;
图2描绘了图1中产生从同步信道码的装置中b序列发生器1z序列发生器
2和控制单元3的电路原理图;
图3是现有技术中用查表法获取矩阵H8的存储装置示意图;
图4是本发明的产生H8矩阵电路原理图;
图5是本发明的产生H9矩阵电路原理图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细说明。
表1是本发明采用的H8阵列的示意结构,其中,将n阶Hadamard序列记为
矩阵H8的一行,从顶部开始编号,n=0,1,2,...,255,将序列hn第i个符号
(即第i列)记为hn(i)。
![]()
表1
其中,Hadamard序列是由矩阵H8的行产生的:
H0=(1)
H k = H k - 1 H k - 1 H k - 1 - H k - 1 , k ≥ 1 ]]>
由该公式可计算出整个矩阵序列中hn(i)的值,表2示出了H8阵列各点的
值。换句话说,当2进制数n[7:0]表示行数,2进制数i[7:0]表示列数时,
矩阵n行i列所对应的数据hn(i)=^(n&i)。其中&表示逻辑“与”,^表示逻
辑“异或”。对于Hk(k>=0)矩阵,n为行数i为列数矩阵均可由hn(i)=
^(n&i)求得。
![]()
表2
其中,n(k)表示n用二进制表示时,从低位到高位的第k位的数,如:
255(7)=1,...255(0)=1;4(7)=4(6)=4(5)=4(4)=4(2)=4
(1)=4(0)=0,4(3)=1;3(1)=3(0)=1,3(2到7)均为0。
根据该结果,本发明设计了图4所示的电路,利用该电路产生H8矩阵。本
电路还适合用于产生Hk扩展的矩阵,其中的数据都可根据行数和列数求得,
对应电路只需要根据矩阵的大小减少和增加2输入与门和2输入异或门即可。
参照图4,描绘了本发明的产生H8矩阵电路原理图。其中,根据逻辑关
系,可得出下列公式:
hn(i)=^(^(^(n(5)&i(5))(n(4)&i(4)))(^(n(7)&i(7))(n(6)&i(6))))(^
(^(n(3)&i(3))(n(2)&i(2)))(^(n(1)&i(1))(n(0)&i(0)))))。
其中:&表示逻辑“与”,^表示逻辑“异或”。例如:h255(255)=0,
h254(255)=1。
根据上面的公式,图4描述了本发明的产生H8矩阵具体电路。该电路包括
8个二输入与门,每个与门的两个输入分别输入n和I的相同比特的二进制数,
由于矩阵为256×256,需要8比特二进制数表示,因此,需要8个二输入与
门。另外,对于8个二输入与门的输出,根据上面的公式,需要求异或,因
此,本实施方案还包括7个二输入异或门,其中,4个二输入异或门的输入分
别与8个二输入与门的输出连接,这4个二输入异或门的输出由连接到2个二输
入异或门,这2个二输入异或门的输出由连接到1个二输入异或门,最后的1个
二输入异或门输出H8矩阵的元素,即从同步码。实际上,本发明还可由一个
八输入异或门实现。另外,利用存储单元和控制单元,本发明可由一个与逻
辑单元和一个异或逻辑单元实现,首先,控制单元将第一个与的结果存储在
存储单元中,然后,求第二个与结果,然后,求两个与结果的异或,依次类
推,可得到所有结果。另外,也可先求所有的与结果并存储,然后求异或。
图5示出本发明的产生H9矩阵电路原理图,其原理与上面相同。该电路包
括图4中的所有电路,另外增加了一个与门和一个异或门。其中的8个与门和7
个异或门与图4的工作方式相同,即:8个二输入与门,每个与门的两个输入
分别输入n和I的相同比特的二进制数,由于矩阵为256×256,需要8比特二进
制数表示,因此,需要8个二输入与门。另外,对于8个二输入与门的输出,
根据上面的公式,需要求异或,因此,本实施方案还包括7个二输入异或门,
其中,4个二输入异或门的输入分别与8个二输入与门的输出连接,这4个二输
入异或门的输出由连接到2个二输入异或门,这2个二输入异或门的输出由连
接到1个二输入异或门,这1个二输入异或门输出H8矩阵的元素。为了获得H9
矩阵的元素,输出H8矩阵的元素的异或门的输出需要与增加的与门的输出异
或。在增加的与门中,输入为增加的n和I的比特的二进制数(这里示出的是
第九个比特,实际上可是任一个比特,实际上,只要9个与门的输入分别是9
个n和I的相同比特的二进制数,其顺序并不影响结果。)。
最后,增加的异或门输出H9矩阵的元素,也就是9阶从同步码。
实际上,本发明的8个异或门还可由一个九输入异或门实现。另外,利用
存储单元和控制单元,本发明可由一个与逻辑单元和一个异或逻辑单元实
现。
可以看出,利用与和异或逻辑单元,获得任何阶从同步码的电路均是一
个简单的复制,如,为了获得H10,需要在产生H9的电路的基础上增加一个与
逻辑单元和一个异或逻辑单元。因此,电路简单。又由于其电路逻辑是简单
的复制,可以由含有处理单元和存储单元的可编程装置实现本发明。
实际应用中,一种产生基带芯片公共信道中产生从同步码(SSC)的方
法,通过获取2m阶Hadamard序列矩阵中各元素产生从同步码,其中,m为不小
于1的整数。在需要得到所述矩阵的第n行i列的值hn(i)以产生所述从同步码
时,处理装置首先在步骤1获取所述n和i的0到m-1比特对应的二进制数;然后
在步骤2,分别求与所述获取的所述n和i对应二进制数的相同比特,以分别得
到0到m-1个状态;在步骤3,将步骤2求出的所有分别求与的0到m-1个状态进
行异或运算;在步骤4,输出所述hn(i),产生所述从同步码,其中所述n和i
为小于2m的整数。其中,步骤1还包括步骤11:获取所述n和i二进制数的最低
位比特和获取所述n和i二进制数的下一位比特;及获取更高位比特。步骤2还
包括步骤21:求与所述获取的所述n和i二进制数的最低位比特和求与所述或
取的所述n和i二进制数的下一位比特,及更高位比特。步骤3还包括步骤31:
异或所述获取的所述n和i二进制数的最低位比特和求与所述或取的所述n和i
二进制数的下一位比特,及更高位比特。
通过这种方法,可以很容易产生2m阶Hadamard序列矩阵中各元素而不需
要复杂的电路和运算,其中,m为不小于0的整数,这样,可以获得任何阶从
同步码。
虽然通过实施例描绘H8和H9的具体电路来描绘了本发明,本领域普通技
术人员知道,本发明有许多变形和变化而不脱离本发明的精神,如,与逻辑
单元和异或逻辑单元可由可编程逻辑单元实现,一台通用的计算机在通过将
本发明透露的方法编为其可运行的程序后,通过运行实现本发明的方法的程
序也可实现本发明的装置来产生从同步码,希望所附的权利要求包括这些变
形和变化。