US6907233B1 - Method for performing a frequency correction of a wireless device - Google Patents

Method for performing a frequency correction of a wireless device Download PDF

Info

Publication number
US6907233B1
US6907233B1 US09/844,955 US84495501A US6907233B1 US 6907233 B1 US6907233 B1 US 6907233B1 US 84495501 A US84495501 A US 84495501A US 6907233 B1 US6907233 B1 US 6907233B1
Authority
US
United States
Prior art keywords
frequency
data
correction
reference frequency
radio transceiver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime, expires
Application number
US09/844,955
Inventor
Kenneth Johnson
John Brown
Edward Vertatschitsch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Palm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Palm Inc filed Critical Palm Inc
Priority to US09/844,955 priority Critical patent/US6907233B1/en
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JOHNSON, KENNETH, VERTATSCHITSCH, EDWARD, BROWN, JOHN
Priority to US11/115,784 priority patent/US7272369B1/en
Application granted granted Critical
Publication of US6907233B1 publication Critical patent/US6907233B1/en
Priority to US11/891,376 priority patent/US7801501B2/en
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. SECURITY AGREEMENT Assignors: PALM, INC.
Priority to US12/819,122 priority patent/US7974585B2/en
Assigned to PALM, INC. reassignment PALM, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY, HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., PALM, INC.
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03JTUNING RESONANT CIRCUITS; SELECTING RESONANT CIRCUITS
    • H03J7/00Automatic frequency control; Automatic scanning over a band of frequencies
    • H03J7/02Automatic frequency control
    • H03J7/04Automatic frequency control where the frequency control is accomplished by varying the electrical characteristics of a non-mechanically adjustable element or where the nature of the frequency controlling element is not significant
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • H04L2027/0024Carrier regulation at the receiver end
    • H04L2027/0026Correction of carrier offset
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • H04L2027/0024Carrier regulation at the receiver end
    • H04L2027/0026Correction of carrier offset
    • H04L2027/0032Correction of carrier offset at baseband and passband

