Methods and systems for handling underflow and overflow in a software defined radio
First Claim
1. A communications system, the system comprising:
- one or more radio head interface modules; and
a call processing software module, the one or more radio head interface modules adapted to communicate with the call processing software module;
wherein the call processing software module performs modulation and demodulation of voice and data streams using one or more air interface standards;
wherein the call processing software module transmits complex RF data samples to the one or more radio head interface modules;
a first radio head interface module of the one or more radio head interface modules adapted to create zero value data samples when complex RF data samples are not received from the call processing software module at an expected data sample rate;
the first radio head interface module further adapted to count the number of zero value data samples created; and
the first radio head interface module further adapted to discard a number of complex RF data samples received from the call processing software module based on the number of zero value data samples counted by the first radio head interface module;
wherein the call processing software module transmits complex RF data samples in pages, each page including a predefined number of complex RF data samples;
wherein, when the first radio head interface module creates a number of zero value data samples less than the predefine number of complex RF data samples in a page of complex RF data samples, the number of complex RF data samples discarded equals the number of zero value data samples created by the first radio head interface module; and
wherein when the first radio head interface module creates a number of zero value data samples equal to the predefined number of complex RF data samples in a page of complex RF data samples, then the first radio head interface module is further adapted to continue transmitting zero value data samples until notified by the call processing software to resume transmitting complex RF data samples, wherein when the first radio head interface is notified by the call processing software to resume transmitting complex RF data samples, the first radio head interface module does not discard a number of complex RF data samples received from the call processing software module.
12 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for handling buffer overflows and underflows in a software defined radio are presented. A communications system comprises one or more radio head interface modules and a call processing software module. The radio head interface modules are adapted to communicate with the call processing software module. The call processing software module performs modulation and demodulation of voice and data streams and transmits complex RF data samples to the radio head interface modules. A first radio head interface module is adapted to create zero value data samples when complex RF data samples are not received from the call processing software module at an expected data sample rate. The first radio head interface module is further adapted to count zero value data samples created and discard a number of complex RF data samples based on the number of zero value data samples counted by the first radio head interface module.
143 Citations
24 Claims
-
1. A communications system, the system comprising:
-
one or more radio head interface modules; and a call processing software module, the one or more radio head interface modules adapted to communicate with the call processing software module; wherein the call processing software module performs modulation and demodulation of voice and data streams using one or more air interface standards; wherein the call processing software module transmits complex RF data samples to the one or more radio head interface modules; a first radio head interface module of the one or more radio head interface modules adapted to create zero value data samples when complex RF data samples are not received from the call processing software module at an expected data sample rate; the first radio head interface module further adapted to count the number of zero value data samples created; and the first radio head interface module further adapted to discard a number of complex RF data samples received from the call processing software module based on the number of zero value data samples counted by the first radio head interface module; wherein the call processing software module transmits complex RF data samples in pages, each page including a predefined number of complex RF data samples; wherein, when the first radio head interface module creates a number of zero value data samples less than the predefine number of complex RF data samples in a page of complex RF data samples, the number of complex RF data samples discarded equals the number of zero value data samples created by the first radio head interface module; and wherein when the first radio head interface module creates a number of zero value data samples equal to the predefined number of complex RF data samples in a page of complex RF data samples, then the first radio head interface module is further adapted to continue transmitting zero value data samples until notified by the call processing software to resume transmitting complex RF data samples, wherein when the first radio head interface is notified by the call processing software to resume transmitting complex RF data samples, the first radio head interface module does not discard a number of complex RF data samples received from the call processing software module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A communications system, the system comprising:
-
one or more radio head interface modules; and a call processing software module, the one or more radio head interface modules adapted to communicate with the call processing software module; wherein the call processing software module performs modulation and demodulation of voice and data streams using one or more air interface standards; wherein the call processing software module transmits complex RF data samples to the one or more radio head interface modules; a first radio head interface module of the one or more radio head interface modules adapted to create zero value data samples when complex RF data samples are not received from the call processing software module at an expected data sample rate; the first radio head interface module further adapted to count the number of zero value data samples created; and the first radio head interface module further adapted to discard a number of complex RF data samples received from the call processing software module based on the number of zero value data samples counted by the first radio head interface module; wherein the first radio head interface module further comprises; a transmit buffer, the transmit buffer adapted to receive the complex RF data samples from the call processing software module, the transmit buffer adapted to store the complex RF data samples as a page of complex RF data samples; a transmit engine; and a digital upconverter; the transmit engine adapted to transfer the complex RF data samples of the page of complex RF data samples from the transmit buffer to the digital upconverter; the radio head interface module further adapted to create zero value data samples when the transmit buffer is empty, and further adapted to transfer the zero value data samples to the digital upconverter; the transmit engine further adapted to discard a number of complex RF data samples received from the transmit buffer based on the number of zero value data samples counted by the first radio head interface module. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method of handling buffer underflow conditions, the method comprising:
-
attempting to transfer one or more complex RF data samples from a transmit buffer; determining if the transmit buffer is empty; inserting one or more zero value data samples into a data stream at a first rate; counting the number of zero value data samples inserted into the data stream; and when the number of inserted zero value data samples is less than a predefined number, discarding one or more complex RF data samples from the data stream at a second rate, based on the number of zero value data samples inserted into the data stream; wherein when the number of inserted zero value data samples is not less than a predefined number, the method further comprises; sending a fault message to a call processing software module; receiving time start information from the call processing software module indicating a time to resume transferring complex RF data samples from the transmit buffer; and when the current time indicated by a time synchronizer equals the time indicated by the time start information, attempting transferring one or more complex RF data samples from the transmit buffer. - View Dependent Claims (16, 17, 18)
-
-
19. A computer-readable medium having computer-executable instructions for a method of handling buffer underflow conditions, the method comprising:
-
attempting to transfer one or more complex RF data samples from a transmit buffer determining if the transmit buffer is empty; inserting one or more zero value data samples into a data stream at a first rate; counting the number of zero value data samples inserted into the data stream; and when the number of inserted zero value data samples is less than a predefined number, discarding one or more complex RF data samples from the data stream at a second rate, based on the number of zero value data samples inserted into the data stream; wherein when the number of inserted zero value data samples is not less than a predefined number, the method further comprises; sending a fault message to a call processing software module; receiving time staff information from the call processing software module indicating a time to resume transferring complex RF data samples from the transmit buffer; and when the current time indicated by a time synchronizer equals the time indicated by the time start information, attempting transferring one or more complex RF data samples from the transmit buffer. - View Dependent Claims (20, 21, 22)
-
-
23. A communications system, the system comprising:
-
means for modulating and demodulating voice and data streams using one or more air interface standards and communicating complex RF data samples at a first data sample rate; means for creating zero value data samples when complex RF data samples are not received from the means for modulating and demodulating voice and data streams at the first data sample rate; means for counting the number of zero value data samples created; and means for discarding a number of complex RF data samples communicated by the means for modulating and demodulating voice and data streams based on the number of zero value data samples created; means for communicating complex RF data samples at a second data sample rate to the means for modulating and demodulating voice and data streams; and means for discarding complex RF data samples when RF data samples are not received by the means for modulating and demodulating voice and data streams at the second data sample rate. - View Dependent Claims (24)
-
Specification