1. An apparatus, comprising:
a microcontroller comprising an oscillator and an inputoutput buffer, wherein the microcontroller is configured to process an electrical signal and the inputoutput buffer is configured to drive a digital signal;
a transmitter including the oscillator and the inputoutput buffer of the microcontroller, wherein the transmitter further includes:
a resonator coupled to the oscillator;
modulation circuitry coupled to the oscillator and resonator and configured to modulate an output of the oscillator responsive to a modulation signal based on the processed electrical signal;
an antenna coupled to the inputoutput buffer of the microcontroller for transmission of the data; and
a resonant tank coupled to an output of the inputoutput buffer to provide an analog signal to the antenna.
2. The apparatus of claim 1, further comprising a sensor configured to provide the electrical signal to the microcontroller responsive to an environmental parameter.
3. The apparatus of claim 1, wherein the modulation circuitry comprises a first capacitor coupled in series with a first transistor between a first node of the oscillator and a reference node; and wherein the modulation circuitry further comprises a second capacitor coupled in series with a second transistor between a second node of the oscillator and the reference node.
4. The apparatus of claim 3, wherein the first transistor is configured to be enabled based on the modulation signal, and where second transistor is configured to be enabled based on the modulation signal.
5. The apparatus of claim 1, wherein the resonant tank a capacitive element coupled in series with the antenna between an output of the inputoutput buffer and a reference node.
6. The apparatus of claim 5, wherein the resistive element is variable resistor configured to be adjusted to control output power during transmission of the data.
7. The apparatus of claim 1, wherein the inputoutput buffer comprises a supply input, and wherein the apparatus further comprises a variable supply coupled to the supply input and configured to control output power during transmission of the data.
8. The apparatus of claim 1, wherein the inputoutput buffer comprises an input configured to control drive strength of the inputoutput buffer, and wherein the input is coupled to circuitry configured to control output power during transmission of data.
9. The apparatus of claim 1, wherein the microcontroller includes a processor configured to process the electrical signal, and wherein the processor is further configured to provide the modulation signal.
10. The apparatus of claim 1, wherein the microcontroller further includes a processor configured to generate a plurality of register values corresponding to the data, and store the register values in a memory, and wherein the microcontroller further comprises a timer coupled to the memory and configured to provide, during a timer cycle, the modulation signal having a sequence of one or more pulses based on the register values.
11. The apparatus of claim 9, wherein the processor is further configured to turn off after providing the plurality of register values, wherein the timer is configured to provide an interrupt to the processor to turn on the processor responsive to completing the timer cycle, wherein the processor is further configured to provide a next set of register values to the timer responsive to the interrupt.
12. The apparatus of claim 9, wherein the microcontroller further comprises a direct memory access controller configured to provide register values from the memory to the timer, wherein the processor is configured to turn off after providing the register values to the memory, wherein the timer is configured to provide an interrupt to the direct memory access controller to turn on the direct memory access controller responsive to completing the timer cycle based on the register values, wherein the direct memory access controller is configured to provide a next set of register values to the timer responsive to the interrupt.
13. The apparatus of claim 1, wherein the modulation circuitry configured to modulate the output of the oscillator responsive to the modulation signal based on the processed electrical signal comprises the modulation circuitry configured to modulate a frequency of the output of the oscillator responsive to the modulation signal based on the processed electrical signal.
14. The apparatus of claim 1, wherein the antenna is configured to wirelessly couple the analog signal to a powerline.
15. A non-transitory computer readable medium comprising instructions that, when executed by one or more processing units, cause the one or more processing units to:
convert a data packet into pulse widths;
convert the pulse widths into register values;
configure a timer configuration register with a first set of register values of the register values, wherein a modulation signal is toggled responsive to completion of a first timer cycle at a timer, wherein the timer cycle is based on the first set of register values;
receive an interrupt from the timer, wherein the timer is configured to provide the interrupt responsive to completion of a last timer cycle, wherein the last timer cycle is based on a last set of register values of the register values; and
wake up the one or more processing units responsive to receiving the interrupt.
16. The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by one or more processing units, cause the one or more processing units to turn off after configuring the timer configuration register with the first set of register values.
17. The non-transitory computer readable medium of claim 15, wherein the interrupt is a last interrupt, the non-transitory computer readable medium further comprising instructions that, when executed by one or more processing units, cause the one or more processing units to:
receive a first interrupt from the timer; and
configure the timer configuration register with a next set of register values of the register values responsive to the first interrupt.
18. The non-transitory computer readable medium of claim 17, further comprising instructions that, when executed by one or more processing units, cause the one or more processing units to toggle the modulation signal.
19. A method, comprising:
converting, at a processor of a microcontroller, a data packet into pulse widths;
converting the pulse widths into register values;
configuring a timer configuration register of the microcontroller with a first set of register values of the register values;
toggling a modulation signal at an output of the timer responsive to completion of a first timer cycle at a timer of the microcontroller, wherein the timer cycle is based on the first set of register values;
providing, from the timer to the processor, an interrupt responsive to completion of a last timer cycle, wherein the last timer cycle is based on a last set of register values of the register values; and
turning on the processor responsive to receiving the interrupt.
20. The method of claim 19, further comprising turning off the processor after configuring the timer configuration register with the first set of register values.
21. The method of claim 19, wherein the interrupt is a last interrupt, the method further comprising:
providing a first interrupt from the timer responsive to completion of the first timer cycle; and
configuring the timer configuration register with a next set of register values of the register values responsive to the first interrupt.
22. The method of claim 21, further comprising receiving the first interrupt at direct memory access circuitry of the microcontroller, wherein configuring the timer configuration register with a next set of register values comprises waking up the direct memory access circuitry.
23. The method of claim 21, wherein configuring the timer configuration register with a next set of register values comprises retrieving the next set of register values from a memory of the microcontroller.
24. The method of claim 18, wherein the first set of register values identify a start time and a stop time for the first timer cycle.
25. The method of claim 19, further comprising:
providing the modulation signal to a modulation circuit; and
providing a modulated signal to an oscillator of the microcontroller that is modulated based on the modulation circuit, wherein the modulation circuit is configured to couple capacitors to a resonant tank of the oscillator responsive to toggling of the modulation signal.
26. The method of claim 25, further comprising driving an antenna to transmit a modulated output signal from the microcontroller, wherein the modulated output signal is based on the modulated signal provided from the oscillator of the microcontroller.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer-implemented method comprising:
extracting, by a processor, text from a document;
identifying, by the processor, terms within the extracted text, each of the terms comprising a contiguous grouping of two or more tokens, each token comprising a word;
determining, by the processor, a token value representing a total number of times each token occurs in the document;
determining, by the processor, a token frequency for each of the terms as a function of the token values of tokens in each of the terms; and
ranking, by the processor, the terms using the token frequency determined for each of the terms.
2. The method of claim 1 wherein the function determines a mean of the token values of tokens in each of the terms.
3. The method of claim 1 further comprising determining a term value for each of the terms representing a total number of times each of the terms occurs in document, wherein ranking the terms further comprises using the term value for each of the terms.
4. The method of claim 1 further comprising determining a standard deviation of offset for each of the terms using positions of individual occurrences of each of the terms in the document, wherein ranking the terms further comprises using the standard deviation of offset for each of the terms.
5. The method of claim 4 wherein determining the standard deviation of offset for each of the terms comprises determining a mean offset for each of the terms.
6. The method of claim 1 further comprising determining a standard deviation of gap for each of the terms using differences between positions of individual occurrences of each the terms, wherein ranking the terms further comprises using the standard deviation of gap for each of the terms.
7. The method of claim 6 wherein determining the standard deviation of gap for each of the terms comprises determining a mean gap for each of the terms.
8. The method of claim 1 further comprising:
providing a listing of ranked terms;
receiving selections of one or more terms from the listing to create a content preview of additional content identified using the selections of one or more terms; and
receiving designations of terms from the listing to be associated with the document as one or more keywords.
9. The method of claim 1 further comprising:
providing a listing of ranked terms;
receiving designations of terms from the listing to be associated with the document as one or more keywords; and
associating the one or more keywords with the document.
10. The method of claim 9 further comprising inserting the one or more keywords into a metadata portion of the document.
11. The method of claim 1 wherein the function determines an average of the token values of tokens in each of the terms.
12. A computer-implemented method comprising:
extracting, by a processor, text from a document;
identifying, by the processor, terms within the extracted text, each of the terms comprising a contiguous grouping of two or more tokens, each token comprising a word;
determining, by the processor, a standard deviation of offset or gap for each of the terms using positions of individual occurrences of each of the terms in the document; and
ranking the terms using the standard deviation of offset or gap for each of the terms.
13. The method of claim 12 wherein determining the standard deviation of offset for each of the terms comprises determining a mean offset for each of the terms.
14. The method of claim 12 wherein determining the standard deviation of gap for each of the terms comprises determining a mean gap for each of the terms.
15. The method of claim 12 further comprising:
providing a listing of ranked terms;
receiving selections of one or more terms from the listing to create a content preview of additional content identified using the selections of one or more terms; and
receiving designations of terms from the listing to be associated with the document as one or more keywords.
16. The method of claim 12 further comprising:
providing a listing of ranked terms;
receiving designations of terms from the listing to be associated with the document as one or more keywords; and
associating the one or more keywords with the document.
17. The method of claim 16 further comprising inserting the one or more keywords into a metadata portion of the document.
18. A non-transitory computer-readable medium on which is encoded program code, the program code comprising:
program code for extracting text from a document;
program code for identifying terms within the extracted text, each of the terms comprising a contiguous grouping of two or more tokens, each token comprising a word;
program code for determining a token value representing a total number of times each token occurs in the document;
program code for determining a token frequency for each of the terms as a function of the token values of tokens in each of the terms; and
program code for ranking the terms using the token frequency determined for each of the terms.
19. A non-transitory computer-readable medium on which is encoded program code, the program code comprising:
program code for extracting text from a document;
program code for identifying terms within the extracted text, each of the terms
comprising a contiguous grouping of two or more tokens, each token comprising a word;
program code for determining a standard deviation of offset or gap for each of the terms using positions of individual occurrences of each of the terms in the document; and
program code for ranking the terms using the standard deviation of offset or gap for each of the terms.