Definitions

  • the present invention relates to the field of wireless communication. Specifically, the present invention relates to a method for performing a frequency correction in a wireless device to compensate for changes in the frequency output by an oscillator.
  • conventional radios use a crystal oscillator for tuning. It is conventional to store a reference frequency, which is used to assist in accurate tuning of the radio. When the radio is manufactured, the device is tested to determine an appropriate reference frequency to use such that the radio will tune properly given the actual frequency which the oscillator outputs. The actual oscillator signal is input to the radio transceiver, along with the reference frequency, to produce a frequency to accurately tune the radio. In this fashion, data may be received reliably.
  • the frequency which the crystal oscillator outputs may change over time. For example, significant changes may occur to physical characteristics of the oscillator early in the life of the radio device. Consequently, if a user should first turn on the device, for example, several months after it was manufactured, the device may be unable to properly receive data.
  • the crystal oscillator is also sensitive to temperature variations, and hence a radio may have trouble tuning and receiving data if the ambient temperature changes.
  • Some conventional methods for performing frequency corrections make an estimate of how much frequency correction needs to be applied to compensate for changes to the crystal oscillator. For example, frequency offset samples are taken to estimate the needed frequency correction.
  • some methods will only make frequency corrections if the needed correction is large, for example, greater than 400 Hz. This is because of an inherent unreliability of the process of determining the needed correction. Were these methods to make a frequency correction for smaller needed changes, the probability that the radio performance will actually decrease is significant.
  • Some conventional methods of performing a frequency correction of a radio require that very stringent acceptance criteria be met for each of a number of frequency offset samples (needed frequency corrections). If the criteria are not met for any of the samples, the process starts over. Consequently, while this may help with the accuracy of the frequency correction estimates, it is not efficient.
  • the narrow band of acceptance criteria may comprise requiring that the radio receives: a certain number of channels correctly; a certain number of packets from the channel; and a signal at a minimum strength.
  • the temperature must be in a certain range and the frequency offset (needed correction) must be at least, for example, 400 Hz.
  • All methods of providing frequency correction should deal with several problems that may cause inaccurate data sampling. For example, noise can interfere with the sampling or the signal itself may be weak. Other causes of invalid frequency sampling data may include other devices operating at the same time, which may cause a false frequency shift. Or, the carrier signal may be floating because the base station has just finished transmitting data. Some conventional methods take several samples over a long period of time to address these problems. Unfortunately, because the sampling and processing take a long time, the ability of the radio to process further data (e.g., accept incoming packets) is hindered.
  • the present invention provides a method to perform a frequency correction to account for changes to the physical characteristics of an oscillator.
  • Embodiments provide for a method which efficiently and accurately corrects frequency while minimally interfering with the data transmission.
  • Embodiments provide for a method which is able to correct frequency for devices which have not been used for some time. Embodiments have a very low chance of producing an erroneous frequency correction, and hence will not leave the user with an inoperative device.
  • a method of performing a frequency correction of a radio module first samples frequency data to estimate the needed frequency correction.
  • the sampling may comprise a plurality of samples taken during a quiescent portion of the base station transmission.
  • An embodiment applies the frequency data to a median filter to substantially eliminate invalid data.
  • a new reference frequency is applied to a radio transceiver in the radio module to provide the frequency correction. If the frequency was corrected by greater than a pre-determined amount, the process performs the following series of steps.
  • the process samples frequency data a second time to estimate the amount of frequency correction now needed. Then, the process determines if the first frequency correction was satisfactory by determining if the needed second frequency correction is less than a pre-determined amount. If the first frequency correction was unsatisfactory, the original frequency is restored in a digital signal processor of the radio module, which sends the original frequency to the radio transceiver.
  • a reference frequency is applied to the radio transceiver to compensate for the first and second estimated frequency errors.
  • the process verifies that the radio transceiver is able to receive data after the frequency correction has been performed. If the radio transceiver is able to validly receive data, then the reference frequency is updated in non-volatile memory to reflect the frequency corrections made. If not, the original reference frequency is restored in the radio module.
  • the process updates a net total of all changes made since the last time a reference frequency stored in memory was updated. If this net total is greater than a pre-determined amount, the process stores in non-volatile memory a new reference frequency based on the net total and the previous reference frequency.
  • FIG. 1 is a schematic diagram illustrating a reference frequency being applied to a processor to produce a frequency for tuning a radio module, in accordance with embodiments of the present invention.
  • FIG. 2 A and FIG. 2B are flowcharts illustrating the steps of a process of performing a frequency correction of a wireless device, in accordance with embodiments of the present invention.
  • FIG. 2C , FIG. 2D , and FIG. 2E are flowcharts illustrating the steps of three alternative embodiments of processes of performing a frequency correction of a wireless device, in accordance with embodiments of the present invention.
  • FIG. 3 is a graph illustrating the energy of the sampled frequency data versus frequency, according to an embodiment of the present invention.
  • FIG. 4 is a schematic of a computer system, which may be used to implement embodiments of the present invention.
  • the oscillator 150 in a radio module 160 of a communications device 165 outputs a frequency 162 , which is input to the radio transceiver 190 .
  • a reference frequency 170 is stored in non-volatile memory 172 (e.g., flash).
  • the digital signal processor 180 (DSP) sends the reference frequency 170 to the radio transceiver 190 .
  • the DSP 180 and the radio transceiver 190 are coupled by a two-way communication link 184 .
  • the reference frequency 170 is used by the radio transceiver 190 in conjunction with frequency 152 to produce a carrier wave frequency 192 for tuning the radio.
  • the carrier wave frequency 192 is calibrated by setting the reference frequency 170 depending on the frequency 152 that the oscillator 150 outputs. However, the frequency 152 that the oscillator 150 outputs varies over time. Therefore, embodiments of the present invention determine a suitable new reference frequency 170 and transfer it to either the DSP 180 or the non-volatile memory 172 .
  • a general purpose computer 100 such as the one in FIG. 4 may be used to determine the new reference frequency 170 .
  • the algorithm may be run entirely within the DSP 180 .
  • the reference frequency 170 may not be a value that equals a frequency but that it may be a value that is used by the DSP 180 in conjunction with the radio transceiver 190 to compensate for changes in the frequency 152 output by the oscillator 150 .
  • the radio transceiver 190 typically accepts frequency offset adjustments, as is well understood by those of ordinary skill in the art. In this fashion, the carrier wave frequency 192 used by the radio transceiver 190 is adjusted to compensate for changes in the frequency 152 output by the oscillator 150 .
  • FIG. 3 shows a graph 300 of the energy of the received signal (S) versus frequency (f).
  • the sampling is done during a quiescent period in base station transmission, for example, when a carrier frequency is being transmitted, but no data.
  • the window 302 may be centered where the radio expects the carrier frequency (e.g., f exp 304 ) transmitted by a remote base station to be.
  • the duration of the sampling time interval is 2 ms.
  • the sampling interval is relatively short, for example 2 ms to 32 ms. In this fashion, the sampling has minimal interference with data communication.
  • the present invention may sample for longer intervals of 1 second or more.
  • the width of the sampling window 302 may be other than 2 KHz.
  • the frequency data will have a spike where the carrier frequency is expected to be (e.g., f exp 304 ).
  • the carrier frequency 306 e.g., f c
  • the expected frequency 304 e.g., f e
  • the sampling does not occur during the quiescent period. Rather, the frequency sampling is done while data packets are being transmitted by the base station. Over an extended period of time the data is expected to have a substantially equal number of zeros and ones; therefore, if sampled over a sufficient period of time, accurate frequency data may be obtained. However, it is preferred to sample during the quiescent period because a shorter sampling period may be used and there is no inaccuracy introduced by an inequality between the number of zeroes and ones.
  • an embodiment of the present invention provides for a process 200 of performing a frequency correction.
  • This process 200 may be applied, for example, whenever the device is first turned on, when it has been turned off for a significant period of time, or when the device is tuned to a new base station. Alternatively, process 200 may be executed every few hours or even every few minutes.
  • the frequency correction compensates for errors in the ability of the device to receive wirelessly communicated data properly.
  • the process 200 samples frequency data multiple times.
  • the present invention is well suited to a variety of sampling techniques, such as, for example, estimating the frequency error through Fourier Analysis, a digital discriminator technique, etc.
  • the process 200 filters the sampled frequency data with, for example, a median filter.
  • the median frequency error is used to perform the frequency correction. This substantially reduces the possibility of using an invalid frequency sample.
  • the frequency data is sampled three times.
  • the present invention is well suited to more or less samples. Sampling only once may be done; however, because noise can interfere with the sampling, multiple sampling is preferred. Sampling more times may reduce the chance of invalid data, but is less efficient.
  • the data may be filtered in other ways, such as a statistical mean, etc.
  • the process 200 determines if the frequency error (shift) 308 is relatively large or small, in step 215 .
  • the frequency error 308 may be compared to a pre-determined value. In the preferred embodiment this is 250 Hz. In other embodiments, this value ranges from 125 to 800 Hz; however, the present invention is suited to a higher or lower frequency for the value which defines a large frequency error.
  • a new reference frequency 170 is applied by sending it the DSP 180 of the radio module 160 , which sends it on to the radio transceiver 190 .
  • the DSP 180 may generate the new reference frequency itself.
  • the reference frequency 170 that is stored in the non-volatile memory 172 is not yet updated. However, the non-volatile memory 172 may be updated.
  • no check is made to see if the frequency correction is valid, as a shift of 250 Hz should not substantially impair the ability of the radio module 160 to receive packet data. In the unlikely case that the frequency correction is in error, it will be corrected the next time this algorithm executes, which will occur if the signal is lost.
  • step 225 the process 200 updates a net total of all the frequency corrections made since the last time the reference frequency 170 a stored in non-volatile memory 172 was updated.
  • the process 200 preferably always updates the stored reference frequency 170 a for large frequency corrections, in general this net total is only of small frequency corrections.
  • an alternative embodiment may also keep track of large frequency corrections that are not stored in non-volatile memory 172 .
  • step 230 the process 200 determines if the stored reference frequency 170 a should be updated. In the preferred embodiment, this is done if the net total is greater than 125 Hz. In other embodiments, the stored reference frequency 170 a is updated when the net total reaches a pre-determined value up to, for example, 300 Hz or down to, for example, 30 Hz.
  • step 235 the stored reference frequency 170 a is updated. Then, the process 200 ends as the frequency correction for a small frequency shift has been successfully completed.
  • step 240 a new reference frequency 170 is applied to the radio transceiver 190 by, for example, sending it the DSP 180 .
  • step 245 the process 200 performs another frequency acquisition to determine the effect of applying the new reference frequency 170 b .
  • the process 200 executes actions such as described in connection with step 205 and 210 again. In this fashion, a second frequency error 308 is determined.
  • step 250 the process 200 determines if the first frequency correction was satisfactory (e.g., was within pre-determined parameters). This is accomplished, in the preferred embodiment, by verifying that the second frequency error is less than 125 Hz. Other embodiments use a value between 31 and 250 Hz. However, values outside of this range may be used.
  • the original reference frequency 170 is restored in the DSP 180 and applied to the radio transceiver, in step 255 .
  • the first frequency correction is deemed invalid.
  • the value stored in non-volatile memory 172 has not been affected.
  • the process 200 may then return to step 205 , to start the frequency correction process over.
  • Other embodiments, discussed herein take further steps in that case, however.
  • the first frequency correction is deemed valid, in which case a second reference frequency 170 is sent to the DSP 180 , in step 260 , which sends it on to the radio transceiver 190 .
  • the second reference frequency accounts for the frequency error 308 found in both the first and second frequency data acquisitions of step 205 and step 245 .
  • the process 200 determines if the radio transceiver 190 validly receives packet data.
  • this may be defined as being able to receive Mobitex Data Block packets with no CRC errors or Mobitex Frame Head Packets with no errors.
  • the number of acceptable errors for frame head packets may be one or two, in other embodiments.
  • similar packet quality checks which are appropriate for those standards may be made.
  • this check may be made by evaluating quality metrics which are issued by the DSP 180 .
  • This step may determine whether the quality metrics have improved as a result of the second frequency correction.
  • the level of Improvements necessary for a passing grade may be defined as that which is necessary to achieve a minimum desired data communication reliability and may be altered to suit circumstances.
  • a new reference frequency 170 a is stored in non-volatile memory 172 , in step 270 .
  • the DSP 180 may access the stored value 170 a .
  • the process 200 then ends, as the frequency correction for a large shift frequency error 308 has been successful.
  • the original reference frequency 170 is restored by sending it to the DSP 180 and then on to the radio transceiver 190 , in step 275 .
  • the non-volatile memory 172 was not updated along this path. However, in embodiments which do store a new reference frequency 170 in non-volatile memory 172 along this path, the original value in memory 172 will be restored. The process 200 may then return to step 205 restart the frequency correction procedure.
  • FIG. 2C illustrates the steps of a frequency correction algorithm, according to an alternative embodiment to that of the process 200 in FIG. 2 A and FIG. 2 B.
  • the process of FIG. 2C replaces some of the steps of the process 200 in FIG. 2 A and FIG. 2 B.
  • the steps of this embodiment are best suited to cover cases in which the initial frequency error 308 was relatively large. This may occur, for example, if the device 165 is first being used a significant time after manufacture.
  • the process begins after step 245 of FIG. 2A in which a second frequency acquisition was performed after a first frequency correction was applied.
  • this embodiment determines if the frequency error 308 is greater than a pre-determined value (e.g., 125 Hz). If it is not, then the first frequency correction was satisfactory and the process goes to “A” (e.g., the steps of FIG. 2B are executed) to complete the frequency correction.
  • a pre-determined value e.g., 125 Hz
  • step 420 is taken in which the relative size of the frequency error 308 is checked. For example, this embodiment determines if the needed correction is less than a pre-determined percent of the first frequency correction. Any suitable percent may be used.
  • the original reference frequency 170 is restored by sending it to the DSP 180 and on to the radio transceiver 190 , in step 460 .
  • a reference frequency 170 that accounts for both the first and second frequency errors 308 is sent to the DSP 180 and on to the radio transceiver 190 .
  • step 440 another frequency acquisition is done by sampling and filtering the frequency data, as described in connection with steps 205 and 210 of FIG. 2 A.
  • this embodiment determines if the previous frequency correction was satisfactory. For example, the process may test for whether the newest frequency error 308 is less than a predetermined value. Alternatively, a step such as 420 may be executed, in which the newest frequency error 308 is compared with a percent of a previous frequency error 308 . Furthermore, both the absolute size and percent may be checked, as in steps 410 and 420 .
  • step 450 determines that the previous frequency correction was satisfactory, then this embodiment executes the steps at “A” of FIG. 2B , to complete the frequency correction.
  • step 450 determines that the previous frequency correction was unsatisfactory
  • step 470 is executed, in which the entire frequency correction process is repeated by, for example, performing the process 200 of FIG. 2A , with the option of using the algorithm of FIG. 2C after step 245 .
  • step 510 this embodiment determines if the previous frequency correction was satisfactory. This may be done by comparing the frequency error 308 with a pre-determined value or percent of a previous frequency error 308 , as discussed herein.
  • path “A” is taken to complete the frequency correction process. Path “A” may execute the steps of FIG. 2 B.
  • a binary search is performed to locate a satisfactory frequency correction, in step 520 .
  • the first frequency error was 1000 Hz
  • the next frequency correction may be 500 Hz, etc.
  • a new reference frequency 170 is sent to the DSP 180 to effectuate the update of the frequency 170 used by the radio transceiver 190 for tuning.
  • this embodiment performs another frequency data acquisition to determine the effect of the update. Then this embodiment returns to step 510 , to again determine if the frequency correction was satisfactory. The process loops until a satisfactory frequency correction is found and path “A” is taken. If an excessive number of steps are taken, this embodiment may exit, restore the original reference frequency, and start over.
  • step 610 this embodiment determines if the previous frequency correction was satisfactory. This may be done by comparing the frequency error 308 with a pre-determined value or percent of a previous frequency error 308 , as discussed herein.
  • path “A” is taken to complete the frequency correction process. Path “A” may execute the steps of FIG. 2 B.
  • step 620 If the previous frequency correction was unsatisfactory, then a step-by-step search is performed to locate a satisfactory frequency correction, in step 620 .
  • the step size may be the minimum step which would not lead to a loss of performance of the radio. However, other step sizes may be used.
  • a new reference frequency 170 is sent to the DSP 180 to effectuate the update.
  • this embodiment performs another frequency data acquisition to determine the effect of the update. Then, this embodiment re-returns to step 610 , to again determine if the frequency correction was satisfactory. The process loops until a satisfactory frequency correction found and path “A” is taken. If an excessive number of steps are taken, this embodiment may exit, restore the original reference frequency 170 , and start over.
  • an embodiment may adaptively switch from one technique for frequency correction to another.
  • FIG. 4 illustrates circuitry of computer system 100 , which may form a platform for the DSP 180 or other components.
  • Computer system 100 includes an address/data bus 99 for communicating information, a central processor 101 coupled with the bus for processing information and instructions, a volatile memory 102 (e.g., random access memory RAM) coupled with the bus 99 for storing information and instructions for the central processor 101 and a non-volatile memory 103 (e.g., read only memory ROM) coupled with the bus 99 for storing static information and instructions for the processor 101 .
  • Computer system 100 also includes an optional data storage device 104 (e.g., a magnetic or optical disk and disk drive) coupled with the bus 99 for storing information and instructions.
  • a data storage device 104 e.g., a magnetic or optical disk and disk drive
  • system 100 of the present invention also includes an optional alphanumeric input device 106 including alphanumeric and function keys is coupled to bus 99 for communicating information and command selections to central processor unit 101 .
  • System 100 also optionally includes a cursor control device 107 coupled to bus 99 for communicating user input information and command selections to central processor unit 101 .
  • System 100 of the present embodiment also includes an optional display device 105 coupled to bus 99 for displaying information.
  • a signal input/output communication device 108 coupled to bus 99 provides communication with external devices.

