IP Library Granted Patent US 8,704,689
Granted Patent B2
US 8,704,689 · App. 13/750,486 · Granted Apr 22, 2014

Method of processing data samples and circuits therefor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,704,689
App. No.
13/750,486
Granted
Apr 22, 2014
Kind
B2
Abstract

The present invention relates to data manipulation and in particular incrementing, decrementing and comparing binary coded numbers, notably the manipulation of thermometer codes and the performance of arithmetic operations thereon. A method of processing data is provides which comprises receiving a series of data samples, each sample being represented as an N-bit thermometer code, wherein the most significant bit thereof represents the sign of the data sample value Y(n) and the remaining N−1 bits represent the magnitude of the data sample and executing a predetermined sequence of arithmetic operations directly on the series of N-bit thermometer code data samples to determine one of two values for each data sample, without any recoding of the thermometer code data samples.

Claims (58)

1. A method of processing data comprising

receiving a series of data samples (Y(1) Y(2) . . . Y(n), Y(n+1)), each sample being represented as an N-bit thermometer code, wherein the most significant bit thereof represents the sign of the data sample value Y(n) and the remaining N−1 bits represent the magnitude of the data sample; and

executing a predetermined sequence of arithmetic operations directly on the series of N-bit thermometer code data samples to determine one of two values for each data sample, without any recoding of the thermometer code data samples;

wherein the step of executing a predetermined sequence of arithmetic operations comprises:

for each data sample Y(n),

comparing the magnitude of the next consecutive data sample Y(n+1) in the series of data samples to a first threshold (th1);

if the magnitude of Y(n+1) is less than the first threshold (th1), setting an adjusted value (Y adjust (n)) of data sample Y(n) to the value of data sample Y(n);

if the magnitude of data sample Y (n+1) is not less than the threshold (th1), determining the sign of the data sample Y(n+1) from the MSB of Y(n+1);

incrementing or decrementing the value of Y(n) in dependence on the sign of the data sample Y(n+1).

comparing the magnitude of the adjusted value of Y(n) (Y adjust (n)) to a second threshold value (th2);

