System and Method for Fast Walsh Transform Processing in a Multi-Coded Signal Environment
A flexible Fast Walsh Transform circuit provides configurable FWT sizes, and is suitable for use in radio receivers where the received signal may be generated using varying spreading codes and/or varying numbers of multi-codes. Such signal types are commonly encountered in wireless communication systems like those based on the Wideband CDMA (W-CDMA) or IS-2000 (cdma2000) standards, and particularly with the higher data rate provisions of those standards. In one application, a RAKE receiver includes RAKE fingers that each include one of the flexible FWT circuits, such that each finger despreads the received signal using variably sized FWTs in accordance with the characteristics of the received signal. The flexibility in FWT sizing may derive from, for example, the inclusion of separately selectable but differently sized FWT circuits, or from the inclusion of a configurable FWT circuit capable of generating different sizes of FWTs.
This is a divisional application of co-pending U.S. application Ser. No. 10/151,682 entitled “System and Method for Fast Walsh Transform Processing in a Multi-Coded Signal Environment.” That application was filed on May 20, 2002 and is incorporated herein in its entirety by reference.
BACKGROUND OF THE INVENTIONThe present invention generally applies to signal processing, and particularly applies to processing received signals using Fast Walsh Transforms.
Newer wireless communication standards, such as the evolving Wideband Code Division Multiple Access (W-CDMA) standards, incorporate increasingly sophisticated signal encoding and modulation schemes in efforts to increase bandwidth efficiency and transmission data rates. These advances enable users of the newer wireless networks (e.g., third-generation) to receive and transmit relatively high-rate data streams representing a variety of information types, including voice, data, and video.
Efficient spectral use requires these newer wireless networks to adopt variable data rates where, in essence, users are assigned the minimum data rates necessary to support their respective communication needs. For example, a user receiving a multimedia presentation from the Web is allocated more bandwidth and/or a more complex signal-encoding scheme than a user engaged in a simple voice call.
Various approaches, such as those adopted by the W-CDMA standards, employ orthogonal variable spreading factor (OVSF) codes to achieve variable data rate transmissions. In such schemes, one of a set of orthogonal spreading factor codes is used to spread user data. Such spreading factors might range from 4 to 256, for example. In W-CDMA, the chip rate is 3.84 Mchips/s, and the data rate (pre-spreading) equals the chip rate divided by the chosen spreading factor (SF). Therefore, user data rates are varied by appropriate selection of spreading factors.
Additional data rate variability derives from the use of multiple code assignments per user, referred to as multi-code spreading. For example, in W-CDMA a user might be assigned multiple channels to increase the aggregate data rate to that user. One approach to such multi-code spreading involves the use of different channelization codes per assigned channel (e.g., different OVSF codes per channel). In this manner, multiple dedicated physical data and/or control channels (DPDCH, DPCCH) can be assigned to each user to increase the maximum data rate to that user.
While such capability is good from the perspective of enhanced performance, receiver complexity necessarily increases with the variable spreading factors and multi-code transmissions. Indeed, the use of multi-code transmissions requires wireless communication receivers in such systems to accommodate multi-code received signals that require essentially separate despreading operations for each multi-code component of the received signal. Such variability in the received signal places demands on the receiver in terms of adapting its signal processing to the changing signal parameters.
BRIEF SUMMARY OF THE INVENTIONThe present invention includes a method and apparatus for adapting a wireless communication receiver's Fast Walsh Transform (FWT) despreading operations in accordance with changing received signal parameters. More particularly, at least some exemplary embodiments of the present invention comprise FWT processing that allows the size and/or number of FWTs performed by the despreading circuit(s) of a wireless communication receiver to be varied in accordance with, for example, the spreading factor applied to the received signal at its transmission. In a multi-coding transmission environment, the transmitter's spreading factor may be varied to effect variable user data rates. These techniques may be used in wireless communication networks based, for example, on either Wideband CDMA (W-CDMA) or IS-2000 (cdma2000) standards.
In an exemplary embodiment of the present invention, a “flexible” RAKE receiver includes one or more RAKE fingers that use despreading circuits based on configurable FWT processing to despread the received signal. Configurable FWT processing allows the RAKE receiver to adjust FWT operations to accommodate the particular characteristics of the current received signal. For example, the RAKE receiver may vary the “size” of the FWT performed by the FWT processing circuitry of each finger in dependence on the spreading factor of the received signal, e.g., the number of “chips” per symbol used in its transmission. This configuration flexibility allows the exemplary RAKE receiver to adjust its operations to varying numbers of multi-codes, and varying spreading factors.
In one embodiment, the wireless communication receiver includes control logic for configuring FWT resources, and each RAKE finger includes two or more selectively accessed FWT circuits, each offering differently sized FWTs. In operation, the fingers are controlled such that the appropriately sized FWT circuit is selected for received signal processing. In other embodiments, a combined FWT circuit that offers flexible FWT processing is used. The flexible FWT processor generates different sizes of FWTs responsive to control information, such as a selection control signal generated by the control logic, which may comprise both discrete and integrated logic and/or control software. In any case, the size of the FWT performed by each finger may be varied as needed to accommodate changing received signal characteristics. In general, where the spreading factor of the received signal is less than or equal to the maximum size of FWT that the flexible RAKE receiver is capable of performing, the receiver may generate one or more FWT results. For example, instead of despreading two symbol periods corresponding to one signal image, each flexible RAKE finger might despread the same symbol at different delays.
Various embodiments of the flexible FWT circuit include FWT circuits with intermediate-stage outputs, and FWT circuits with pass-through stages. In the intermediate-stage output approach, a FWT circuit includes not only its final stage outputs, but one or more intermediate stage outputs as well. For example, a sixteen-point FWT circuit might include its final set of sixteen sum-and-different outputs, but also includes two eight-point sum-and-difference intermediate stage outputs taken from different halves of its sum-and-difference butterfly circuits. This concept can be extended such that, for example, this same sixteen-point FWT circuit might offer up to four four-point FWT intermediate stage outputs. Thus, this one FWT circuit can be selectively configured to perform sixteen-, eight-, and four-point FWTs.
In another approach to the flexible FWT circuit, an n-point FWT circuit includes cascaded pass-through-butterflies (PTBs) that may be selectively controlled to offer either FWT or pass-through functionality. In at least one embodiment, each PTB performs either a pass-through operation where it simply passes through its input signal, or performs a two-point FWT on its input signal. Thus, essentially any desired size of FWT may be performed by selectively controlling one or more sets of cascaded PTBs.
With any of the above approaches, or any variations thereof, the flexible RAKE receiver offers configurable FWT processing, which enables it to dynamically adjust its despreading operations to match the particular characteristics of the received signal. Further, where a finger is configured to perform a maximum size m-point FWT, it generally also can perform two or more n-point FWTs (n<m), either sequentially or in parallel. This ability allows variations on the basic signal despreading operations. For example, with the flexible FWT processing of the present invention, the RAKE receiver can perform partial despreading, which allows it to perform partial correlations over different regions of the received signal. For example, partial correlations may be performed using samples corresponding to part of a symbol times of the received signal. Exemplary uses of partial correlation operations are shown, for example, in U.S. Pat. No. 5,506,861 to Bottomley.
BRIEF DESCRIPTION OF THE DRAWINGS
RBS 12 processes information intended for the mobile station 14 and uses transmit signal s(t) to convey that information to the mobile station 14. Distortions of signal s(t) arise during its transmission through the physical medium, and it is thus received as signal r(t) at the mobile station 14. Depending on the characteristics of the radio channel between RBS 12 and mobile station 14, r(t) may actually comprise two or more versions of the transmitted signal s(t), with each version having different delay, phase, and attenuation characteristics. This form of signal distortion is referred to as “multipath” reception, and is well understood by those skilled in the art.
The particular characteristics of the transmitted signal s(t) depend on the selected communication protocols and attendant modulation standards. That is, the specific encoding and modulation used to form the transmit signal s(t) for conveying the desired information to the mobile station 14 depends on air interface standard adopted by the network 10, and often further depends on the current data rate assigned to the mobile station 14. Exemplary air interface standards include Wideband-CDMA (W-CDMA) and IS-2000 (cdma2000), each of which defines selected encoding and modulation schemes, and make provisions for multi-coding of signals.
With multi-coding, two or more spreading codes are applied to the information intended for the mobile station 14. In this simplified functional depiction of the RBS 12, a transmitter 16 processes the information to be sent to the mobile station 14. This simplified transmitter 16 comprises a serial-to-parallel (S/P) converter 18, Walsh spreaders 20 (e.g., 20-1 through 20-8), an adder 22, a scrambler 24, and additional processing and amplification circuitry 26. In general, a transmission system may employ multiple stages of spreading but the focus here is on the stage that performs Walsh code-based spreading.
Information intended for the mobile station 14 enters S/P converter 18, where it is converted into a parallel set of symbols, here, a parallel set of eight symbols. Each symbol is spread using a separate Walsh code. Those skilled in the art will appreciate that many different multi-coding schemes may be used, with varying code sets and varying numbers of codes being applied to the information signal. In any case, the adder 22 converts the multi-coded word back into a single signal for input to the common scrambler 24. The scrambled signal then passes to the additional processing and amplification circuitry 26 where, among other things, it is used to modulate a radio frequency carrier signal of the desired frequency. This modulated carrier signal is then transmitted as s(t) by the RBS 12.
In turn, r(t) is received by the mobile station 14, which, in this exemplary configuration, comprises an antenna 30, a switch/duplexer 32, a receiver 34, a transmitter 36, a frequency synthesizer 38, a baseband processor 40, a system processor or controller 42, input/output (I/O) interface circuits 44, a speaker 46, a microphone 48, a keypad 50, and a display 52. Much of the operation of mobile station 14 is well understood by those skilled in the art, and is, in any case, not germane to understanding the present invention in its various embodiments. Consequently, the following discussion omits operational details relating to the mobile station 14, where such details do not further understanding of the present invention.
In particular, the discussion focuses on operation of the receiver 34, which may be organized as a flexible RAKE receiver in accordance with at least some embodiments of the present invention. Further, the discussion includes exemplary details regarding the supporting operations of the baseband processor 40 and the system controller 42.
In operation, the mobile station 14 receives the signal r(t) from the RBS 12, which signal is directed into the receiver 34 via the switch 32. Receiver 34 comprises, in this exemplary embodiment, a radio processor 60 and a flexible RAKE receiver 62. The radio processor typically includes receive signal filtering, amplification, and analog-to-digital conversion, although the specific implementation may be varied in accordance with specific design needs. Generally, the radio processor 60 down-converts the received signal r(t), possibly using reference frequencies provided by the frequency synthesizer 38.
Radio processor 60 outputs a digitized sample stream or streams, such as In-phase (I) and quadrature (Q) sample streams at an intermediate or baseband frequency representing received radio signal r(t). This digitized sample stream is referred to as the received signal r′. Thus, the flexible RAKE receiver 62 takes as its received signal input the digitized sample stream r′ corresponding to the received signal r(t).
Each RAKE finger 70 is aligned with a different ray or multipath delay component in the received signal r′, which, as noted before, arise from multipath reception of r(t). Those skilled in the art will appreciate that time aligning each RAKE finger 70 with a particular delay component of the received signal r(t) may be effected by adjusting pseudo random noise (PN) code offsets used in correlation, or by including an adjustable delay function on the front-end of each RAKE finger 70. Here, the latter approach is used, and each delay block 72 is adjusted to the time delay or relative time offset of a corresponding delay component in the received signal r′.
As examples of the many variations available for implementation of the RAKE fingers 70 within the RAKE receiver 62,
Similarly, but with slightly different operational order,
In any case, referring again to
In looking back to transmit signal generation, one sees that parallel information symbols multiply separate Walsh codes, which are then added chip-by-chip for efficient radio transmission. On the receiver side, the signal r′ is processed to recover the corresponding parallel information symbols using the flexible FWT circuit 78. Thus, in general operation, the flexible FWT circuit 78 in each finger 70 receives descrambled samples representing the desired transmit information.
In
In practical applications, mobile stations may be expected to deal with a potentially large mix of spreading factors and multi-code encoding schemes. Such variations make the flexible FWT processing provided by the present invention particularly advantageous. Conversely, existing FWT processing uses a single FWT.
However, some understanding of the basic FWT operation, even in the context of a conventional FWT circuit may be helpful in discussing exemplary details of the flexible FWT circuit 78. Thus,
In more detail, assume the input signal comprises an eight-sample vector {a, b, c, d, e, f, g, h}. A FWT of this input vector amounts to performing butterfly operations on different pairs of samples within the input vector. These butterfly operations process each set of paired samples to produce sum or difference results. For example, the set of butterfly operations forms a first set of sum-and-difference results as, (a+b), (a−b), (c+d), (c−d), (e+f), (e−f), (g+h), (g−h). Note that successive pairings, such as (a+b) with (c+d), form successive sets of sum-and-difference results that are used in forming the final FWT output.
The final set of results output by the FWT circuit 116 represents an eight-point FWT of the input vector. Thus, the FWT circuit 116 might be useful in despreading a received signal containing up to eight Walsh codes, each of length 8. However, its usefulness quickly diminishes where the encoding and spreading details of the received signal vary such that eight-point FWT operations are appropriate only at selected times. Such variations in the received signal are, as described earlier, commonly encountered in wireless communication systems, particularly where users are assigned varying data rates that correspond to varying encoding and spreading schemes.
The RAKE receiver 62 shown in
The control logic, including a buffer/switch 122, selectively directing the input data to either transform circuit 120-1 or 120-2 responsive to a selection control signal, which may be thought of as a “mode” signal. The receiver 34 may generate this control signal, or it may be generated elsewhere, such as in the baseband processor 40, or in the system controller 42. In some implementations, the signal processing resources for implementing control logic to support the selectable FWT operation of the RAKE receiver 62 may be implemented in the baseband processor 40, which makes selection control particularly convenient.
Estimation and combining circuits 124 follow each transform circuit 120, but it should be noted that, in some implementations, multiple transform circuits 120 share some or all of the same estimation and combining circuits 124. For example, transform circuits 120-1 and 120-2 may each feed their output data into estimation and combining circuit 124-1. Each of the estimation and combining circuits 120 may include a channel estimator 80, and one or more RAKE combiners 82, as was shown for the exemplary RAKE receiver 62 of
While implementation of the flexible FWT circuit 78 as a collection of differently sized FWT transform circuits 120 represents a straightforward and effective approach,
In an exemplary implementation, the flexible FWT circuit 78 comprises some or all of an integrated circuit (IC) device. For example, the flexible FWT circuit 78 might be implemented as an ASIC or other programmable logic device, e.g., a Field Programmable Gate Array (FPGA). As configured, the flexible FWT circuit 78 offers different sizes of FWT simply by taking output data from the intermediate stage outputs 138 and 140, or from the final stage outputs 142. As with other implementations, a control signal can be used to select the output data set desired, or all outputs might be fed into subsequent processing circuitry and used as needed. In this manner, one circuit device offers dynamically configurable FWT transform operations, thereby simplifying design and saving valuable circuit board space. Other attendant benefits might include reduced power consumption.
One notes from inspection that the results from butterfly circuits 134 feed into the final set of butterfly circuits 136, as well as into the intermediate stage outputs 138 and 140. More particularly, in this arrangement, the first half of butterfly circuits 134 feed into intermediate stage outputs 138, while the second half feed into intermediate stage outputs 140. Thus, four-point FWT results are available on outputs 138 with respect to the first four samples of the input signal, and four-point FWT results are available on outputs 140 with respect to the last four samples of the input signal.
In more detail, the flexible FWT circuit 78 of this embodiment can output one four-point FWT, two four-point FWTs, and one eight-point FWT. This flexibility derives from the availability of intermediate FWT results in advance of the final stage of butterfly circuits 136. That is, the first set of butterfly circuits 132 perform two-point FWTs on the input data, which two-point results are then fed into the second set of butterfly circuits 134. This cascaded set of butterfly circuits 134 performs two-point FWTs on the sum-and-difference results output by butterfly circuits 132, thereby generating four-point FWT results with respect to the original input data. The intermediate four-point FWT results corresponding to the four input samples applied to inputs 130-1 through 130-4 are available on intermediate outputs 138-1 through 138-4. Likewise, the intermediate four-point FWT results corresponding to the four input samples applied to inputs 130-5 through 130-8 are available on intermediate outputs 140-1 through 140-4.
Thus, the input signal may comprise an eight-sample vector {a . . . h}, in which case the final-stage outputs 142 provide an eight-point FWT of the input vector. Alternatively, the input signal might comprise a four-sample vector applied either to the first half or last half of inputs 130, with corresponding four-point FWT results available on intermediate stage outputs 138 or 140, respectively. Further, two four-sample vectors may be applied to inputs 130, with two separate four-point FWTs available, one from outputs 138, and the other from outputs 140.
Such flexibility allows the RAKE receiver 62 to dynamically adjust its FWT-based despreading operations in accordance with the desired mode of operation, which may be driven by changing received signal characteristics, e.g., changing spreading factor and/or multicoding parameters. As with the separately implemented transform circuits 120 of
In operation, the inputs 154 might receive one eight-sample input signal, two four-sample inputs signals, or a single four-sample signal. Thus, input signal stream r′ is converted to parallel form and then input to buffer 158. Note that the buffer 158 can provide time alignment or delay functions for the input samples, if needed. For example, the first four inputs 154-1 through 154-4 might receive data during a first symbol time, while the next four inputs 154-5 through 154-8 receive data during a subsequent symbol time. In that case, buffer 158 could delay one or both of the four-sample data sets such that they are processed at the same or different times by the flexible FWT circuit 78.
In any case, controlling the PTBs 152 yields different sizes of FWTs from the flexible FWT circuit 78. Rather than providing intermediate stage outputs as in the embodiment shown in
In practice, extending the maximum FWT size available with the above approach simply entails adding additional transform circuits 150 and additional PTBs 152. Thus, to produce a sixteen-point FWT, the flexible FWT circuit 78 is configured with four four-point FWT circuits 150 (i.e., 150-1 through 150-4), with output pairs from each one feeding into a different PTB 152. The outputs of a first stage of PTB processing would feed a second stage of PTB processing. With this arrangement, the FWT outputs would extend from 156-1 through 156-16, and provide up to four individual four-point FWTs, up to two eight-point FWTs, or one sixteen-point FWT, depending upon the selected configuration of PTBs 152. Combinations of different sized FWTs might also be generated by configuring some PTBs 152 for pass-through operation while configuring others for FWT operation. In any case, PTB configuration may be controlled by one or more variations of the control signal discussed earlier.
As each PTB 152 provides either signal pass-through or two-point FWT operation, it includes the functional equivalent of the sum-and-difference butterfly circuits introduced earlier.
More particularly,
In
If implementing PTBs 152 in actual hardware, such as in an FPGA or ASIC, the approach shown in
From
Regardless of the particular implementation of the flexible FWT circuit 78, its use imbues the RAKE receiver 62 with considerable flexibility in terms of its operation on the received signal r′. For example, where the spreading factor associated with the received signal r′ is less than the maximum FWT size available from the flexible FWT circuit 78, the circuit may be used to despread the same received symbol at different delays rather than despreading two symbol periods corresponding to one signal image.
In understanding some of the flexibility imparted to the RAKE receiver 62 by the use of one or more flexible FWT circuits 78, one might consider that, for example, several fingers 70 can, in some embodiments, share FWT resources within a single flexible FWT circuit 78. With this arrangement, the RAKE receiver 62 can dynamically vary the effective “number” of RAKE fingers 70 used in operation. With this approach, more fingers 70 might be used for received signals with lower spreading factors, while a fewer number of fingers 70 might be used when the spreading factor increases.
While similar to the finger arrangement first introduced in
In operation, the tapped delay lines 77 function much like the S/P converters 76 shown in earlier examples. That is, each tapped delay line 77 can convert a serial sample stream input into a parallel set of output samples. Indeed, output 81 on the tapped delay line 77 offers this set of parallel output samples. However, each tapped delay line 77 also offers a serial sample stream on output 79 that follows the input sample stream.
Finger 70-2 is fed this serial sample stream from the tapped delay line 77 of finger 70-1. The serial output from finger 70-1 is selectively applied to the input of the tapped delay line 77 within finger 70-2. That is, a switch 83, which may be a digital switch, functions as part of the FWT control logic and either connects the tapped delay line 77 in finger 70-2 with the sample stream output from the tapped delay line 77 in finger 70-1, or with the serial sample stream from the descrambler 74 in finger 70-2.
With the above arrangement, switch 83 may be operated as part of the control logic associated with the flexible FWT circuit 78 by a control signal, which, in some cases, may comprise a simple digital control line from, for example, the baseband processor 40 or the system controller 42. When switch 83 is switched to position “A”, the tapped delay line 77 of finger 70-2 is fed from the serial output 79 of the tapped delay line 77 in finger 70-1. When switch 83 is switched to position “B”, the tapped delay line 77 of finger 70-2 is fed from the serial output of the de-scrambler 74 in finger 70-2. Thus, changing between switch positions “A” and “B” changes operation of the RAKE receiver 62 from one finger (70-1) performing an eight-point FWT via flexible FWT circuit 78, to two fingers (70-1 and 70-2) performing two four-point FWTs via flexible FWT circuit 78.
In general, the flexible FWT circuit 78 enables significant signal processing flexibility. For example, the FWT circuit 78 can be used to produce partial correlations instead of full correlations. As an illustration of this in the context of
The number of codes used to send data or pilot information may be less than the spreading factor. For example, with spreading factor 16, the user may be given only 11 codes with data, with a 12th code for the pilot signal. In this situation, a 16-point FWT is needed, but only 12 of the outputs are used. In this scenario, four of the outputs from the flexible FWT circuit 78 simply can be ignored. Alternatively, to save power for example, certain butterfly operations in the final stage(s) of the flexible FWT circuit 78 can be turned off or otherwise disabled, so that the unused FWT outputs and the logic associated with forming the corresponding difference terms are held inactive.
From the above discussion, the adaptability of use and range of applications for the flexible FWT circuit 78 should be readily apparent to those skilled in the art. That is, the present invention enables a radio receiver to flexibly accommodate a variety of spreading factors for multi-code received signals. Further, the present invention enables, in some encoding/spreading factor scenarios, the use of partial correlations. While described in conjunction with RAKE reception, the despreading operations provided by the flexible FWT circuit 78 can be used in other receivers, such as multi-user detection receivers, generalized RAKE receivers, and chip equalization receivers. Also, the flexible FWT circuit 78 can be used to decode Reed-Muller codes. As such, the present invention is not limited by the exemplary embodiments disclosed in the foregoing discussion and in the associated illustrations, but rather is limited only by the scope of the following claims, and the reasonable equivalents thereof.
Claims
1. A pass-through butterfly (PTB) circuit to selectively perform a two-point Fast Walsh Transform (FWT) on first and second values, the PTB circuit comprising:
- a first node to output a sum of the first and second values in a first mode and to output the first value in a second mode; and
- a second node to output a difference of the first and second values in the first mode and to output the second value in the second mode.
2. The PTB circuit of claim 1, wherein the first node is a summing circuit comprising:
- an adder receiving the first and second values and outputting the sum of the first and second values; and
- a switch operative to output the sum of the first and second values in the first mode and to output the first value in the second mode.
3. The PTB circuit of claim 1, wherein the first node is a summing circuit comprising:
- an adder receiving the first and second values in the first mode and receiving the first value and a null value in the second mode, such that the adder outputs the sum of the first and second values in the first mode and outputs the first value in the second mode; and
- a switch operative to provide the second value to the adder in the first mode and operative to provide the null value to the adder in the second mode.
4. The PTB circuit of claim 1, wherein the second node is a difference circuit comprising:
- an adder receiving the first value and a negated second value and outputting a sum of the first and negated second values;
- an inverter receiving the second value and outputting the negated second value; and
- a switch operative to output the sum of the first and negated second values in the first mode and to output the second value in the second mode.
Type: Application
Filed: Oct 31, 2007
Publication Date: Mar 13, 2008
Inventors: Gregory Bottomley (Cary, NC), Ali Khayrallah (Apex, NC)
Application Number: 11/931,352
International Classification: G06F 17/14 (20060101);