The present invention relates generally to communications, and specifically to a system and method for bi-phase modulation decoding.
One example of a coding scheme that can be utilized for transferring data is bi-phase modulation. Each bit-window (i.e., period) of a bi-phase modulated signal represents a single logic bit, with each bit-window beginning with a logic-state edge-transition. A logic-low is represented by a substantially constant logic-state through the bit-window, whereas a logic-high is represented by an additional logic-state edge-transition in the approximate center of the bit-window.
When the amplitude of a bi-phase modulated signal is sufficient, any of a variety of different decoding algorithms can be implemented to decode the bi-phase modulated signal. However, as the amplitude of the signal decreases, such as due to filtering and/or transmission medium losses, decoding the bi-phase modulated signal can be difficult based on noise being more likely to appear as valid logic edge-transitions. In addition, in some bi-phase modulated signal transmission implementations, there may be no external clock to align the phase and/or frequency of the bi-phase modulated signal, which can further complicate decoding of the bi-phase modulated signal. Furthermore, when a bi-phase modulated signal is low-pass filtered, such as to remove a carrier frequency, the amplitude of logic-high codes can be attenuated more than logic-low codes that are half the frequency of the logic-high codes.
One embodiment of the present invention includes a decoder system that decodes a bi-phase modulated signal. The system includes a buffer configured to store a first plurality of digital samples associated with a first bit of the bi-phase modulated signal and a second plurality of digital samples associated with a second bit of the bi-phase modulated signal. The first bit can immediately precede the second bit. The system also includes a first summer configured to add the first plurality of digital samples to generate a first sum and a second summer configured to add the second plurality of digital samples to generate a second sum. The system further includes a comparator configured to compare the first sum and the second sum to determine an edge-transition between the first bit and the second bit, and to determine a logic-state of the first bit based on the edge-transition.
Another embodiment of the present invention includes a method for decoding a bi-phase modulated signal. The method includes receiving the bi-phase modulated signal via a transmission medium and converting the bi-phase modulated signal from an analog to a digital form comprising a plurality of consecutive digital samples. The method also includes storing the plurality of digital samples in a buffer. The method also includes adding a first portion of the plurality of digital samples to generate a first sum associated with a first bit of the bi-phase modulated signal, and adding a second portion of the plurality of digital samples to generate a second sum associated with a second bit of the bi-phase modulated signal. The second bit can immediately follow the first bit in the bi-phase modulated signal. The method further includes comparing the first sum and the second sum to determine an edge-transition between the first bit and the second bit, and determining a logic-state of the first bit based on the edge-transition relative to an immediately preceding edge-transition between the first bit and an immediately preceding bit.
Another embodiment of the present invention includes a wireless power system. The system includes a portable electronic device comprising a transmitter configured to modulate a bi-phase communication signal onto a secondary current associated with a secondary inductor. The system also includes a wireless charger comprising a receiver configured to monitor a primary current associated with a primary inductor. The primary inductor and secondary inductor collectively form an isolation transformer configured to transfer energy from the primary inductor to the secondary inductor to generate a voltage in the portable electronic device. The receiver includes a decoder that includes a buffer configured to store a first plurality of digital samples associated with a second half of a total number of samples of a first bit of the bi-phase modulated signal and a second plurality of digital samples associated with a second half of a total number of samples of a second bit of the bi-phase modulated signal. The first bit can immediately precede the second bit. The decoder can also include a first summer configured to add the first plurality of digital samples to generate a first sum and a second summer configured to add the second plurality of digital samples to generate a second sum. The decoder can further include a comparator configured to compare the first sum and the second sum to determine an edge-transition between the first bit and the second bit, and to determine a logic-state of the second bit based on comparing the edge-transition with a previous edge-transition between the first bit and an immediately preceding bit.
The present invention relates generally to communications, and specifically to a system and method for bi-phase modulation decoding. A bi-phase modulation decoder can include at least one filter that is associated with the logic-low state, at least one filter that is associated with the logic-high state, and a comparator. As an example, the filters can be finite impulse response (FIR) filters. A bi-phase modulated signal having a plurality of digital samples can be provided to each of the filters associated with each of the logic-low and logic-high states. The filters can be programmed with a plurality of taps that have tap weights with a range of values that are normalized with respect to each other. As an example, the values can be integer or floating point values. The filters can thus each generate a statistical value, such as a dot product, of the digital samples of the bi-phase modulated signal with respect to the plurality of taps. The comparator can thus compare an absolute value of the dot products that are generated by the filters to determine if a given bi-phase modulated code corresponds to a logic-low or a logic-high.
The range of values associated with the tap weights of the plurality of taps for a given filter can be programmed with specific values that result in a dot product that is more indicative of a logic-state that is specific to the filter. As an example, filters that are associated with a logic-low can be programmed such that the tap weights have a range of values that can be plotted as an approximate half sine wave across the taps of the filters, such that the values can all be greater than a reference value (e.g., zero). Therefore, an absolute value of a dot product of a logic-low coded bi-phase modulated signal can be much greater in the logic-low filter than a logic-high coded bi-phase modulated signal.
As another example, filters that are associated with a logic-high can be programmed such that the tap weights have a range of values that can be plotted as an approximate sine wave across the plurality of taps of the filters. Specifically, the values for the filter associated with the logic-high can have a first portion of taps corresponding to consecutive digital samples with values greater than the reference value and a second portion of taps corresponding to consecutive digital samples with values less than the reference value. Accordingly, an absolute value of a dot product of a logic-high coded bi-phase modulated signal can be much greater in the logic-high filter than a logic-low coded bi-phase modulated signal.
The bi-phase modulation decoder can include additional filters associated with each of the logic-states with distinct numbers of taps. For example, for each logic-state, the bi-phase modulation decoder can include a first filter having a number N of taps, where N is a positive integer corresponding to an expected number of digital samples of the bi-phase modulation decoder, a second filter having N+1 taps, and a third filter having N−1 taps. The tap weights of the six filters can be programmed to be normalized relative to each other. Therefore, the bi-phase modulation decoder can not only determine the code of the bi-phase modulated signal, but can also detect and account for frequency variation and jitter present in the bi-phase modulated signal. Specifically, the filter having the highest absolute value dot product not only determines the code of the bi-phase modulated signal, but also determines the number of samples of a given bit-window of the bi-phase modulated signal, and thus a frequency variation of the bi-phase modulated signal. As a result, the bi-phase modulation decoder can select two of the filters having the appropriate number of taps that correspond to the number of digital samples of a bit-window for subsequent decoding of the bi-phase modulated signal.
As another example, the bi-phase modulation decoder can include a buffer that stores the digital samples of the bi-phase modulated signal. The bi-phase modulation decoder can employ a pair of summers that each add together a portion of the digital samples that correspond to a first bit and a second bit, respectively, where the first bit immediately precedes the second bit. As an example, the first summer can add together a set of digital samples corresponding to a second half of the total samples that constitute the first bit and the second summer can add together a set of digital samples corresponding to a first half of the total samples that constitute the second bit. The bi-phase modulation decoder can include a comparator that compares the two sums to determine an edge-transition. As described herein, an edge-transition is defined as a transition of digital samples corresponding to one of an approximately logic-high state and an approximately logic-low state switching to the other of the approximately logic-high state and the approximately logic-low state. Therefore, the edge-transition corresponds to one of a rising-edge and a falling-edge of the bi-phase modulation signal.
The determined edge-transition can be compared with an immediately preceding edge-transition to determine the logic-state of the second bit. The immediately preceding edge-transition can thus correspond to the edge-transition between the first bit and an immediately preceding bit in the bi-phase modulation signal. Thus, if the determined edge-transition is the same as the immediately preceding edge-transition (i.e., both logic-high or both logic-low), then the code corresponding to the second bit corresponds to a logic-high state. However, if the determined edge-transition is the opposite of the immediately preceding edge-transition (i.e., one is logic-high and one is logic-low), then the code corresponding to the second bit corresponds to a logic-low state.
In addition, the bi-phase modulation decoder can include an integrator that is configured to determine the samples that correspond to each of the first and second bits to be used for the sums and comparison. Specifically, the integrator can determine a location of the edge-transition between two consecutive digital samples amongst the digital samples stored in the buffer. The integrator can then determine the number of samples that correspond to a given bit (e.g., the first bit), and can designate which samples stored in the buffer correspond to the first bit and the second bit, respectively, for the purposes of the summations for the comparison. Thus, the integrator can manipulate the samples in the buffer to ensure that the sums are equivalent for an accurate comparison, such that the edge-transition can be accurately determined.
The bi-phase modulated decoder 10 includes a logic-low filter 12 corresponding to a logic-low, a logic-high filter 14 corresponding to a logic-high, and a comparator 16. As an example, the logic-low filter 12 and the logic-high filter 14 can be configured as finite impulse response (FIR) filters. In the example of
As described above, a bit-window of the bi-phase modulated signal BI-Φ_IN that is coded with a logic-low state can have an approximately constant magnitude (i.e., high or low) across the entire bit-window, and a bit-window of the bi-phase modulated signal BI-Φ_IN that is coded with a logic-high state can have an additional logic-state edge-transition in the approximate center of the bit-window. Because the bi-phase modulated signal BI-Φ_IN can be low-pass filtered prior to being received at the bi-phase modulation decoder 10, the logic-state edge-transitions of the bi-phase modulated signal BI-Φ_IN can be gradual. Therefore, a bit-window of the bi-phase modulated signal BI-Φ_IN that is coded with a logic-low state can resemble an approximate half sine wave and a bit-window of the bi-phase modulated signal BI-Φ_IN that is coded with a logic-high state can resemble an approximate sine wave. Therefore, each of the logic-low filter 12 and the logic-high filter 14 can include a plurality of taps that are programmed with tap weights having values that can be plotted to correspond to the respective coded logic-state of a bit-window of the bi-phase modulated signal BI-Φ_IN. As an example, the values can be integer values or floating point values.
For example, the tap weights of the logic-low filter 12 can be programmed with a range of values that can be plotted as an approximate half sine wave across the plurality of taps of the logic-low filter 12, such that the values can all be greater than a reference value (e.g., zero). As another example, the logic-high filter 14 can be programmed such that the tap weights have a range of values that can be plotted as an approximate sine wave across the plurality of taps of the logic-high filter 14. Specifically, the values for the logic-high filter 14 can have a first portion of taps corresponding to consecutive digital samples with values greater than the reference value and a second portion of taps corresponding to consecutive digital samples with values less than the reference value. It is to be understood that, for the logic-high filter 14, the sine wave can be plotted with a phase of 0° or 180°, such that the portions of the taps that are greater than and less than the reference value, respectively, can be reversed.
Referring back to the example of
As an example, the bi-phase modulated signal BI-Φ_IN can have a frequency of 2 kHz and can be sampled at a frequency of 20 kHz by an analog-to-digital converter (ADC; not shown). Thus, the bi-phase modulation decoder 10 receives ten digital samples of the bi-phase modulated signal BI-Φ_IN corresponding to a single bit-window, and thus an encoded logic-state. For example, the ten digital samples are numerically represented as the set {162, 646, 594, 670, −23, −642, −778, −804, −674, −280}. The digital samples are provided to each of the logic-low filter 12 and the logic-high filter 14, and each of the logic-low filter 12 and the logic-high filter 14 generate a dot product of the ten digital samples and the respective set of tap weights of the taps 52 and 102. Based on the tap weights for the taps 52 and 102 demonstrated in the examples of
The bi-phase modulation decoder 10 is therefore capable of accurately decoding the bi-phase modulation signal BI-Φ_IN, regardless of an attenuated amplitude that can result from filtering and/or transmission medium losses. Specifically, even at very low amplitudes, such that noise could typically degrade accurate decoding of the bi-phase modulated signal BI-Φ_IN, the bi-phase modulation decoder 10 can still accurately decode the bi-phase modulated signal BI-Φ_IN based on the operation of the logic-low filter 12, the logic-high filter 14, and the comparator 16. In addition, the bi-phase modulation decoder 10 can accurately decode the bi-phase modulated signal BI-Φ_IN even in the presence of a direct current (DC) component of the bi-phase modulated signal BI-Φ_IN based on the simple comparison operation of the comparator 16. Furthermore, the weighting provided by the tap values of the taps 52 and 102 of the logic-low filter 12 and the logic-high filter 14, respectively, provides better signal-to-noise ratio (SNR) than simple zero-crossing detection algorithms for decoding the bi-phase modulated signal BI-Φ_IN that is subjected to noise and/or asymmetry.
It is to be understood that the bi-phase modulation decoder 10 is not intended to be limited to the examples of
The bi-phase modulation decoder 150 includes a plurality of logic-low filters that each have a distinct number of taps and a plurality of logic-high filters that each have the distinct number of taps. Specifically, the bi-phase modulation decoder 150 includes a 9-tap logic-low filter 152, a 9-tap logic-high filter 154, a 10-tap logic-low filter 156, a 10-tap logic-high filter 158, an 11-tap logic-low filter 160, and an 11-tap logic-high filter 162. As an example, the filters 152 through 162 can be configured as FIR filters. In the example of
Similar to the logic-low filter 12 in the example of
Ideally, the frequency of the bi-phase modulation signal BI-Φ_IN and the sampling frequency of the associated ADC (not shown) that provides the digital samples of the bi-phase modulated signal BI-Φ_IN are aligned. Therefore, the bi-phase modulation decoder 150 can appropriately anticipate a set number of digital samples to correspond to one bit-window of the bi-phase modulation signal BI-Φ_IN. However, the associated communication system may not include an external clock to align the frequencies of the bi-phase modulated signal BI-Φ_IN and the sampling frequency of the ADC. Thus, frequency variation and/or jitter can be introduced into the associated communication system from any of a variety of factors. Therefore, the number of samples that can correspond to a given bit-window of the bi-phase modulation signal BI-Φ_IN may vary based on the frequency variation and/or jitter. Specifically, a frequency of the bi-phase modulation signal BI-Φ_IN that is greater than the expected frequency can result in a number of digital samples that is less than the expected number of samples for a given bit-window. Similarly, a frequency of the bi-phase modulation signal BI-Φ_IN that is less than the expected frequency can result in a number of digital samples that is greater than the expected number of samples.
In the example of
The 9-tap logic-low and logic-high filters 152 and 154 each generate a dot product of the first 9 digital samples provided from the buffer 164 with 9 respective tap weights. The 10-tap logic-low and logic-high filters 156 and 158 each generate a dot product of the first 10 digital samples provided from the buffer 164 with 10 respective tap weights. The 11-tap logic-low and logic-high filters 160 and 162 each generate a dot product of all 11 digital samples provided from the buffer 164 with 11 respective tap weights. The comparator 166 thus not only determines the encoded logic-state of the bit-window of the bi-phase modulated signal BI-Φ_IN based on the greatest absolute value of the respective six dot products, but also determines the size of the given bit-window. Specifically, the greatest absolute value magnitude dot product is also determinative of the number of digital samples that constituted the bit-window of the bi-phase modulated signal BI-Φ_IN based on which of the six filters 152 through 162 generated the greatest magnitude absolute value dot product. Accordingly, the bi-phase modulation decoder 150 can accurately decode the bi-phase modulated signal BI-Φ_IN without an external clock that accounts for frequency variation and/or jitter.
As an example, if the comparator 166 determines that the bit-window had a length of less than the eleven digital samples output from the buffer 164, then the comparator 166 identifies that the last one or two digital samples of the eleven digital samples output from the buffer 164 thus correspond to the next bit-window of the bi-phase modulated signal BI-Φ_IN. For example, upon determining that the absolute value dot product of the 9-tap logic-high filter 154 is the highest, the comparator determines that the bit-window of the encoded logic-high is 9 digital samples long. Therefore, the remaining two digital samples of the 11 samples output from the buffer 164 correspond to the first two digital samples of the next bit-window of the bi-phase modulated signal BI-Φ_IN. As a result, the buffer 164 can be commanded by the comparator 166 to collect only the next nine samples of the bi-phase modulated signal BI-Φ_IN to provide a next set of eleven samples to the filters 152 through 162 for decoding the next bit-window.
In the example of
It is to be understood that the bi-phase modulation decoder 150 is not intended to be limited to the example of
As an example, it may be necessary or desirable for the portable electronic device 204 to communicate with the wireless charger 202. As an example, the portable electronic device 204 may provide messages to the wireless charger 202 to indicate that it is receiving power from the wireless charger 202, to indicate that it is fully charged, or to provide any of a variety of other indications. In the example of
The wireless charger 202 includes a receiver 212 that is coupled to the current path of the current supply 206, the inductor L1, and the resistor R1. The receiver 212 is thus configured to monitor the primary current I1, and thus to demodulate the bi-phase modulated signal from the primary current I1. As an example, the receiver 212 can monitor a voltage, power, or the primary current II itself to demodulate the bi-phase modulated signal. Specifically, the receiver 212 includes an ADC 214 that is configured to generate digital samples at a substantially constant frequency, with the digital samples corresponding to the magnitude of the primary current I1 or an associated voltage or power, and thus the bi-phase modulated signal. The receiver 212 also includes a bi-phase modulation decoder 216. As an example, the bi-phase modulation decoder 216 can be configured substantially similar to the bi-phase modulation decoder 10 in the example of
It is to be understood that the wireless power system 200 is not intended to be limited to the example of
In view of the foregoing structural and functional features described above, a methodology in accordance with various aspects of the present invention will be better appreciated with reference to
At 256, a first dot product of the plurality of consecutive digital samples and a respective plurality of tap weights of a first finite impulse response filter associated with a first logic-state is generated. The tap weights can be arranged such that they can be plotted as an approximate half sine wave across the taps, with all tap weights being greater than or equal to a reference value (e.g., zero). At 258, a second dot product of the plurality of consecutive digital samples and a respective plurality of tap weights of a second finite impulse response filter associated with a second logic-state is generated. The tap weights can be arranged such that they can be plotted as an approximate sine wave across the taps, with a first portion of consecutive taps having tap weights greater than the reference value and a second portion of consecutive taps having tap weights less than the reference value. The first and second filters could be first and second pluralities of filters, with each filter having a distinct number of taps in each plurality.
At 260, an absolute value of the first dot product and an absolute value of the second dot product are compared. At 262, an output code is generated as a bit having the first logic-state upon an absolute value of the first dot product being greater than an absolute value of the second dot product and having the second logic-state upon the absolute value of the second dot product being greater than the absolute value of the first dot product. The determination of the greatest absolute value dot product could also provide an indication of a size of a bit-window based on frequency variation and/or jitter.
The bi-phase modulation decoder 300 includes a buffer 302 configured to store the digital samples associated with the bi-phase modulated signal BI-Φ_IN sequentially. As an example, the bi-phase modulated signal BI-Φ_IN can be provided to have eight digital samples corresponding to each bit, such as based on a clock associated with an upstream ADC (not shown). Thus, for example, the buffer 302 can be configured to store ten digital samples of the bi-phase modulated signal BI-Φ_IN at a given time, such that the buffer 302 can be configured to store a number of samples that is greater than a number of digital samples corresponding to a single bit but less than the number of samples corresponding to two bits. Alternatively, it is to be understood that the bi-phase modulated signal BI-Φ_IN can be represented by more or less than eight digital samples per bit, and the buffer 302 can be configured to store any number of samples that is greater than or equal to the number of samples representing a single bit.
The digital samples that are stored in the buffer 302 can correspond to a portion of a total number of digital samples of each of two consecutive bits of the bi-phase modulated signal BI-Φ_IN. In the example of
The bi-phase modulation decoder 300 also includes a first summer 308 and a second summer 310. As an example, the summers 308 and 310 can be configured as software or a combination of hardware and software components in the bi-phase modulation decoder 300. The first summer 308 is configured to add together a subset of the portion of the digital samples of the bit N to generate a first sum SUMN and the summer 310 is configured to add together a subset of the portion of the digital samples of the bit N−1 to generate a second sum SUMN−1. For example, the first summer 308 can add together all four of the digital samples of the first half of the bit N for an eight digital sample bit of the bi-phase modulated signal BI-Φ_IN, and the second summer 310 can thus add together all four of the digital samples of the second half of the bit N−1. As another example, the first summer 308 can add together less than all four of the digital samples of the first half of the bit N for an eight digital sample bit of the bi-phase modulated signal BI-Φ_IN, such that the second summer 310 can thus add together a corresponding and symmetrically located number of digital samples of the second half of the bit N−1.
The sums SUMN and SUMN−1 that are generated by the summers 308 and 310, respectively, are provided to a comparator 312. The comparator 312 can thus compare the sums SUMN and SUMN−1 corresponding to the portions of digital samples of the bits N and N−1 to determine the edge-transition between the bits N and N−1. Specifically, if the sum SUMN is greater than the sum SUMN−1, then the edge-transition between the bits N and N−1 is logic-high (i.e., a rising-edge). Similarly, if the sum SUMN is less than the sum SUMN−1, then the edge-transition between the bits N and N−1 is logic-low (i.e., a falling-edge). In the example of
The comparator 312 can then compare the edge-transition between the bits N and N−1 with an immediately preceding edge-transition, specifically the edge-transition between the bit N−1 and the immediately preceding bit, to determine the whether the bit N−1 corresponds to a logic-low or a logic-high output code. In the example of
The bi-phase modulated signal BI-Φ_IN is demonstrated as including three bit-windows, a first bit-window 352 that corresponds to a bit N−1 having a logic-high code, a second bit-window 354 that corresponds to a bit N having a logic-low code, and a third bit-window 356 that corresponds to a bit N+1 having a logic-high code. Specifically, the bit-windows 352, 354, and 356 are each separated by a logic-state edge-transition, with the first and third bit-windows 352 and 356 corresponding to logic-high codes based on including an additional logic-state edge-transition in the approximate center of each of the bit-windows. Each of the bit-windows 352, 354, and 356 are represented by eight digital samples 358, which can be based on a clock speed of an associated ADC. Thus, the logic-high and logic-low codes are based on the magnitude of the digital samples 358 relative to a zero-crossing magnitude 360. It is to be understood that the zero-crossing magnitude 360 is not limited to having a magnitude of zero, but could have a magnitude that is approximately half of a difference between the digital samples 358 corresponding to logic-high values and the digital samples 358 corresponding to logic-low values.
The buffer 302 is configured to continuously store the consecutive digital samples 358. To decode the logic-state of the bit N−1, the first summer 308 can add together the digital samples 358 corresponding to the first half of the bit N and the second summer 310 can add together the digital samples 358 corresponding to the second half of the bit N−1. The comparator 312 can then compare the sums SUMN and SUMN−1 to determine if the edge-transition between the bit N and the bit N−1 is a rising-edge transition or a falling-edge transition. Because the sum of the digital samples 358 corresponding to the first half of the bit N is less than the sum of the digital samples 358 corresponding to the second half of the bit N−1, based on the relative magnitudes of the respective digital samples 358, the comparator 312 can thus determine that the edge-transition between the bits N and N−1 is a falling-edge transition. The comparator 312 can thus determine that the bit N−1 has a logic-high (i.e., “1”) code because the edge-transition between the bits N and N−1 is the same as the edge-transition between the bit N−1 and the immediately preceding bit. The comparator 312 can then add the “1” value corresponding to the bit N−1 serially to the output code CODE_OUT.
Upon determining the output code associated with the bit N−1, the buffer 302 can shift unused digital samples 358 to one end of the buffer 302 and store the next set of consecutive digital samples 358 of the bi-phase modulated signal BI-Φ_IN. For example, the buffer 302 can move or shift the unused digital samples 358 to a respective set of furthest left cells and can overwrite previous digital samples or empty cells of the buffer 302 with the next consecutive digital samples 358 of the bi-phase modulated signal BI-Φ_IN. As one example, based on the selected samples that were added together by the summers 308 and 310, it can be determined which of the digital samples 358 are used for the determination of the output code of the bit N. As another example, the digital samples 358 to be used for the determination of the output code of the bit N can be determined in a different way, as described in greater detail below.
To decode the logic-state of the bit N, the first summer 308 can add together the digital samples 358 corresponding to the first half of the bit N+1 and the second summer 310 can add together the digital samples 358 corresponding to the second half of the bit N. The comparator 312 can then compare the sums SUMN and SUMN−1 to determine the edge-transition between the bit N and the bit N+1. Because the sum of the digital samples 358 corresponding to the first half of the bit N+1 is greater than the sum of the digital samples 358 corresponding to the second half of the bit N, the comparator 312 can thus determine that the edge-transition between the bits N and N+1 is a rising-edge transition. The comparator 312 can thus determine that the bit N has a logic-low (i.e., “0”) code because the edge-transition between the bits N and N+1 is opposite the edge-transition between the bits N and N−1, as determined previously by the comparator 312. The comparator 312 can then add the “0” value corresponding to the bit N serially to the output code CODE_OUT. The bi-phase modulation decoder 300 can thus continue to decode the bi-phase modulation signal BI-Φ_IN in the manner described herein.
Such manner of decoding the bi-phase modulation signal BI-Φ_IN, as described in the examples of
Referring back to the example of
The bi-phase modulated signal BI-Φ_IN is demonstrated as including a second half of a bit-window 402 associated with a bit N−1 having a logic-high code and a first half of a bit window 404 associated with a bit N also having a logic-high code. Thus, the diagram 400 demonstrates a total of eight digital samples 406, numbered from 0 to 7, that can be implemented by the bi-phase modulation decoder 300 to determine the output code of the bit N−1, which can be based on a clock speed of an associated ADC. In the example of
As described above, the bi-phase modulated signal BI-Φ_IN may be asymmetric, such that the rising-edge transitions and/or the falling-edge transitions may be early or late relative to each other. Such asymmetry can result from factors such as noise, temperature, or any of a variety of other factors. As a result, the digital samples of the bi-phase modulated signal BI-Φ_IN may favor either positive or negative values on either side of an expected edge-transition 410. In the example of
To substantially mitigate the deleterious effects of an asymmetric property of the bi-phase modulated signal BI-Φ_IN, the controller 316 can be configured to selectively discard one or more samples from each of the bits N and N−1 in a symmetric manner about the expected edge-transition 410. Specifically, the controller 316 can be configured to specify which of the digital samples 406 that the summers 308 and 310 add together to generate the respective sums SUMN and SUMN−1. In the example of
The bi-phase modulated signal BI-Φ_IN is demonstrated as including a second half of a bit-window 452 associated with a bit N−1 having a logic-high code and a first half of a bit window 454 associated with a bit N also having a logic-high code. Thus, the diagram 450 demonstrates a total of eight digital samples 456, numbered from 0 to 7, that can be implemented by the bi-phase modulation decoder 300 to determine the output code of the bit N−1, which can be based on a clock speed of an associated ADC. In the example of
As described above, the number of samples that can correspond to a given bit-window of the bi-phase modulation signal BI-Φ_IN may vary based on frequency variation and/or jitter resulting from a lack of an external clock to align the frequencies of the bi-phase modulated signal BI-Φ_IN and the sampling frequency of the associated ADC. Thus, in the example of
As an example, the controller 316 can generate an average AVG of the eight digital samples 456 that correspond to the eight digital samples 456 that are expected to correspond to the respective bits N and N−1. The average AVG of the eight digital samples 456 can correspond to a threshold. Thus, the controller 316 can be configured to generate another average of the values of the digital samples 456 numbered 3 and 4 corresponding to an expected edge-transition. As a result, a comparison of the average of the values of the digital samples 456 numbered 3 and 4 relative to the average AVG of the eight digital samples 456 can be determinative of whether the edge-transition was early or late relative to the expected edge-transition. In the example of
As a result of the determination of the relative location of the edge-transition, the controller 316 can ascertain that the bit N−1 does not include the expected number of digital samples (e.g., eight digital samples 456 in the example of
SamplesNEW=SamplesOLD*K*(AVGTRAN*AVG) Equation 1
Thus, in the example of
Accordingly, for the next edge-transition determination, the controller 316 can discard the digital sample 456 number 3 based on that digital sample 456 being the odd-numbered digital sample 456 closest to the edge-transition between the bits N and N−1. Thus, the first summer 308 adds together the digital samples 406 numbered 0 through 2 and the second summer 310 adds together the digital samples 406 numbered 4 through 6. In addition, the controller 316 can then identify that the digital sample 456 numbered 7 corresponds to the second half of the bit N, such that the digital sample 456 numbered 7 can be saved in the buffer 302 (e.g., moved to the number 0 cell in the buffer 302) to be used to subsequently determine the output code of the bit N. Accordingly, the controller 316 can operate as an integrator to ensure that the bi-phase modulation decoder 300 can correctly decode the bi-phase modulation signal BI-Φ_IN regardless of mismatch between the frequency of the bi-phase modulated signal BI-Φ_IN and the sampling frequency of the associated ADC.
It is to be understood that the bi-phase modulation decoder 300 is not intended to be limited to the examples of
At 506, the plurality of digital samples are stored in a buffer. The digital samples can be stored consecutively, and the buffer can include a number of cells for storing digital samples that is greater than or equal to the number of digital samples in a given bit-window of the bi-phase modulated signal. At 508, a first portion of the plurality of digital samples is added to generate a first sum associated with a first bit of the bi-phase modulated signal. The first portion of the digital samples can include less than or equal to all of the digital samples corresponding to the second half of the first bit. At 510, a second portion of the plurality of digital samples is added to generate a second sum associated with a second bit of the bi-phase modulated signal, the second bit immediately following the first bit in the bi-phase modulated signal. The second portion of the digital samples can include less than or equal to all of the digital samples corresponding to the first half of the second bit.
At 512, the first sum and the second sum are compared to determine an edge-transition between the first bit and the second bit. The edge-transition can be determined to be a rising-edge transition if the second sum is greater than the first sum, and can be determined to be a falling-edge transition if the first sum is greater than the second sum. At 514, a logic-state of the first bit is determined based on the edge-transition relative to an immediately preceding edge-transition between the first bit and an immediately preceding bit. The logic-state can be determined to be a logic-high state if the edge-transition is the same as an immediately preceding edge-transition, and can be determined to be a logic-low state if the edge-transition is opposite from an immediately preceding edge-transition.
What have been described above are examples of the invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the invention are possible. Accordingly, the invention is intended to embrace all such alterations, modifications, and variations that fall within the scope of this application, including the appended claims.
The present invention is a continuation-in-part application that claims priority from U.S. patent application Ser. No. 12/832,674, filed Jul. 8, 2010, which claims priority from U.S. Provisional Patent Application No. 61/289,825, filed Dec. 23, 2009.
Number | Date | Country | |
---|---|---|---|
61289825 | Dec 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12832674 | Jul 2010 | US |
Child | 13044930 | US |