determining one of two values for data sample Y(n) on the basis of the comparison with the second threshold value (th2.

2. The method of claim 1 wherein a threshold is specified as a binary code.

3. The method of claim 2 wherein a comparing step comprises:

providing a plurality of two input multiplexers arranged in cascaded stages, there being one stage for each bit of said binary code and each multiplexer in a stage receiving a respective bit at its select input in order of bit significance;

each multiplexer of a first stage receiving a pair of thermometer code bits of consecutive significance, excepting the multiplexer which receives the bit of least significance which also receives a permanently high bit value and likewise excepting the multiplexer which receives the bit of greatest significance which also receives a permanently low bit value, each multiplexer of said stage providing its selected output; and

each multiplexer of a next stage receiving a pair of outputs from a previous stage; wherein

the outputs of said first stage of multiplexers are selected by the binary code bit of least significance and wherein the outputs of said next stage of multiplexers are selected by the binary code bit of next significance, the output of a final stage of said multiplexers being by the binary code bit of greatest significance to produce an output representative of said comparison.

4. The method of claim 1 , wherein the step of incrementing or decrementing the value of Y(n) in dependence on the sign of the data sample Y(n+1 comprises;

decrementing the value of Y(n) to provide an adjusted value (Y_adjust (n)) of data sample Y(n) if the MSB of Y(n+1) has a positive value; or

incrementing the value of Y(n) to provide an adjusted value (Y_adjust (n)) of data sample Y(n), if the MSB of Y(n+1) has a negative value.

5. The method of claim 1 wherein a step of incrementing or decrementing comprises:

providing a plurality of multiplexers receiving bits of said thermometer code, each multiplexer receiving

a first bit of a certain significance at a first input;

a second bit of two greater significance than said certain significance at a second input; and

providing a select input to each multiplexer to provide an increment if said first input of each multiplexer is selected by said select input and a decrement if said second input of each multiplexer is selected by said select input.

6. A method as claimed in claim 5 and wherein a multiplexer receives a permanently high value at its first input and a thermometer code bit of next to least significance at its second input.

7. A method as claimed in claim 5 and wherein a multiplexer receives a permanently low value at its second input and a thermometer code bit of next to greatest significance at its second input.

8. The method of claim 1 , wherein the step of determining one of two values for data sample Y(n) on the basis of the comparison with the second threshold value (th2) comprises

determining that data sample Y(n) has a value of +1, if the magnitude of the adjusted value of Y(n) (Y_adjust (n)) is greater than the second threshold (th2); or

determining that data sample Y(n) has a value of −1, if the magnitude of the adjusted value of Y(n) (Y_adjust (n)) is not greater than the second threshold (th2).

9. The method of claim 1 , wherein the N-bit thermometer code is a 7-bit code.

10. A magnitude comparator for comparing a value represented by a thermometer code with a value represented by a binary code including a plurality of two input multiplexers arranged in cascaded stages, there being one stage for each bit of said binary code and each multiplexer in a stage receiving a respective bit at its select input in order of bit significance;

each multiplexer of a first stage receiving a pair of thermometer code bits of consecutive significance, excepting the multiplexer which receives the bit of least significance which also receives a permanently high bit value and likewise excepting the multiplexer which receives the bit of greatest significance which also receives a permanently low bit value, each multiplexer of said stage providing its selected output; and

each multiplexer of a next stage receiving a pair of outputs from a previous stage; wherein

the outputs of said first stage of multiplexers are selected by the binary code bit of least significance and wherein the outputs of said next stage of multiplexers are selected by the binary code bit of next significance, the output of a final stage of said multiplexers being by the binary code bit of greatest significance to produce an output representative of said comparison.

11. A method for comparing a value represented by a thermometer code with a value represented by a binary code including the steps of

providing a plurality of two input multiplexers arranged in cascaded stages, there being one stage for each bit of said binary code and each multiplexer in a stage receiving a respective bit at its select input in order of bit significance;

each multiplexer of a first stage receiving a pair of thermometer code bits of consecutive significance, excepting the multiplexer which receives the bit of least significance which also receives a permanently high bit value and likewise excepting the multiplexer which receives the bit of greatest significance which also receives a permanently low bit value, each multiplexer of said stage providing its selected output; and each multiplexer of a next stage receiving a pair of outputs from a previous stage; wherein

the outputs of said first stage of multiplexers are selected by the binary code bit of least significance and wherein the outputs of said next stage of multiplexers are selected by the binary code bit of next significance, the output of a final stage of said multiplexers being by the binary code bit of greatest significance to produce an output representative of said comparison.

12. An incrementer/decrementer for a thermometer code including a plurality of multiplexers receiving bits of said thermometer code, each multiplexer of said incrementer/decrementer receiving

a first bit of a certain significance at a first input;

a second bit of two greater significance than said certain significance at a second input; and

a select input, the incrementer/decrementer providing an increment if said first input of each multiplexer is selected by said select input and a decrement if said second input of each multiplexer is selected by said select input; and

wherein a multiplexer receives a permanently high value at its first input and a thermometer code bit of next to least significance at its second input.

13. An incrementer/decrementer for a thermometer code including a plurality of multiplexers receiving bits of said thermometer code, each multiplexer of said incrementer/decrementer receiving

a first bit of a certain significance at a first input;

a second bit of two greater significance than said certain significance at a second input; and

a select input, the incrementer/decrementer providing an increment if said first input of each multiplexer is selected by said select input and a decrement if said second input of each multiplexer is selected by said select input; and

wherein a multiplexer receives a permanently low value at its second input and a thermometer code bit of next to greatest significance at its second input.

14. A method of incrementing/decrementing a thermometer code including providing a plurality of multiplexers receiving bits of said thermometer code, each multiplexer receiving

a first bit of a certain significance at a first input;

a second bit of two greater significance than said certain significance at a second input; and

providing a select input to each multiplexer to provide an increment if said first input of each multiplexer is selected by said select input and a decrement if said second input of each multiplexer is selected by said select input; and

wherein a multiplexer receives a permanently high value at its first input and a thermometer code bit of next to least significance at its second input.

15. A method of incrementing/decrementing a thermometer code including providing a plurality of multiplexers receiving bits of said thermometer code, each multiplexer receiving

a first bit of a certain significance at a first input;

a second bit of two greater significance than said certain significance at a second input; and

providing a select input to each multiplexer to provide an increment if said first input of each multiplexer is selected by said select input and a decrement if said second input of each multiplexer is selected by said select input; and wherein a multiplexer receives a permanently low value at its second input and a thermometer code bit of next to greatest significance at its second input.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: TEXAS INSTRUMENTS LIMITED
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 055382/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2013
From: HEARNE, PETER; SIMPSON, RICHARD
To: TEXAS INSTRUMENTS LIMITED
Reel/Frame 030236/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2013
From: TEXAS INSTRUMENTS LIMITED
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 030236/0412 →