IP Library Granted Patent US 7,840,887
Granted Patent B2
US 7,840,887 · App. 11/510,368 · Granted Nov 23, 2010

Data stream processing method and system

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 7,840,887
App. No.
11/510,368
Granted
Nov 23, 2010
Kind
B2
Abstract

A method and system for decoding a received data stream are disclosed. The appropriate time interval to decode the received data stream is derived from the data stream itself. A header of the data stream is analyzed to determine two sets of time ranges, each set of time ranges corresponding to a set of possible data transmission intervals. A preamble of the header contains timing information for development of a first set of time ranges to decode a synchronization word of the header. The synchronization word contains both data information and timing information to develop the second set of time ranges. The data information included in the header is used validate the data stream for the receiving device. The second set of time ranges is used to decode a data payload portion of the data stream.

Claims (67)

1. A method, comprising:

receiving a first portion of a header of a first data stream;

calculating a first set of time ranges based on the first portion, the first set of time ranges comprising a first time range corresponding to first data transmission interval;

decoding a second portion of the header based on the first time range to obtain an authentication value;

validating the authentication value; and

calculating a second set of time ranges based on the second portion, the second set of time ranges comprising a second time range corresponding to a second data transmission interval.

2. The method of claim 1 , wherein decoding the second portion comprises:

measuring a first time interval between a first transition of the second portion and a second transition of the second portion;

selecting the first data transmission interval based on a comparison of the first time interval with the first set of time ranges; and

detecting a first value associated with the second portion based on the first data transmission interval.

3. The method of claim 1 , further comprising:

receiving a first portion of a header of a second data stream;

calculating a third time range corresponding to a first data transmission interval based on the first portion;

decoding a second portion of the header of the second data stream based on the third time range;

validating the second data stream based on the decoded second portion;

calculating a fourth time range corresponding to a second data transmission interval based on the second portion of the header of the second data stream.

4. The method of claim 1 , wherein calculating the first set of time ranges comprises:

measuring a first time interval between a first bit and a last bit the first portion;

calculating a first time range based on a ratio between the first time interval and a first factor, the first factor based on a predetermined number of expected bits associated with the first portion.

5. The method of claim 4 , wherein calculating the first set of time ranges further comprises:

calculating a second time range based on a ratio between the first time interval and a second factor, the second factor based on the predetermined number of expected bits associated with the first portion and further based on the first time range.

6. The method of claim 1 , wherein calculating the second set of time ranges comprises:

measuring a first time interval between a first bit and a last bit of the second portion;

calculating a first time range based on a ratio between the first time interval and a first factor, the first factor based on a predetermined number of bits associated with the second portion.

7. The method of claim 6 , wherein calculating the second set of time ranges further comprises:

calculating a second time range based on a ratio between the first time interval and a second factor, the second factor based on the predetermined number of expected bits associated with the first portion and further based on the first time range.

8. The method of claim 1 , further comprising: decoding a data portion of the first data stream based on the second time range.

9. The method of claim 8 , wherein decoding the data portion further comprises:

measuring a first time interval between a first transition of the data portion and a second transition of the data portion;

selecting a first data transmission associated with the second time range; and

determining a first value associated with the first time interval based on the first data transmission interval.

10. The method of claim 1 , wherein the first data stream is a Manchester encoded data stream.

11. The method of claim 1 , further comprising:

decoding a data portion of the data stream based on the second set of time ranges.

12. The method of claim 11 , wherein decoding the data portion comprises:

measuring a first time interval between a first transition of the data portion and a second transition of the data portion;

selecting a third data transmission interval from the second set of time ranges based on a comparison of the first time interval with the second set of time ranges; and

determining a first value associated with the first time interval based on the third data transmission interval.

13. The method of claim 12 , wherein decoding the data portion further comprises:

measuring a second time interval between a first transition of the data portion and a second transition of the data portion;

selecting a fourth data transmission interval based on a comparison of the second time interval with the second set of time ranges; and

determining a second value associated with the second time interval based on the fourth data transmission interval.

14. A computer readable medium comprising a computer program, the computer program comprising:

instructions to receive a first portion of a header of a first data stream;

instructions to calculate a first plurality of time ranges comprising a first time range corresponding to a first data transmission interval based on the first portion;

instructions to decode a second portion of the header based on the first time range;

instructions to validate the first data stream based on the decoded second portion;

instructions to calculate a second plurality of time ranges comprising a second time range corresponding to a second data transmission interval based on the second portion.

15. The computer readable medium of claim 14 , wherein the instructions to decode the second portion comprise:

instructions to measure a first time interval between a first transition of the second portion and a second transition of the second portion;

instructions to select a third data transmission interval corresponding to the first time interval; instructions to detect a first value associated with the second portion based on the third data transmission interval.

16. The computer readable medium of claim 14 , wherein the instructions to calculate the first set of time ranges comprises:

instructions to measure a first time interval between a first bit and a last bit the first portion; and

instructions to calculate the first time range based on a ratio between the first time interval and a first factor, the first factor based on a predetermined number of expected bits associated with the first portion.

17. The computer readable medium of claim 16 , wherein the instructions to calculate the first set of time ranges further comprise:

instructions to calculate a third time range based on a ratio between the first time interval and a second factor, the second factor based on the predetermined number of expected bits associated with the first portion and further based on the first time range.

18. The computer readable medium of claim 14 , wherein the instructions to calculate the second set of time ranges comprises:

instructions to measure a first time interval between a first bit and a last bit of the second portion;

instructions to calculate the second time range based on a ratio between the first time interval and a first factor, the first factor based on a predetermined number of bits associated with the second portion.

19. The computer readable medium of claim 18 , wherein the instructions to calculate the second set of time ranges further comprise:

instructions to calculate a fourth time range based on a ratio between the first time interval and a second factor, the second factor based on the predetermined number of expected bits associated with the first portion and further based on the first time range.

20. A method, comprising:

receiving a first portion of a header of a first data stream;

calculating a first time range corresponding to a first data transmission interval based on the first portion;

decoding a second portion of the header based on the first time range to obtain an authentication value;

validating the authentication value; and

calculating based on an amount of time between a first transition of the second portion and a second transition of the second portion a second time range corresponding to a second data transmission interval.

Assignments (21)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033687/0336 →