Techniques to control power consumption in an iterative decoder by control of node configurations
Summary by NHIP
Iterative Decoder Power Control
The apparatus controls power consumption by enabling or disabling variable node processors, check node processors, and their associated memories during iterative decoding. A controller compares a false parity sum generated by an adder to a threshold to adjust the number of enabled processors based on the result.
Claim Score by NHIP
Abstract
A method for controlling power consumption of an iterative decoder based on one or more criteria is described. The method may include performing iterative decoding on a demodulated signal to provide a decoded signal, receiving information regarding the iterative decoding, and based on the information controlling a number of nodes of the iterative decoder to enable during a next iteration of the iterative decoding.

Term
4.7 yearsleft in the term
Expires 17 June 2031, including 443 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
19 claims: 3 independent, 16 dependent
- 1An apparatus comprising:an iterative decoder including: a plurality of variable node processors each to receive a channel input and at least one of a plurality of check node values and to calculate a variable node value;a variable node memory including a plurality of nodes each associated with one of the variable node processors;a shuffle unit coupled to receive a variable node value from each of the plurality of variable node processors and to provide the variable node value to at least one of a plurality of check node processors coupled to the shuffle unit;the plurality of check node processors each to receive at least one variable node value and to calculate a check node value including a parity value and a magnitude value;a check node memory including a plurality of nodes each associated with one of the check node processors;and a controller coupled to the plurality of variable node processors, the variable node memory, the plurality of check node processors, the check node memory, and the shuffle unit to individually enable or disable each of the corresponding variable node processors, the variable node memory, the plurality of check node processors, and the check node memory during iterative decoding.
- 12Broadest claimClaim Score 57, broad(NHIP)A method comprising:performing iterative decoding on a demodulated signal obtained from a received radio frequency (RF) signal in an iterative decoder to provide a decoded signal, the iterative decoding having a plurality of nodes each including a variable node processor and a check node processor;receiving information regarding the iterative decoding;comparing a signal-to-noise ratio (SNR) of an incoming signal from which the demodulated signal is obtained to a threshold, and determining a number of subsets of the nodes to enable for a next iteration of the iterative decoder based at least in part on the SNR;and controlling the iterative decoder for the next iteration based on the determined number of subsets.
- 15A system comprising:a receiver to receive radio frequency (RF) signals of a plurality of digital video broadcasting (DVB) standards and to downconvert the received RF signal to a baseband signal and demodulate the baseband signal into a demodulated signal, the receiver having a forward error correction (FEC) circuit including an iterative decoder to decode the demodulated signal into a decoded signal and a controller coupled to the iterative decoder to individually enable or disable each of a plurality of nodes of the iterative decoder each including a variable node processor and a check node processor, a variable node memory portion and a check node memory portion, based at least in part on information regarding a number of iterations of iterative decoding performed on a current block of the demodulated signal.
Independent claims3
62 paragraphs in 4 sections, as filed
BACKGROUND
p-0002Iterative decoding is a very powerful decoding technique used in many forward error correction (FEC) circuits for digital demodulation (and also for storage). Several standards implement decoding techniques such as Turbo codes and low density parity check (LDPC) decoding. For example, Turbo code is used in 3GPP and IEEE 802.16 standards, and LDPC is used in various recent digital video broadcast (DVB) standards including DVB-S2, DVB-T2 and DVB-C2. Iterative decoding outperforms error correcting capabilities in comparison with classical decoding. However iterative decoding implies a higher decoding frequency in order to perform many iterations and also increases complexity of a demodulator.
p-0003To realize high performance and high bit decoding throughput, the drawback is an increase in power consumption and thus power dissipation for a package that includes such a decoder. The typical power consumption for iterative decoding can be 50% or more of an entire chip's power consumption. Existing techniques for power reduction in LDPC decoding are based on reducing the iteration number or the activities of check node processors of the decoder when the iterative decoder is correcting errors successfully.
SUMMARY OF THE INVENTION
p-0004According to one aspect, the present invention includes an iterative decoder that can be configured to enable reduced power consumption. For purposes of illustration, a LDPC decoder is described, however embodiments are not limited to any particular type of iterative decoder.
p-0005A representative decoder may include a set of nodes, each generally including a variable node processor to receive a channel input and at least one check node value to enable calculation of a variable node value, and a check node processor to receive at least one variable node value and to calculate a check node value including a parity value and a magnitude value and provide a first output having a first value if the parity value is of a false parity, and corresponding variable node and check node memories. The variable node and check node processors may be coupled via a shuffle unit. In turn, an adder may be coupled to the check node processors to receive the first outputs and to generate a false parity sum. In addition, a controller may be coupled to the adder to receive the false parity sum and to control iterative decoding on a current block of the channel input based at least in part on the false parity sum.
p-0006Such control may be realized using different criteria, depending on a desired implementation. Example criteria include controlling a number of nodes to be enabled, based at least in part on the false parity sum, such as based on comparison of the sum to a first threshold. Another example may be to control the number of nodes based on comparison a false parity sum of a current iteration to a false parity sum of a previous iteration. In yet other implementations control of the number of nodes may be based on an estimate of a noise level of a signal from which the channel input is obtained.
p-0007Another aspect of the present invention is directed to a method for controlling power consumption of an iterative decoder based on one or more criteria. To this end, the method may include performing iterative decoding on a demodulated signal to provide a decoded signal, determining a number of nodes to enable for a next iteration of the iterative decoding based on information regarding the iterative decoding, and controlling the iterative decoding accordingly.
p-0008Embodiments may be incorporated into a system such as a receiver to receive radio frequency (RF) signals of any of multiple digital video broadcasting (DVB) standards and to downconvert the received RF signal to a baseband signal and demodulate the baseband signal into a demodulated signal. This receiver may include a forward error correction (FEC) circuit including an iterative decoder such as described above. In turn, the iterative decoder can be controlled to reduce power consumption using a controller that control a number of nodes enabled for the iterative decoding based at least in part on information regarding a number of iterations performed on a current block of the demodulated signal.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0009<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of an iterative decoder in accordance with one embodiment of the present invention.
p-0010<figref idrefs="DRAWINGS">FIG. 2</figref> is a high-level block diagram of a receiver in accordance with one embodiment of the present invention.
p-0011<figref idrefs="DRAWINGS">FIG. 3</figref> is a block diagram of a receiver to perform power control based on convergence checking in accordance with one embodiment of the present invention.
p-0012<figref idrefs="DRAWINGS">FIG. 4</figref> is a block diagram of a decoder in accordance with another embodiment of the present invention.
p-0013<figref idrefs="DRAWINGS">FIG. 5</figref> is a flow diagram of a method for controlling power consumption of an iterative decoder in accordance with an embodiment of the present invention.
p-0014<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow diagram of a method for controlling power consumption of an iterative decoder in accordance with another embodiment of the present invention.
p-0015<figref idrefs="DRAWINGS">FIG. 7</figref> is a flow diagram of a method for performing power control in accordance with yet another embodiment of the present invention.
p-0016<figref idrefs="DRAWINGS">FIG. 8</figref> is a flow diagram of a power control method in accordance with another embodiment of the present invention.
p-0017<figref idrefs="DRAWINGS">FIG. 9</figref> is a flow diagram of a method for controlling power consumption dynamically in accordance with one embodiment of the present invention.
p-0018<figref idrefs="DRAWINGS">FIG. 10</figref> is a block diagram of a system in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION
p-0019In various embodiments, an iterative decoding architecture may allow a tradeoff between power consumption and decoding performance. To this end, embodiments may control the availability of individual units of a decoder for performing decoding. In an LDPC implementation, control of the number of available variable node processors and check node processors may be made according to one or more criteria. In addition, embodiments may reduce peak power consumption and allow adaptation of a decoder to a particular power supply.
p-0020More specifically, embodiments may perform control techniques by enabling only a sub-set of available variable node processors/check node processors to realize flexibility in power reduction, e.g., on a frame-by-frame basis and/or between decoding iterations. Without limiting the number of iterations performed, embodiments thus allow maintaining the same performance. Although using a sub-set of variable node processors/check node processors could reduce the maximum number of iterations, it is possible to get a balancing effect due better iterative decoding convergence. According to various criteria, embodiments thus may provide a tradeoff between power consumption and performance.
p-0021As will be described further below, the number of variable node processors/check node processors of an iterative decoder used can be modified according to various criteria, with possible modifications of the number of enabled nodes at each iteration. In addition, the decoder architecture can be optimized to reduce power according to the used number of variable node processors/check node processors. As such, memories for variable node processors and check node processors can be gathered in sub-sets in order to use a single memory chip select for each sub-set (or individually). A controller in accordance with an embodiment of the present invention may thus control memory chip select signals and variable node processor/check node processor enable signals for each sub-set, so that unused memories are not selected and unused variable node processors/check node processors are switched off.
p-0022Sub-set activation in accordance with an embodiment of the present invention may be used according to different criteria in order to not penalize performance, and can be adapted according to a previous iteration result. Moreover, some LDPC code gets better iterative decoding convergence and can benefit from using a lower sub-set of variable node processors/check node processors even if there is a reduction in the maximum number of iterations. For example when using half of the variable node/check node processors (VN/CN), the maximum iterations are reduced by 2. If 50 iterations are used in place of 100 the performance should be the same, but if 25 iterations are performed in place of 50 then performance could be reduced due to the missing iterations. But for some LDPC code, using less processors allows better iterative decoding converging and thus less iterations are needed. The iterative convergence improvement is due to allowing VN/CN processors to use previous VN/CN computations from other parity check equations. So using the previous example, 25 iterations could be an interesting trade off when checking the iterative decoding converging. Moreover a reduced sub-set of VN/CN processors could be used during 10 iterations and if the convergence is not good, all VN/CNs may be enabled to reach 40 iterations in place <b>25</b>.
p-0023Several criteria can be used in order to select the number of variable node processors/check node processors to be enabled in the LDPC decoder. In some implementations, the non-enabled processing units can be placed in a standby mode with no activity. One criterion may be to use a signal-to-noise (SNR) estimator and adapt variable node processors/check node processors sub-sets accordingly. As will be described below, a SNR can be compared to a threshold, and when it is higher than this threshold, a sub-set of nodes (generally including a variable node processor, check node processor, and corresponding memory) can be enabled instead of all nodes to reduce power consumption. For example, when the SNR is 1 dB higher than a level needed for good iterative decoding (e.g., a threshold level) then the number of iterations needed can be low (e.g., below half of the maximum number of iterations). Instead of running fewer iterations using all variable node processors/check node processors, embodiments may use only a sub-set of them.
p-0024Yet another criterion is to determine whether the iterative decoding is converging. Iterative decoding convergence can be evaluated by counting for each iteration the number of updated intrinsic values below a threshold (if an updated intrinsic value is below the threshold, then it implies that it is not a safe/stabilized value; in this case, the soft bit confidence is low). For LDPC decoding, it is possible to compute at each iteration a parity check result for all equations and then to obtain the sum of false parity check equations per iteration. By computing the number of false parity equations, an accurate measure of the correcting effect can be obtained. This false parity number should decrease for each iteration when the decoder succeeds to correct errors. This information may allow a more precise determination of when it will be interesting to use or modify the variable node processor/check node processor sub-sets for the best trade-off between power consumption and performance. The advantage of this criteria is that a continuous check on the processing performed by the iterative decoder on a frame-by-frame basis for each iteration can occur (not globally like for the previous criteria). Thus the system can continuously control the iterative decoding success and adapt efforts to get the best trade-off between performance and power consumption.
p-0025Yet a further criterion may be to use a continuous checking on a statistic on the number of iterations used to decode the bits. This criteria may be based on implementation of the iterative decoding converging checking described above to stop the iterative decoder when all errors appear to be corrected. Then with few error bits, only some iterations are necessary. However, the LDPC decoder uses a high number of iterations when there are more bit errors to correct. According to this criterion, a value (e.g. a mean value) based on the number of iterations used to decode can be determined and compared to a threshold. Another way may be to count the number of iterations higher than a threshold on a time sliding window or on some frames. If the mean (or previous counter) result is higher than a threshold, it can be assumed that the decoder needs a higher variable node processor/check node processor sub-set or all available variable node processors/check node processors.
p-0026Note that a system can use several of the previous criteria together. In different implementations, the controls and thresholds can be performed via a processor and/or under firmware control. In yet other embodiments, an iteration index threshold may be used to switch between different variable node processor/check node processor activation, as will be described below.
p-0027While an iterative decoder may take many forms in various embodiments, referring now to <figref idrefs="DRAWINGS">FIG. 1</figref> shown is a block diagram of an iterative decoder in accordance with one embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, decoder <b>120</b> may be part of a receiver <b>100</b> such as a digital receiver to receive and demodulate incoming IF signals such as TV signals of a given DVB standard. As seen in <figref idrefs="DRAWINGS">FIG. 1</figref>, decoder <b>120</b> may be an LDPC decoder. However according to various embodiments any type of iterative decoder may be possible. The LDPC decoder could be full parallel or semi-parallel. In a semi-parallel mode for example ½ VN/CN parity equations are processed and when completed, the remaining ½ VN/CN may be used to process parity equations. Here the clock cycles can be doubled and the maximum iterations reduced by two.
p-0028Incoming bits which may be soft bits of a channel input, e.g., as determined via an equalizer and demapper may be provided and stored in an intrinsic memory <b>110</b>. As one example, intrinsic memory <b>110</b> may be an internal store such as a random access memory (RAM). The soft bits may be provided from intrinsic memory <b>110</b> to iterative decoder <b>120</b>, and more specifically each bit of the channel input from the intrinsic memory may be provided to a corresponding one of a plurality of variable node processors <b>122</b><sub>1</sub>-<b>122</b><sub>N</sub>.
p-0029As seen in the configuration of <figref idrefs="DRAWINGS">FIG. 1</figref>, each variable node processor <b>122</b> may be coupled to a corresponding variable node memory <b>123</b><sub>1</sub>-<b>123</b><sub>N</sub>. In addition, each of the variable node processors <b>122</b> is further coupled to a shuffle unit <b>124</b>, which may provide interconnections between the variable nodes and one or more of a plurality of check node processors <b>126</b><sub>1</sub>-<b>126</b><sub>N</sub>. In turn, check node processors <b>126</b> each may be coupled to a corresponding check node memory <b>127</b><sub>1</sub>-<b>127</b><sub>N</sub>.
p-0030In one embodiment, decoder <b>120</b> may be configured as a min-sum decoder. Each decoding iteration includes updating and transferring a message in the form of a log-likelihood ratio (LLR). At the beginning of min-sum decoding, the variable node processors pass a LLR value of the incoming soft bits to a neighboring check node processor via the shuffle unit. In each iteration, a check update occurs followed by a variable update. During the check update, the check node processors determine and output as a magnitude a minimum of the input magnitudes, and a sign as a parity of the signs of the inputs. During the variable update phase, the variable node processors calculate a sum of the inputs from the check node processors plus the channel input. Further details regarding operation of an iterative decoder can be found in Annex G.2 of ETSI EN 302 307 V.I.I.I. (2004-06).
p-0031Thus, a min-sum operation occurs. The check node processors perform a computation (e.g., MIN operation in min-sum decoding), the outputs of which are provided back to the variable node processors through shuffle unit <b>124</b>. In turn, the inputs to the variable node processors arrive from the intrinsic memory and one or more check node processors. The shuffle unit thus may be used in the two directions. After performing the message update (e.g., SUM operation in min-sum decoding), the variable node processor outputs are sent back to the check node processors for the next decoding iteration. Decoding proceeds with all check node processors and variable node processors alternately performing their computations for a predetermined number of iterations, after which the decoded bits are obtained from one final computation performed by the variable node processors and provided to, e.g., a hard decoder <b>130</b>.
p-0032As seen, each of the variable node processors, check node processors and the shuffle unit may be under control of a decoder controller <b>128</b>. More specifically, as shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, controller <b>128</b> may provide an individual variable node enable signal to each of the variable node processors <b>122</b>. Similarly, individual check node enable signals may be provided to each of check node processors <b>126</b>. Still further, individual node memory chip select signals may be provided to each of variable node memories <b>123</b> and check node memories <b>127</b>. Controller <b>128</b> may further provide configuration information to shuffle unit <b>124</b> to enable the shuffle unit to communicate information between the check nodes and variable nodes that are enabled for a given iteration. In this way, controller <b>128</b> can individually enable each of the variable node processors, check node processors and corresponding node memories. While these enable signals may be individually provided and controlled, in many implementations such control may be on a subset basis such that certain numbers of the variable nodes, check nodes and corresponding memories can be commonly enabled/disabled. Decoder controller <b>128</b> may thus operate to control the iterative decoding process by individually controlling which variable node processors, check node processors and corresponding node memories are to be enabled for a given iteration of the iterative decoding using one or more criteria, as discussed above and will be described further below
p-0033As further seen in <figref idrefs="DRAWINGS">FIG. 1</figref>, check node processors <b>126</b> each also may output an exclusive-OR (XOR) value to an adder <b>140</b>, which corresponds to the parity output of the check node processors. Adder <b>140</b> then sums these XOR values to determine a false parity sum. That is, each check node processor <b>126</b> may output an XOR value of a first logic value (e.g., a logic one value) when a false parity is detected for the corresponding check node. As result, adder <b>140</b> may thus generate a false parity sum which it provides to a convergence checker <b>150</b>. Based on the false parity sum, in addition to other information (e.g., a false parity threshold, constellation and code rate, which it may receive from a processor or other controller such as a microcontroller), convergence checker <b>150</b> may generate a control signal which may be sent to controller <b>128</b> to thus control the number of nodes enabled to perform the iterative decoding in decoder <b>120</b>. While shown with this particular implementation in the embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, understand the scope of the present invention is not limited in this regard.
p-0034Note that an iterative decoder in accordance with an embodiment of present invention can be implemented in many different types of systems. Referring now to <figref idrefs="DRAWINGS">FIG. 2</figref>, shown is a high-level block diagram of a receiver in accordance with one embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 2</figref>, receiver <b>200</b> may receive an input signal. While the receiver may include various front-end circuitry, for ease of discussion the input signal is shown being provided directly to a demodulator <b>210</b>. In various embodiments, demodulator <b>210</b> may be a digital demodulator that operates in accordance with any given DTV standard to receive incoming signals, e.g., at a digital IF frequency, and to demodulate the signal down to baseband. As seen in the embodiment <figref idrefs="DRAWINGS">FIG. 2</figref>, demodulated signals output from demodulator <b>210</b> may be provided to iterative decoder <b>220</b>. While shown as being directly coupled in the embodiment of <figref idrefs="DRAWINGS">FIG. 2</figref>, understand that the scope of the present invention is not limited in this aspect. That is, in many implementations additional signal processing circuitry such as an equalizer or other signal processing circuitry may be present in the signal processing path between demodulator <b>210</b> and iterative decoder <b>220</b>.
p-0035To control power consumption in iterative decoder <b>220</b>, various information may be provided to a power controller <b>230</b>. As seen, power controller <b>230</b> may generate various signals to be provided to iterative decoder <b>220</b>. Specifically in the embodiment of <figref idrefs="DRAWINGS">FIG. 2</figref>, such signals may include variable node processor/check node processor enable signals to indicate to decoder <b>220</b> which one or more variable node processors and check node processors are to be enabled for a given iteration. Still further, shuffle program signals may be sent to decoder <b>220</b> to configure its shuffle unit to provide appropriate connection paths between the selected enabled variable node processors and check node processors. In addition, based on these various enable signals, decoder <b>220</b> (and more specifically a controller within decoder <b>220</b>) may generate appropriate chip select signals for the node memories associated with the selected check and variable node processors. Note that in some embodiments, an additional signal may be sent to limit decoder <b>220</b> to perform no more than a maximum number of iterations.
p-0036As seen, power controller <b>230</b> is coupled to receive a SNR estimate signal from demodulator <b>210</b> and threshold information from a threshold table <b>240</b>. In general, the SNR estimate signal may be determined using a SNR estimator, which may be located within the demodulator <b>210</b> or another portion of receiver <b>200</b>. Threshold table <b>240</b> may store various threshold information associated with the different types of processing that can be performed in the decoder. For example, the threshold table may store a table of threshold SNRs (e.g., expressed in dB) for each constellation and code rate used (in addition to other parameters affecting the signal-to-noise ratio). Based on a given SNR estimate and the corresponding threshold, power controller <b>230</b> may generate the appropriate enable and shuffle program signals. While shown with this particular implementation in the embodiment of <figref idrefs="DRAWINGS">FIG. 2</figref>, understand scope of the present invention is not limited in this regard.
p-0037In addition to controlling power consumption of iterative decoding based on signal-to-noise ratio, instead (or in addition) power control may occur when decoding is not proceeding favorably. Referring now to <figref idrefs="DRAWINGS">FIG. 3</figref>, shown is a block diagram of a receiver to accommodate power control based on convergence checking. In general, receiver <b>200</b>′ may be similarly configured to that of receiver <b>200</b> of <figref idrefs="DRAWINGS">FIG. 2</figref>. Note that the demodulator and threshold table however are not shown in <figref idrefs="DRAWINGS">FIG. 3</figref> for ease of illustration. Instead a convergence checker <b>225</b>, which is shown in <figref idrefs="DRAWINGS">FIG. 3</figref> as being internal to the iterative decoder <b>220</b>, may be present. This convergence checker may receive a confidence threshold and based on information from the decoding process generate a sum value which is indicative of a no confidence decision for the soft bits generated in iterative decoder <b>220</b>. More specifically, the sum value may be a sum of false parity check operations performed by the check node processors. In one embodiment, the confidence threshold may be received from a controller of the system, e.g., a digital signal processor of a receiver. However, the threshold may be received from other locations such as an embedded hardware controller with look-up table according to constellation, code rate and other parameters.
p-0038In operation of the iterative decoder of <figref idrefs="DRAWINGS">FIG. 3</figref>, one or more thresholds may be provided to power controller <b>230</b>. These thresholds may correspond to one or more confidence thresholds or false parity sum thresholds for the LDPC decoder. Based on such thresholds and the sum value provided by convergence checker <b>225</b>, power controller <b>230</b> may generate the appropriate enable and shuffle program signals to be sent to iterative decoder <b>220</b>, which may in turn enable/disable selected subsets of the node processors/memories, as discussed above regarding <figref idrefs="DRAWINGS">FIG. 2</figref>. While shown as a separate control criteria in the embodiment of <figref idrefs="DRAWINGS">FIG. 3</figref>, understand that this convergence information may be combined with the SNR information discussed above in the <figref idrefs="DRAWINGS">FIG. 2</figref> implementation.
p-0039In another implementation, a power control decision can be made based on a statistic regarding the number of iterations used to decode a data block, for example, an analysis of how many data blocks (e.g., of a frame size or based on a sliding window) for which a maximum number of iterations are performed (or how many times the iteration index is higher a threshold). When a maximum number of iterations are performed for a given frame (or the iteration index exceeds the threshold), this is an indication that there are difficulties in the decoding and the controller should increase the number of VN/CN processors in order to get more iterations. Said differently, when the receiving conditions are good, there are less nodes in use, which can help find a power/performance trade-off.
p-0040Referring now to <figref idrefs="DRAWINGS">FIG. 4</figref>, shown is a block diagram of a decoder to control power consumption based on an iteration index analysis. As seen in <figref idrefs="DRAWINGS">FIG. 4</figref> receiver <b>200</b>″ includes an iterative decoder <b>220</b> that is coupled to receive node enable signals and shuffle program signals provided by power controller <b>230</b>. In the embodiment of <figref idrefs="DRAWINGS">FIG. 4</figref>, power controller <b>230</b> may receive an indication of a number of iterations of the iterative decoder <b>220</b> that was performed for each data block (e.g., frame), e.g., from convergence checker <b>225</b>. Based on this information as well as certain threshold information and the maximum number of iterations allowed, the control signals may be provided to iterative decoder <b>220</b> to thus increase power consumption by controlling the number of nodes enabled for operation, e.g., when the decoder may be having difficulties. Note that while the above discussion of <figref idrefs="DRAWINGS">FIGS. 2-4</figref> is described independently, in different implementations one or more of these different criteria can be combined to control power consumption in an iterative decoder. Thus if the iteration index is often higher than the threshold or at the maximum, then iterations are needed so more VN/CN can be enabled in order to get more iterations. On the contrary, when successful decoding occurs with few iterations a fewer number of VN/CN may be enabled.
p-0041A power controller in accordance with an embodiment of the present invention may perform various operations to control power consumption of an iterative decoder based on analysis of one or more different types of criteria such as discussed above. Further, understand that while shown in the implementations of <figref idrefs="DRAWINGS">FIGS. 2-4</figref> as a separate power controller of a receiver, embodiments may be implemented in various circuitry of a receiver, including within a decoder itself, a DSP or other microcontroller unit of a receiver.
p-0042Referring now to <figref idrefs="DRAWINGS">FIG. 5</figref>, shown is a flow diagram of a method for controlling power consumption of an iterative decoder in accordance with an embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 5</figref>, method <b>300</b> may be used to perform power reduction based on successful error correction in an iterative decoder.
p-0043As seen, method <b>300</b> may begin by receiving an indication of a number of failed nodes of an iterative decoder for each iteration (block <b>310</b>). This indication may be provided in various manners. For example, in an embodiment of an LDPC decoder, this indication may be by way of a false parity check equations sum. However, more generally for an iterative decoder, the indication may be a bit sum of a low confidence or no confidence decision for a soft bit. As seen, this received indication may be compared to a threshold to determine whether the indication is less than the threshold (diamond <b>320</b>). While the scope of the present invention is not limited in this regard, this threshold may be at a given level, e.g., one if no outer code and else ten. If the number of the indication is below this threshold, meaning that the number of errors is lower than the threshold, the controller may control the iterative decoder to stop iterative decoding (block <b>330</b>). That is, as the decoding is successfully realized, further iterations may only act to consume power needlessly. Note that while a given threshold may be present, in an implementation where additional error correction coding such as an outer code is present, this threshold may be greater in the presence of the possibility of additional error correction performed elsewhere in a receiver.
p-0044Still referring to <figref idrefs="DRAWINGS">FIG. 5</figref>, if instead at diamond <b>320</b> it is determined that the indication is greater than the threshold, control passes to block <b>340</b> where iterative decoding may be continued. While shown with this particular implementation in the embodiment of <figref idrefs="DRAWINGS">FIG. 5</figref>, understand the scope of the present invention is not limited in this regard.
p-0045In addition to controlling power consumption in the face of successful error correction, embodiments of a power controller may similarly reduce power consumption by controlling a number of processing nodes (e.g., subsets) to perform the iterative decoding based on one or more predetermined criteria. Referring now to <figref idrefs="DRAWINGS">FIG. 6</figref>, shown is a flow diagram of a method in accordance with another embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 6</figref>, method <b>400</b> may be performed by a power controller, and may begin by receiving an iteration index from the iterative decoder (block <b>410</b>). This iteration index may be an indication of the given number of iterations performed on a given data frame. Next, the received iteration index may be compared to an iteration index threshold at diamond <b>420</b>. If it is determined that the received iteration index is greater than the iteration index threshold, control passes to block <b>450</b> discussed further below. If instead the received iteration index is less than the iteration index, control passes to block <b>425</b>, where iterative decoding may be continued with the current number of processing nodes enabled for the next iteration.
p-0046Still referring to <figref idrefs="DRAWINGS">FIG. 6</figref>, method <b>400</b> may further perform a similar comparison of a no confidence soft bit sum (or false parity checksum) as described above with regard to <figref idrefs="DRAWINGS">FIG. 5</figref>. Specifically, method <b>400</b> may receive an indication of a number of failed nodes of an iterative decoder at each iteration (block <b>415</b>). This received indication may be compared to a threshold to determine whether the indication is greater than the threshold (diamond <b>430</b>). While the scope of the present invention is not limited in this regard, this threshold may be at a given level based on a percentage of false parity sums. If the number of the indication is greater than this threshold, meaning that the number of errors is greater than the threshold, control passes to diamond <b>450</b>. Otherwise, if it is determined that the indication is less than the threshold, control passes to block <b>435</b> where iterative decoding may continue with the current number of enabled nodes.
p-0047Still referring to <figref idrefs="DRAWINGS">FIG. 6</figref>, next it may be determined at diamond <b>450</b> if both comparisons indicate that the compared values are greater than the corresponding thresholds. If so, control passes to block <b>460</b> where the number of enabled nodes or sub-sets may be increased so that the quality of the iterative the decoding may be improved. Note that if both decision branches into diamond <b>450</b> are not in the affirmative, iterative decoding may otherwise continue with the current number of enabled nodes (block <b>455</b>).
p-0048As described above, in other implementations an iterative decoder may perform a number of iterations for a given data block (e.g. frame or sliding window) up to a maximum number of iterations allowed. However, the power controller may cause the iterative decoder to increase the number of enabled nodes if this maximum iteration number is occurring too often. Referring now to <figref idrefs="DRAWINGS">FIG. 7</figref>, shown is a flow diagram of a method for performing power control in accordance with yet another embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 7</figref>, method <b>500</b> may begin by receiving a number of iterations performed in a given data block (block <b>510</b>). In one embodiment, this data block may be of a sliding window of a plurality of frames (e.g., between approximately 16 and 64 frames). This information may be received in the power controller from the iterative decoder. Next at diamond <b>520</b> it may be determined whether the number of iterations is greater than or equal to an iteration threshold (diamond <b>520</b>). While this threshold may be at the maximum iteration level, a fallback iteration limit may instead act as the threshold. If the determination of diamond <b>520</b> is in the positive, a shift register may be updated with a first value (block <b>530</b>). This first value may in one embodiment be a logical one value. Otherwise, if the number of iterations is below the iteration threshold, the shift register may be updated with a second value (block <b>540</b>). In this embodiment, the second value may be a logical zero value.
p-0049From both of blocks <b>530</b> and <b>540</b>, control passes to block <b>550</b>, where N bits of the shift register may be added together. This sum is thus a measure of a number of frames within the sliding window for which more than a threshold number of iterations was performed. Then, it may be determined at diamond <b>560</b> whether the sum of the shift register bits is greater than a peak sum threshold. While the scope of the present invention is not limited in this regard, this peak sum threshold may correspond to a percentage of shift register bits having a logic one value. For example, in one instance the shift register may be a 16-bit register. In such a case, the peak sum threshold may be between approximately 4 and 8, in one embodiment. If the sum of the shift register bits is greater than the peak sum threshold, control passes to block <b>570</b>, where the number of nodes enabled for iterative decoding may be increased. For example, a sub-set of the number of enabled nodes may be increased. Thus when it is determined that the number of nodes to be enabled for processing should be increased to realize more margin in a maximum number of iterations, such a change to the enabled number of iterations can occur, effectively helping to find a performance/power trade-off. If instead it is determined that the sum of the N bits of the shift registers is not greater than the peak sum threshold, the method may conclude without a change to the number of nodes enabled for processing (block <b>580</b>). While shown with this particular implementation in the embodiment of <figref idrefs="DRAWINGS">FIG. 7</figref>, the scope of the present invention is not limited in this regard. Note that if the sum of N bits of the shift register is zero, a reduced VN/CN sub-set may be used. Moreover each time the VN/CN sub-set number is modified, the iteration threshold can also be modified because the maximum iteration is modified.
p-0050In still further implementations, it is possible to control the number of node processors based on the number of iterations already performed on a given data block (such as a frame). For example, to balance power consumption with decoding efficiency one scheme may be to begin iterative decoding with a relatively small number of enabled nodes or sub-sets, and as iterative decoding continues to increase the number of enabled nodes or sub-sets, depending on how many iterations have been performed.
p-0051Referring now to <figref idrefs="DRAWINGS">FIG. 8</figref>, shown is a flow diagram of a power control method in accordance with yet another embodiment of the present invention. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, method <b>600</b> may be used to perform power control by controlling the number of node sub-sets enabled based on the iterations performed. As seen, method <b>600</b> may begin by receiving an iteration index from the iterative decoder (block <b>610</b>). In one embodiment, this iteration index may be received in a power controller from the iterative decoder, in which the index number increases with each iteration performed on a given data block.
p-0052Still referring to <figref idrefs="DRAWINGS">FIG. 8</figref>, a series of determinations may be made serially, each comparing the received iteration index to a corresponding iteration threshold. First, at diamond <b>620</b> it is determined whether the iteration index is less than a first threshold. This first threshold may be for a relatively small number of iterations performed, e.g., between approximately 5 and 10, in one embodiment. If it is determined that the iteration index is less than this threshold, control passes to block <b>625</b> where only a limited number of nodes may be enabled. In the specific implementation shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, at block <b>625</b> only one in six nodes may be enabled, of course this number can vary in different embodiments. Thus power can be reduced as only a small number of nodes are enabled.
p-0053However, with a small number of nodes it may not be possible to correctly decode the data block within the maximum allowed number of iterations. Accordingly, the serial determinations in one or more of diamonds <b>630</b>, <b>640</b>, and <b>650</b> may be performed, each of which compares the received iteration index to a different iteration threshold (each of an increasing value). In this way, a greater amount of nodes may be enabled as more iterations have occurred. Then finally, at diamond <b>650</b> if it is determined that the number of iterations is greater than the final iteration threshold, control passes to block <b>660</b>, where all available nodes may be used for iterative decoding during the remaining iterations. Although the scope of the present invention is not limited in this regard, in one example this last iteration threshold may be at a level between approximately 50 to 75 percent of the maximum allowable number of iterations. Thus in this instance, as the number of iterations performed is already above this level, power consumption may be traded off for a greater processing capacity in order to correctly decode the received data block.
p-0054Thus as described above, in various implementations iterative decoding may be controlled to trade off power consumption and decoding efficiency. Using the different criteria discussed above, differing numbers of subsets of the nodes can be enabled for each iteration of a given data block (such as a frame) to dynamically control power consumption. The different thresholds could be provided by a DSP or micro-controller or from a look-up table in the controller depending on code rate, constellation, symbol rate and others parameters.
p-0055Referring now to <figref idrefs="DRAWINGS">FIG. 9</figref>, shown is a flow diagram of a method for controlling power consumption dynamically. As seen in <figref idrefs="DRAWINGS">FIG. 9</figref>, method <b>800</b> may begin by receiving a data block in an iterative decoder (block <b>810</b>). For example, a data frame may be passed from an intrinsic memory into the variable node processors that are enabled for iterative decoding. In addition, information regarding the received signal (e.g., SNR) and iterative decoding information may be received in a power controller (block <b>820</b>). Then based on this information and one or more criteria such as described above, enable/disable signals may be generated for selected sub-sets of the nodes of the iterative decoder (block <b>830</b>).
p-0056Accordingly, iterative decoding may occur using the enabled sub-set of nodes (block <b>840</b>). After each iteration it may be determined whether the iterative decoding has completed (diamond <b>850</b>). As one example, this determination may be based on whether a number of errors detected by the different nodes of the processor is less than a threshold. If so, this means that the decoding for that data block has successfully completed, and the iterative decoding for that block can thus conclude (block <b>860</b>). The decoded bit may be output, and the decoder may wait for a new frame to be available for decoding. Otherwise, control passes back to block <b>820</b>, where information regarding the iterative decoding (e.g., including the iteration index for the number of iterations performed) may be received and based on the information, it is determined the number of sub-sets to enable for the next iteration. Control then passes on to blocks <b>830</b> and <b>840</b> and diamond <b>850</b> in a loop until the iterative decoding for a given data block is completed. While shown with this particular implementation the embodiment of <figref idrefs="DRAWINGS">FIG. 9</figref>, the scope of the present invention is not limited in this regard.
p-0057Embodiments may be incorporated in many different types of systems employing an iterative decoder. Referring now to <figref idrefs="DRAWINGS">FIG. 10</figref>, shown is a block diagram of a system in accordance with one embodiment of the present invention. Specifically, <figref idrefs="DRAWINGS">FIG. 10</figref> shows a system <b>1000</b> which in various embodiments may be part of a set-top box, a high definition TV or other application for use in handling receipt and processing of DVB signals. As seen, system <b>1000</b> includes a pair of tuners, each of which may be formed on a separate IC, although in some implementations such tuners as well as demodulator <b>1040</b> all may be integrated in one integrated circuit. Thus the two tuners, namely first tuner <b>1020</b> and second tuner <b>1030</b> may be configured to receive incoming RF signals of one or more DVB standards. Specifically, first tuner <b>1020</b> is configured to receive signals of a DVB-satellite standard, while second tuner <b>1030</b> may be configured to receive signals of a DVB-terrestrial or DVB-cable standard. Demodulator <b>1040</b> may be a demodulator including much shared circuitry to handle processing of signals of any DVB standards, reducing complexity, power consumption and size. In addition, system <b>1000</b> further includes a system-on-a-chip (SoC) <b>1190</b> that may be coupled to receive an output transport stream from demodulator <b>1040</b>. Such SoC may be used to perform MPEG decoding to thus generate audio and video signals to be output to a display of system <b>1000</b> (not shown in <figref idrefs="DRAWINGS">FIG. 10</figref>).
p-0058<figref idrefs="DRAWINGS">FIG. 10</figref> further shows the general signal processing path for the incoming signals, both for satellite-received signals and cable/terrestrial-received signals. In various embodiments, much sharing of components of the signal processing path may occur to thus reduce chip real estate. In this way, demodulator <b>1040</b> may be fabricated on a single die with a minimum amount of real estate consumed. That is, rather than having independent (i.e., dedicated) signal processing paths for multiple different standards that are adapted on either a single die or multiple dies, many of the components can be shared to provide as many opportunities for re-use for different standards as possible.
p-0059Specifically as seen in <figref idrefs="DRAWINGS">FIG. 10</figref>, incoming satellite signals are provided through ADCs <b>1110</b> to a shared front end <b>1120</b>. This shared front end <b>1120</b> may further be configured to handle incoming cable or terrestrial signals received through ADC <b>1105</b>. Thus a single front end is provided to perform various signal processing on incoming signals, which may be at a given IF, to filter and downconvert them to baseband signals.
p-0060With regard to a signal processing path for satellite signals, the processed signals from shared front end <b>1120</b> may be provided to a demodulator <b>1125</b><sub>a </sub>which in various embodiments may include QPSK and 8PSK demodulators to handle a given DTV-S/S2 standard. Demodulation may be performed under control of a digital signal processor (DSP)/synchronizer <b>1160</b>. The demodulated signals are then provided to an equalizer <b>1130</b><sub>a </sub>for performing channel corrections. Depending on the given standard (e.g., DVB-S or DVB-S2) the equalized signals may be provided to different portions of a forward error correction (FEC) circuit <b>1140</b>. Specifically, a first path may include a Viterbi decoder <b>1146</b> and a Reed-Solomon (RS) decoder <b>1148</b>, which may be used to handle decoding of, e.g., DVB-S signals. If instead the incoming information is of the DVB-S2 standard, the equalized signals from equalizer <b>1130</b><sub>a </sub>may be provided to a LDPC decoder <b>1420</b> and BCH decoder <b>1440</b>. The LDPC and BCH decoders may provide for improved broadcast reception while limiting the size and power consumption of the demodulator, as described above. The decoded transport stream may be provided to a MPEG transport stream interface <b>1150</b> that in turn outputs various transport stream information to SoC <b>1190</b>. The transport stream interface may be programmable to provide a flexible range of output modes and is fully compatible with any MPEG decoder or conditional access modules to support any back-end decoding chip.
p-0061For incoming terrestrial or cable signals from shared front end <b>1120</b>, these signals are provided to a second demodulator <b>1125</b><sub>b</sub>, one of a second equalizer <b>1130</b><sub>b </sub>and a third equalizer <b>1130</b><sub>c</sub>, and onto shared FEC circuit <b>1140</b>. Equalized terrestrial and cable signals may be decoded using Viterbi decoder <b>1146</b> and Reed-Solomon decoder <b>1148</b> before being output through MPEG transport stream interface <b>1150</b>. Note that the circuitry of the signal processing paths may be dedicated hardware, in contrast to generic processing hardware such as present in DSP <b>1160</b>.
p-0062Various other circuitry may be present within demodulator <b>1140</b>, including, for example, a RSSI ADC <b>1165</b>, automatic gain control circuitry <b>1150</b> which may, based on signal strength information, send various control signals to control gain elements of tuners <b>1020</b> and <b>1030</b>. Additional interfaces include a DiSEqC™ interface <b>1168</b> for satellite dish control, a control interface <b>1162</b> which may receive an incoming reset signal and which is in communication with DSP/synchronizer <b>1160</b>. In addition, various general-purpose IO signals may be communicated via a general-purpose IO interface <b>1185</b>. I<sup>2</sup>C communication may be via an I<sup>2</sup>C switch <b>1170</b> and an I<sup>2</sup>C interface <b>1175</b>. Various control and clock signals needed may be generated using an oscillator/phase lock loop <b>1190</b> which may be coupled to, e.g., an off-chip crystal or other clock source. While shown with this particular implementation in the embodiment of <figref idrefs="DRAWINGS">FIG. 10</figref>, the scope of the present invention is not limited in this regard.
p-0063While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Contents4
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| TWI844605B | Cited by | Taiwan Province of China | Examiner |
| US8635512B2 | Cited by | United States of America | Search report |
| US11750218B2 | Cited by | United States of America | Search report |
| US2011289384A1 | Cited by | United States of America | Pre-grant |
| US8689084B1 | Cited by | United States of America | Search report |
| US2022294473A1 | Cited by | United States of America | Search report |
| US8689074B1 | Cited by | United States of America | Search report |
| US10110249B2 | Cited by | United States of America | Search report |
| WO03067877A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2002085648A1 | Cites | United States of America | Applicant |
| US2004123226A1 | Cites | United States of America | Applicant |
| US2005265486A1 | Cites | United States of America | Applicant |
| US2005280742A1 | Cites | United States of America | Applicant |
| US2006158568A1 | Cites | United States of America | Applicant |
| US2006206778A1 | Cites | United States of America | Applicant |
| US2006222115A1 | Cites | United States of America | Applicant |
| WO2007001305A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2008086671A1 | Cites | United States of America | Applicant |
| US2008148133A1 | Cites | United States of America | Search report |
| US2009094470A1 | Cites | United States of America | Applicant |
| US2009172493A1 | Cites | United States of America | Search report |
| US2009213275A1 | Cites | United States of America | Applicant |
| US2009249160A1 | Cites | United States of America | Search report |
| US2010031115A1 | Cites | United States of America | Search report |
| US2010070818A1 | Cites | United States of America | Search report |
| US2010110305A1 | Cites | United States of America | Applicant |
| US2010272011A1 | Cites | United States of America | Search report |
| US2010306616A1 | Cites | United States of America | Applicant |
| US2011246849A1 | Cites | United States of America | Applicant |
| US2011246850A1 | Cites | United States of America | Applicant |
| US5535220A | Cites | United States of America | Applicant |
| US5754252A | Cites | United States of America | Applicant |
| US6128043A | Cites | United States of America | Applicant |
| US6542203B1 | Cites | United States of America | Applicant |
| US6625234B1 | Cites | United States of America | Applicant |
| US6630964B2 | Cites | United States of America | Applicant |
| US6721908B1 | Cites | United States of America | Applicant |
| US6862325B2 | Cites | United States of America | Applicant |
| US7106388B2 | Cites | United States of America | Applicant |
| US7170849B1 | Cites | United States of America | Applicant |
| US7265792B2 | Cites | United States of America | Applicant |
| US7369835B2 | Cites | United States of America | Applicant |
| US7426240B2 | Cites | United States of America | Applicant |
| US7440392B2 | Cites | United States of America | Applicant |
| US7774674B2 | Cites | United States of America | Search report |
| US7783958B1 | Cites | United States of America | Search report |
| U.S. Patent and Trademark Office, Office Action mailed Sep. 23, 2010 and Reply filed Dec. 20, 2010 in U.S. Appl. No. 11/903,910. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/751,052, entitled "Reducing Power Consumption in an Iterative Decoder," filed Mar. 31, 2010 by David Rault, et al. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/751,022, entitled "Multi-Standard Digital Demodulator for TV Signals Broadcast Over Cable, Satellite and Terrestrial Networks," filed Mar. 31, 2010 by Pascal Blouin, et al. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/493,955, filed Jun. 29, 2009, entitled, "Digital Signal Processor (DSP) Architecture for a Hybrid Television Tuner," by Alan Hendrickson, et al. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/603,877, filed Oct. 22, 2009, entitled, "Digital Signal Processor (DSP) Architecture for a Hybrid Television Tuner," by Alan Hendrickson, et al. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/551,146, filed Aug. 31, 2009, entitled, "Digital Phase Lock Loop Configurable as a Frequency Estimator," by Li Gao. | Non-patent | – | Applicant |
| Ahmad Darabiha, "Power Reduction Techniques for LDPC Decoders," pp. 1-10. | Non-patent | – | Applicant |
| ETSI, Draft ETSI EN 302 307, "Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications," V1.1.1, 2004-2006, pp. 1-74. | Non-patent | – | Applicant |
| MICRONAS, "DRX 3960A Digital Receiver Front-End," Feb. 8, 2001, pp. 1-30. | Non-patent | – | Applicant |
| NXP, "TDA 8295 Digital Global Standard Low IF Demodulator for Analog TV and FM Radio," Feb. 4, 2008, pp. 1-77. | Non-patent | – | Applicant |
| XCEIVE, "Welcome to Xceive at CES 2007, Upgrade Your Tuner! Get XC5000," 2007, pp. 1-28. | Non-patent | – | Applicant |
| XCEIVE, "XC5000 Product Brief," Dec. 2006, pp. 1-2. | Non-patent | – | Applicant |
| U.S. Appl. No. 12/323,040, filed Nov. 25, 2008, entitled "Low-Cost Receiver Using Automatic Gain Control," by Ramin K. Poorfard, et al. | Non-patent | – | Applicant |
| U.S. Patent and Trademark Office, Office Action mailed Apr. 26, 2012 with Reply filed Jul. 23, 2012 in U.S. Appl. No. 12/751,052. | Non-patent | – | Applicant |
| U.S. Patent and Trademark Office, Notice of Allowance and Issue Fee Due mailed Mar. 29, 2012 in U.S. Appl. No. 12/751,022. | Non-patent | – | Applicant |
4 members in 1 office; this record represents the family
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2011246850A1 | United States of America | A1 | |
| US2012036410A1 | United States of America | A1 | |
| US8433970B2This record | United States of America | B2 | |
| US8555131B2 | United States of America | B2 |
45 transactions on the USPTO file
Allowed after 1 non-final rejection and 1 final rejection.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 08433970
- Application
- 75107610
Titles
- English
- Techniques to control power consumption in an iterative decoder by control of node configurations
Patent term adjustment
- A delay
- +413 daysthe office missed an examination deadline
- B delay
- +30 dayspendency past three years
- Net adjustment
- 443 days
Classification
- CPC, 10
- H04L1/0053
- H03M13/1128
- H03M13/114
- H03M13/1165
- H03M13/6525
- H03M13/6527
- H03M13/6544
- H03M13/6552
- H04L1/005
- H04L1/0057
- IPC, 1
- G06F11 00