CN1561581B - 在数字信号处理器中恢复被解扩信号的方法和用于恢复被解扩信号的数字信号处理器 - Google Patents
在数字信号处理器中恢复被解扩信号的方法和用于恢复被解扩信号的数字信号处理器 Download PDFInfo
- Publication number
- CN1561581B CN1561581B CN02816442.3A CN02816442A CN1561581B CN 1561581 B CN1561581 B CN 1561581B CN 02816442 A CN02816442 A CN 02816442A CN 1561581 B CN1561581 B CN 1561581B
- Authority
- CN
- China
- Prior art keywords
- code
- plural
- signal
- despreading
- operand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/709—Correlator structure
- H04B1/7093—Matched filter type
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
数字信号处理器在无线电话系统中完成解扩解码(despreaddecoding)。正交代码被用来把数据信号组合成一个被传输的整体编码信号。正交代码被用来从被传输的整体编码信号中取回个别的数据信号。解扩指令(despread instructions)被包括在数字信号处理器功能性之中。
Description
本发明的技术领域
本发明涉及用于无线电话应用的数字信号处理器,更具体地说,涉及用接近正交的代码隔离信号各组成部分的指令。
本发明的现有技术
在实现蜂巢式电话系统的时候,重要的是使能在可用的频率下传输的数据的数量达到最大值。这往往涉及变更数据信号以允许过传输更多的数据。这些变更必须是可逆的以便最初的信号能在接收端被充份地重新获得。变更数据的一种方法是通过码分多址(CDMA)和扩频。
扩频是一种把正常的窄带信号转变成非常宽带的信号的变更数据的方法。在宽频带上给信号扩频允许使用较低的功率发送和接收信号。扩频是通过将最初的信号乘以展开和复制信号的代码实现的。信号被复制在宽频带上的次数被称为扩频因子。例如,扩频代码(1,1,1,1)有扩频因子4,因为在该代码与信号相乘的时候,每个信号部分(被称为“符号”)被重复四次。上述的扩频代码实例在与由符号“abcd”组成的信号相乘的时候得到扩频的信号“aaaabbbbccccdddd”。如果为了将同样的符号扩频,发出的扩频代码是(1,-1,1,-1),那么扩频信号是“aa-aa-bb-bb-cc-cc-dd-dd-”(-应在前一字符上方),其中x代表原始符号x的负值。一旦扩频,宽带信号就被传送给接收器。信号在接收端被解扩,以复原最初的信号。用来将信号扩频的代码被用来使信号解扩。
由于包括解扩功能需要的强化计算在内的一些因素,接收器已实现包括各种ASIC的使用和具有数字信号处理器的最基本的组成部分的硬件模块的使用的解扩装置。这些工具因缺乏编程能力而受到损害。其它的解扩装置已包括各种FPGA的使用,但是这些装置因为成本和它们在编程方面不提供充份的灵活性而不受欢迎。
数字信号处理器(而不是ASIC)因为它的软件编程能力成为符合要求的解决方案。然而,数字信号处理器处理实现令人满意的解扩装置必不可少的高速复数计算是困难的。
因此,存在改进用在被传输的无线电话信号解码方面的解扩装置的落实的需要。
本发明的概述
提供一种在数字信号处理器中用来处理信号值的方法,该方法包括下述步骤,作为对至少规定信号值和解扩代码的单一指令的响应,将信号值乘以解扩代码。该方法可以进一步包括将相乘的结果与来自先前的乘法运算的结果相加的步骤。解扩代码可以有能被4除尽的扩频因子。解扩代码可以被分为代码片段,每个代码片段包括一个包括1实数位和1虚数位的2位复数代码。就这些代码位而言,设定代码位可以代表-1的数值,而清零代码位可以代表+1的数值。信号值可以包括16位,其中包括8实数位和8虚数位。
进一步提供在数字信号处理器中用来计算数据集的方法,该方法包括下述步骤,作为对一条或多条至少规定信号值和一组代码的指令的响应,对那组代码中的每个代码完成信号值与那组代码之一的乘法运算;将乘法运算的结果相加;以及产生来自相加结果的数据集。相加可以包括将相乘的结果与乘以先前一组代码的结果相加。那组代码可以有能被4除尽的扩频因子。那组代码中的每个代码都可以是包括1实数位和1虚数位的2位复数代码。设定代码位可以代表-1的数值,而清零代码位可以代表+1的数值。信号值可以包括16位,其中包括8实数位和8虚数位。
在进一步的实施方案中,提供一种数字信号处理器,该数字信号处理器包括用来储存用于数字信号计算的指令和操作数的存储器;用来产生用来从所述的存储器取出一些选定的所述指令的指令地址的程序定序器;以及包括用于暂时储存操作数和结果的寄存器堆和用来执行规定数据信号和代码的解码指令的执行模块的计算模块,所述的执行模块包括用来将数据信号的各个部分与代码相乘并且将结果累加的复数乘法和累加引擎。数字信号处理器可以作为对数字信号处理器执行解码指令的响应完成一组关于数据信号的各个部分和代码的各个部分的复数乘法运算;以及将复数乘法运算的结果相加。代码可以有能被4除尽的扩频因子。在进一步的实施方案中,代码被分为若干代码片段,每个代码片段包括一个包括1实数位和1虚数位的2位复数代码。在更进一步的实施方案中,设定代码位代表-1的数值,而清零代码位代表+1的数值。数据信号可以包括16位,其中包括8实数位和8虚数位。
在另一个实施方案中,提供一种在数字信号处理器中用来计算输出数据的方法,该方法包括下述步骤,作为对一条或多条至少规定一组复数的第一操作数(第一操作数每个都包括8实数位 和8虚数位)和一组复数的第二操作数(第二操作数每个都包括1实数位和1虚数位)的指令的响应,针对每个第二操作数完成第一操作数之一乘以第二个操作数之一的复数乘法运算;把在那组第二操作数范围内从头到尾相乘的结果相加;以及从相加的结果产生一组数据作为输出。在进一步的实施方案中,在第二操作数之一中的设定位代表-1的数值,而在第二操作数之一中的清零位代表+1的数值。在更进一步的实施方案中,那组复数的第二操作数包括解扩代码。在又一个实施方案中,那组复数的第一操作数包括引入的数据信号。在进一步的实施方案中,引入的数据信号是声音传输信号。
进一步提供一种在数字信号处理器中用来处理信号值的方法,该方法包括下述步骤,根据指令规定的复数信号值和两位的复数代码片段,完成信号值乘以代码片段的复数乘法运算提供经过处理的数据数值。
进一步提供一种在数字信号处理器中用来处理信号值的方法,该方法包括下述步骤,(a)根据指令规定的一组复数信号值和对应的一组复数代码片段,完成每个信号值乘以对应的代码片段的复数乘法运算提供一组中间数值;和(b)完成中间数值的复数加法运算提供经过处理的信号值。该方法可以进一步包括针对许多组复数信号值重复步骤(a)和(b)的步骤以提供一连串经过处理的信号值。在该方法中,每个复数代码片段都可以是两位复数代码
附图简要说明
为了更好地理解本发明,参考在此处通过引证被并入的附图,其中:
图1是无线电话基站信号链的方框图;
图2是适合依照本发明的一个方面实现信道译码器的数字信号处理器的方框图;
图3是在图2的数字信号处理器中展示的每个计算模块的实施方案的方框图;
图4是举例说明使用正交代码扩频和解扩的程序的方框图;
图5举例说明数字位对复平面上的表示点的映射;
图6举例说明数字位对对复平面上的表示点的映射;
图7举例说明正交代码树的例子;
图8是举例说明两组符号的扩频和解扩的数据流程图;
图9是举例说明可以作为对解扩指令的响应完成的各项操作的第一实施方案的数据流程图;
图10是举例说明可以作为对解扩指令的响应完成的各项操作的第二实施方案的数据流程图;
图11举例说明用来依照本发明的一个方面完成解扩的软件程序;
图12是举例说明可以作为对解扩指令的响应完成的各项操作的第三实施方案的数据流程图。
本发明的详细描述
为了举例说明的目的,下面描述的技术是按蜂巢式电话信号的传输的先后关系描述的。然而,许多被描述的技术在对移动电话有用的同时对其它的高速数据传输应用也可能是有用的。
无线电话基站信号链实例的方框图被展示在图1中。信号链包括符号率处理10和码片率处理12。符合需要的是将符号率处理10并入数字信号处理器。在发送一侧上,符号率处理10包括CRC附件模块20、信道编码模块22、比率匹配模块24和交织模块26。在接收一侧,符号率处理10包括解交织模块30、比率确定模块32、信道解码模块34和CRC附件模块36。
码片率处理12包括在发送一侧的扩频和调制模块40和在接收一侧的分离多径接收器42。完成解扩的数字信号处理器可以被用在接收一侧边。
适合实现本发明的特征的数字信号处理器(DSP)110的示例方框图被展示在图2中。数字信号处理器110的主要部分是计算模块112和114、存储器116、控制模块124、链路口缓冲器126、外部口128、DRAM控制器130、指令调整缓冲器(IAB)132和主要的指令译码器134。计算模块112和114、指令调整缓冲器132、主要的指令译码器134和控制模块124构成完成DSP110的主要的计算和数据处理功能的核心处理器。外部口128借助外部地址总线158和外部数据总线168控制外部通信。链路口缓冲器126借助通信口136控制外部通信。DSP优选被配置成单一的单片集成电路。
存储器116可以包括三个独立的大容量内存条140、142和144。在优选的实施方案中,内存条140、142和144每个都有64K 32位字的容量。如同下面讨论的那样,内存条140、142和144优选每个都有128位的数据总线。高达四个连续排列的32位的数据字每个都能在单一时钟周期中转移到或转移出每个内存条。
DSP110的各个要素通过适合于有效的高速操作的总线相互连接。每条总线都包括适合并行转移二进制数据的多条线。第一地址总线150(MA0)将内存条140(M0)和控制模块124相互连接。第二地址总线152(MA1)将内存条142(M1)和控制模块124相互连接。第三地址总线154(MA2)将内存条144(M2)和控制模块124相互连接。地址总线150、152和154每条都优选16位宽。外部地址总线156(MAE)将外部口128和控制模块124相互连接。外部地址总线156通过外部口128与外部地址总线158相互连接。外部地址总线156和158每条都优选32位宽。第一数据总线160(MD0)将内存条140、计算模块112和114、控制模块124、链路口缓冲器126、IAB132和外部口128相互连接。第二数据总线162(MD1)将内存条142、计算模块112和114、控制模块124、链路口缓冲器126、IAB132和外部口128相互连接。第三数据总线164(MD2)将内存条144、计算模块112和114、控制模块124、链路口缓冲器126、IAB132和外部口128相互连接。数据总线160、162和164都通过外部口128接到外部数据总线168上。数据总线160、162和164每条都优选是128位宽,而外部数据总线168优选是64位宽。
第一地址总线150和第一数据总线160包括用来把数据转移到或转移出内存条140的总线。第二地址总线152和第二数据总线162包括用来把数据转移到或转移出内存条142的第二总线。第三地址总线154和第三数据总线164包括把数据转移到或转移出内存条144的第三总线。由于内存条140、142和144每个都有独立的总线,所以内存条140、142和144可以被同时访问。 如同本文中使用的那样,“数据”表示二进制的字,它可以代表与DSP110的操作有关的指令或操作数。
在典型的操作模式中,程序指令被储存在内存条之一中,而操作数被储存在另外两个内存条中。因此,在单一的时钟周期中能给计算模块112和114提供至少一条指令和两个操作数。内存条140、142和144每个都可以是为了允许在单一的时钟周期中读和写多个数据字而配置的。在单一的时钟周期中同时转移来自每个内存条的多个数据字不需要指令高速缓冲存储器或数据高速缓冲存储器就能完成。
如同前面指出的那样,内存条140,142和144每个都优选有64K 32位字的容量。每个内存条都可以被接到128位宽的数据总线上。在其它替代实施方案中,每条数据总线都可以是64位宽的,而且在每个时钟相位(时钟相位1和时钟相位2)都转移64位,因此提供128位的有效总线宽度。在单一时钟周期中能在每个内存条中存取多个数据字。明确地说,数据每个都能作为单一的、成双的或四个一组的32位字被存取。
使用四个一组的字的转移,四条指令和八个操作数(每个32位)能在单一时钟周期中提供给计算模块112和114。被转移的数据字的数量和接受数据字的一个或多个计算模块是由指令中的控制位选定的。单一的、成双的或四个一组的数据字能被转移到计算模块112、计算模块114或两者。成双的和四个一组的数据字存取在许多应用中由于允许一些操作数在单一的时钟周期中转移到计算模块112和114提高了DSP110的性能。在每个时钟周期中存取多条指令的能力允许在每个时钟周期中执行多重操作,借此提高性能。
每个计算模块112和114的实施方案的方框图被展示在图3。多口寄存器堆200为操作数和结果提供暂存。在优选的实施方案中,寄存器堆200每个都有32个32位字的容量,每个都被组织成128位的八排。寄存器堆200通过多路复用器和锁存器(未示出)连接到每条数据总线160、162和164上(图2)。当操作数从存储器116中取出的时候,三条数据总线中的两条被选定,而且在被选定的总线上的操作数被提供给寄存器堆200。
图3展示的计算模块包括乘法器/累加器210、算术逻辑单元(ALU)212、移相器214和加速器216。乘法器/累加器220、ALU212、移相器214和加速器216能够同时执行指令到能将足够的指令和操作数提供给计算模块的程度。来自寄存器堆200的操作数是在操作数总线220上传送给乘法器/累加器210、ALU210、移相器214和加速器216的。来自乘法器/累加器210、ALU212、移相器214和加速器216的结果在结果总线222上返回寄存器堆200。计算模块的组成部分作为对解码指令的响应受来自次级指令译码器224的信号的控制。计算模块优选具有改善性能的流水线体系结构。
DSP中的每个计算模块112和114都包括在无线电话基站中用来提高性能的加速器216。加速器包括用于暂存数据和控制数值的寄存器和用来执行指定的指令的加速器电路。加速器如同下面描述的那样完成在解扩功能中必不可少的复数乘法。
举例说明扩频和解扩过程的简化图表被展示在图4。两个数字化的声音信号300和302在传输准备中由调制器304处理。调制是将数字位变换成适合无线传输的复数的过程。如同在图5中展示的那样,数字位0和数字位1被变换成复平面上的点。为了提高传输率,复平面上的一点可以代表多位。例如在图6中,位对被变换成复平面上的点。以这种方式,接收有数值1+j的复数 信号的接收器把那个信号解释为数字位对00。这些点可以在以这种方式被选来代表数字位的三元组、四元组等。然而,这些点必须被选择在复平面中离得足够远,以便接收器可以正确解释收到的复数数值。由此产生的经过调制的数据信号部分被称为符号。
符号306和308在乘法器307和309中乘以各自的复数扩频代码310或312。复数扩频代码310和312是这样选定的,以致它们彼此正交。通过使复数代码正交,由此产生的编码信号314和316可以在不干扰系统稍后接收代码的能力的情况下通过加法单元318相加。两个彼此正交的代码的例子是(1,1)和(1,-1)。
重要的是记住尽管图4描绘用于仅仅包含两个信号的传输的扩频和解扩,但是两个以上信号可以被合并起来传输。如果多样的信号被合并,每个信号都需要一个与所有其它的代码正交的扩频代码,以便这些符号可以在接收端被重新获得。存在几种用来确定有足够的正交性的代码集的方法;优选的方法是用图7中的树描述的。为了产生与树中所有其它的代码正交的代码,基本代码[在这个例子中,(1)]在顶部分支中被重复两次并且在底部分支中被重复一次和求反一次。例如,代码(1)被重复两次后变成(1,1)。代码(1)被重复和求反后变成(1,-1)。然后,由此产生的代码依照图7所示的算法在顶部分支中重复两次,并且在底部分支中被重复和求反。用这种方法最终的全部代码都是彼此正交的。选择正交代码保证信号能被接收器重新获得。
扩频之后,编码信号被求和且被传送到接收器。求和后的扩频信号部分被称为码片。收到的信号在解扩模块317和319被解扩。解扩功能被简化成相乘和累加功能。收到的信号被提供给不同的分支并且在每个分支中乘以最初的扩频代码之一。在每个分支中相乘的结果被累加起来。因为复数扰频代码是彼此正交的,所以当扩频代码与编码信号相乘的时候,用那个扩频代码扩频的 原始符号被保留而所有其它的符号被取消。解扩操作下面将被详细讨论。
现在被分离的原始符号被送往通滤波器(BPF)324。BPF324用来除去在信号频率范围之外的噪声。带外噪声被除去之后,信号通过解调器326和328解调,于是原始的数字信号300和302被重新获得。
扩频和解扩的过程允许多重声音信号被一起传输。如上所述,上方,图4的例子被局限于两个声音信号。
扩频和解扩对符号的影响的详细实例被展示在图8中。两个符号集abcd500和fghk502分别乘以正交代码504和506。代码504与代码506正交。由此产生的编码符号集508和510相加,然后作为编码信号512被传送。当编码信号的各个部分,即“码片”,(编码信号512包含16个码片)被接收的时候,它们被乘以它们各自的代码,加在一起,并且除以扩频因子(在图8的示例情况该扩频因子是4)。于是原始信号abcd和fghk在接收一侧被重新获得。
这个解扩过程需要强化计算的。为了在接收器一侧获得由此产生的数据信号,必须执行几次复数乘法运算。每个码片必须乘以解扩代码的每个片段,然后这些结果必须被累加起来。这些乘法运算和累加运算的速率必须以等于(canal to)或大于接收器接收信号的速率。鉴于蜂巢式声音传输的高数据率,DSP直到现在仍然不能提供实现解扩计算必不可少的计算速度。
用于解扩装置的核心操作是复数乘法和累加。依照一个实施方案,解扩功能是在数字信号处理器的加速器部分216中通过几 条DESPREAD(解扩)指令之一的运用实现的。用于解扩指令的操作数可以包括码片、代码和先前累加的解扩数值。
DESPREAD指令允许DSP快速地完成对于解扩操作必不可少的复数乘法运算和累加运算功能。参照图8的实例,信号512被标注为(a+f)、(a-f)、(a+f)及其它的部分是码片[(a+f)是码片]。每个都优选用8实数位和8虚数位的数字表示。(在实践中,码片在大小方面可以改变,取决于抽样率或其它与系统有关的事物,但是为了举例说明,和就目前系统的优先选择而言,码片被假定为16位)。如上所述,码片是被传输的数据信号的一部分。收到的码片数值被储存在DSP的寄存器中以便用解扩指令进行处理。
类似地,复数代码数值被储存在DSP的寄存器中供解扩指令使用。选择代码数值为±1±j有一些优势。首先,代码片段小而且更容易变成正交的。其次,它们非常容易仅仅用两位表达:一个实数位和一个虚数位,如果该位被设定,则它代表-1的数值,如果该位被清零,则它代表+1的数值。这种表达大大减少用代码完成复数乘法运算所必需的硬件。第三,这些代码足够小,很容易储存在寄存器中,而且在执行期间不必从存储器装载。
如上所述,扩频因子定义每次解扩操作的复数乘法的次数。因为硬件的限制,本发明的优选实施方案利用能被4除尽的扩频因子,而且为了举例说明利用扩频因子8。
带扩频因子8的代码是用16位数字表达的:八个代码片段,每个片段有1实数位部分和1虚数位部分。就数字表达而言,清零位代表+1的数值,而设定位代表-1的数值。以这种方式,两个16位代码可以被储存在32位字中。DESPEREAD指令的操作下面予以描述。
如同前面解释的那样,为了把信号从编码数据数值中分离出来,码片被乘以复数代码。第一DESPREAD指令通过进行下面的函数运算完成这个操作:
上述等式计算码片乘以解扩代码的复数乘法运算产生的信号。Resulting SignalReal是最终信号的实部,而ResultingSignalImag是最终信号的虚部。nCodeReal是解扩代码在位数值n的实部,而nCodeImag是解扩代码在位数值n的虚部。类似地,nChipReal是对应于解扩代码在n的码片数值的实部,而nChipImag是对应于代码数值在n的码片数值的虚部。
这种第一类型的DESPREAD指令具有下述形式:
TRs=DESPREAD(RmQ,THrd)
举例说明作为对这种第一类型的DESPREAD指令的响应完成的操作的数据流程图被展示在图9。八个16位码片(每个码片由8个实数位和8个虚数位构成)的数值被保存在四个一组的寄存器Rmq704(总共128位)中,而32个2位代码片段(每个代码由1个实数位和1个虚数位构成)的数值被保存在寄存器对THrd702中。寄存器对702中只有八个代码(16位)在指令的执行期间被使用。在这个第一DESPREAD指令被执行之后,代码寄存器THrd被逻辑右移16位,以便将新的代码装进寄存器的现役部分。
如图9所示,使用复数乘法器710-717将每个储存在702中的代码片段乘以储存在704中的对应的码片。这些乘法运算的结果借助复数加法单元720相加,并且被储存结果寄存器TRs724中。图9举例说明的操作对应于前面的等式(1)和(2)。
复数乘法运算是用DSP的加速器216(图3)执行的。通过限制系统将可以表示成±1±j的代码解扩,复数乘法运算可以被DSP执行成乘以正1或负1,这可以被DSP实现为码片部分的通过或码片部分的否定。例如,如果复数代码是(1,-j),那么代码的实部是1,而代码的虚部是-1。任何码片部分乘以实部都保持不变,而任何码片部分乘以虚部都被否定。
如图9所示,八个代码片段乘以8个码片然后加在一起提供结果。因为这个第一DESPREAD指令只能同时使用八个代码片段,所以第一解扩指令优选与扩频因子为8的解扩代码一起使用。第一解扩指令也可以通过将第一解扩指令的结果与后面的解扩指令的结果相加完成完整的解扩操作用于扩频因子大于8的解扩代码。例如,如果解扩代码有扩频因子32,为了将最初的8个码片解码,执行一次第一解扩指令是必要的,而为了将最后16位代码片段解扩,执行两次带累加的解扩指令是必要的。
这第二种解扩指令,带累加的解扩,执行下面的运算:
其中Accum.SignalReal是先前被累加和解扩的信号的实部,而Accum.SignalImag是先前被累加和解扩的信号的虚部。这第二个解扩指令(带累加的解扩)具有下述形式:
TRs=DESPREAD(RmQ,THrd)+TRn
举例说明作为对这第二种类型的DESPREAD指令的响应完成的操作的数据流程图被展示在图10。图9和图10中相似的要素具有相同的参考数字。图10所示的操作和图9所示的那些相同,不同之处在于加法器720还把先前的寄存器数值722加到当前产生的信号上并且把结果放在输出寄存器数值724中。这第二个DESPREAD指令或许被称为带累加的解扩指令(a DESPREADwith accumulate instruction)。
将这些指令合并的软件程序的例子被展示在图11。在行602中,信号部分的最初八个码片(储存在寄存器R3:0中)乘以最初的八个代码片段(储存在寄存器THR1:0中)而且结果被存入结果寄存器TRO。在同一周期中,新的码片被装入寄存器R3:0。(DESPREAD指令在它的优选实施方案中为了把新的代码部分移入寄存器的现役部分自动地将寄存器THR移位。)在行604中,信号部分的第二组八个码片(储存在寄存器R7:4中)乘以新的代码部分,乘法运算结果被加到先前的结果上并且把新的结果存入寄存器TRO。在同一周期中,新的码片被装入寄存器R7:4。在行606和608中重复乘法和累加功能。在执行四次DESPREAD指令之后,寄存器THR(36位寄存器)已被全部移位(四次8位的移位),而且新的代码必须被DSP装入寄存器THR;在行610,寄存器THR被再次加载。
上述的DESPREAD指令的两个实施方案优选被用于扩频因子为8以上的代码,因为这些指令是为使用代码的8个片段将同 时将8个码片解码而设计的。这些指令可以被用来通过多次调用带累加的解扩指令(次数与完成信号部分的解扩必不可少的次数相同)将扩频因子能被8除尽的信号解扩。针对扩频因子为4(或能被4除尽的)的代码,描述DESPREAD指令的第三实施方案。这个DESPREAD指令的第三实施方案具有下述形式:
TRsd=DESPREAD(RmQ,THrd)
举例说明作为对这第三种类型的DESPREAD指令的响应完成的操作的数据流程图被展示在图12。在图9、图10和图12中相似的元素具有相同的参考数字。图12所示的操作类似于图10展示的那些,不同之处在于因为在用这个指令解扩的代码中扩频因子是4,所以只有四个码片需要被加在一起。因此,这个指令通过将8个码片同时解码、累加和把结果存入双重结果寄存器TRsd924分开的半边利用那八个可用的复数乘法器。在DSP中DESPREAD功能的三个描述过的实施方案在处理引入的无线数据信号方面考虑到大得多灵活性和速度。
上述的DESPREAD指令实例被展示按图9、图10和图12执行,同时完成关于位片段(优选八位长)的八个复数乘法运算。这些指令被局限于这些实施方案并且可以使用更多的复数乘法器或不同长度的位流来实现,这些操作能在两个计算模块112和114(图2)中完成,达到两倍的处理速度。
尽管已经展示和描述了目前考虑到的本发明的优选的实施方案,但是在不脱离权利要求书定义的发明范围的情况下可以有各种不同的变化和修正,这对于本领域技术人员将是显而易见的。
Claims (19)
1.一种在数字信号处理器中用来处理复数信号值的方法,该方法包括:
作为对至少规定复数信号值和复数解扩代码的单一指令的响应,通过以下方式解码所述复数信号值:
对所述复数信号值的位和所述复数解扩代码的位执行乘法运算,其中所述复数解扩代码被分为若干代码片段,每个代码片段包括一个包括1实数位和1虚数位的2位复数代码;
对上述乘法运算的结果执行求和运算;以及
存储上述求和运算的结果。
2.根据权利要求1的方法,进一步包括:作为对所述单一指令的响应,将上述解码的结果与来自先前的解码运算的结果相加的步骤。
3.根据权利要求1的方法,其中所述复数解扩代码有能被4除尽的扩频因子。
4.根据权利要求1的方法,其中设定代码位代表-1的值,而清零代码位代表+1的值。
5.根据权利要求1的方法,其中所述复数信号值包括16位。
6.根据权利要求5的方法,其中所述复数信号值包括8实数位和8虚数位。
7.一种在数字信号处理器中计算数据集的方法,该方法包括下述步骤:
作为对至少规定复数信号值和一组复数解扩代码的单一指令的响应:
对于该组复数解扩代码中的每个复数解扩代码,将复数信号值乘以该组复数解扩代码中的一个复数解扩代码,其中对所述复数信号值的位和所述复数解扩代码的位执行乘法运算,其中该组复数解扩代码中的每个复数解扩代码被分为若干代码片段,每个代码片段包括一个包括1实数位和1虚数位的2位复数代码;
将相乘的结果与乘以先前一组代码的结果相加;以及
产生从相加的结果得到的数据集。
8.根据权利要求7的方法,其中该组复数解扩代码有能被4除尽的扩频因子。
9.根据权利要求7的方法,其中设定代码位代表-1的值,而清零代码位代表+1的值。
10.根据权利要求7的方法,其中所述复数信号值包括16位。
11.根据权利要求10的方法,其中所述复数信号值包括8实数位和8虚数位。
12.一种数字信号处理器,包括:
用来储存用于数字信号计算的指令和操作数的存储器;
用来产生用来从所述存储器中取出选定的一些所述指令的指令地址的程序定序器;
包括用于暂时储存操作数和结果的寄存器堆和用来执行规定复数数据信号和复数解扩代码的单一解码指令的执行模块的计算模块,所述执行模块包括用来将复数数据信号的各个部分乘以所述复数解扩代码并且将结果累加的乘法器/累加器;
其中作为对执行单一解码指令的响应,数字信号处理器通过以下方式解码所述复数数据信号:
对所述复数数据信号的位和所述复数解扩代码的位执行乘法运算,其中所述复数解扩代码被分为若干代码片段,每个代码片段包括一个包括1实数位和1虚数位的2位复数代码;
对上述乘法运算的结果执行求和运算;以及
存储上述求和运算的结果。
13.据权利要求12的数字信号处理器,其中所述复数解扩代码有能被4除尽的扩频因子。
14.根据权利要求12的数字信号处理器,其中设定代码位代表-1的值,而清零代码位代表+1的值。
15.根据权利要求12的数字信号处理器,其中所述复数数据信号包括16位。
16.根据权利要求12的数字信号处理器,其中所述复数数据信号包括8实数位和8虚数位。
17.一种在数字信号处理器中计算输出数据的方法,该方法包括下述步骤:
作为对至少规定一组复数的第一操作数和一组复数的第二操作数的单一指令的响应,其中该组复数的第二操作数包括复数解扩代码,该组复数的第一操作数包括引入的数据信号,其中第一操作数中的每一个包括8实数位和8虚数位,第二个操作数中的每一个包括1实数位和1虚数位:
对于第二操作数中的每一个执行第一操作数之一和第二操作数之一的复数乘法运算;
将在该组第二操作数范围内执行乘法运算的结果相加;以及
产生一组从相加产生的数据作为输出。
18.根据权利要求17的方法,其中在第二操作数之一中的设定位代表-1的值,而在第二操作数之一中的清零位代表+1的值。
19.根据权利要求17的方法,其中所述引入的数据信号是声音传输信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/925,889 US7333530B1 (en) | 2001-08-06 | 2001-08-06 | Despread signal recovery in digital signal processors |
US09/925,889 | 2001-08-06 | ||
PCT/US2002/024702 WO2003015305A1 (en) | 2001-08-06 | 2002-08-06 | Despread signal recovery in digital signal processors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1561581A CN1561581A (zh) | 2005-01-05 |
CN1561581B true CN1561581B (zh) | 2013-08-14 |
Family
ID=25452394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02816442.3A Expired - Fee Related CN1561581B (zh) | 2001-08-06 | 2002-08-06 | 在数字信号处理器中恢复被解扩信号的方法和用于恢复被解扩信号的数字信号处理器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7333530B1 (zh) |
EP (1) | EP1421708A4 (zh) |
JP (1) | JP2004538710A (zh) |
CN (1) | CN1561581B (zh) |
WO (1) | WO2003015305A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10827043B2 (en) * | 2018-04-04 | 2020-11-03 | Hall Labs Llc | Normalization of communication between devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799010A (en) * | 1995-06-30 | 1998-08-25 | Interdigital Technology Corporation | Code division multiple access (CDMA) communication system |
CN1228211A (zh) * | 1996-05-28 | 1999-09-08 | 夸尔柯姆股份有限公司 | 高数据速率cdma无线通信系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3212213B2 (ja) * | 1994-03-16 | 2001-09-25 | 株式会社日立製作所 | データ処理装置 |
US6385634B1 (en) * | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5872810A (en) * | 1996-01-26 | 1999-02-16 | Imec Co. | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for said modem |
US6680928B1 (en) * | 1997-07-22 | 2004-01-20 | Ericsson Inc. | Communications system and method for multi-carrier orthogonal coding |
US6366607B1 (en) * | 1998-05-14 | 2002-04-02 | Interdigital Technology Corporation | Processing for improved performance and reduced pilot |
US6618431B1 (en) * | 1998-12-31 | 2003-09-09 | Texas Instruments Incorporated | Processor-based method for the acquisition and despreading of spread-spectrum/CDMA signals |
US6606684B1 (en) * | 2000-03-31 | 2003-08-12 | Intel Corporation | Multi-tiered memory bank having different data buffer sizes with a programmable bank select |
US6879576B1 (en) * | 2000-09-06 | 2005-04-12 | Qualcomm Incorporated | Method and apparatus for processing a physical channel with partial transport format information |
WO2002037259A1 (en) * | 2000-11-01 | 2002-05-10 | Bops, Inc. | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
US6934728B2 (en) * | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6922716B2 (en) * | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
-
2001
- 2001-08-06 US US09/925,889 patent/US7333530B1/en not_active Expired - Lifetime
-
2002
- 2002-08-06 WO PCT/US2002/024702 patent/WO2003015305A1/en active Application Filing
- 2002-08-06 JP JP2003520104A patent/JP2004538710A/ja active Pending
- 2002-08-06 EP EP02748290A patent/EP1421708A4/en not_active Withdrawn
- 2002-08-06 CN CN02816442.3A patent/CN1561581B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799010A (en) * | 1995-06-30 | 1998-08-25 | Interdigital Technology Corporation | Code division multiple access (CDMA) communication system |
CN1192304A (zh) * | 1995-06-30 | 1998-09-02 | 交互数字技术公司 | 用于码分多址(cdma)通信系统的自动功率控制系统 |
CN1228211A (zh) * | 1996-05-28 | 1999-09-08 | 夸尔柯姆股份有限公司 | 高数据速率cdma无线通信系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2004538710A (ja) | 2004-12-24 |
EP1421708A1 (en) | 2004-05-26 |
WO2003015305A1 (en) | 2003-02-20 |
EP1421708A4 (en) | 2007-09-26 |
CN1561581A (zh) | 2005-01-05 |
US7333530B1 (en) | 2008-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU767051B2 (en) | Programmable matched filter searcher | |
JP4642264B2 (ja) | スペクトル拡散通信用相関回路 | |
EP1758030B1 (en) | Dynamically reconfigurable shared baseband engine | |
US6961395B2 (en) | Time variant filter implementation | |
JP2003504909A (ja) | 予備的計算による電力節約型整合フィルタ | |
US7280585B2 (en) | Parallel interference cancellation device for multi-user CDMA systems | |
KR20030048481A (ko) | 통신 시스템에서 수신 신호를 처리하기 위한 방법 및 장치 | |
JP2001007733A (ja) | 擬似雑音コード獲得装置及びこれを具備した直接シーケンスコード分割多重接続受信器 | |
US6650688B1 (en) | Chip rate selectable square root raised cosine filter for mobile telecommunications | |
WO2005076493A1 (en) | Post despreading interpolation in cdma systems | |
US6480527B1 (en) | CDMA demodulating method and demodulator | |
CN1561581B (zh) | 在数字信号处理器中恢复被解扩信号的方法和用于恢复被解扩信号的数字信号处理器 | |
US20080198905A1 (en) | Method and Apparatus for Despread Data in Wireless Communication System | |
JP3869674B2 (ja) | スペクトラム拡散通信用スライディングコリレータ | |
US7031377B2 (en) | Receiver and low power digital filter therefor | |
JP3503433B2 (ja) | スペクトル拡散受信機 | |
EP1142389B1 (en) | Flexible cdma combiner | |
JPH10285079A (ja) | スペクトル拡散受信機 | |
KR100691925B1 (ko) | 유연한 cdma 결합기 | |
US7688919B1 (en) | Parallel samples, parallel coefficients, time division multiplexing correlator architecture | |
KR100586587B1 (ko) | 코드 분할 다중 접속 시스템을 위한 파이프라인화된 직렬간섭 제거기 | |
JP3770753B2 (ja) | 受信信号の復調方法及び無線通信装置 | |
KR20000076926A (ko) | 무선 수신 장치 및 무선 수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130814 Termination date: 20200806 |