Claims
- 1. A method of pulse telemetry comprising:
receiving a long interval, the long interval having encoded therein a value greater than a value for short intervals; receiving a plurality of short intervals, each of the plurality of short intervals having encoded therein a number of bits, and wherein the long interval and plurality of short intervals form a list; checking for an error that may occur in the receipt of the list; and wherein the number of bits encoded in each of the plurality of short intervals is less than a number of parity bits.
- 2. The method as defined in claim 1 wherein the checking step further comprises checking for the error being one of: a missed pulse resulting in a false interval exceeding maximum value; a missed pulse resulting in the false interval being less than the maximum value; a pulse shift resulting in two intervals having invalid data; a pulse shift resulting in one interval having invalid data; and an extra pulse within an interval.
- 3. The method as defined in claim 2 wherein checking for an error being a missed pulse resulting in a false interval value exceeding a maximum value further comprises:
inserting a dummy interval; adjusting values for each of the false interval and the dummy interval, the adjusting creating an adjusted false interval; checking parity for the list for each adjustment of the adjusted false interval and dummy interval; and correcting the error if only one solution is identified by the adjusting and checking steps.
- 4. The method as defined in claim 3 further comprising:
determining, for each adjusted false interval and dummy interval, whether a sum of the values of the adjusted false interval and dummy interval match the false interval value; and correcting the error if only one solution is identified by the adjusting, checking and determining steps.
- 5. The method as defined in claim 2 wherein checking for an error being a missed pulse resulting in the false interval being less than the maximum value further comprises:
a) inserting a dummy interval; b) adjusting values of the false interval and the dummy interval, the adjusting creating an adjusted false interval; c) checking parity for each adjusted false interval and dummy interval; d) recording each set of values that produces a solution; and e) correcting the error if only one solution is identified.
- 6. The method as defined in claim 5 wherein step d) further comprises, if multiple solutions exist, selecting a solution that produces two intervals having a total duration approximately equal to a duration of the false interval.
- 7. The method as defined in claim 5 further comprising skipping steps a) through e) if the false interval duration is less than twice a minimum interval duration (MIN-TIME) minus a bit width.
- 8. The method as defined in claim 2 wherein checking for an error being a pulse shift resulting in two intervals having invalid data further comprises:
a) adjusting values of contiguous intervals in the list; b) checking parity for each adjustment of the contiguous intervals to determine if the values produce a valid solution; c) applying a selection criteria if multiple valid solutions exists; and d) correcting the error if only one valid solution is identified.
- 9. The method as defined in claim 8 wherein step c) further comprises comparing remainders of the contiguous intervals.
- 10. The method as defined in claim 9 further comprising choosing a solution where each remainder of the contiguous intervals have an absolute value greater than a quarter of a time window for receipt of a pulse defining a particular value.
- 11. The method as defined in claim 10 further comprising choosing the solution where a sign of each remainder is opposite.
- 12. The method as defined in claim 8 wherein step a) further comprises:
adding a value of one to a first interval of the contiguous intervals, and subtracting a value of one to the second interval of the contiguous intervals; and subtracting a value of one to the first interval, and adding a value of one to the second interval.
- 13. The method as defined in claim 2 wherein checking for an error being a pulse shift resulting in one interval having invalid data further comprises:
a) adjusting a value of an interval in the list; b) checking parity for each adjustment to determine if the value represents a valid solution; c) applying a selection criteria if multiple valid solutions exists; and d) correcting the error if only one valid solution is identified.
- 14. The method as defined in claim 13 wherein step c) further comprises choosing a solution where the remainder of the interval has an absolute value greater than a quarter of a time window for receipt of a pulse defining a particular value.
- 15. The method as defined in claim 13 wherein step a) further comprises:
adding a value of one to the interval of the list; and subtracting a value of one to the interval of the list.
- 16. The method as defined in claim 2 wherein checking for an error being an extra pulse within an interval further comprises:
a) removing a shared pulse of a set of contiguous intervals in the list to create a test interval having a test interval value; b) checking parity of the list using the test interval value; c) recording the test interval value that produces a solution; d) repeating steps a) through c) for a plurality of contiguous intervals; and e) correcting the error if only one solution is identified.
- 17. The method as defined in claim 16 further comprising performing steps b) and c) only if the test interval duration is less than or equal to a maximum interval duration for the contiguous intervals.
- 18. The method as defined in claim 16 further comprising skipping steps b) and c) if the test interval is greater than a maximum interval duration for the contiguous intervals.
- 19. The method as defined in claim 1 wherein receiving the long interval further comprises receiving the long interval having encoded therein the parity value having greater than four parity bits.
- 20. The method as defined in claim 19 wherein receiving the long interval further comprises receiving the long interval having encoded therein the parity value having five parity bits.
- 21. The method as defined in claim 1 further comprising:
sending a plurality of lists; and predicting a list identification number for a current list based on identification numbers of three or more previous lists.
- 22. The method as defined in claim 21 wherein predicting a list identification number further comprises:
skipping list identification numbers of a previous list if the previous list was an intermittent lists; and predicting the list identification number based on list identification numbers of three or more previous non-intermittent lists.
- 23. A pulse telemetry system comprising:
a assembly adapted to create pressure pulses in drilling fluid, data in the pressure pulses encoded using pulse position modulation; a signal processor coupled to a pressure sensor, the signal processor and pressure sensor adapted to detect pressure pulses in the drilling fluid; wherein the signal processor-is adapted to receiving a long interval and a plurality of short intervals, the long interval having data encoded therein, and each of the plurality of short intervals having encoded therein values having a number of bits, the initial interval and data intervals part of a list, and wherein the number of bits encoded in each of the plurality of short intervals is less than a number of parity bits; and wherein the signal processor is adapted to check and correct an error that occurs in the receipt of the list.
- 24. The system as defined in claim 23 wherein the error that the signal processor is adapted to check and correct being one of: a missed pulse resulting in a false interval exceeding maximum value; a missed pulse resulting in the false interval being less than the maximum value; a pulse shift resulting in two intervals having invalid data; a pulse shift resulting in one interval having invalid data; and an extra pulse within an interval.
- 25. The system as defined in claim 24 wherein the signal processor is further adapted to check and correct an error being a missed pulse resulting in a false interval exceeding maximum value by:
inserting a dummy interval; adjusting values for each of the false interval and the dummy interval, the adjusting creating an adjusted false interval; checking parity for the list for each adjusted false interval and dummy interval; and correcting the error if only one solution is identified by the adjusting and checking steps.
- 26. The system as defined in claim 25 wherein the signal processor is further adapted to check and correct and error by:
determining, for each adjustment of the false interval and the dummy interval, whether a sum of the values of the adjusted false interval and dummy interval values match the false interval value; and correcting the error if only one solution is identified by the adjusting, checking and determining steps.
- 27. The system as defined in claim 24 wherein the signal processor is further adapted to check and correct an error being a missed pulse resulting in the false interval being less than the maximum value by:
a) inserting a dummy interval; b) adjusting values of the false interval and the dummy interval, the adjusting creating an adjusted false interval; c) checking parity for each adjusted false interval and dummy interval; d) recording each set of values that produces a solution; and e) correcting the error if only one solution is identified.
- 28. The system as defined in claim 27 wherein if multiple solutions exist, the signal processor is further adapted to select a solution that produces two intervals having a total duration approximately equal to a duration of the false interval.
- 29. The system as defined in claim 28 wherein the signal processor is further adapted to skip steps a) though e) if the false interval duration is less than twice a minimum interval duration (MIN-TIME) minus a bit width.
- 30. The system as defined in claim 24 wherein the signal processor is further adapted to check and correct an error being a pulse shift resulting in two intervals having invalid data by:
a) adjusting values of contiguous intervals in the list; b) checking parity for each adjustment of the contiguous intervals to determine if the values produce a valid solution; c) applying a selection criteria if multiple valid solutions exists; and d) correcting the error if only one valid solution is identified.
- 31. The system as defined in claim 30 wherein signal processor applies selection criteria by comparing remainders of the contiguous intervals.
- 32. The system as defined in claim 31 wherein the signal processor chooses solution where each remainder of the contiguous intervals has an absolute value greater than a quarter of a time window for receipt of a pulse defining a particular value.
- 33. The system as defined in claim 32 wherein the signal processor chooses solutions where a sign of each remainder is opposite.
- 34. The system as defined in claim 30 wherein to adjust values of contiguous intervals the signal processor is further adapted to add a value of one to a first interval of the contiguous intervals, and subtract a value of one to the second interval of the contiguous intervals in one instance, and subtract a value of one to the first interval, and add a value of one to the second interval in another instance.
- 35. The system as defined in claim 24 wherein the signal processor is further adapted to check and correct an error being a pulse shift resulting in one interval having invalid data by:
a) adjusting a value of an interval in the list; b) checking parity for each adjustment to determine if the value represents a valid solution; c) applying a selection criteria if multiple valid solutions exists; and d) correcting the error if only one valid solution is identified.
- 36. The system as defined in claim 35 wherein the signal processor chooses a solution where the remainder of the interval has an absolute value that is greater than a quarter of a time window for receipt of a pulse defining a particular value.
- 37. The system as defined in claim 35 wherein to adjust the value of an interval in the list the signal processor is further adapted to add a value of one to the interval of the list in one instance, and subtract a value of one to the interval of the list in another instance.
- 38. The system as defined in claim 24 wherein the signal processor is further adapted to check and correct an error being an extra pulse by:
a) removing a shared pulse of a set of contiguous intervals in the list to create a test interval having a test interval value; b) checking parity of the list using the test interval value; c) recording the test interval value that produces a solution; d) repeating steps a) through c) for a plurality of contiguous intervals; and e) correcting the error if only one solution is identified.
- 39. The system as defined in claim 38 wherein if the test interval duration is greater than a maximum interval duration for the contiguous intervals the signal processor is further adapted to skip steps b) and c).
- 40. The system as defined in claim 23 wherein the initial interval has encoded therein the parity value having greater than four parity bits.
- 41. The system as defined in claim 40 wherein the initial interval has encoded therein the parity value having five parity bits.
- 42. The system as defined in claim 23 wherein the signal processor is further adapted to predict a list identification number for a current list based on identification numbers of three or more previous lists.
- 43. The system as defined in claim 42 wherein the signal processor is further adapted to skip a list identification number of a previous list if the previous list was an intermittent list, and predict the list identification number based on list identification numbers of three or more previous non-intermittent lists.
- 44. In a pulse telemetry system where data is transmitted to the surface in lists, a method comprising:
receiving a plurality of lists, each list comprising an synchronizing interval and a plurality of smaller intervals, each smaller interval having encoded therein a maximum number of N bits, each synchronizing interval having encoded therein at least N+1 bits, and wherein each list comprises at least N+1 parity bits; wherein some of the plurality of lists from a predetermined set sent in a predetermined order, and some of the plurality of lists sent only intermittently; and predicting a list identification number for a current list based on identification numbers of three or more previous lists of the predetermined set.
- 45. The method as defined in claim 44 wherein predicting a list identification number further comprises:
skipping list identification numbers of a previous list if the previous list was an intermittent list; and predicting the list identification number based on list identification numbers of three or more previous non-intermittent lists.
- 46. The method as defined in claim 44 wherein the synchronizing interval has encoded therein the N+1 parity bits.
- 47. The method as defined in claim 46 wherein each synchronizing interval has encoded therein five parity bits.
- 48. The method as defined in claim 46 wherein each smaller interval has values encoded therein of four bits.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to application Ser. No. ______ (attorney Docket No. 1391-37400), titled “Structure and Method for Pulse Telemetry” assigned to the same Assignee, filed concurrently herewith, and which disclosure is incorporated by reference as if reproduced in full below.