Abstract

Frequency correction of a radio module. Multiple samples of frequency data are taken during a quiescent portion of the base station transmission, to estimate the amount of frequency correction needed. An embodiment applies the frequency data to a median filter to eliminate invalid data. Next, a new reference frequency is applied to a radio transceiver in the radio module to provide the frequency correction. If the frequency was corrected by greater than a pre-determined amount, the process performs a large shift frequency correction, including verifying that the first frequency correction was satisfactory and verifying that the radio transceiver is able to receive data after the frequency correction has been performed. If the frequency was corrected by smaller than a pre-determined amount, the process performs a small shift frequency correction, including updating a total of all frequency corrections made since a stored reference frequency was updated.

Description

FIELD OF THE INVENTION
The present invention relates to the field of wireless communication. Specifically, the present invention relates to a method for performing a frequency correction in a wireless device to compensate for changes in the frequency output by an oscillator.
BACKGROUND ART
As is well known, conventional radios use a crystal oscillator for tuning. It is conventional to store a reference frequency, which is used to assist in accurate tuning of the radio. When the radio is manufactured, the device is tested to determine an appropriate reference frequency to use such that the radio will tune properly given the actual frequency which the oscillator outputs. The actual oscillator signal is input to the radio transceiver, along with the reference frequency, to produce a frequency to accurately tune the radio. In this fashion, data may be received reliably.
However, the frequency which the crystal oscillator outputs may change over time. For example, significant changes may occur to physical characteristics of the oscillator early in the life of the radio device. Consequently, if a user should first turn on the device, for example, several months after it was manufactured, the device may be unable to properly receive data. The crystal oscillator is also sensitive to temperature variations, and hence a radio may have trouble tuning and receiving data if the ambient temperature changes.
Some conventional methods for performing frequency corrections make an estimate of how much frequency correction needs to be applied to compensate for changes to the crystal oscillator. For example, frequency offset samples are taken to estimate the needed frequency correction. However, some methods will only make frequency corrections if the needed correction is large, for example, greater than 400 Hz. This is because of an inherent unreliability of the process of determining the needed correction. Were these methods to make a frequency correction for smaller needed changes, the probability that the radio performance will actually decrease is significant.
Some conventional methods of performing a frequency correction of a radio require that very stringent acceptance criteria be met for each of a number of frequency offset samples (needed frequency corrections). If the criteria are not met for any of the samples, the process starts over. Consequently, while this may help with the accuracy of the frequency correction estimates, it is not efficient. The narrow band of acceptance criteria may comprise requiring that the radio receives: a certain number of channels correctly; a certain number of packets from the channel; and a signal at a minimum strength. Furthermore, the temperature must be in a certain range and the frequency offset (needed correction) must be at least, for example, 400 Hz.
All methods of providing frequency correction should deal with several problems that may cause inaccurate data sampling. For example, noise can interfere with the sampling or the signal itself may be weak. Other causes of invalid frequency sampling data may include other devices operating at the same time, which may cause a false frequency shift. Or, the carrier signal may be floating because the base station has just finished transmitting data. Some conventional methods take several samples over a long period of time to address these problems. Unfortunately, because the sampling and processing take a long time, the ability of the radio to process further data (e.g., accept incoming packets) is hindered.
Consequently, from an end user standpoint, many conventional methods are too time consuming and result in less accurate and too infrequent frequency corrections.
SUMMARY OF THE INVENTION
Therefore, it would be advantageous to provide a method to perform a frequency correction to account for changes to the physical characteristics of an oscillator. A further need exists for a method which efficiently and accurately corrects frequency while minimally interfering with the data transmission. A further need exists for a method which is able to correct frequency for devices which have not been used for some time, especially those which are being used for the first time and may be subject to large frequency errors. A still further need exists for a method which has a very low chance of producing an erroneous frequency correction and leaving the user with an inoperative device.
The present invention provides a method to perform a frequency correction to account for changes to the physical characteristics of an oscillator. Embodiments provide for a method which efficiently and accurately corrects frequency while minimally interfering with the data transmission. Embodiments provide for a method which is able to correct frequency for devices which have not been used for some time. Embodiments have a very low chance of producing an erroneous frequency correction, and hence will not leave the user with an inoperative device.
A method of performing a frequency correction of a radio module is disclosed. The method first samples frequency data to estimate the needed frequency correction. The sampling may comprise a plurality of samples taken during a quiescent portion of the base station transmission. An embodiment applies the frequency data to a median filter to substantially eliminate invalid data. Next, a new reference frequency is applied to a radio transceiver in the radio module to provide the frequency correction. If the frequency was corrected by greater than a pre-determined amount, the process performs the following series of steps. The process samples frequency data a second time to estimate the amount of frequency correction now needed. Then, the process determines if the first frequency correction was satisfactory by determining if the needed second frequency correction is less than a pre-determined amount. If the first frequency correction was unsatisfactory, the original frequency is restored in a digital signal processor of the radio module, which sends the original frequency to the radio transceiver.
If, however, the first frequency correction was satisfactory, a reference frequency is applied to the radio transceiver to compensate for the first and second estimated frequency errors. Next, the process verifies that the radio transceiver is able to receive data after the frequency correction has been performed. If the radio transceiver is able to validly receive data, then the reference frequency is updated in non-volatile memory to reflect the frequency corrections made. If not, the original reference frequency is restored in the radio module.
If the original estimate of the needed frequency correction revealed a needed correction of less than a pre-determined amount, then the process updates a net total of all changes made since the last time a reference frequency stored in memory was updated. If this net total is greater than a pre-determined amount, the process stores in non-volatile memory a new reference frequency based on the net total and the previous reference frequency.
The present invention provides these advantages and others not specifically mentioned above but described in the sections to follow.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram illustrating a reference frequency being applied to a processor to produce a frequency for tuning a radio module, in accordance with embodiments of the present invention.
FIG. 2A and FIG. 2B are flowcharts illustrating the steps of a process of performing a frequency correction of a wireless device, in accordance with embodiments of the present invention.
FIG. 2C, FIG. 2D, and FIG. 2E are flowcharts illustrating the steps of three alternative embodiments of processes of performing a frequency correction of a wireless device, in accordance with embodiments of the present invention.
FIG. 3 is a graph illustrating the energy of the sampled frequency data versus frequency, according to an embodiment of the present invention.
FIG. 4 is a schematic of a computer system, which may be used to implement embodiments of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of the present invention, a method for providing a frequency correction of a wireless device, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Notation and Nomenclature
Some portions of the detailed descriptions which follow are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “indexing” or “processing” or “computing” or “translating” or “calculating” or “determining” or “scrolling” or “displaying” or “recognizing” or “generating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Method for Performing a Frequency Correction of a Wireless Device
Referring now to FIG. 1, the oscillator 150 in a radio module 160 of a communications device 165 outputs a frequency 162, which is input to the radio transceiver 190. A reference frequency 170 is stored in non-volatile memory 172 (e.g., flash). The digital signal processor 180 (DSP) sends the reference frequency 170 to the radio transceiver 190. The DSP 180 and the radio transceiver 190 are coupled by a two-way communication link 184. The reference frequency 170 is used by the radio transceiver 190 in conjunction with frequency 152 to produce a carrier wave frequency 192 for tuning the radio. When the device is manufactured, the carrier wave frequency 192 is calibrated by setting the reference frequency 170 depending on the frequency 152 that the oscillator 150 outputs. However, the frequency 152 that the oscillator 150 outputs varies over time. Therefore, embodiments of the present invention determine a suitable new reference frequency 170 and transfer it to either the DSP 180 or the non-volatile memory 172. A general purpose computer 100, such as the one in FIG. 4 may be used to determine the new reference frequency 170. Alternatively, the algorithm may be run entirely within the DSP 180. It will be understood that the reference frequency 170 may not be a value that equals a frequency but that it may be a value that is used by the DSP 180 in conjunction with the radio transceiver 190 to compensate for changes in the frequency 152 output by the oscillator 150. For example, to re-tune the carrier wave frequency 192 the radio transceiver 190 typically accepts frequency offset adjustments, as is well understood by those of ordinary skill in the art. In this fashion, the carrier wave frequency 192 used by the radio transceiver 190 is adjusted to compensate for changes in the frequency 152 output by the oscillator 150.
Referring to FIG. 3, to estimate a frequency error 308, one embodiment samples frequency data over a 2 KHz window 302 for a pre-determined time interval. FIG. 3 shows a graph 300 of the energy of the received signal (S) versus frequency (f). In the preferred embodiment, the sampling is done during a quiescent period in base station transmission, for example, when a carrier frequency is being transmitted, but no data. The window 302 may be centered where the radio expects the carrier frequency (e.g., fexp 304) transmitted by a remote base station to be. In one embodiment, the duration of the sampling time interval is 2 ms. Preferably the sampling interval is relatively short, for example 2 ms to 32 ms. In this fashion, the sampling has minimal interference with data communication. However, the present invention may sample for longer intervals of 1 second or more. Furthermore, the width of the sampling window 302 may be other than 2 KHz.
Still referring to FIG. 3, if there is no frequency error 308, the frequency data will have a spike where the carrier frequency is expected to be (e.g., fexp 304). However, if the device needs frequency correction, there will be an offset between the carrier frequency 306 (e.g., fc) and the expected frequency 304. This difference is the frequency error 308 (e.g., fe).
In another embodiment, the sampling does not occur during the quiescent period. Rather, the frequency sampling is done while data packets are being transmitted by the base station. Over an extended period of time the data is expected to have a substantially equal number of zeros and ones; therefore, if sampled over a sufficient period of time, accurate frequency data may be obtained. However, it is preferred to sample during the quiescent period because a shorter sampling period may be used and there is no inaccuracy introduced by an inequality between the number of zeroes and ones.
Referring now to FIG. 2A, an embodiment of the present invention provides for a process 200 of performing a frequency correction. This process 200 may be applied, for example, whenever the device is first turned on, when it has been turned off for a significant period of time, or when the device is tuned to a new base station. Alternatively, process 200 may be executed every few hours or even every few minutes. The frequency correction compensates for errors in the ability of the device to receive wirelessly communicated data properly. In step 205, the process 200 samples frequency data multiple times. The present invention is well suited to a variety of sampling techniques, such as, for example, estimating the frequency error through Fourier Analysis, a digital discriminator technique, etc.
In step 210, the process 200 filters the sampled frequency data with, for example, a median filter. In this fashion, the median frequency error is used to perform the frequency correction. This substantially reduces the possibility of using an invalid frequency sample. In the preferred embodiment, the frequency data is sampled three times. However, the present invention is well suited to more or less samples. Sampling only once may be done; however, because noise can interfere with the sampling, multiple sampling is preferred. Sampling more times may reduce the chance of invalid data, but is less efficient. Furthermore, the data may be filtered in other ways, such as a statistical mean, etc.
After the data is filtered, the process 200 determines if the frequency error (shift) 308 is relatively large or small, in step 215. For example, the frequency error 308 may be compared to a pre-determined value. In the preferred embodiment this is 250 Hz. In other embodiments, this value ranges from 125 to 800 Hz; however, the present invention is suited to a higher or lower frequency for the value which defines a large frequency error.
If the frequency error 308 is small, then in step 220 a new reference frequency 170 is applied by sending it the DSP 180 of the radio module 160, which sends it on to the radio transceiver 190. Alternatively, the DSP 180 may generate the new reference frequency itself. In the preferred embodiment, the reference frequency 170 that is stored in the non-volatile memory 172 is not yet updated. However, the non-volatile memory 172 may be updated. Preferably, no check is made to see if the frequency correction is valid, as a shift of 250 Hz should not substantially impair the ability of the radio module 160 to receive packet data. In the unlikely case that the frequency correction is in error, it will be corrected the next time this algorithm executes, which will occur if the signal is lost.
Next, in step 225, the process 200 updates a net total of all the frequency corrections made since the last time the reference frequency 170 a stored in non-volatile memory 172 was updated. As the process 200 preferably always updates the stored reference frequency 170 a for large frequency corrections, in general this net total is only of small frequency corrections. However, an alternative embodiment may also keep track of large frequency corrections that are not stored in non-volatile memory 172.
Next, in step 230, the process 200 determines if the stored reference frequency 170 a should be updated. In the preferred embodiment, this is done if the net total is greater than 125 Hz. In other embodiments, the stored reference frequency 170 a is updated when the net total reaches a pre-determined value up to, for example, 300 Hz or down to, for example, 30 Hz.
In step 235, the stored reference frequency 170 a is updated. Then, the process 200 ends as the frequency correction for a small frequency shift has been successfully completed.
If step 215 determined that the frequency error 308 was large, then step 240 is taken. In step 240, a new reference frequency 170 is applied to the radio transceiver 190 by, for example, sending it the DSP 180.
Next, in step 245, the process 200 performs another frequency acquisition to determine the effect of applying the new reference frequency 170 b. The process 200 executes actions such as described in connection with step 205 and 210 again. In this fashion, a second frequency error 308 is determined.
Next, in step 250, the process 200 determines if the first frequency correction was satisfactory (e.g., was within pre-determined parameters). This is accomplished, in the preferred embodiment, by verifying that the second frequency error is less than 125 Hz. Other embodiments use a value between 31 and 250 Hz. However, values outside of this range may be used.
If the second frequency error is greater than 125 Hz, then the original reference frequency 170 is restored in the DSP 180 and applied to the radio transceiver, in step 255. In this case, the first frequency correction is deemed invalid. To this point, the value stored in non-volatile memory 172 has not been affected. The process 200 may then return to step 205, to start the frequency correction process over. Other embodiments, discussed herein take further steps in that case, however.
However, if the second frequency error is less than 125 Hz, the first frequency correction is deemed valid, in which case a second reference frequency 170 is sent to the DSP 180, in step 260, which sends it on to the radio transceiver 190. The second reference frequency accounts for the frequency error 308 found in both the first and second frequency data acquisitions of step 205 and step 245.
Next, in step 265, the process 200 determines if the radio transceiver 190 validly receives packet data. In the case where the Mobitex Interface Specification is used, this may be defined as being able to receive Mobitex Data Block packets with no CRC errors or Mobitex Frame Head Packets with no errors. The number of acceptable errors for frame head packets may be one or two, in other embodiments. In cases in which other interface specifications are used, similar packet quality checks which are appropriate for those standards may be made. Alternatively, this check may be made by evaluating quality metrics which are issued by the DSP 180. This step may determine whether the quality metrics have improved as a result of the second frequency correction. The level of Improvements necessary for a passing grade may be defined as that which is necessary to achieve a minimum desired data communication reliability and may be altered to suit circumstances.
If the packet data is valid, then a new reference frequency 170 a is stored in non-volatile memory 172, in step 270. In this fashion, the DSP 180 may access the stored value 170 a. The process 200 then ends, as the frequency correction for a large shift frequency error 308 has been successful.
If the packet data is not valid, then the original reference frequency 170 is restored by sending it to the DSP 180 and then on to the radio transceiver 190, in step 275. Note that the non-volatile memory 172 was not updated along this path. However, in embodiments which do store a new reference frequency 170 in non-volatile memory 172 along this path, the original value in memory 172 will be restored. The process 200 may then return to step 205 restart the frequency correction procedure.
FIG. 2C illustrates the steps of a frequency correction algorithm, according to an alternative embodiment to that of the process 200 in FIG. 2A and FIG. 2B. The process of FIG. 2C replaces some of the steps of the process 200 in FIG. 2A and FIG. 2B. The steps of this embodiment are best suited to cover cases in which the initial frequency error 308 was relatively large. This may occur, for example, if the device 165 is first being used a significant time after manufacture. The process begins after step 245 of FIG. 2A in which a second frequency acquisition was performed after a first frequency correction was applied. In step 410, this embodiment determines if the frequency error 308 is greater than a pre-determined value (e.g., 125 Hz). If it is not, then the first frequency correction was satisfactory and the process goes to “A” (e.g., the steps of FIG. 2B are executed) to complete the frequency correction.
If the frequency error 308 is greater than 125 Hz, then step 420 is taken in which the relative size of the frequency error 308 is checked. For example, this embodiment determines if the needed correction is less than a pre-determined percent of the first frequency correction. Any suitable percent may be used.
If the second frequency error 308 is greater than the pre-determined percent of the first frequency error 308, then the original reference frequency 170 is restored by sending it to the DSP 180 and on to the radio transceiver 190, in step 460.
Otherwise, in step 430, a reference frequency 170 that accounts for both the first and second frequency errors 308 is sent to the DSP 180 and on to the radio transceiver 190.
In step 440, another frequency acquisition is done by sampling and filtering the frequency data, as described in connection with steps 205 and 210 of FIG. 2A.
Next, in step 450, this embodiment determines if the previous frequency correction was satisfactory. For example, the process may test for whether the newest frequency error 308 is less than a predetermined value. Alternatively, a step such as 420 may be executed, in which the newest frequency error 308 is compared with a percent of a previous frequency error 308. Furthermore, both the absolute size and percent may be checked, as in steps 410 and 420.
If step 450 determined that the previous frequency correction was satisfactory, then this embodiment executes the steps at “A” of FIG. 2B, to complete the frequency correction.
If, however, step 450 determined that the previous frequency correction was unsatisfactory, then the original reference frequency 170 is restored by sending it to the DSP 180 and on to the radio transceiver 190, in step 460. Then, step 470 is executed, in which the entire frequency correction process is repeated by, for example, performing the process 200 of FIG. 2A, with the option of using the algorithm of FIG. 2C after step 245.
Referring now to FIG. 2D, still another alternative embodiment of a frequency correction process will be discussed. This embodiment may also start after step 245 of FIG. 2A. In step 510, this embodiment determines if the previous frequency correction was satisfactory. This may be done by comparing the frequency error 308 with a pre-determined value or percent of a previous frequency error 308, as discussed herein.
If the previous frequency correction was satisfactory, then path “A” is taken to complete the frequency correction process. Path “A” may execute the steps of FIG. 2B.
If the previous frequency correction was unsatisfactory, then a binary search is performed to locate a satisfactory frequency correction, in step 520. For example, if the first frequency error was 1000 Hz, then the next frequency correction may be 500 Hz, etc. A new reference frequency 170 is sent to the DSP 180 to effectuate the update of the frequency 170 used by the radio transceiver 190 for tuning.
Next, in step 530, this embodiment performs another frequency data acquisition to determine the effect of the update. Then this embodiment returns to step 510, to again determine if the frequency correction was satisfactory. The process loops until a satisfactory frequency correction is found and path “A” is taken. If an excessive number of steps are taken, this embodiment may exit, restore the original reference frequency, and start over.
Referring now to FIG. 2E, still another alternative embodiment of a frequency correction process will be discussed. This embodiment may also start after step 245 of FIG. 2A. In step 610, this embodiment determines if the previous frequency correction was satisfactory. This may be done by comparing the frequency error 308 with a pre-determined value or percent of a previous frequency error 308, as discussed herein.
If the previous frequency correction was satisfactory, then path “A” is taken to complete the frequency correction process. Path “A” may execute the steps of FIG. 2B.
If the previous frequency correction was unsatisfactory, then a step-by-step search is performed to locate a satisfactory frequency correction, in step 620. For example, the step size may be the minimum step which would not lead to a loss of performance of the radio. However, other step sizes may be used. A new reference frequency 170 is sent to the DSP 180 to effectuate the update.
Next, in step 630, this embodiment performs another frequency data acquisition to determine the effect of the update. Then, this embodiment re-returns to step 610, to again determine if the frequency correction was satisfactory. The process loops until a satisfactory frequency correction found and path “A” is taken. If an excessive number of steps are taken, this embodiment may exit, restore the original reference frequency 170, and start over.
It will be understood that the various embodiments discussed in connection with FIG. 2A through FIG. 2E may be used together. For example, an embodiment may adaptively switch from one technique for frequency correction to another.
FIG. 4 illustrates circuitry of computer system 100, which may form a platform for the DSP 180 or other components. Computer system 100 includes an address/data bus 99 for communicating information, a central processor 101 coupled with the bus for processing information and instructions, a volatile memory 102 (e.g., random access memory RAM) coupled with the bus 99 for storing information and instructions for the central processor 101 and a non-volatile memory 103 (e.g., read only memory ROM) coupled with the bus 99 for storing static information and instructions for the processor 101. Computer system 100 also includes an optional data storage device 104 (e.g., a magnetic or optical disk and disk drive) coupled with the bus 99 for storing information and instructions.
With reference still to FIG. 4, system 100 of the present invention also includes an optional alphanumeric input device 106 including alphanumeric and function keys is coupled to bus 99 for communicating information and command selections to central processor unit 101. System 100 also optionally includes a cursor control device 107 coupled to bus 99 for communicating user input information and command selections to central processor unit 101. System 100 of the present embodiment also includes an optional display device 105 coupled to bus 99 for displaying information. A signal input/output communication device 108 coupled to bus 99 provides communication with external devices.
The preferred embodiment of the present invention a method for performing a frequency correction is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.

