A simple and robust CTL is used for time tracking of multipath components of a spread spectrum signal transmitted over a wireless multipath fading channel. A digital code-tracking loop includes the implementations of despreading early and late data samples by use of a pseudonoise sequence, an error signal output generated by the despreading, and adjustment for a plurality of on-time, early and late samples, a data rate of a control signal provided as a fractional proportion of a data rate of error signals.
|
10. A method for use in a receiver for receiving a spread spectrum signal over a wireless multipath fading channel, the method comprising:
selecting, via an input sample selector, an on-time, late, and early sample from a plurality of received samples;
despreading the selected late sample based on a pn sequence known to the receiver;
despreading the selected early sample based on the pn sequence known to the receiver;
calculating an error signal based on the despread early sample and the despread late sample;
accumulating N error signals, where N is an integer greater than 1 that indicates a number of error signals calculated in an integration interval;
calculating the sign of the accumulated error signals and outputting the calculated sign as a control signal; and
summing a previous absolute timing adjustment and the control signal to calculate a current absolute timing adjustment and outputting the absolute timing adjustment to the input sample selector.
1. A receiver, for use in a wireless transmit/receive unit (WTRU), configured to receive a spread spectrum signal over a wireless multipath fading channel, the receiver comprising:
a code tracking loop (CTL), the CTL comprising:
an input sample selector configured to select an on-time, late, and early sample from a plurality of received samples;
a late sample pseudo noise (pn) despreader coupled to the input sample selector configured to despread the selected late sample based on a pn sequence known to the receiver;
an early sample pn despreader coupled to the input sample selector configured to despread the selected early sample based on the pn sequence known to the receiver;
an early and late detector comprising a late power calculator, an early power calculator, and a first summer coupled to the early sample pn despreader and the late sample pn despreader, the early and late detector configured to calculate an error signal based on a despread early sample and a despread late sample;
an integrator and dump circuit coupled to the early and late detector, the integrator and dump circuit configured to accumulate N error signals, where N is an integer greater than 1 that indicates a number of error signals calculated in an integration interval;
a sign calculator coupled to the integrator and dump circuit configured to calculate the sign but not the magnitude of the accumulated error signals and output the calculated sign as a control signal; and
a second summer coupled to the sign calculator and the input sample selector, the second summer configured to:
receive the control signal from the sign calculator as a relative timing adjustment and a previous output from the second summer;
sum the previous output and the relative timing adjustment to calculate an absolute timing adjustment; and
output the absolute timing adjustment to the input sample selector.
2. The receiver of
3. The receiver of
4. The receiver of
5. The receiver of
6. The receiver of
7. The receiver of
8. The receiver of
11. The method of
12. The method of
14. The method of
15. The method of
16. The method of
17. The method of
|
This application is a continuation of U.S. patent application Ser. No. 12/119,139, filed May 12, 2008, which issued as U.S. Pat. No. 7,715,463 on May 11, 2010, which is a continuation of U.S. patent application Ser. No. 10/425,176, filed Apr. 28, 2003, which issued as U.S. Pat. No. 7,372,892 on May 13, 2009, which claims the benefit of U.S. Provisional Application No. 60/376,465, filed Apr. 29, 2002, all of which are incorporated by reference as if fully set forth.
The present invention relates to the field of wireless communications. More specifically, the present invention relates to an improved code tracking system and method for the field of spread spectrum communication systems.
Code division multiple access (CDMA) technology has been widely used in mobile cellular phone systems. One of the advantages of CDMA technology is that it is very robust in scenarios where multiple-path fading may be experienced. A rake receiver, which is commonly used for CDMA reception, consists of a bank of correlators and a combiner. Each correlator, or rake finger, is used to separately detect and demodulate one of the strongest multipath components (fingers) of the wideband fading channel and the combiner combines all correlator outputs to obtain the combined energy from these strongest multipath components. Since the number of the multipath signals and their positions vary in time, time tracking of each multipath component is required. For this timing tracking, a code-tracking loop (CTL), also called delay lock loop (DLL), is usually used. In previous CTL designs, either a voltage controlled oscillator (VCO) or a numerically controlled oscillator (NCO) was used. A CTL may be either coherent or noncoherent. Coherent and non-coherent relate to how the despread data is summed to generate an error signal.
Apparatus and methods are provided for time tracking of multipath components of a spread spectrum signal transmitted over a wireless multipath fading channel. Preferably, a simple and robust code-tracking loop (CTL) includes despreading early and late data samples using a pseudonoise sequence, outputting an error signal by the despreading, adjusting for a plurality of on-time, early and late samples, and determining a data rate of a control signal as a fractional proportion of a data rate of error signals. The CTL has a simple structure to implement. A joint CTL is also disclosed for canceling interference between two multipaths when two multipaths are very close to each other.
The present invention will be described with reference to the drawing figures wherein like numerals represent like elements throughout.
A CTL uses the early and late signals (i.e. samples) to generate an error signal for timing tracking. The early and late samples are defined as the samples that are a half chip (half chip interval) earlier and a half chip (half chip interval) later than the on-time sample, respectively. A “chip” is a time interval to transmit one bit of spreading code and a half chip is half the time interval of a chip interval. The frequency of a chip time interval is called the “chip rate.” In UMTS CDMA and CDMA2000 standards, the chip rate is defined as 3.84 MHz/s.
Referring to
CTL 21 includes an input sample selector 23, an early sample pseudonoise (PN) despreader 25, a late sample PN despreader 26, an early-late detector 27, an integration and dump circuit 28, a sign calculator 29 and a summer 30. The input sample selector 23 provides early and late samples to the PN despreaders 25, 26 which, in turn, provide signals to the early-late detector 27. The early-late detector 27 includes a late power calculator 27a, an early power calculator 27b and a summer 27c. The output of the early-late detector 27 is an error signal which is provided to the integrator and dump circuit 28. The output of the integrator and dump circuit 28 is sent to the sign calculator 29. The sign calculator 29 outputs a ±1 signal that is input to the summer 30. The summer 30 converts the relative timing control signal (i.e. −1/+1) to an absolute timing control signal taking into account previous results. The output of the summer 30 is sent to the input sample selector 23 to form the loop.
The integration function that is performed by the integrator in the integration and dump circuit 28 accumulates the signal power and to improve the signal-to-noise ratio. After the signal is integrated for a defined or predetermined period of time, the integration value is output. In order to integrate the signal for the next time period, the signal in the integrator is first cleared. Accordingly, the procedure in which the integrator integrates signal discontinuously between different periods of time is called “integration and dump”. The integration interval is selected to be a pilot symbol interval. In a preferred embodiment, the pilot symbol interval is a predetermined number of chips, which in the exemplary embodiment is 256 chips.
The CTL 21 operates by first despreading the early samples and the late samples. The early and late samples are despread by a PN sequence that is known to the receiver. The despread data is denoted as Se(k) and Sl(k) for early and late samples respectively, where Se(k) and Sl(k) are complex numbers, and k represents kth data in the time domain. The early-late detector 27 uses despread data, or data symbols, to generate an error signal, which can be obtained noncoherently using Equation (1):
Er(k)=|Se(k)|2−|Sl(k)|2. Equation (1)
For each N error signals Er(k), where (N>1), a control signal C0 will be generated according to the sign of the sum of these N error signals Er(k), which can be expressed as:
This control signal C0 is used to adjust all on-time, early and late samples either forward or backward by M samples. Typically the adjustment is M=1 or 2, or M/16 chip, which is typically 1/16 chip or ⅛ chip. The data rate of this control signal C0 is therefore N times lower than the data rate of error signals Er(k).
Still referring to
Se(k)*a(k)* and Equation (3)
Sl(k)*a(k)*, respectively, Equation (4)
where a(k) is the transmitted symbol or an estimate of transmitted signal, and ( )* represents the conjugate. Thereafter, N1 despread early and late signals with data removed are coherently summed to calculate the error signal Er(k) that can be expressed by:
The despread data Se(k) or Sl(k) contains a demodulating symbol a(k) that is {−1,+1} for BPSK modulation or {−1, +1, −j, +j} for QPSK modulation. When the despread data Se(k) or Sl(k) is multiplied with the conjugate of a(k) as in Equations (3) and (4), the a(k) component in the despread data Se(k) or Sl(k) will be “removed.”
The data rate of the error signal Er(k) is N1 times lower than that of the despread early or late signal since every N1 despread early or late signal generates one error signal. For every N error signals Er(k), where N>1, a control signal C0 is generated according to the sign of the sum of these N error signals, and the data rate of this control signal C0 is N1×N times lower than the data rate of error signals.
In either case, the error signal Er(k) is generated. Equation (1) uses one despread data symbol to generate one error signal Er(k). Equation (5) uses N1 despread data symbols to generate one error signal Er(k). Therefore the data rates of the error signals Er(k) are different by N1 times.
According to one embodiment of the present invention, both coherent and non-coherent approaches are used. Coherent detection adds signals coherently (i.e. sum the complex numbers directly) such as the sums in Equation 5 (or as will be explained in detail hereafter, the inner sum in Equation 7). Noncoherent detection adds signals noncoherently (i.e. sum the power of complex numbers) such as the sum which will be explained with reference to Equation 6. The difference between the two approaches is that coherent detection has better performance than noncoherent detection. However, in order to use coherent detection to obtain better performance, the transmitted signal a(k) has to be known or estimated as performed in Equation 5.
A second embodiment of a CTL 31 in accordance with the present invention using low sampling rate input data is shown in
The sign calculator 39 outputs a ±1 signal that is supplied to the summer 40. The summer 40 converts the relative timing control signal (i.e. −1/+1) to an absolute timing control signal taking into account previous results. The output of the summer 40 is sent to the interpolator 33 to form the loop in the same manner as depicted in
For low sampling rate input data, the sampling rate is typically two samples per chip. In order to adjust the timing for on-time and early/late samples forward or backward by a fraction of chip (for example 1/16 chip or ⅛ chip), the interpolator 33 is used to generate all on-time samples, and early/late samples which are offset by such amount of time from the previous samples.
As can be seen, the input data rates are different for the input sample selector 23 shown in
The CTL 21 of
In an exemplary embodiment corresponding to the UMTS FDD standard, for uplink transmissions every slot of the dedicated physical control channel contains ten symbols (including pilot, transmit power control and TFCI bits). Among these ten symbols, pilot symbols are known to the receiver, but the power control and TFCI bits are unknown to the receiver. Suppose that SEk,j and SLk,j denote the despread early and late signals for the jth symbol in the kth slot. If the CTL 31 is updated every two frames (there are 15 slots per frame and 30 slots per two frames), then the control signal C0 at the output of the integration and dump circuit 38 using noncoherent combining can be expressed as:
Alternatively CTL 31 coherently sums a number of early and late signals from one slot, and then calculates the power and the error signal Er(k). Again if the CTL 31 is updated every two frames, then the control signal C0 at the integrator output can be expressed as:
where ak,j is the known pilot bit or the estimated power control/TFCI bit in the jth symbol of the kth slot.
Some further alternatives are possible by implementing various combinations of the following items: 1) using an input sample selector 23 (for the high speed ADC as shown in
As explained above Equations (6) and (7) represent two different methods to generate the error signal Er(k) as explained above. Equation (6) uses noncoherent detection and uses the error signal generation in Equation (1), and Equation (7) uses coherent detection and uses the error signal generation in Equation (5). The “SIGN” is used to adjust the timing forward or backward. When the sign of Equations (6) or (7) is positive, it will adjust the timing backward; whereas when the sign of Equations (6) or (7) is negative, it will adjust the timing forward.
An embodiment of a CTL for UMTS FDD in accordance with the present invention is shown in
The circuit of
If one compares Equation (9) with Equation (1), it will be noted that the integrator and dump circuit 63 performs the summing as described in Equation (6); and the sign calculator 64 resolves the sign (+ or −) as described in Equation (6). Since this sign generates a relative timing adjustment, a new absolute timing signal is generated by summing the previous absolute timing with the incoming relative adjustment. This is done in summer 65.
The absolute values (of the early and late despreaders 55, 56 calculated in the magnitude calculation circuits 57, 58) are provided to the summer 59, which provides an error signal Er(k) as its output to the integrator and dump circuit 63 which and, in turn, outputs to the sign calculator 64. The output from the sign calculator 64 hard limited to a ±1 signal, which is supplied as a phase control signal to the interpolator 53, to form the loop.
The error signal Δk,j is the difference of the absolute values of Ek,j and Lk,j, which can be expressed as:
Δk,j=|Ek,j|−|Lk,j| Equation (9)
The integrator and dump circuit 63 provides the magnitude of the error signals and its output is hard-limited by the sign calculator 64 to either +1 or −1 according to the sign of the summed error signals. This +1 or −1 is used to adjust the timings of all punctual, early and late samples by ⅛ chip forward or backward and is implemented by controlling the interpolator phase. This interpolator phase is updated by subtracting the previous phase with the new input data (+1 or −1).
The interpolator 53 uses four samples (with the sampling interval of a half chip) to generate the punctual and late samples. The relationship between the phase control signal (i.e. the interpolator output), the timing offset and the interpolator coefficients is shown in Table 1. The early sample is generated by delaying one sample of the previously generated late sample. If the punctual sample is on phase “0,” then the late sample will be on the phase “2.” If the punctual sample is on phase “x,” then the late sample will be on phase “x+2.”
TABLE 1
Interpolator Phase, Timing Offset and Coefficients.
timing
Interpolator
offset
coefficient
coefficient
coefficient
Phase
(chips)
1
2
3
coefficient 4
−6
−0.7500
0.0000
0.0000
0.0000
1.0000
−5
−0.6250
0.0547
−0.2578
0.6016
0.6016
−4
−0.5000
0.0625
−0.3125
0.9375
0.3125
−3
−0.3750
0.0391
−0.2109
1.0547
0.1172
−2
−0.2500
0.0000
0.0000
1.0000
0.0000
−1
−0.1250
−0.0391
0.2734
0.8203
−0.0547
0
0.0000
−0.0625
0.5625
0.5625
−0.0625
1
0.1250
−0.0547
0.8203
0.2734
−0.0391
2
0.2500
0.0000
1.0000
0.0000
0.0000
3
0.3750
0.1172
1.0547
−0.2109
0.0391
4
0.5000
0.3125
0.9375
−0.3125
0.0625
5
0.6250
0.6016
0.6016
−0.2578
0.0547
6
0.7500
1.0000
0.0000
0.0000
0.0000
The integrator and dump circuit 63 is reset every 30 slots during steady tracking mode, and is reset every ten slots during the initial pull-in mode. At the beginning, the CTL 51 is in a “rough” timing position. It is desirable for CTL 51 to react quickly to find the right timing position (initial pull-in mode), and then the CTL 51 will lock to this position and track any timing change (tracking mode). During the first five frames after the finger is assigned to the CTL 51, the CTL 51 is assumed to be in the pull-in mode, and from the sixth frame on, the CTL 51 is assumed to be in the tracking mode.
For the pull-in mode, the CTL 51 is updated every ten slots and all ten pilot and data symbols are used per dedicated physical control channel (DPCCH) slot. In this case the accumulator output Q can be expressed as:
For steady mode, the CTL 51 is updated every 30 slots (or two frames) and all ten pilot and data symbols are used per DPCCH slot. The integrator and dump circuit output 63 can be expressed as:
Simulations of the results of CTL 51 tracking during a steady mode were performed, The simulation parameters were as follows:
If all ten pilot and data symbols are used for noncoherent combining in each slot and the CTL is updated every two frames (30 slots), then the accumulator output can be expressed as:
If only first three pilot symbols are used for coherent combining in each slot and the CTL is updated every two frames (30 slots), then the accumulator output can be expressed as:
Table 2 is a set of performance comparisons of the RMSE of difference CTL schemes. In this table, three CTL schemes were compared. One is the noncoherent combining using ten symbols per slot; the second is the coherent combing using three pilot symbols per slot; and the third is the simplified noncoherent combining using ten symbols per slot. For the target SNR=−24 dB, the three schemes perform closely. When the SNR is −34 dB, the coherent combining performs worst because fewer symbols are used. The simplified scheme is worse than the non-simplified version.
TABLE 2
The RMSE of difference CTL schemes
Simplified
Noncoherent
Coherent
noncoherent
combining using
combining using
combining using
10 symbols
3 symbols per
10 symbols
per slot
slot
per slot
SNR = −24 dB
1.63
1.51
1.52
SNR = −30 dB
2.18
2.27
2.17
SNR = −34 dB
3.07
5.15
4.03
Each CTL tracks one finger independently. When two multipaths (or fingers) are within one and half chip, the two CTLs for the two fingers will interfere with each other and therefore degrades the CTL tracking performance. According to a particular aspect of the invention, a joint CTL scheme is used to reduce the interference from each other. Without loss of generality, it is possible to take an approach that there are two multipaths. The received signal r(t) can be expressed as
r(t)=h1(t)s(t)+h2(t)s(t−τ) Equation (14)
where s(t) is the useful signal,
ak is the information symbol and g(t) is the signal waveform. h1(t) is the channel gain of the first path and h2(t) is the channel gain of the second path. τ is the relative delay between the two fingers. Note that the additive white Gaussian noise is not considered in Equation (14).
When the relative delay between two adjacent fingers is less than 1.5 chip, the two independent CTLs will interfere with each other as shown in
Sl1st(k)=h1(k)g(T/2)+h2(k)g(τ−T/2) Equation (15)
and the sample of the early signal of the second finger Se2nd(k) is:
Se2nd(k)=h1(k)g(τ−T/2)+h2(k)g(T/2). Equation (16)
CTL circuit 103 includes an interpolator 113, a delay circuit 114, early and late PN despreaders 115, 116, to magnitude calculation circuits 117, 118 which calculate absolute values of the respective signals, and to a summer 119. Also included is an integrator and dump circuit 123, a sign calculator 124, and a second summer 125. The interpolator 113 provides a single early/late output to delay circuit 114, which provides an early signal to early PN despreader 115. The output of interpolator 113 is provided directly to late PN despreader 116 and the outputs of the despreaders 115, 116 are provided to respective magnitude calculation circuits 117, 118. CTL circuit 104 includes an interpolator 133, a delay circuit 134, early and late PN despreaders 135, 136, to magnitude calculation circuits 137, 138 which calculate absolute values of the respective signals, and to a summer 139. Also included is an integrator and dump circuit 143, a sign calculator 144, and a second summer 145. The interpolator 133 provides a single early/late output to delay circuit 134, which provides an early signal to early PN despreader 135. The output of interpolator 133 is provided directly to late PN despreader 136 and the outputs of the despreaders 135, 136 are provided to respective magnitude calculation circuits 137, 138.
As can be seen, the relative delay τ between the two fingers can be obtained from two CTLs. As is the case with the circuit of
According to particular aspects of the present invention, the following two methods are effective to cancel interference:
Method 1: If the channel gains h1(t) and h2(t), are known, the inference is cancelled by subtracting the interference from useful signal. The error signals are generated as
Er1st(k)=|Se1st(k)|hu 2−|Sl1st(k)−h2(k)g(τ−T/2)|2 Equation (17)
Er2nd(k)=|Se2nd(k)−h1(k)g(τ−T/2)|2−|Sl2nd(k)|2 Equation (18)
The control signal C0 is calculated using Equation (2).
Method 2: If the channel gains h1 and h2 are not known, but the power of the two fingers is known, which are the means of the channel gains |h1|2 and |h2|2, E|h1|2 and E|h2|2. Since:
The control signal C0 is calculated as follows with the interference removed.
The present invention is useful in cellular mobile systems. In one preferred embodiment, the invention is implemented in a base station transmission as controlled by a radio network controller or a Node B transmit controller. It is understood, however, that the invention can be used for a wide variety of spread spectrum communications transmissions.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4221005, | May 21 1979 | Pseudonoise code tracking loop | |
4453259, | Apr 20 1982 | TRW Inc. | Digital synchronization technique |
4805191, | Nov 25 1987 | Motorola, Inc.; UNIVERSAL DATA SYSTEMS, INC , HUNTSVILLE, ALABAMA, A CORP OF DE | Modem with improved timing recovery using equalized data |
5192957, | Jul 01 1991 | Motorola, Inc. | Sequencer for a shared channel global positioning system receiver |
5414729, | Jan 24 1992 | NOVATEL INC | Pseudorandom noise ranging receiver which compensates for multipath distortion by making use of multiple correlator time delay spacing |
5574721, | Dec 09 1994 | Stanford Telecommunications, Inc | Orthogonal code tracking system having phantom carrier signal |
5579345, | Oct 13 1994 | iBiquity Digital Corporation | Carrier tracking loop for QPSK demodulator |
5659573, | Oct 04 1994 | Google Technology Holdings LLC | Method and apparatus for coherent reception in a spread-spectrum receiver |
5768323, | Oct 13 1994 | iBiquity Digital Corporation | Symbol synchronizer using modified early/punctual/late gate technique |
5818887, | Jul 26 1996 | Google Technology Holdings LLC | Method for receiving a signal in a digital radio frequency communication system |
5982807, | Mar 17 1997 | HANGER SOLUTIONS, LLC | High data rate spread spectrum transceiver and associated methods |
6049535, | Jun 27 1996 | InterDigital Technology Corporation | Code division multiple access (CDMA) communication system |
6072822, | Jan 14 1997 | Sony Corporation | Terminal unit for use with radio system and searching method |
6075809, | Jan 06 1997 | Sony Corporation | Receiving apparatus, receiving method and terminal unit for use with radio system |
6108370, | Jan 06 1997 | Sony Corporation | Receiving apparatus, receiving method, and terminal unit for use with radio system |
6154487, | May 21 1997 | Mitsubishi Denki Kabushiki Kaisha | Spread-spectrum signal receiving method and spread-spectrum signal receiving apparatus |
6205167, | Dec 23 1997 | BREAKWATERS INNOVATIONS LLC | Apparatus and method for code tracking in an IS-95 spread spectrum communications system |
6272168, | Jun 30 1995 | InterDigital Technology Corporation | Code sequence generator in a CDMA modem |
6456648, | Oct 01 2001 | InterDigital Technology Corporation | Code tracking loop with automatic power normalization |
6459883, | Jul 31 2000 | Intel Corporation | Generic finger architecture for spread spectrum applications |
6483867, | Nov 22 1999 | HMD Global Oy | Tracking loop realization with adaptive filters |
6633255, | Oct 09 1995 | Qualcomm Inc. | Method for open loop tracking GPS signals |
6643344, | Aug 27 1998 | Intel Corporation | Tracking method and configuration for carrying out the method |
6693951, | Jun 25 1990 | Qualcomm Incorporated | System and method for generating signal waveforms in a CDMA cellular telephone system |
6810071, | Jun 24 2000 | PANTECH CORPORATION | Code division multiple access (CDMA) code timing tracking apparatus |
7012937, | Jun 26 2000 | U S BANK NATIONAL ASSOCIATION | Method and apparatus for tracking a synchronization signal |
7023904, | Aug 15 2000 | Fujitsu Limited | Synchronization tracking circuit |
7251268, | Nov 22 2000 | Koninklijke Philips Electronics N.V. | Rake receiver |
7529292, | Oct 01 2001 | InterDigital Technology Corporation | Code tracking loop with automatic power normalization |
7817760, | Jan 19 2001 | Qualcomm Incorporated | Delay lock loops for wireless communication systems |
20020009064, | |||
20020018518, | |||
20020034215, | |||
20020037029, | |||
20020057729, | |||
20020075972, | |||
20020101912, | |||
20030063657, | |||
20030081703, | |||
20040057506, | |||
20060126574, | |||
20090213911, | |||
JP10294717, | |||
JP11150524, | |||
JP2001069039, | |||
JP2002111537, | |||
RE40231, | Mar 17 1997 | HANGER SOLUTIONS, LLC | High data spread spectrum transceiver and associated methods |
TW297978, | |||
WO122611, | |||
WO176085, | |||
WO9621294, | |||
WO9728608, | |||
WO9857453, | |||
WO9923770, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 07 2010 | InterDigital Technology Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Jul 10 2015 | 4 years fee payment window open |
Jan 10 2016 | 6 months grace period start (w surcharge) |
Jul 10 2016 | patent expiry (for year 4) |
Jul 10 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 10 2019 | 8 years fee payment window open |
Jan 10 2020 | 6 months grace period start (w surcharge) |
Jul 10 2020 | patent expiry (for year 8) |
Jul 10 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 10 2023 | 12 years fee payment window open |
Jan 10 2024 | 6 months grace period start (w surcharge) |
Jul 10 2024 | patent expiry (for year 12) |
Jul 10 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |