The present invention generally relates to the reduction or removal of packet jitter in Time Division Multiple Access (TDMA) telecommunication systems including Multi-Frequency TDMA (MF-TDMA) systems.
Time Division Multiple Access (TDMA) is a channel access method for shared medium telecommunication networks. It allows several users to share the same frequency channel by dividing the signal into different time slots. The users transmit in rapid succession, one after the other, each using its own time slot. This allows multiple stations to share the same transmission medium (e.g., radio frequency channel) while using only a part of its channel capacity. TDMA is used in the digital 2G cellular systems such as Global System for Mobile Communications (GSM), IS-136, Personal Digital Cellular (PDC) and iDEN, and in the Digital Enhanced Cordless Telecommunications (DECT) standard for portable phones. It is also used extensively in satellite systems as well as combat-net radio systems and PON networks for upstream traffic from premises to the operator. For satellite networks, MF-TDMA is the dominant technology because it provides the most bandwidth and the greatest overall efficiency and service quality, while also allowing the dynamic sharing of that bandwidth among many (tens of thousands) of transmitters in a two-way communication mode.
Unlike a Single Carrier Per Channel (SCPC) system, a system employing TDMA is more prone to producing packet jitter. In an SCPC system user packets can be transmitted as soon as they arrive for transmission whereas in a TDMA system there could be a variable temporal gap between when packets arrive and when time slots are allocated for the terminal to send those packets. The variable gaps produced manifest themselves as packet jitter. This is true irrespective of a regularly arrived packet stream or an irregular packet stream. Packet jitter can be undesirable in certain applications, especially voice applications where the voice quality can be noticeably adversely affected by it. It is important to maintain good service quality in a telecommunications network and control of jitter and latency is a very important part of that. Jitter and latency measurements are often used in Mean Opinion Score (MOS) algorithms to provide metrics for voice quality in voice applications.
Where there is a regular packet stream to be transmitted, jitter buffers employ a mechanism which can effectively reduce or remove the jitter. However, the jitter buffer mechanism is not suited to cases where the packet stream consists of packets arriving irregularly.
What is needed, therefore, is an approach for mitigating/eliminating jitter in applications where irregular packet data streams are transmitted over a TDMA communications link.
The present invention advantageously addresses the foregoing requirements and needs, as well as others, by providing systems and methods for mitigating/eliminating jitter in applications where irregular packet data streams are transmitted over a TDMA communications link.
In accordance with example embodiments of the invention, an apparatus comprises a receiver, a processor and a comparator. The receiver receives a data transmission signal via a channel of a communications system, and receives one or more delay factors measured at a transmission end of the channel, wherein each delay factor is associated with a respective data packet. The processor queues each of the data packets that is associated with a delay factor in a respective one of one or more jitter buffers. The comparator performs a comparison, for each data packet that is associated with a delay factor, between the respective delay factor and a predetermined latency parameter. The processor further releases each data packet that is queued in one of the jitter buffers based on the comparison between the respective delay factor associated with the data packet and the predetermined latency parameter.
In accordance with further embodiment, each delay factor may comprise a delay measurement based on a time that the respective data packet is received by a transmitter at the transmission end of the channel, and a time that the respective data packet is transmitted over the channel. Further, according to another embodiment, the predetermined latency parameter may comprise a delay value reflecting an approximate maximum acceptable latency for the data packets queued in the one or more jitter buffers, and wherein the processor releases each queued data packet in accordance with a timestamp, wherein the timestamp is determined based on the comparison such that a total time that the packet remains in the jitter buffer plus the respective delay factor does not exceed the approximate maximum acceptable latency for the data packet. Additionally, according to yet a further embodiment the predetermined latency parameter comprises one of a configurable system parameter set based on a length of a transmission frame and a trained parameter that is determined based on a relative maximum data packet delay experienced during a period of system operation.
Still other aspects, features, and advantages of the present invention are readily apparent from the following detailed description, which illustrates and describes a number of particular example embodiments and implementations, including the best mode contemplated for carrying out the present invention. The present invention is also capable of further embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawing and description are to be regarded as illustrative in nature, and not as restrictive.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Systems and methods for mitigating/eliminating jitter in applications where irregular packet data streams are transmitted over a TDMA communications link, are herein described.
Packet stream 102 is the input data to system 100 and is the data to be transmitted over the satellite in order for it to be received at the far end of the telecommunications link. In this example, packet stream 120 is a serial stream of packets with the packets starting at regular intervals. Packet stream 102 is not synchronized with the TDMA frame timing when it enters system 100. TDMA slot assigner 104 assigns packets of packet stream 102 to TDMA time slots in the TDMA frame and inserts packets of packet stream 102 in assigned TDMA time slots to produce slot-assigned packet stream 106. In other examples, TDMA slot assigner 104 may be simultaneously assigning and inserting other user data and overhead information to TDMA time slots for satellite transmission. Transmitter 108 provides modulation and forward error correction (FEC) encoding for slot-assigned packet stream 106 and conversion to radio frequencies to produce RF signal 110. RF signal 110 is transmitted over-the-air by transmission antenna 112. Slot-assigned packet stream 106 contains the data packets of packet stream 102 resynchronized to the TDMA frame for transmission. In other examples, slot-assigned packet stream 106 may also include other user data and overhead data in addition to the data packets originating from packet stream 102.
RF signal 110 is a radio frequency signal which is the result of transmitter 108 taking slot-assigned packet stream 106 and applying modulation, FEC encoding and frequency upconversion. Satellite 114 receives the radio frequency signal from transmit antenna 112 and converts it to a different radio frequency for re-transmission down to the earth. Receiving antenna 116 converts over-the-air signals received from satellite 114 to an RF signal compatible with receiver 120. Receiver 120 converts RF signal 118 to a data packet stream by applying downconversion, demodulation and decoding. Jitter buffer 124 removes jitter from the data packet stream. RF signal 118 is the RF signal 110 after being transmitted over satellite 114 and received through receiving antenna 116. Packet stream 122 contains the same packet data as slot-assigned packet stream 106. Packet stream 122 has the same timing as slot-assigned packet stream 106 with packets appearing in assigned TDMA time slots.
The timing of the packets of packet stream 122 being according to assigned TDMA time slots means that the spacing in time of packets will be different from the regular spacing of packet stream 102. The difference in packet spacing is known by the term packet jitter. Packet jitter is removed by jitter buffer 124 by removing the difference in packet spacing. This is done by inputting packets of packet stream 122 into jitter buffer 124 as they arrive with TDMA time slot timing, then outputting packets of packet stream 122 from jitter buffer 124 using the same regular packet spacing as packet stream 102, to produce packet stream 126.
According to the illustrated embodiments, transmitter 108 and transmission antenna 112 are shown to be a satellite link transmitter and a satellite dish respectively, but in other examples may be any components used to transmit a packet stream to a receiving station, non-limiting examples of which include a cellular transmitter and antenna, a WiFi or Bluetooth transmitter and antenna, a terrestrial microwave link transmitter and antenna or a device for wired telecommunications transmission. Similarly, in this example, receiving antenna 116 and receiver 120 are shown to be a satellite dish and a satellite link receiver respectively, but in other example may be any components used to receive a packet stream from a transmitting station, non-limiting examples of which include a cellular receiver and antenna, a WiFi or Bluetooth receiver and antenna, a terrestrial microwave link receiver and antenna or a device for wired telecommunications reception.
In a TDMA link, the transmit channel is divided into time periods called frames. TDMA systems described here have a frame period of 45 milliseconds (ms). The frame timing is broadcast throughout the network so that all terminals in the network can synchronize to it. The frames are further divided in into time periods called slots. In a MF-TDMA system, there are multiple channels at different frequencies all synchronized to the frame timing, each channel being divided into slots. The channels and their slots form a pool of opportunities for terminals to transmit a short burst of data. The terminals are assigned channels and slots for transmission using information received from a centralized processor at a Network Operations Center (NOC). This information is conventionally called the Network Plan. The Network Plan ensures that all terminals in the network are assigned channels and slots such that they do not transmit data bursts on the same channel frequency at the same time. The Network Plan can be static or it can change dynamically according to changing bandwidth requirements over time.
In
The 45 ms, 0 ms, 45 ms intervals are maintained across the satellite link and appear at the input of jitter buffer 124 of system 100 of
One example of an irregular packet stream is one that is inherently irregular. In this case, the packet stream may be deliberately irregular according to the application sourcing the data. One such application is a Global System for Mobile (GSM) backhaul. Another example of an irregular packet stream is one whereby a plurality of regular packet streams is presented to the system as a combined stream where the individual streams cannot be distinguished at the receiving end of the link due to a variety of reasons such as the inability to decrypt the packet headers. Examples can be illustrated in a diagram.
It has already been described that for regular packet streams jitter is introduced at the transmission end of the communications link by the TDMA slot assignment process and that the jitter can be mitigated at the reception end of the communications link by a jitter buffer. For irregular packet streams, however, a conventional approach to jitter buffers fails to mitigate the resulting jitter. With a conventional approach, in situations where the original packet stream is regular, the jitter buffer would be configured to output the packets at regular intervals. In situations where the original packet stream is irregular, however, the jitter buffer would attempt to remove jitter caused by TDMA slot assignment, still outputting the packets at regular intervals, and would thus output the packets incorrectly due to the further jitter introduced by the irregularity of the stream. As is further evident, such an approach may in fact introduce additional jitter by attempting to generate a regular packet stream from an irregular source.
In accordance with example embodiments of the present invention, an approach is provided whereby the jitter in a TDMA system is mitigated or eliminated in situations where the jitter caused by the assigning and inserting of data packets for transmission in TDMA time slots, where those data packets do not arrive at regular intervals. It does this by uniquely accounting for the delays in packet transmission, which cause jitter at the transmit end of the TDMA communications link, and sending the delay information across the link to the receiving end. At the receiving end a jitter buffer uses the received delay information to attempt to recreate as closely as possible the original irregular spacing of packets arriving at the transmit side, thus reducing, and in some cases eliminating, jitter. A system and method in accordance with aspects of the present invention measures the delay from a packet's arrival to the time it is transmitted in a TDMA time slot. This measurement is made for each and every packet requiring jitter reduction and the values are sent, along with their corresponding packets, to the receiving end of the TDMA communications link. Here the delay values are used to calculate the length of time each packet should be retained in the jitter buffer before being output. The output of the unique jitter buffer thus provides packet timing which is the same as, or very close to, the original irregular packet timing before packet jitter was introduced.
In accordance with example embodiments, approaches are provided that facilitate the elimination of jitter as opposed to just reducing it. Such approaches, however, may come at the expense of a longer jitter buffer retention time, which may introduce more latency. Latency is the end-to-end delay of packets across the communications link, which can be undesirable in some applications, especially voice applications where both packet jitter and latency can adversely affect perceived voice quality. In such applications, in accordance with further example embodiments, approaches are provided that employ a mechanism to allow the amount of latency to be traded off against the amount of jitter reduction in order to “tune” the communications link for best achievable voice quality. This is done using a controllable reference delay parameter, which effectively skews jitter buffer retention times away from the ideal values needed for zero jitter such that latency is reduced.
Accordingly, the systems and methods in accordance with example embodiments are therefore uniquely able to mitigate or eliminate jitter in applications involving irregular packet data streams (where conventional approaches would not achieve the desired results, and could in fact actually worsen the jitter), while also providing for mitigation or elimination of jitter in applications involving regular packet data streams.
TDMA slot assigner 104 assigns packets of packet stream 602 to TDMA time slots in the TDMA frame and inserts the packets of packet stream 602 in the assigned TDMA time slots to produce slot-assigned packet stream 106. Transmitter 108 converts slot-assigned packet stream 106 to radio frequencies to produce RF signal 604. RF signal 604 is transmitted over-the-air by transmission antenna 112. For each packet in packet stream 602, packet delay timer 606 measures the time delay to the equivalent packet in slot-assigned packet stream 106. Packet delay timer 606 produces a delay value 608 for each packet it measures and these values are input to transmitter 108 along with slot assigned packet stream 106 and appear in RF signal 604. Further, according to the illustrated embodiments, transmitter 108 and transmission antenna 112 are shown to be a satellite link transmitter and a satellite dish respectively, but in some embodiments these may be any components used to transmit a packet stream to a far receiving station including, but not limited to, a cellular transmitter and antenna, a WiFi or Bluetooth transmitter and antenna, a terrestrial microwave link transmitter and antenna or a device for wired telecommunications transmission.
Moreover, according to the described embodiments, all packets for transmission require jitter removal and all are treated the same way. In other embodiments, however, it may be desired that some packets will require jitter reduction, but depending on application, others may not. These may be uniquely identified by various methods including, but not limited to, separation by stream or by flagging for different treatment on a packet by packet basis.
According to example embodiments, the receiving antenna 116 converts over-the-air signals to an RF signal compatible with receiver 120. Receiver 120 extracts the data packet stream and packet delay values from RF signal 118. Jitter buffer 710 inputs the packets of packet stream 706 and outputs them in a manner which reduces or removes jitter. Reference delay parameter register 714 holds the reference delay parameters. For each packet of packet stream 706, processor 718 subtracts packet delay value 708 from reference delay parameter 716 to produce a buffer retention time value for that packet. For each packet of packet stream 706, comparator 720 compares packet delay value 708 with reference delay parameter 716 (Step 1225 of
Accordingly, the received side jitter buffer approach is configured based on the delay of packets at the transmission side, as measured by the transmitter section 101 and provided to the receiver section 111. For example, the queued packets are released from the jitter buffer based on a timestamp, calculated based on the measured TDMA packet delay at the transmitter and a parameter that determines a minimum value for how long the respective packet remains queued in the jitter buffer. The parameter (e.g., the reference delay parameter) may either be predetermined (e.g., based on the physical frame length) and configured in the receiver section, or trained based on system operation and the maximum TDMA packet delay experienced by the packets. For example, the parameter may be set such that it is some milliseconds less than the maximum delay experienced by a packet. Thus, when a packet has experienced a TDMA latency at the transmitter of more than or equal to this parameter, is released from the jitter buffer immediately. On the other hand, when a packet has experienced a latency at the transmitter that is less than this parameter, the packet remains in the jitter buffer for time period calculated as the difference between the reference delay parameter and the TDMA latency measured at the transmitter (the packet delay value).
According to example embodiments, the calculation made using processor 718 and comparator 720 reduces the overall buffer retention times from those needed to achieve zero jitter. This allows some jitter to make it through the system. However, as packets remain in the jitter buffer for less time, it also reduces latency. The reference delay parameter 716 in the reference delay parameter register 714 can be changed. Thus latency can be traded off against jitter to different degrees and the link can be “tuned” for different applications. For example, for an application for which latency is not an issue, the link can be tuned for minimum jitter. As another example, for a voice application where the voice quality would be adversely (but differently) affected by both jitter and latency, the reference delay parameter can be more finely tuned to achieve best voice quality as perceived or as measured.
According to further example embodiments, the tuning or training process may be a manual adjustment of the reference delay parameter adjustment from a local or remote location, or an automatic process. Non-limiting examples of an automatic process may include monitoring actual packet delays, latencies and other link parameters for the system and using these to “train” the network by making ever finer adjustments to the reference delay parameters as more information is gathered. An automatic process may also include monitoring actual packet delays, latencies and other link parameters for the system and using these to re-tune the reference delay parameters as a reaction to changes in the network over time.
Moreover, the jitter buffer at the receiver end may be operated either on a per data stream basis (e.g., multiple data streams may be processed through a single terminal transmission section), or may be operated on a per terminal basis (e.g., when multiple streams through the transmitter section of a terminal cannot be individually identified and processed).
As illustrated in
Referring to the example of
Column 912 shows the measured packet delay values for input packets 802, 804, 806 and 808 and column 914 shows the buffer retention values for each packet as derived for the case where the reference delay parameter is set to 45 ms. The buffer retention values are calculated by subtracting each of the measured packet delay values of column 912 from the reference delay parameter of 45 ms, according to the aspects of the invention. Note that packet P2 of column 902 does not spend any time in the jitter buffer 710 of system 700 since its measured packet delay value meets the criteria of being the same or greater than the reference delay parameter.
Column 918 shows the time of arrival of packets at jitter buffer 710 of system 700 as normalized to a first packet arrival time of zero. It should be noted that these correspond to the intervals between transmission of column 910, which contains the jitter introduced by the TDMA slot assignment function. Column 920 shows the times at which packets are released from jitter buffer 710, according to buffer retention times calculated according to the aspects of the invention. Column 922 shows the intervals between those packets. It should be noted that these intervals are the same as those of the input packets 802, 804, 806 and 808 from column 906 and so the irregular packet stream timing has been successfully processed by the present invention. Finally, as shown in column 924, the packet to packet jitter is calculated. It should be noted that this is zero, indicating that the jitter introduced by the TDMA slot assignment process has been eliminated in this case.
Table 900 illustrates that for a reference delay parameter that equals the maximum packet delay value, the intervals between input packets at the transmission end of the link are maintained at the output of the jitter buffer at the receiving end of the link, and that the jitter is zero. This is also true if the reference delay parameter is greater than the maximum packet delay value. It should be noted, however, that the packets have remained in the jitter buffer for 25 ms, 0 ms, 30 ms and 25 ms respectively and these times would have been even larger if the reference delay parameter were set to be greater than 45 ms. The durations spent in the jitter buffer add to the overall packet latency across the communications link, which can also be undesirable for some applications. Further, as discussed earlier, one aspect of the invention is to be able to reduce packet latency at the expense of allowing some amount of jitter to remain where this is advantageous for a particular application such as a voice application. This is done by setting the reference delay parameter to be less than the maximum packet delay value.
Column 1012 shows the measured packet delay values for input packets 802, 804, 806 and 808 and column 1014 shows the buffer retention values for each packet as derived for the case where the reference delay parameter is set to 40 ms. The buffer retention values are calculated by subtracting each of the measured packet delay values of column 1012 from the reference delay parameter of 45 ms, according to the aspects of the invention. Note that packet P2 of column 1002 does not spend any time in the jitter buffer 710 of system 700 since its measured packet delay value meets the criteria of being the same or greater than the reference delay parameter.
Column 1018 shows the time of arrival of packets at jitter buffer 710 of system 700 as normalized to a first packet arrival time of zero. It should be noted that these correspond to the intervals between transmission of column 1010 which contains the jitter introduced by the TDMA slot assignment function.
Column 1020 shows the times at which packets are released from jitter buffer 710, due to buffer retention times calculated according to the aspects of the invention. Column 1022 shows the intervals between those packets. It should be noted that, since in this example while these intervals are not the same as those of the input packets 802, 804, 806 and 808 from column 1006, they are close. This is consistent with the case being described, whereby an amount of jitter has been allowed to remain in order to reduce latency and so it can be said that the irregular packet stream timing has been successfully processed by the present invention. Finally, as shown in column 1024, the packet to packet jitter is calculated. It should be noted that the packet jitter is not zero as is consistent with the case being described whereby an amount of jitter has been allowed to remain in order to reduce latency.
The jitter introduced by the TDMA slot assignment process is the difference between the arrival intervals at the buffer input in column 1018 and the arrivals at the slot assigner in column 1004. In this case, the maximum amount of jitter between any two packets introduced by the TDMA slot assignment process is for P1 and P2 of column 1002 and the value is 25 ms. The maximum amount of jitter after the jitter reduction process as shown in column 1024 is 5 ms. So, while some jitter has been allowed to remain in this case, it has been successfully reduced in accordance with aspects of the invention.
Table 1000 illustrates that for a reference delay parameter which is less than the maximum packet delay value, the packet to packet jitter is reduced but some still remains. The buffer retention times, however, when compared with the case in Table 900 have decreased to from 25 ms, 0 ms, 30 ms and 25 ms respectively to 20 ms, 0 ms, 25 ms and 20 ms respectively, a decrease of 5 ms for those packets which were retained. In this case, a 5 ms decrease in jitter buffer retention would translate directly to a 5 ms decrease in packet latency across the link. Table 1000 shows, therefore, a “link tuning” case where a 5 ms improvement in latency has been traded off against a 5 ms increase in jitter.
In alternative embodiments, the reference delay parameter may be configurable or it may be trained to allow tuning of the communication links for different applications or for changes over time. Another embodiment using a trained reference delay parameter adjustments may be one in which some parameters, non-limiting examples of which include maximum TDMA packet delays values, are monitored over time by a known training algorithm that adjustment reference delay parameters in order to maintain optimum amounts of jitter and latency.
It should be noted that although the input packet streams for
In order to more easily explain the principles of the present invention, a system which includes a single jitter buffer has been described. However, other embodiments in accordance with aspects of the present invention may include a plurality of jitter buffers. A plurality of jitter buffers may be used for different reasons, non-limiting examples of which include, for use with multiple data ports, multiple packet streams, multiple terminals and multiple reference delay parameters.
System 1100 operates using aspects of the present invention and illustrates an example embodiment with two independent jitter buffers 710 and 1102 which employ independent reference delay registers 714 and 1108. Jitter buffer 710 which uses a reference delay parameter of 45 ms would be used for a transmitted packet stream belonging to an application which requires minimum jitter for best operation since, as illustrated by Table 900, it will eliminate jitter at the expense of higher packet latency. On the other hand, jitter buffer 1102, as illustrated by Table 1000, would be used when the transmitted packet stream is associated with an application which can tolerate some packet jitter and is more sensitive to packet latency.
A problem with a TDMA jitter buffer mechanism is that it is suitable only for regular packet streams and will not work for irregular packet streams. The foregoing descriptions illustrate and explain how a system and method in accordance with aspects of the present invention overcomes this problem by employing a mechanism that accounts for the irregular amounts of packet jitter produced at transmission over a TDMA system. It has also been described how this accounting is used at the receiving terminal to control the rates at which packets leave one or more unique jitter buffers such that the packet jitter is reduced or eliminated. It has been shown that a system and method in accordance with aspects of the present invention may support regular as well as irregular packet streams. Additionally, it has been described that the mechanism may incorporate an adjustable parameter, which allows packet jitter to be traded off against end to end packet latency allowing the system to be adjusted or “tuned” manually or automatically to cater for different applications or for system changes over time.
In one embodiment, the chip set 1300 includes a communication mechanism such as a bus 1301 for passing information among the components of the chip set. A processor 1303 has connectivity to the bus 1301 to execute instructions and process information stored in, for example, a memory 1305. The processor 1303 includes one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 503 includes one or more microprocessors configured in tandem via the bus 1301 to enable independent execution of instructions, pipelining, and multithreading. The processor 1303 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1307, and/or one or more application-specific integrated circuits (ASIC) 1309. A DSP 1307 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor 1303. Similarly, an ASIC 1309 can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
The processor 1303 and accompanying components have connectivity to the memory 1305 via the bus 1301. The memory 1305 may comprise various forms of computer-readable media, e.g., including both dynamic memory (e.g., RAM) and static memory (e.g., ROM) for storing executable instructions that, when executed by the processor 1303 and/or the DSP 1307 and/or the ASIC 1309, perform the process of example embodiments as described herein. The memory 1305 also stores the data associated with or generated by the execution of the process.
The term “computer-readable medium” or “computer-readable media,” as used herein, refers to any medium that participates in providing instructions for execution by the processor 1303, and/or one or more of the specialized components, such as the one or more digital signal processors (DSP) 1307, and/or one or more application-specific integrated circuits (ASIC) 1309. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, read only memory (ROM), included within memory 1305. Volatile media, for example, may include dynamic random access memory (RAM), included within memory 1305. Transmission media may include copper or other conductive wiring, fiber optics, or other physical transmission media, including the wires and/or optical fiber that comprise bus 1301. Transmission media can also take the form of wireless data signals, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, magnetic storage media (e.g., magnetic hard disks or any other magnetic storage medium), solid state or semiconductor storage media (e.g., RAM, PROM, EPROM, FLASH EPROM, a data storage device that uses integrated circuit assemblies as memory to store data persistently, or any other storage memory chip or module), optical storage media (e.g., CD ROM, CDRW, DVD, or any other optical storage medium), a or any other medium for storing data from which a computer or processor can read.
Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the present invention may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistance (PDA) and a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory may optionally be stored on storage device either before or after execution by processor.
Moreover, as will be appreciated, a module or component (as referred to herein) may be composed of software component(s), which are stored in a memory or other computer-readable storage medium, and executed by one or more processors or CPUs of the respective devices. As will also be appreciated, however, a module may alternatively be composed of hardware component(s) or firmware component(s), or a combination of hardware, firmware and/or software components. Further, with respect to the various example embodiments described herein, while certain of the functions are described as being performed by certain components or modules (or combinations thereof), such descriptions are provided as examples and are thus not intended to be limiting. Accordingly, any such functions may be envisioned as being performed by other components or modules (or combinations thereof), without departing from the spirit and general scope of the present invention.
While example embodiments of the present invention may provide for various implementations (e.g., including hardware, firmware and/or software components), and, unless stated otherwise, all functions are performed by a CPU or a processor executing computer executable program code stored in a non-transitory memory or computer-readable storage medium, the various components can be implemented in different configurations of hardware, firmware, software, and/or a combination thereof. Except as otherwise disclosed herein, the various components shown in outline or in block form in the figures are individually well known and their internal construction and operation are not critical either to the making or using of this invention or to a description of the best mode thereof.
In the preceding specification, various embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
This application claims the benefit of the earlier filing date under 35 U.S.C. §119(e) of U.S. Provisional Application Ser. No. 61/801,312 (filed 15 Mar. 2013), titled “SYSTEM AND METHOD FOR JITTER MITIGATION IN TIME DIVISION MULTIPLE ACCESS (TDMA) COMMUNICATIONS SYSTEMS,” the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61801312 | Mar 2013 | US |