Claims (27)

1. A method of performing a frequency correction of a radio module, said method comprising the steps of:
a) sampling frequency data a first time to estimate a first frequency error;
b) applying a first reference frequency to a radio transceiver of said radio module to compensate for said first frequency error, wherein said radio transceiver uses said first reference frequency along with a frequency output by an oscillator to tune said radio transceiver to achieve a first frequency correction;
c) if said first frequency error is greater than a pre-determined amount, performing a large shift frequency correction, said step c) comprising the steps of:
c1) sampling frequency data a second time to estimate a second frequency error after said first frequency correction; and
c2) if said first frequency correction was within pre-determined parameters, applying a second reference frequency to said radio transceiver to compensate for said second frequency error, wherein said second reference frequency compensates for said first and said second frequency errors.
2. A method as described in claim 1 wherein said step c) further comprises the step of:
c3) if said first frequency correction was not within said pre-determined parameters, restoring an original reference frequency.
3. A method as described in claim 1 wherein said step c) further comprises the steps of:
c3) determining if said radio transceiver receives data validly after said large shift frequency correction, wherein whether valid data is received is determined according to pre-determined criteria;
c4) if said data is valid, storing said second reference frequency in memory; and
c5) if said data is not valid, restoring an original reference frequency.
4. A method as described in claim 3 wherein said step c4) comprises the step of updating a reference frequency stored in non-volatile memory.
5. A method as described in claim 3 wherein said step c5) comprises the step of restoring said original reference frequency by transferring said original reference frequency to a processor in said radio module.
6. A method as described in claim 1 further comprising the steps of:
d) if said first frequency error is less than a pre-determined amount, updating a net total of all frequency errors since the last time a reference frequency stored in memory was updated; and
e) if said net total is greater than a pre-determined amount, storing in memory a new reference frequency based on said net total and the previous reference frequency stored in memory.
7. A method as described in claim 1 wherein said step a) comprises the steps of:
a1) sampling said frequency data a plurality of times during a quiescent period; and
a2) applying a median filter to said frequency data.
8. A method as described in claim 1 wherein said step b) comprises the step of:
b1) transferring said first reference frequency to a processor in said radio module.
9. A method as described in claim 1 wherein said step c2) comprises the step of determining if said second frequency error is less than a pre-determined amount.
10. A method as described in claim 1 wherein said step c2) comprises the step of determining if the second frequency error is less than a pre-determined percent of said first frequency error.
11. A method of performing a frequency correction of a radio module, said method comprising the steps of:
a) sampling frequency data a first time to estimate a first frequency correction needed;
b) applying a first reference frequency to a radio transceiver in said radio module to provide said first frequency correction, said first reference frequency based on an original reference frequency and said first frequency correction needed; and
c) if said first frequency correction is greater than a pre-determined amount, performing a large shift frequency correction, said step c) comprising the steps of:
c1) sampling frequency data a second time to estimate a second frequency correction needed after said first frequency correction was performed;
c2) applying a second reference frequency to said radio transceiver to provide said second frequency correction, wherein said first reference frequency is replaced with said second reference frequency, said second reference based on said first reference frequency and said second frequency correction needed; and
c3) assessing the ability of said radio transceiver to receive data after said second frequency correction.
12. A method as described in claim 11 wherein said step c3) comprises the step of determining if packet data received by said radio transceiver is valid.
13. A method as described as in claim 12 further comprising the steps of:
d) if said packet data is not valid, restoring said original reference frequency; and
e) if said packet data is valid, storing said second reference frequency in memory, wherein said second reference frequency is used by said radio transceiver along with a frequency output by an oscillator to tune said radio transceiver.
14. A method as described in claim 11 wherein said step c3) comprises the step of determining if said radio transceiver is able to receive data within a pre-determined error rate.
15. A method as described in claim 11 wherein said step a) comprises the steps of:
a1) sampling said frequency data a plurality times; and
a2) filtering said frequency data, wherein the probability that said frequency data is invalid is substantially eliminated.
16. A method as described in claim 15 wherein said step a2) comprises the step of applying said frequency data to a median filter, wherein the median frequency data sample is used to determine the first frequency correction needed.
17. A method as described in claim 11 further comprising the steps of:
d) if said first frequency correction is less than a pre-determined amount, updating a net total of all frequency corrections made since the last time a reference frequency stored in memory was updated; and
e) if said net total is greater than a pre-determined amount, replacing said stored reference frequency with a value based on said net total of all frequency corrections and said stored reference frequency.
18. A method as described in claim 11 wherein said step a) comprises the step of:
a1) sampling said frequency data during a quiescent period.
19. A method as described in claim 11 wherein said step a) comprises the step of:
a1) sampling said frequency data while packet data is being received.
20. A method as described in claim 11 wherein said step c3) comprises the steps of:
i) receiving quality metrics from said radio transceiver; and
ii) determining if said quality metrics have improved as a result of said second frequency correction.
21. In a computer system having a processor coupled to a bus, a computer readable medium coupled to said bus and having stored therein a computer program that when executed by said processor causes said computer system to implement a method of performing a frequency correction of a communication device, said method comprising the steps of:
a) sampling frequency data a first time, wherein said sampling comprises a plurality of frequency samples;
b) filtering said frequency data to estimate a first frequency error;
c) if said first frequency error is larder than a pre-determined value, executing a large shift frequency correction by:
c1) applying a first reference frequency to a radio transceiver in said communication device to compensate for said first frequency error, wherein said radio transceiver uses said first reference frequency along with a frequency output by an oscillator to tune said radio transceiver;
c2) sampling frequency data a second time to estimate a second frequency error after said first frequency correction; and
c3) determining if said first frequency correction was satisfactory by determining if said second frequency error is less than a pre-determined value; and
d) if said first frequency error is smaller than a ore-determined value, executing a small shift frequency correction.
22. The computer readable medium of claim 21, wherein said step c) of said method further comprises the steps of:
c4) if said first frequency correction was unsatisfactory, restoring an original reference frequency; and
c5) if said first frequency correction was satisfactory, applying a second reference frequency to said radio transceiver to compensate for said second frequency error, wherein said second reference frequency compensates for said first and said second frequency errors.
23. The computer readable medium of claim 22, wherein said step c) of said method further comprises the steps of:
c6) determining if said radio transceiver receives data validly after said second frequency correction, wherein whether valid data is received is determined according to pre-determined criteria;
c7) if said data is valid, updating a reference frequency stored in a memory with said second reference frequency; and
c8) if said data is not valid, restoring said original reference frequency.
24. The computer readable medium of claim 21 wherein said step c) of said method further comprises the steps of:
c4) if the previous frequency correction was unsatisfactory, determining a new reference frequency based on said previous reference frequency, wherein the frequency is corrected by an amount which is a function of the last frequency correction;
c5) applying said new reference frequency to said radio transceiver to provide said new frequency correction;
c6) sampling frequency data to estimate a frequency error after said new frequency correction; and
c7) repeating said step c4 through step c8) until said frequency correction is satisfactory.
25. The computer readable medium of claim 24 wherein said step c4) of said method comprises the step of performing a binary search.
26. The computer readable medium of claim 24 wherein said step c4) of said method comprises the step of performing a step-by-step search.
27. In a computer system having a processor coupled to a bus, a computer readable medium coupled to said bus and having stored therein a computer program that when executed by said processor causes said computer system to implement a method of performing a frequency correction of a communication device, said method comprising the steps of:
a) sampling frequency data a first time, wherein said sampling comprises a plurality of frequency-samples;
b) filtering said frequency data to estimate a first frequency error;
c) if said first frequency error is larder than a predetermined value, executing a large shift frequency corrections and
d) if said frequency error is smaller than a pre-determined value, executing a small shift frequency correction by:
d1) applying a first reference frequency to a radio transceiver in said communication device to compensate for said first frequency error, wherein said radio transceiver uses said first reference frequency along with a frequency output by an oscillator to tune said radio transceiver;
d2) updating a net total of all frequency errors since the last time a reference frequency stored in memory was updated; and
d3) if said net total is greater than a pre-determined amount, storing a new reference frequency based on said net total and the previous reference frequency.
US09/844,955 2001-04-26 2001-04-26 Method for performing a frequency correction of a wireless device Expired - Lifetime US6907233B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/844,955 US6907233B1 (en) 2001-04-26 2001-04-26 Method for performing a frequency correction of a wireless device
US11/115,784 US7272369B1 (en) 2001-04-26 2005-04-27 Method for performing a frequency correction of a wireless device
US11/891,376 US7801501B2 (en) 2001-04-26 2007-08-10 Method for performing a frequency correction of a wireless device
US12/819,122 US7974585B2 (en) 2001-04-26 2010-06-18 Method for performing a frequency correction of a wireless device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/844,955 US6907233B1 (en) 2001-04-26 2001-04-26 Method for performing a frequency correction of a wireless device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/115,784 Continuation US7272369B1 (en) 2001-04-26 2005-04-27 Method for performing a frequency correction of a wireless device

Publications (1)

Publication Number Publication Date
US6907233B1 true US6907233B1 (en) 2005-06-14

Family

ID=34634701

Family Applications (4)

Application Number Title Priority Date Filing Date
US09/844,955 Expired - Lifetime US6907233B1 (en) 2001-04-26 2001-04-26 Method for performing a frequency correction of a wireless device
US11/115,784 Expired - Lifetime US7272369B1 (en) 2001-04-26 2005-04-27 Method for performing a frequency correction of a wireless device
US11/891,376 Expired - Fee Related US7801501B2 (en) 2001-04-26 2007-08-10 Method for performing a frequency correction of a wireless device
US12/819,122 Expired - Fee Related US7974585B2 (en) 2001-04-26 2010-06-18 Method for performing a frequency correction of a wireless device

Family Applications After (3)

Application Number Title Priority Date Filing Date
US11/115,784 Expired - Lifetime US7272369B1 (en) 2001-04-26 2005-04-27 Method for performing a frequency correction of a wireless device
US11/891,376 Expired - Fee Related US7801501B2 (en) 2001-04-26 2007-08-10 Method for performing a frequency correction of a wireless device
US12/819,122 Expired - Fee Related US7974585B2 (en) 2001-04-26 2010-06-18 Method for performing a frequency correction of a wireless device

Country Status (1)

Country Link
US (4) US6907233B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080039026A1 (en) * 2001-04-26 2008-02-14 Palm, Inc. Method for performing a frequency correction of a wireless device
US20090287489A1 (en) * 2008-05-15 2009-11-19 Palm, Inc. Speech processing for plurality of users
US8870791B2 (en) 2006-03-23 2014-10-28 Michael E. Sabatino Apparatus for acquiring, processing and transmitting physiological sounds

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233632A (en) * 1991-05-10 1993-08-03 Motorola, Inc. Communication system receiver apparatus and method for fast carrier acquisition
US5740525A (en) * 1996-05-10 1998-04-14 Motorola, Inc. Method and apparatus for temperature compensation of a reference oscillator in a communication device
US5940744A (en) * 1996-06-28 1999-08-17 Nec Corporation Local frequency correction

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823399A (en) * 1987-07-30 1989-04-18 General Instrument Corporation Refined tuning of RF receiver with frequency-locked loop
US5493710A (en) * 1991-08-02 1996-02-20 Hitachi, Ltd. Communication system having oscillation frequency calibrating function
KR960009539B1 (en) * 1993-12-27 1996-07-20 Hyundai Electronics Ind Apparatus for synchronizing time using satellite
US5659884A (en) * 1995-02-10 1997-08-19 Matsushita Communication Industrial Corp. Of America System with automatic compensation for aging and temperature of a crystal oscillator
US5564091A (en) * 1995-03-29 1996-10-08 Motorola, Inc. Method and apparatus for operating an automatic frequency control in a radio
KR0157531B1 (en) * 1995-07-14 1998-11-16 김광호 Digital carrier wave restoring apparatus and method at tv signal receiver
JP3556047B2 (en) * 1996-05-22 2004-08-18 三菱電機株式会社 Digital broadcast receiver
JPH1056487A (en) * 1996-08-09 1998-02-24 Nec Corp Quadrature demodulation circuit
US6907233B1 (en) * 2001-04-26 2005-06-14 Palm, Inc. Method for performing a frequency correction of a wireless device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233632A (en) * 1991-05-10 1993-08-03 Motorola, Inc. Communication system receiver apparatus and method for fast carrier acquisition
US5740525A (en) * 1996-05-10 1998-04-14 Motorola, Inc. Method and apparatus for temperature compensation of a reference oscillator in a communication device
US5940744A (en) * 1996-06-28 1999-08-17 Nec Corporation Local frequency correction

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080039026A1 (en) * 2001-04-26 2008-02-14 Palm, Inc. Method for performing a frequency correction of a wireless device
US7801501B2 (en) * 2001-04-26 2010-09-21 Palm, Inc. Method for performing a frequency correction of a wireless device
US8870791B2 (en) 2006-03-23 2014-10-28 Michael E. Sabatino Apparatus for acquiring, processing and transmitting physiological sounds
US8920343B2 (en) 2006-03-23 2014-12-30 Michael Edward Sabatino Apparatus for acquiring and processing of physiological auditory signals
US11357471B2 (en) 2006-03-23 2022-06-14 Michael E. Sabatino Acquiring and processing acoustic energy emitted by at least one organ in a biological system
US20090287489A1 (en) * 2008-05-15 2009-11-19 Palm, Inc. Speech processing for plurality of users

Also Published As

Publication number Publication date
US7272369B1 (en) 2007-09-18
US7974585B2 (en) 2011-07-05
US20080039026A1 (en) 2008-02-14
US20100255793A1 (en) 2010-10-07
US7801501B2 (en) 2010-09-21

Similar Documents

Publication Publication Date Title
US5715278A (en) Standby power saving in mobile phones
CN100393019C (en) Diversity reception employing periodic testing
US6813323B2 (en) Decoding method and communication terminal apparatus
US20090041088A1 (en) Methods and apparatuses for channel assessment
CN102404057B (en) Method for increasing radiation performance of radio-frequency emission part of Global System for Mobile Communications (GSM) terminal
JP4814698B2 (en) Spread spectrum receiver and method thereof
JP2003531521A (en) DC offset and bit timing system and method for wireless transceiver
US20070116064A1 (en) One-way delay time estimation method and apparatus and clock synchronization method and apparatus using the same
US7974585B2 (en) Method for performing a frequency correction of a wireless device
CN101924628B (en) Data processing apparatus, receiving apparatus, synchronous detection apparatus and method
CN112040439A (en) OBU radio frequency parameter calibration method, OBU device, radio frequency device and system
EP1056212A2 (en) Viterbi decoding using single-wrong-turn correction
CN102694503A (en) Initial acquisition using crystal oscillator
CN100524103C (en) Method for updating the present time, apparatus using the method
RU2179369C2 (en) Method of signal processing and procedure of switching of communication channels in wireless communication system and wireless communication system for implementation of method and procedure
US20220376886A1 (en) Radio receiver synchronization
US7151812B2 (en) Sample clock extracting circuit and baseband signal receiving circuit
US7489751B2 (en) Method and apparatus for synchronization of a receiver to a transmitter
US5563918A (en) Method of selecting optimum frequency in skywave communication apparatus
KR101125532B1 (en) Tfci decoding apparatus and method
US8155600B2 (en) Digital communication using an inexpensive reference crystal
KR20090074238A (en) Method for detecting and correcting data errors in an rf data link
US11881975B2 (en) Power-saving sampling receiver with non-coherent sampling with one sample per bit
US11469855B2 (en) Methods and systems for transmitting data payloads
RU2236090C1 (en) Communication channel quality control process

Legal Events

Date Code Title Description
AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOHNSON, KENNETH;BROWN, JOHN;VERTATSCHITSCH, EDWARD;REEL/FRAME:011753/0057;SIGNING DATES FROM 20010419 TO 20010424

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:PALM, INC.;REEL/FRAME:020317/0256

Effective date: 20071024

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024630/0474

Effective date: 20100701

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:025204/0809

Effective date: 20101027

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:030341/0459

Effective date: 20130430

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:031837/0239

Effective date: 20131218

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:031837/0659

Effective date: 20131218

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:031837/0544

Effective date: 20131218

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HEWLETT-PACKARD COMPANY;HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;PALM, INC.;REEL/FRAME:032132/0001

Effective date: 20140123

FPAY Fee payment

Year of fee payment: 12