METHOD AND SYSTEM OF PROVIDING EFFICIENT PACKETIZED VOICE COMMUNCATIONS AND DATA BEARERS IN MOBILE SATELLITE SYSTEMS
A broadband satellite communications system comprises forward error correction (FEC) encoder/decoder, interleaver/deinterleaver, puncturing/de-puncturing, scrambler/descrambler, bit to symbol mapping/de-mapping devices, modulator/demodulator, transmit and receive filter; operating in a time-division multiple access (TDMA) system where information is sent in a burst-by-burst fashion during the assigned time slot; supporting diverse traffic types such as voice over internet protocol (VOIP), control messages (DACCH) and keep alive burst (KAB) during silence period and multiple data rates.
This application is related to and claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 61/118,155 filed Nov. 26, 2008; the entirety of which is incorporated herein by reference.
BACKGROUNDTerrestrial communication systems continue to provide higher and higher speed multimedia (e.g., voice, data, video, images, etc.) services to end-users. Such services (e.g., Third Generation (3G) services) can also accommodate differentiated quality of service (QoS) across various applications. To facilitate this, terrestrial architectures are moving towards an end-to-end all-Internet Protocol (IP) architecture that unifies all services, including voice, over the IP bearer. In parallel, mobile satellite systems are being designed to complement and/or co-exist with terrestrial coverage depending on spectrum sharing rules and operator choice. With the advances in processing power of desktop computers, the average user has grown accustomed to sophisticated applications (e.g., streaming video, radio broadcasts, video games, etc.), which place tremendous strain on network resources. The Web as well as other Internet services rely on protocols and networking architectures that offer great flexibility and robustness; however, such infrastructure may be inefficient in transporting Web traffic, which can result in large user response time, particularly if the traffic has to traverse an intermediary network with a relatively large latency (e.g., a satellite network). To promote greater adoption of data communication services, the telecommunication industry, from manufacturers to service providers, has agreed at great expense and effort to develop standards for communication protocols that underlie the various services and features.
Satellite systems possess unique design challenges over terrestrial systems. That is, mobile satellite systems have different attributes that make terrestrial designs either not applicable or inefficient for satellite systems. For example, satellite systems are characterized by long delays (as long as 260 ms one-way) between a user-terminal device and a base-station compared to the relatively shorter delays (e.g., millisecond or less) in terrestrial cellular systems—this implies that protocols on the satellite links have to be enhanced to minimize impact of long propagation delays. Additionally, satellite links typically have smaller link margins than terrestrial links for a given user-terminal power amplifier and antenna characteristics; this implies that higher spectral efficiency and power efficiency are needed in satellite links.
SOME EXEMPLARY EMBODIMENTSTherefore, there is a need for an approach for providing efficient use of spectral resources of a satellite system when operating with terrestrial systems.
According to certain embodiments, a broadband satellite communications system comprises forward error correction (FEC) encoder/decoder, interleaver/deinterleaver, puncturing/de-puncturing, scrambler/descrambler, bit to symbol mapping/de-mapping devices, modulator/demodulator, transmit and receive filter; operating in a time-division multiple access (TDMA) system where information is sent in a burst-by-burst fashion during the assigned time slot; supporting diverse traffic types such as voice over internet protocol (VOIP), control messages (DACCH) and keep alive burst (KAB) during silence period and multiple data rates.
In one embodiment, a receiver structure includes timing estimation and tracking, frequency estimation and tracking, phase estimation, amplitude correction and scaling.
In another embodiment, an approach is provided for inserting signature sequence of bits or unique words into the burst structure that is unique for each type of traffic and data rate.
In another embodiment, an approach is provided for uses different protection levels for perceptually important and perceptually unimportant bits received from the vocoder. The encoded important and unimportant bits along with said unique words (signature sequence) are further segmented and rearranged before placing into the burst structure to combat channel-induced fading.
In another embodiment, an approach is provided for identifying each burst (traffic type and data rate) based on the said unique words that uniquely corresponds to this burst. The burst classification is performed at the physical layer without any assistance from the upper layers.
In another embodiment, an approach is provided for successfully handling both initial acquisition and steady-state tracking of timing and frequency parameters.
In another embodiment, an approach is provided for using first-order loops to implement timing and frequency tracking.
In another embodiment, an approach is provided for supporting both polarization diversity and satellite diversity.
In another embodiment, an approach is provided for supporting the burst classification and decoding that utilizes diversity receptions wherein maximal ratio combining (MRC) is used as a method to implement diversity output.
In another embodiment, an approach is provided for using a signal-to-noise ratio (SNR) measurement method on diversity output that sets the metric for power control algorithms.
In another embodiment, an approach is provided for successfully handling outage conditions when the receiver is temporally shadowed by large physical structures e.g., buildings. The receiver controls the said timing and frequency tracking loops so that transitions between non-outage and outage and vice-versa are performed efficiently.
In another embodiment, an approach is provided for scaling estimated bits in accordance with signal strength and said SNR values.
In another embodiment, an approach is provided for generating soft decision bits in accordance with a quantization having at least eight bits.
In another embodiment, an approach is provided for reducing overhead for upper layers paving the way for zero-byte header compression.
In another embodiment, an approach is provided for using tail-biting decoding using said Viterbi decoder with optimum repetition length.
In another embodiment, an approach is provided for using a convolutional encoder to implement FEC and the receiver structure comprises Viterbi decoders.
In another embodiment, an approach is provided for accommodating control bits comprising power control bits and link quality indicator bits.
In another embodiment, an approach is provided for protecting said perceptually important bits and said control bits using cyclic-redundancy-check (CRC) codes.
In another embodiment, an approach is provided for increasing effective code rate by using puncturing bits at the transmitter and de-puncturing corresponding bits at the said receiver.
In another embodiment, an approach is provided for supporting variable coding rates of 4.0 kbps and 2.45 kbps of user information over a time frame of 40 msec.
In another embodiment, an approach is provided for supporting variable burst length of 5 msec, 10 mesec, and 13.333 msec of time duration.
In another embodiment, an approach is provided for successfully operating at a very low signal to noise ratio (SNR).
In another embodiment, an approach is provided for supporting Packet Data Channel (PDCH) with multiple data rates. PDCH can be classified as either a Packet Common Control Channel (PCCCH), Packet Associated Control Channel (PACCH), or as a Packet Data Traffic Channel (PDTCH). Such a system comprises of forward error correction (FEC) encoder/decoder, interleaver/deinterleaver, scrambler/descrambler, bit-to-symbol mapping/demapping, modulator/demodulator and transmit and receive filter. Time-division multiple access is employed where information is sent in a burst-by-burst fashion during the assigned slot for transmission.
In another embodiment, an approach is provided for providing a receiver structure that includes symbol timing estimation and correction, burst timing estimation and correction, burst detection, frequency estimation and correction, phase estimation and correction, amplitude estimation and correction, signal-to-noise ratio (SNR) estimation and soft bit generation and scaling.
In another embodiment, an approach is provided for inserting signature sequence of bits that is unique for each type of traffic and data rate. They are referred to as Unique Words (UW's) and they assist in burst synchronization such as timing, phase, and frequency estimation.
In another embodiment, an approach is provided for using a public user information (PUI) field in each burst which carries the keep-alive burst indicator (downlink only), and link adaptation control message (uplink only), burst modulation and coding information, and access permission to the uplink timeslots associated with the downlink timeslots where the burst is received.
In another embodiment, an approach is provided for using an optional Uplink MAP (ULMAP) field in the downlink which provides the user terminals with the uplink transmission opportunities/resource.
In another embodiment, an approach is provided for supporting 2-path and 4-path diversity receptions.
In another embodiment, an approach is provided for generating efficient channel state information (CSI) for use in Turbo coded receiver operating in fast fading channels.
In another embodiment, an approach is provided for using scales estimated bits in accordance with estimated CSI and estimated SNR.
In another embodiment, an approach provides two stage phase estimation can be employed where in the tentative symbol decisions obtained by phase estimates obtained from UW's in first stage is used for block phase estimation in second stage.
In another embodiment, an approach is provided for generating soft decision bits in accordance with a quantization that is dependent on the FEC employed for the particular burst field. For fields that are encoded by convolutional codes or Golay codes 8 bit quantization is employed, whereas when Turbo codes are used, 6 bit quantization is employed.
In another embodiment, an approach is provided for supporting variable transmission rates from 23.4 ksps to 234 ksps and supports variable burst length of 5 ms, 10 ms and 20 ms.
In another embodiment, an approach is provided for supporting transmission rate of 23.4 ksps, using a tail-biting convolutional encoder and a receiver that comprises of a Viterbi decoder.
In another embodiment, an approach is provided for supporting transmission rate greater than 23 ksps comprises of a Turbo encoder and a receiver that comprises a Turbo decoder.
In another embodiment, an approach is provided for increasing effective code rate by puncturing encoded bits at the transmitter and de-puncturing corresponding bits at the receiver.
In another embodiment, an approach is provided for successfully operating at a very low signal to noise ratio (SNR).
Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the invention. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the FIG.s of the accompanying drawings:
An apparatus, method, and software for providing a satellite interface to support mobile communication services are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
Although certain embodiments are discussed with respect to an Internet Protocol (IP)-based architecture, it is recognized by one of ordinary skill in the art that these embodiments have applicability to any type of packet based communication system and equivalent functional capabilities.
Networks 101, 103, and 105 may be any suitable wireline and/or wireless network. For example, telephony network 105 may include a circuit-switched network, such as the public switched telephone network (PSTN), an integrated services digital network (ISDN), a private branch exchange (PBX), an automotive telematics network, or other like network. Wireless network 101 (e.g., cellular system) may employ various technologies including, for example, code division multiple access (CDMA), enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), IP multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), wireless fidelity (WiFi), satellite, and the like. Moreover, data network 103 may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), the Internet, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network having voice over Internet Protocol (VoIP) capabilities, e.g., a proprietary cable or fiber-optic network.
Within the satellite domain, a satellite base station subsystem (SBSS) 107 is introduced that implements the necessary modifications and enhancements for efficient operation over a satellite 109 to one or more user terminals 111a-111n. These terminals 111a-111n can be of various types with different form factors and transmit capabilities; e.g., sleek hand-held terminals, personal digital assistants (PDAs), vehicular terminals, portable terminals, fixed terminals, automotive telematics terminals, etc.
The SBSS 107 communicates with the wireless network 101, which includes a core network (e.g., 3G/4G) that is unchanged from terrestrial core network. This consequently permits operators to reuse existing 3G/4G core network elements. The interface between the SBSS 107 and the 3G/4G core network 101 can be a standard terrestrial interface.
It is also noted that the architecture of the system 100 permits the same core network element to simultaneously communicate with a terrestrial base station (not shown) and the SBSS 107. This capability is illustrated in
In the system 100, a radio access bearer (RAB) is associated with Packet Data Protocol (PDP) context maintained between the user terminal (UT) 111 and the core network (CN) 101. For instance, one RAB can be established for Session Initiation Protocol (SIP) call signaling, and be maintained as long as the user wishes to make and receive calls. Another RAB is established on demand for the transport of the voice media while a call is in session. The satellite radio access network establishes and maintains Radio Bearers (RBs) between the UT 111 and the S-BSS 107 necessary to satisfy, for example, Quality of Service (QoS) requirements of the SIP call signaling and Voice over IP (VoIP) user plane RABs. The signaling radio bearer supports signaling connectivity between the UT 101 and the satellite radio access network.
While specific reference will be made thereto, it is contemplated that system 100 may embody many forms and include multiple and/or alternative components and facilities.
As seen in
In the control plane, the RRC, RLC, MAC and PHY layers are optimized for satellite operation.
According to one embodiment, at the physical layer, the waveforms can be designed to permit operation in multiples of 31.25 kHz and with multiple slot durations. Power efficiency is achieved via use of such waveforms as pi/2 BPSK (Binary Phase Shift Keying), pi/4 QPSK (Quadrature Phase Shift Keying) and 16-APSK (Amplitude Phase Shift Keying) that have lower peak-to-average ratios than their counterparts of BPSK, QPSK and 16-QAM (Quadrature Amplitude Modulation). Bit rates from, e.g., 2.4 kbps to 1 Mbps can be achieved via the use of appropriate channel bandwidth, modulation scheme, coding rate and burst length.
By way of example, the VoIP session utilizes Session Initiation Protocol (SIP) to establish voice communication between two parties. SIP protocol serves as the call control protocol for establishing, maintaining and teardown of VoIP calls. SIP provides a flexible framework for handling multimedia services, affording the end user with flexibility in influencing network behavior to suit their needs. This call control protocol further provides seamless interoperability across wireline and wireless networks.
A detailed discussion of SIP and its call control services are described in IETF RFC 2543, IETF RFC 3261 and IETF Internet draft “SIP Call Control Services”, Jun. 17, 1999; these documents are incorporated herein by reference in their entireties. SIP messages are either requests or responses. The user terminal 111 can be a user agent that behaves as either a user agent client (UAC) or a user agent server (UAS), depending on the services that the system 100 is executing. In general, a user agent client issues requests, while a user agent server provides responses to these requests.
SIP defines various types of requests, which are also referred to as methods. The first method is the INVITE method, which invites a user to a conference. The next method is the ACK method, which provides for reliable message exchanges for invitations in that the client is sent a confirmation to the INVITE request. That is, a successful SIP invitation includes an INVITE request followed by an ACK request. Another method is a BYE request, which indicates to the UAS that the session should be released. In other words, BYE terminates a connection between two users or parties in a conference. The next method is the OPTIONS method; this method solicits information about capabilities and does not assist with establishment of a session. Lastly, the REGISTER provides information about a user's location to a SIP server.
According to one embodiment, the system 100 provides delivery of media sessions using an IP-based approach. Specifically, the system 100 uses a signaling protocol (e.g., SIP) in conjunction with a standard data packet format (e.g., Real-time Transport Protocol (RTP)) to deliver communication services. More specifically, the signaling protocol is used to establish, modify, and terminate a media session, while the standard data packet format serves as the conduit for carrying audio and video over the system 100.
To address the issue of costly overhead in support VoIP traffic, an approach is introduced that eliminates the overhead all together. As seen in
To ensure that quality of service (QoS) differentiation can be afforded to the voice media stream relative to that of IMS signaling a separate PDP Context/RAB can be established for IMS signaling. This enables the optimization of bandwidth usage over the satellite link in the system 100 (of
In step 503, the transmitter notifies the receiver of the header information corresponding to the VoIP session. Voice payload (media) are carried over RTP/UDP/IP. The coded speech is carried alongside the payload descriptor in the media/RTP payload. Dual Tone Multi-frequency (DTMF) and Silence Insertion Descriptor (SID) packets are also carried alongside the speech packets. Thus, the overhead includes the RTP/UDP/IP header. Subsequently, the transmitter need only transmit the voice payload without the header information to the receiver, as in step 505. The receiver, upon receiving the voice payload, regenerates the header for the VoIP packets for further routing to the end user (step 507). This process thus completely eliminates the RTP/UDP/IP header at the transmitter and regenerates headers at the receiver. In other words, the transmitting entity informs the receiving entity about the details of the header at the beginning of a VoIP call.
In the scenario of
For the purposes of illustration, only one party is depicted to highlight the satellite link between the SBSS 107 and the UT 111. In step 511, the SIP exchange necessary to establish a communication session is performed between a VoIP client (in communication with the UT 111) and a SIP server. In an exemplary embodiment, the VoIP client can reside within the UT 111. Next, in step 513, the VoIP client transmits header information, e.g., RTP/UDP/IP information, to the SBSS 107, which then stores this information. The SBSS 107 provides the association of this header information with the particular VoIP session. In one embodiment, the scheme also takes advantage of the periodic nature of resource allocation for transmission of VoIP payloads in order to regenerate RTP headers.
In step 515, the VoIP client generates a voice packet with uncompressed RTP/UDP/IP information. The UT 111 strips this information from the voice packet, leaving only the voice payload to be transmitted to the SBSS 107 over the satellite link. In this manner, overhead information is eliminated from utilizing precious satellite capacity. At the SBSS 107, the RTP/UDP/IP information is retrieved and used to regenerate the entire voice packet for forwarding to the media gateway 117, for example. The media gateway 117 can then terminate the call to the voice station 119 over the PSTN 105. In step 517, the media gateway 117 generates a voice packet conveying information from the voice station 119; this packet includes uncompressed RTP/UDP/IP information, which the SBSS 107 strips off. The SBSS 107 generates a satellite frame with only the voice payload to transport to the UT 111. At the UT 111, the voice packet is regenerated with the corresponding RTP/UDP/IP information.
In the above process, the physical channel is defined such that a known number of VoIP payloads are carried in each burst. The receiver is able to extract the VoIP payloads at the physical layer and attach a header based on information received at the beginning of the VoIP session. Media handling is illustrated in
To provide maximum spectrally efficiency over the satellite interface 313, all packet overhead is removed and only the payload voice frames are transmitted. Any header information used for communications between the vocoders are thus removed prior to transmission on the satellite link and regenerated following reception. The PHY layer provides indications of the channel as well as the transmission content that allows for the indirect communication of information across the satellite link and necessary regeneration of header information. Before entry into the terrestrial network, e.g., core network 101, the header information is put back.
In addition to the above arrangement, the satellite interface can be further optimized in support of voice communications.
In the example of
Within the core network 101, the Media/RTP flow carries coded speech for voice services; e.g., the overall packets for the media flow carrying speech are Codec/RTP/UDP/IPv6. Voice traffic within the system 100 can be based, for instance, on Adaptive Multi-Rate (AMR) and DVSI vocoders. The RTP payload size for AMR 12.2 kbps coded speech is 32 bytes, and for the DVSI 4 kbps coded speech it is 10 bytes. Such flow can support Real Time/Conversational communications. In the case of a fixed packet size of 70 bytes, 60 bytes of uncompressed RTP/UDP/IPv6 header is provided every 20 ms (for 4 kbps coded speech with Silence Insertion Descriptor (SID) packets during voice inactivity). With the vocoder conFIG.d for two voice frames per packet, 80 bytes is generated every 40 ms. Alternatively, if the flow utilizes a fixed packet size of 50 bytes, 40 bytes of uncompressed RTP/UDP/IPv4 header are provided every 20 ms (for 4 kbps coded speech with SID packets during voice inactivity). With the vocoder conFIG.d for two voice frames per packet, 60 bytes is generated every 40 ms.
The voice payload from the DVSI vocoder is formed every 20 ms. However, to reduce end-to-end overhead, the vocoder can also be conFIG.d to concatenate two voice frames within a single vocoder payload, i.e. two voice frames per IP/UDP/RTP packet. The two 20 ms frames will form a single packet transmitted across the satellite air interface (e.g., using a 40 ms frame).
RTCP is transported over UDP/IP and typically carries media control information. The characteristics of this flow are a Variable Packet Size (can be longer than the RTP payload) and that messages are transferred infrequently. RTCP defines different packet types—Sender Report, Receiver Report, Source Description, BYE and APP.
In step 801, a media session is established between the transmitter and the receiver. Next, the process examines the radio link quality at the physical layer, per step 803. Accordingly, this eliminates the need for providing radio link quality reports at the higher layer, such as the RTCP protocol (step 805). In step 807, the quality reports are regenerated based on the physical layer of the radio link.
In the exemplary scenario of
As another example of how VoIP sessions, particularly those involving the use of SIP, can be supported more efficiently relates to transmission errors, as next described.
In step 901, a communication session (e.g., SIP session) is initiated; in which a transmission frame is generated. The process then compresses the transmission frame, as in step 903. This compressed frame is then transmitted according to SIP, per step 905. It is noted that typically SIP is carried over UDP, and messages carried over UDP are carried in unacknowledged mode at the data link layer. In step 907, a transmission error is detected at the data link layer (i.e., Layer 2 (“L2”)). Rather than rely on the higher layer protocols to address the errors (i.e., using a retransmission scheme), the process retransmits at L2 using an acknowledgement mode of operation (step 909).
To better appreciate this process, a conventional process for handling SIP over UPD is described with respect to
By contrast, the process of
This process minimizes the impact of frame errors on the channel, thereby extending battery life in comparison to the conventional approach of
The SBSS 107 communicates over an IP network 1101 to a 3G-SGSN 1103, which maps QoS request to RAB QoS (RAB assignment parameters) based QoS profile. Home Subscriber System (HSS) 1105 stores information about the subscriber, including QoS profiles. 3G-SGSN 1103 has connectivity to an IP backbone network 1107 for communicating with a 3G-GGSN 1109, which maps IP packets to PDP context with different QoS characteristics using, for example, TFT packet filters (e.g., address, protocol, port, SPI, TOS). The GGSN 1109 interfaces with a firewall 1111 to reach an external IP network 1113. A Proxy Call Session Control Function (P-CSCF) 1115 (e.g., SIP server) has access to the external IP network 1113.
For guaranteed bit rate traffic, the system 1100 provides resource guarantees when actual traffic has enough backlog to warrant use of guaranteed resources—when actual traffic rate requirement is lower than guaranteed bit rate, the system 1100 distributes available bandwidth to other flows in the system in a manner proportional to the weight associated these other flows.
Multiple simultaneous flows in the mobile satellite system based on terrestrial 3G architecture are illustrated
Given the fact that multiple flows are transported over the satellite air interface, such flows can processed to achieve better spectral efficiency, as detailed below.
As seen in
In another embodiment, a frame structure 1405 of
PEP functions perform a general class of functions termed “TCP spoofing,” in order to improve TCP performance over impaired (i.e., high latency or high error rate) links. TCP spoofing involves an intermediate network device (the performance enhancing proxy (PEP)) intercepting and altering, through the addition and/or deletion of TCP segments, the behavior of the TCP connection in an attempt to improve its performance. Conventional TCP spoofing implementations include the local acknowledgement of TCP data segments in order to get the TCP data sender to send additional data sooner than it would have sent if spoofing were not being performed, thus improving the throughput of the TCP connection. Generally, conventional TCP spoofing implementations have focused simply on increasing the throughput of TCP connections either by using larger windows over the link or by using compression to reduce the amount of data which needs to be sent, or both.
Under this exemplary application, in step 1501, a TCP session is established over the satellite link (i.e., from the SBSS 107 to the UT 111). Depending on the direction of traffic, the SBSS 107 or the UT 111 can invoke the PEP function. In step 1503, it is determined whether to apply PEP. If so, the PEP function is invoked, as in step 1505. The PEP functionality is invoked when the SBSS 107 has visibility to TCP headers (since this is necessary for protocol spoofing).
However, in situations where IPSec is used and TCP headers are not visible, the system 100 relies on MAC layer protocol enhancements that does not require visibility to TCP headers. In this embodiment, the MAC layer provides speculative grants to the UT 111 when resources are available in the system 100. These speculative grants are used by UT 111 to transmit in, e.g., the uplink without explicitly requesting for radio resources. This eliminates the round-tip delay involved in request/grant exchange between UT 111 and SBSS 107.
In step 1805, the UT 111 forwards the TCP segment to the TCP client. After receipt of the TCP segment, the TCP client, per step 1807, submits a TCP ACK. At this point, the UT 111 can immediately forward the TCP ACK over the satellite link, as resources had been pre-allocated. In step 1809, the TCP ACK is received by the SBSS 107 and forwarded to the TCP server. The typical resource allocation procedure is avoided in this process, thereby reducing delays associated with such a procedure.
With the architecture 2000, the IMS core 103 includes one or more PoC servers 2001, a presence server 2003, and a SIP proxy/registrar server 2005. The presence server 2003 provides information on the availability of a particular user to receive the PoC communication. The SIP proxy/registrar server 2005 assists with establishing SIP sessions.
In step 1901, the POC server 2001 receives media as part of the push-to-anything service. Next, the PoC server 2001 injects, as in step 1903, multiple unicast streams towards the SBSS 107. It is recognized that the radio resource usage can be made significantly more efficient for the satellite link. Namely, the SBSS 107 need only transmit one such stream, per step 1905, in a given spot-beam (e.g., beams 2007 and 2009), thereby significantly saving radio resources and satellite power. In step 1907, the user terminal (with the PoC client) receives the single stream.
A further mechanism for achieving spectral efficiency over the satellite air interface involves examining the channel conditions.
The performance enhancement obtain through the application of the above scheme is shown in
Based on measurement reports received by the terrestrial network 113 (step 2305), the terrestrial network decides whether the user terminal should be handed over to a terrestrial cell or satellite spot-beam (step 2309). If the decision is a satellite spot-beam, then the network 113 informs user terminal 111 about the details of the satellite spot-beam. The user terminal 111 then continues the session, as in step 2311, with the satellite system and abandons the terrestrial system 113.
To achieve this, the system 100 can utilize the SBSS 107 to determine the position of the UT 111 (step 2401). That is, the SBSS 107 can track where the packets are routed based on UT position, per step 2403. According to one embodiment, the SBSS 107 receives or estimates the UT position at the time of session origination; and this position information is updated in-session upon UT movement. Depending on UT position, the SBSS 107 has a routing functionality to multiple core network elements. This is illustrated in
One of ordinary skill in the art would recognize that the processes for providing a satellite interface to support mobile communication services may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware, or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
The computing system 2600 may be coupled via the bus 2601 to a display 2611, such as a liquid crystal display, or active matrix display, for displaying information to a user. An input device 2613, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 2601 for communicating information and command selections to the processor 2603. The input device 2613 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 2603 and for controlling cursor movement on the display 2611.
According to various embodiments of the invention, the processes described herein can be provided by the computing system 2600 in response to the processor 2603 executing an arrangement of instructions contained in main memory 2605. Such instructions can be read into main memory 2605 from another computer-readable medium, such as the storage device 2609. Execution of the arrangement of instructions contained in main memory 2605 causes the processor 2603 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 2605. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the invention. In another example, reconfigurable hardware such as Field Programmable Gate Arrays (FPGAs) can be used, in which the functionality and connection topology of its logic gates are customizable at run-time, typically by programming memory look up tables. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The computing system 2600 also includes at least one communication interface 2615 coupled to bus 2601. The communication interface 2615 provides a two-way data communication coupling to a network link (not shown). The communication interface 2615 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 2615 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc.
The processor 2603 may execute the transmitted code while being received and/or store the code in the storage device 2609, or other non-volatile storage for later execution. In this manner, the computing system 2600 may obtain application code in the form of a carrier wave.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 2603 for execution. 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, optical or magnetic disks, such as the storage device 2609. Volatile media include dynamic memory, such as main memory 2605. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 2601. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer 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 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 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 assistant (PDA) or 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 can optionally be stored on storage device either before or after execution by processor.
VoIP Burst Format
Dedicated Channels (DCH)
Dedicated channel (DCH) is used to carry dedicated traffics (VoIP and data) and associated in-band signaling.
DTCH (Dedicated Traffic Channel) is a traffic channel that is allocated to the terminal in packet dedicated mode. It can carry either 2.45 or 4.0 kbps encoded speech.
DACCH (Dedicated Associated Control Channel) transports signaling message between UT and Gateway when UT is in packet dedicated mode. It carries associated control information in forward or return link.
The PNB3(m, n) burst is used to transport the logical channels DTCH and DACCH. The first parameter, m, denotes the carrier bandwidth in multiples of basic bandwidth of 31.25 kHz. The corresponding symbol rate is m times the basic symbol rate of 23.4 ksps. The second parameter denotes the burst duration in multiples of time slot 1.66 (5/3) ms, hence if the burst occupies 3(6) time slots the duration is 5(10) ms.
In GMR-3G, the following PNBs are defined:
Packet Normal Bursts: PNB3(1,3), PNB3(1,6),
Packet normal bursts PNB3(1,3), PNB3(1,6) and PNB3(1,8) are intended to carry either encoded speech or user data in a bandwidth reserved manner over DCH (Dedicated Channel).
Packet normal bursts PNB3(1,3) and PNB3(1,6) supports two pair of speech and data rates.
2.45 kbps voice speech or 2.6 kbps data
4.0 kbps voice speech or 4 kbps data
PNB3(1,8) supports only 4.0 kbps voice speech or data.
The above rates are calculated by the number of information bits divided by 40 ms.
The voice speech consists of perceptually important and unimportant bits. As such, the level of required protection is different. Improved spectrum efficiency can be realized by exploiting this property. Unequal number of parity bits is added to the perceptually important and unimportant bits.
The adopted modulation and FEC schemes for these bursts are summarized in Table 1-2.
The Keep Alive Bursts (KABs) are transmitted over both downlink and uplink DCH carrier to fill in during a silence period. It only includes UWs and a few symbols. The symbols are placed in a unique way so that they exploit the proximity of UWs in the demodulation process. The reduced number of symbols in the burst save the UT and satellite transmit power. It contains Golay coded power control bits.
VoIP Burst Structure
PNB3 Burst Format and Characteristics
PNB3 bursts consist of three different types of fields. They are summarized as
Payload: Payload carries user data and/or control messages. Payload is modulated either by n/2-BPSK or n/4-QPSK and it is encoded with convolutional code for various rates.
Guard: Guard symbols (along with network synchronization) between the consecutive burst allow the period for carrier power ramp up and down.
UW (Unique Words): Unique Words (UW) assists burst synchronization such as timing, phase, and frequency estimation.
The PNB3(1,3) burst is intended to carry either encoded 2.45 kbps or 4 kbps speech or user data. The burst format for this three-slot burst format is illustrated in
PNB3(1,3), 4 kbps consists of 96 perceptually important bits, 7 control bits, 5 CRC bits and 64 perceptually unimportant bits. The 7 control bits consist of Golay coded power control bits and link quality indicator bits. The 5 CRC bits are appended at the end of the 103(=96+7) perceptually important and control bits to form an input block of length 108 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 216 coded bits. Out of this block, 86 bits are punctured to obtain a block of 130 coded bits. The 64 perceptually unimportant bits are not coded or punctured. After coding and puncturing, the 130 perceptually important coded bits and 64 perceptually unimportant bits are converted to 65 and 32 π/4-QPSK symbols, respectively. In total, these 97 payload symbols are distributed across the burst shown in
PNB3(1,3), 2.45 kbps consists of 48 perceptually important bits, 7 control bits, 5 CRC bits and 50 perceptually unimportant bits. The 7 control bits consist of Golay coded power control bits and link quality indicator bits. The 5 CRC bits are appended at the end of the 55(=48+7) perceptually important and control bits to form an input block of length 60 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 120 coded bits. Out of this block, 8 bits are punctured to obtain a block of 112 coded bits. The 50 perceptually unimportant bits are encoded using a rate ½ constraint length 5 tail biting convolutional code to obtain a block of 100 coded bits. Out of this block 18 bits are punctured to obtain a block of 82 coded bits. After coding and puncturing, the 112 perceptually important coded bits and 82 perceptually unimportant coded bits are converted to 56 and 41 π/4-QPSK symbols, respectively. As before, these 97 payload symbols are distributed across the burst. The first 8 and the last 8 perceptually unimportant symbols are assigned to the first 8-symbol payload and the last 8-symbol payload, respectively. Of the middle 81-symbol payload, the first 28 symbols and the last 28 symbols are taken from the first 28 and last 28 perceptually important symbols, respectively. The remaining 25 symbols in the middle portion of the payload are filled with the middle 25 symbols from perceptually unimportant symbols.
PNB3(1,3) 4 kbps for data channel consists of 138 data bits, 6 control bits and 16 CRC bits. The 6 control bits consist of Golay coded power control bits and link quality indicator bits. The 16 CRC bits are appended at the end of the 144(=138+6) information and control bits to form a block of 160 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 320 coded bits. Out of this block, 126 bits are punctured to obtain a block of 194 coded bits.
PNB3(1,3) 2.6 kbps, data channel over VOIP consists of 82 data bits, 6 control bits and 16 CRC bits. The 6 control bits consist of Golay coded power control bits and link quality indicator bits. The 16-bit CRC bits are appended at the end of 88(=82+6)) information and control bits to form a block of 104 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 208 coded bits. Out of this block, 14 bits are punctured to obtain a block of 194 coded bits.
For data, either 2.45 kbps or 4 kbps, after coding and puncturing, the 194 information bits are converted to 97 π/4-QPSK symbols which are assigned across the burst (97=8+81+8).
The burst formats for KAB3(1,3) is shown in
At the transmitter, the modulated symbols are phase-rotated for better spectral efficiency. The amount of phase rotation is modulation dependent. To be specific, for BPSK and QPSK, the symbols are progressively rotated by π/2 and π/4, respectively. Note that while for BPSK, both the unique word and payload symbols are progressively phase-rotated by π/2, for QPSK only the payload symbols are progressively phase-rotated by π/4. In other words, for QPSK, the unique word symbols are transmitted without phase rotation. Since the unique words for QPSK voice and data are chosen in such a way that the maximum phase transition between successive symbols is ±π/2, the unique words provide desirable spectral efficiency even without the π/4-phase rotation. This innovative approach in UW design ensures efficient classification performance when transmitted burst can support both BPSK and QPSK modulation schemes.
Like PNB3(1,3), PNB3(1,6) can also carry either 2.45 kbps or 4 kbps speech or user data.
PNB3(1,6), 4 kbps consists of 96 perceptually important bits, 7 control bits, 5 CRC bits and 64 perceptually unimportant bits. The 7 control bits consist of Golay coded power control bits and link quality indicator bits. The 5 CRC bits are appended at the end of the 103(=96+7) perceptually important and control bits to form an input block of length 108 bits. This block is encoded using a rate ⅓ constraint length 9 tail-biting convolutional code to obtain a block of 324 coded bits. Out of this block, 58 bits are punctured to obtain a block of 266 coded bits. The 64 perceptually unimportant bits are encoded using a rate ⅓ constraint length 5 tail biting convolutional code to obtain a block of 192 coded bits. Out of this block, 62 bits are punctured to obtain a block of 130 coded bits. After coding and puncturing, the 266 perceptually important bits and 130 perceptually unimportant bits are converted to 133 and 65 π/4-QPSK symbols, respectively. As before, these 198 payload symbols are distributed across the burst. The first 32.5 perceptually unimportant symbols are assigned to the first 8-symbol payload and the middle 24.5 symbols of the next 91-symbol payload. The rest of the 32.5 perceptually unimportant symbols are assigned to the middle 24.5 symbols of the second 91-symbol payload and the last 8-symbol payload. The unused 91-symbol payload portion at the beginning and end are assigned to 33 and 33.5 perceptually important symbols, respectively, for the first one. For the second 91-symbol payload, 33.5 and 33 perceptually important symbols are assigned to the first and the last unused portion, respectively.
PNB3(1,6), 2.45 kbps consists of 48 perceptually important bits, 7 control bits, 5 CRC bits and 50 perceptually unimportant bits. The 7 control bits consist of Golay coded power control bits and link quality indicator bits. The 5 CRC bits are appended at the end of the 55(=48+7) perceptually important and control bits to form an input block of length 60 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 120 coded bits. Out of this block, 6 bits are punctured to obtain a block of 114 coded bits. The 50 perceptually unimportant bits are encoded using a rate ½ constraint length 5 tail biting convolutional code to obtain a block of 100 coded bits. Out of this block, 16 bits are punctured to obtain a block of 84 coded bits. After coding and puncturing, the 114 perceptually important coded bits and 84 perceptually unimportant coded bits are converted to π/2-BPSK symbols. In total, these 198 payload symbols are distributed across the burst shown in
PNB3(1,6) 4 kbps for data channel consists of 138 data bits, 6 control bits and 16 CRC bits. The 6 control bits consist of Golay coded power control bits and link quality indicator bits. The 16 CRC bits are appended at the end of the 144(=138+6) information and control bits to form a block of 160 bits. This block is encoded using a rate ⅓ constraint length 9 tail-biting convolutional code to obtain a block of 480 coded bits. Out of this block, 84 bits are punctured to obtain a block of 396 coded bits.
PNB3(1,6) 2.6 kbps for data channel consists of 82 data bits, 6 control bits and 16 CRC bits. The 6 control bits consist of Golay coded power control bits and link quality indicator bits. The 16 CRC bits are appended at the end of the 88(=82+6) information and control bits to form a block of 104 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 208 coded bits. Out of this block, 10 bits are punctured to obtain a block of 198 coded bits.
For 4 kbps data, after coding and puncturing, the 396 information bits are converted to 198 π/4-QPSK symbols which are assigned across the whole burst (198=8+91+91+8). Similarly, for 2.45 kbps data, after coding and puncturing, the 198 information bits are converted to π/2-BPSK symbols which are assigned across the burst (198=8+91+91+8).
Since there are two different modulation type involved in PNB3(1,6) bursts, the amount of phase rotation is modulation dependent. At the transmitter, the payload symbols are progressively rotated by π/4 for better spectral efficiency. Note that only the payload symbols are progressively phase rotated while the unique word symbols are transmitted without phase rotation. Since the unique words for QPSK voice and data are chosen in such a way that the maximum phase transition between successive symbols is ±π/2, the unique words provide desirable spectral efficiency even without the π/4-phase rotation.
The burst format for KAB3(1,6) is illustrated in
The burst format for PNB3(1,8) is illustrated in
PNB3(1,8) 4 kbps for data channel consists of 138 data bits, 6 control bits and 16 CRC bits. The 6 control bits consist of Golay coded power control bits and link quality indicator bits. The 16 CRC bits are appended at the end of the 144(=138+6) information and control bits to form a block of 160 bits. This block is encoded using a rate ½ constraint length 9 tail-biting convolutional code to obtain a block of 320 coded bits. Out of this block, 40 bits are punctured to obtain a block of 280 coded bits. After coding and puncturing, the 280 information bits are converted to π/2-BPSK symbols which are assigned across the burst (280=8+132+132+8).
The burst format for KAB3(1,8) is illustrated in
Since all the burst types in PNB3(1,8) involve only one type of modulation, both the payload and UW BPSK symbols are progressively phase-rotated by π/2 for better spectral efficiency.
VOIP Unique Word Design
Known sequences of symbols are placed in the structure of a burst along with payload (user data) to help the receiver estimate unknown parameters. Common unknown parameters include timing, frequency, phase and channel coefficient information. Known sequence can also be used to identify a specific type of burst if it is used as a signature sequence pertinent to that burst. This procedure of identification is called burst classification and the known sequence is referred to as unique words.
At the receiver, the signature sequences are matched with the received sequence and the closest match distinguishes the burst type. Usually burst classification is performed to determine the presence of a specific type of burst e.g., random access channel (RACH). However, in the proposed invention we will explain how burst classification can be exploited to determine the vocoder rate as well enabling higher throughput and lower overhead.
For efficient classification of bursts, the unique word sequence should meet the following two criteria
The auto-correlation function of the sequence should have very narrow main-lobe and very low side lobe. High auto-correlation provides noise immunity especially at low SNR.
The cross-correlation function between two unique word sequences should be very low especially at small lags. The cross-correlation property helps distinguish correct sequence among all the candidate sequences.
The normalized aperiodic auto-correlation function of a BPSK-modulated unique word sequence {xn}, xε{−1,+1}, n=0, 1, . . . , N−1, is given by
and the normalized cross-correlation two unique word sequences
{xn}, xε{−1,+1}, n=0, 1, . . . , N−1, and {yn}, yε{−1,+1}, n=0, 1, . . . , N−1, is given by
We will use VoIP (Voice over Internet Protocol) burst, PNB3(1,6) (Packet Normal Burst) to illustrate how vocoder rate can be determined from unique words. However, this invention is not limited to any specific VoIP burst and can be extended to any burst structure that carries known sequences.
Both PNB3(1,3) and PNB3(1,6) support five different burst types while PNB3(1,8) supports three different bursts types. The vocoder rates, traffic type and/or modulation are different for these bursts. A list of all burst types are given below.
PNB3(1,3)1) 2.45 kbps π/4-QPSK modulated voice
2) 2.45 kbps π/4-QBPSK modulated data
3) π/2-BPSK modulated KAB3
4) 4.0 kbps π/4-QPSK modulated voice
5) 4.0 kbps π/4-QPSK modulated data
PNB3(1,3)1) 2.45 kbps π/2-BPSK modulated voice
2) 2.45 kbps π/2-BPSK modulated data
3) π/2-BPSK modulated KAB3
4) 4.0 kbps π/4-QPSK modulated voice
5) 4.0 kbps π/4-QPSK modulated data
PNB3(1,8)1) 2.45 kbps π/2-BPSK modulated voice
2) 2.45 kbps π/2-BPSK modulated data
3) π/2-BPSK modulated KAB3
Note that by assigning a signature set of unique words to each vocoder rate (burst type), we eliminate the overhead required at the upper layer to distinguish different rates. This novel approach enables the upper layer to support multiple vocoder rates with zero byte header compression. At the receiver, the vocoder rate information can be retrieved entirely from burst classification performed at the physical layer. The positions of unique words for different burst types are depicted in
For both PNB3(1,3) and PNB3(1,6), a set of five unique words have seen designed to classify five different burst types. For PNB3(1,8) there are three sets of unique words as there are only three bursts to classify. The set of unique words are presented in Table 1-3. Note that the sequences are given in bit format. For PNB3(1,3), only KAB3(1,3) UW bits are π/2-BPSK modulated while the rest of the bursts are QPSK modulated with no extra π/4-rotation. For PNB3(1,6), 2.45 kbps voice, 2.45 kbps data and KAB3 UW bits are π/2-BPSK modulated while 4.0 kbps voice and 4.0 kbps data UW bits are QPSK modulated with no extra π/4-rotation. For PNB3(1,8), UW bits for all the bursts are π/2-BPSK modulated.
Receiver Design
The received signal after a frequency non-selective fading channel can be expressed as
r(t)=w(t)·x(t−τ)exp(j(2π·{circumflex over (f)}·t+φ0))+n(t) (1-1)
where w(t) is the fading induced complex multiplicative factor, τ is timing offset, {circumflex over (f)} is the frequency offset, φ0 is the phase offset, and n(t) is the complex white Gaussian noise with double-sided power spectral density level of N0/2 (watts/Hz). The parameters τ, {circumflex over (f)}, and φ0 are assumed to be constant over each received burst duration but unknown a-priori. The accurate estimation of these parameters is a pre-requisite for the successful demodulation of the burst.
The timing offset, τ, is assumed to be in the range of [−Ts/2, +Ts/2]] and the frequency offset, Δf, is assumed be in the range of [−200, +200] Hz.
Receiver Design
The receiver performs the following functions in a sequential manner:
-
- Matched Filter and RSSI estimation
- Timing estimation
- Timing correction by interpolation and decimation
- Frequency estimation and correction
- Phase estimation and correction
- Amplitude estimation and correction
- SNR estimation
- Soft bit generation and symbol decision
The parameter values of PNB3(1,3), PNB3(1,6) or PNB3(1,8) demodulator are summarized in Table 1-4.
Note that since the frequency offset is assumed to be much smaller than the symbol rate (200 Hz Vs. 23.4 Ksymbol/sec), the symbol timing can be recovered prior to frequency correction. After the timing offset correction, the rest of the process can be performed at a symbol rate of Ts−1. For the reliable estimation of timing and frequency offset, recursive loop filters are used across the received bursts during a call. Note that different values shall be used for the filter coefficients, depending on the channel condition and burst type.
Matched Filter
At the receiver, the signal r(t) is sampled at a rate of M/TS samples per second (i.e., symbol over-sampled by a factor of M=4). The resultant discrete-time signal, r(n), is passed through a discrete time matched filter htrunc(n), to obtain
z(n)=r(n)*htrunc(n),n=0,1, . . . , MN−1 (1-2)
where N is the number of symbols per burst. Note that htrunc(n) is the truncated and time shifted version of the pulse shaping filter given in (1-3) in sampled at the sampling rate M/Ts, given by
where n′=n−LM/2+½. Note that the above filter is causal and spans L symbol duration. Due to the power ramp up and down, the guard symbols are not used for the further processing (e.g., timing estimation).
Acquisition Mode
At the beginning of the call setup the receiver operates in the acquisition mode which is depicted in
Timing Acquisition and Burst Classification
In the acquisition mode, the unique word (UW) based correlation approach in employed to retrieve the timing information and burst type simultaneously. The UWs for different burst types are presented in Table 1-3. We will only use PNB3(1,6) as an example burst to explain the algorithm in detail. However, extension to other burst types is straightforward and will not be repeated for brevity.
The unique word portion of the received burst is matched against all the five unique words corresponding to five possible bursts. Let {r0, r1, . . . , r934, r935} represent the received burst at the output of the matched filter with 4 samples per symbol. Of this received burst, {r44, r45, . . . , r83}, r448, r449, . . . , r491} and {r856, r857, . . . , r895} represent 4 samples/symbol version of the 1st, 2nd and the 3rd segment of the unique word, respectively. For each burst, the unique word segments are correlated against the corresponding received segments and non-coherently combined according to
where cruwi (j) denotes the cross-correlation value between the received samples, r, and the i-th unique word samples, ui, for the sample time index j. Note that the indices of the received symbols account for their position in the received burst with respect to the unique word segments. For correlation, uniques word templates of 2 samples/symbol are used which can be generated using the simulator. The received burst is also decimated to have 2 samples/symbol (from 4 samples/symbol) to form the correlation. The sample index j determines the timing offset while the unique word index i determines the burst type by taking the argument of the maximum correlation value.
where i* denotes the index of the unique word that corresponds to the classified burst and j* determines the timing offset. The coarse timing delay is given by
A fine timing estimation is obtained by 3-point Lagrange interpolator as given by
Note that Δt should not be greater than 0.5 and has to be set to zero if a numerical error results in a value greater than 0.5.
In the acquisition mode, timing estimates obtained from (1-7) over Nt=50 bursts shall be averaged to provide the accurate reference for the tracking mode. During the initial state, the estimate given by (1-7) will be used for the timing compensation.
Symbol Timing Correction by Interpolation and Decimation
Prior to decimation, or symbol sampling, symbol timing adjustment is performed by interpolating the matched filter output. This interpolation is needed since the samples available at the matched filter output for the decimation are only Ts/M apart (Ts/4 in our case). To elaborate this point, first let's decompose the estimated symbol timing delay {circumflex over (τ)}(p) in (1-7) as
where 0≦Δτ<Ts/M and {circumflex over (k)} is an integer. The expected sample at the symbol timing is
whereas the available samples are only
Hence the interpolation can be performed to re-construct the sample values at the desired sampling timing
where the truncated sinc filter (I=16) is used for interpolation filter
To make the interpolation more practical, the interpolation filter are constructed based on the quantized value of Δτ, and the interpolation filtering is performed by selecting the closest set of coefficients. Evenly quantizing Δτ to v levels within one sample duration of Ts/M (thus the resolution of Ts/(vM)), interpolation accuracy down to Ts/(2·M·v) can be achieved. For the implementation, v=8 shall be used. After symbol timing correction, the rest of the process will be performed at a symbol rate of Ts−1 (one complex sample/symbol).
Frequency Estimation
In this function, the followings are performed in the order presented.
De-rotation (t/2-BPSK to BPSK or π/4-QPSK to QPSK signal constellation)
Modulation Removal
Frequency offset estimation on modulation removed symbols.
Recursive loop
5. Frequency offset compensation
De-rotation
The output symbols of the interpolator are de-rotated to BPSK or QPSK symbols by
where n is an integer denoting the symbol time index, excluding first three guard symbols, a=1(2) for BPSK (QPSK). The first payload symbol index is 0 and this convention will be used for the rest of the document.
Modulation Removal
If we denote the yd(n) in the polar domain as
yd(n)=ρ(n)·exp(jφ(n)) for n=0, . . . , N−6 (1-14)
The modulation on de-rotated symbols can be removed as follows
ym(n)=(ρ(n))q·exp(j·r·φ(n)) for n=0, . . . , N−6 (1-15)
where q=2 and r=2a, a=1(2) for BPSK (QPSK). Note that because of the modulation removal process, the frequency offset is effectively doubled and quadrupled for BPSK and QPSK, respectively.
Frequency Estimation on Modulation Removed Symbols and Recursive Loop
The frequency estimation on the modulation removed symbols are performed by DFT around the center frequency of fcenter with the step size of Δf as
where the frequency search range is
fiε[fcenter−fΔ, . . . , fcenter−Δf,fcenter,fcenter+Δf, . . . , fcenter+fΔ] (1-17)
Note that since the frequency estimate is obtained for the modulation removed signal and {circumflex over (f)} is defined for the modulated burst, the output of (1-18) is scaled by a factor of 2a, where a=1(2) for BPSK (QPSK). For the first Nf=50 bursts, fcenter0, Δf=50a, fΔ=450a are used for the raw frequency estimation in the acquisition mode, that is
where a=1(2) for BPSK (QPSK). The majority vote of these Nf raw frequency estimate shall be used for the initial value for the loop initialization (denoted as {circumflex over (f)}(init)) in the tracking mode.
Frequency Compensation to the Modulated Signal
The frequency offset is compensated by applying the negative of the frequency output from (1-18) to the de-rotated symbols, given by
u(n)=yd(n)exp(−j·2π·{circumflex over (f)}(p)·n·Ts),n=0, . . . , N−6 (1-19)
After the timing and frequency correction, phase estimation, amplitude correction and soft symbol generation are performed. These steps follow the same procedure both in the acquisition and tracking mode and are described only in the tracking mode in the following sections.
Tracking Mode
Since timing and frequency errors show some correlation from burst to burst, loop filters are employed in the tracking mode to estimate timing and frequency offset. The filters are initialized with the timing and frequency information obtained from the acquisition mode. The filters are The block diagram of the tracking mode is shown in
Burst Classification
Since timing and frequency errors show some correlation from burst to burst, the timing and frequency corrections obtained from the previous bursts are used to compensate the present burst before burst classification is performed in the tracking mode.
Once again we will use PNB3(1,6) burst to exemplify our algorithm for burst classification. The receiver structure for the tracking mode is illustrated in
where Cruwi denotes the cross-correlation value between the received symbol, r, and the i-th unique word symbols ui, Note that the indices of the received symbols account for their position in the received burst with respect to the unique word segments. The received burst is classified by the unique word that results in the maximum correlation value.
where i* denotes the index of the unique word that corresponds to the classified burst.
After the burst is classified, the correlation value Cruwi*, is compared against a threshold. This comparison is necessary since the maximum correlation approach will always result in some burst index even when no burst is transmitted. By comparing against the threshold, the probability of false detection can be minimized. So the classified burst with index i* is declared as detected if
cruwi>η (1-22)
where
and α is a preconfigurable parameter. If the correlation value is too low and Eqn. (1-24) does not hold, the receiver invalidates the classification and no burst detection is declared.
Timing Estimator
The nonlinear square timing estimator is adopted for the tracking mode. With this procedure, the symbol timing can be obtained by simply transforming the phase of a first coefficient of Fourier series of the squared signal envelope. By applying a recursive loop, more stable estimation can be achieved. Instead of directly tracking the timing of each individual burst, the loop performs the estimation by tracking the timing variation from burst to burst. In this section, first we explain the square timing estimation with recursive loop, which estimates the individual burst timing, directly. Then, the algorithm based on the timing variation estimation is explained.
Direct Square Timing Estimator with Recursive Loop
Let τ(p) denote the timing delay of burst at frame p. The timing delay is can be estimated as
c1(p) is the first coefficient of the Fourier Series of |z(n)|2
where z(n) is the output of matched filter defined in (1-2).
Since the symbol timing delay is not completely independent in practice, a certain level of correlation existed in burst to burst can be exploited in the estimation. The symbol timing estimation of the current burst can be based partially on that established over the previous bursts. This estimation can be achieved by applying a recursive loop
{circumflex over (τ)}(p)=(1−γt){circumflex over (τ)}(p−1)+γt{tilde over (τ)}(p) (1-25)
where {tilde over (τ)}(p) is the timing delay of burst at frame p obtained by (1-23) and γt is a forgetting factor that delineates the memory length of the loop. The estimation of the delay directly may introduce frequent cycle slipping when the delay is close to ±Ts/2. In the tracking mode, the delay variation between the bursts (which is usually much smaller than half symbol period) is estimated.
Timing Variation Estimator with Differential Recursive Loop (for steady state tracking)
Let {circumflex over (δ)}(p) denote the variation of timing delay at burst p,
{circumflex over (δ)}(p)={circumflex over (τ)}(p)−{circumflex over (τ)}(p−1) (1-26)
Then, the equation (1-24) can be modified by
and the timing variation {circumflex over (δ)}(p) becomes
The raw estimate of timing delay of burst p is
{circumflex over (f)}(p)={circumflex over (δ)}(p)+{circumflex over (τ)}(p−1) (1-29)
Timing Loop Control
By applying the recursive loop as (1-27) and considering (1-29), the output of the timing loop is given by
{circumflex over (τ)}(p)=(1−γt){circumflex over (τ)}(p−1)+γt{tilde over (Σ)}(p−1)+γt{circumflex over (δ)}(p) (1-30)
The tracking loop in (1-30) is to be performed during the steady state only with γt=0.06.
Symbol Timing Correction by Interpolation and Decimation
The output of the tracking loop is used for timing correction by interpolation and decimation. The interpolation and decimation procedure is described in section 1.3.3.2 where the symbol timing delay {circumflex over (τ)}(p) is given by (1-30).
Frequency Estimator
In this function, the followings are performed in the order presented.
1. De-rotation (π/2-BPSK to BPSK or π/4-QPSK to QPSK signal constellation)
2. Modulation Removal
3. Frequency offset estimation on modulation removed symbols.
4. Recursive loop
5. Frequency offset compensation
De-Rotation
The output symbols of the interpolator are de-rotated to BPSK symbols by
where n is an integer denoting the symbol time index, excluding first three guard symbols, a=1(2) for BPSK (QPSK). The first payload symbol index is 0 and this convention will be used for the rest of the document.
Modulation Removal
If we denote the yd (n) in the polar domain as
yd(n)=ρ(n)·exp(jφ(n)) for n=0, . . . , N−6 (1-32)
The modulation on de-rotated symbols can be removed as follows
ym(n)=(ρ(n))q·exp(j·r·φ(n)) for n=0, . . . , N−6 (1-33)
where q=2 and r=2a, a=1 for BPSK and a=2 for QPSK. Note that because of the modulation removal process, the frequency offset is effectively doubled and quadrupled for BPSK and QPSK, respectively.
Frequency Estimation on Modulation Removed Symbols and Recursive Loop
The frequency estimation on the modulation removed symbols are performed by DFT around the center frequency of fcenter with the step size of Δf as
where the frequency search range is
fiε[fcenter−fΔ, . . . , fcenter−Δf,fcenter,fcenter+Δf, . . . , fcenter+fΔ] (1-35)
The recursive loop similar to one used in the timing estimation is used for more reliable estimate:
where a=1(2) for BPSK (QPSK).
Note that factor of 2a in (1-36) is needed since the frequency estimate is obtained for the modulation removed signal, where as {circumflex over (f)} is defined for the modulated burst. Note that in the tracking mode, the estimation is performed around the estimate from the previous burst with much smaller search range and finer step size.
Frequency Loop ControlThe forgetting factor γf is set to 0.26 and 0.03 for BPSK and QPSK modulation, respectively, for the steady state tracking
Frequency Compensation to the Modulated Signal
The frequency offset is compensated by applying the negative of the frequency loop output to the de-rotated symbols, given by
u(n)=yd(n)exp(−j·2π·{circumflex over (f)}(p)·n·Ts),n=0, . . . , N−6 (1-37)
Outage Handling
The outage detection is used for controlling both timing and frequency synchronization loop filters.
The outage detection metric is calculated as an average of differential timing estimate magnitude obtained during the timing estimation, given by:
where n is the time index (i.e., frame number), L=25 is the number of samples for the averaging, and {circumflex over (δ)}j is differential timing estimate given by (1-28). The outage detection decision is made by comparing (1-38) with the decision threshold. For added robustness, different threshold values are used for entering the outage state from normal, and for exiting from an outage state. In addition, multiple observation of (1-38) is used for final outage decision.
The algorithm is as follows
.Declare Outage at frame number n: if N(n)=0. Otherwise, declare Non-outage,
where number
is the multiple observation counter, where local outage state flag, D(n), is set with the following rule (D(n)=1 means no local outage and D(n)=0 means local outage):
When D(n−1)=1: If {circumflex over (Φ)}L(n)>Th0 D(n)=0. Else D(n)=1
-
- When D(n=0: If {circumflex over (Φ)}L (n)>Th1 Else D(n)=1 (1-39)
where Th0 and Th1 are listed in Table 1-5 for each burst type, and M=10. Its state diagram is shown in
Note that the outage detection shall start only after the loop initializations are done: 35 burst after loop initialization.
Synchronization Loop Parameter Control
The synchronization control parameter, the forgetting factor, in the synchronization loop for both timing and frequency shall be adaptively changed to yield improved performance.
The main triggers for adjusting the forgetting factor values are:
Burst type change: from KAB3 to Non-KAB3 (DTCH and DACCH) or vice versa.
Outage state change: in or out of the outage.
Loop state: initial or steady.
This is due to the fact that the frequency and timing estimation from KAB3 may not be as reliable as those from the other burst types, and this may require more averaging (small value for the forgetting factor). In addition, the estimation during the outage degrades which is not accurate enough for further processing.
The determination of the loop state will be solely based on the number of the burst received. For, example, if the receiver receives more than 50 bursts, then the state of the loop is considered to be in the steady state. It should be noted that when the outage is over, the received burst counter shall be set to be zero so that loop will always go through the loop initialization period.
Frequency Synchronization Control
Different values of frequency loop forgetting factors depending on the state and burst type transition are listed in Table 1-6.
In summary, the above Table 1-6 can be simplified to Table 1-7.
Timing Synchronization Control
Different values of timing loop forgetting factors depending on the state and burst type transition are listed in Table 1-8.
Note 1: During the outage, the loop is not updated. Instead, the loop output value at frame number p0−Nd shall be used for the timing offset compensation where p0 is the frame number when the outage happens. That is, the timing offset estimate at frame number p shall be
{circumflex over (τ)}(p)=(1−γt)·{circumflex over (τ)}(p
where Nd=35.
Note 2: After the outage, the received burst counter will be set to nc=0. The burst counter nc is incremented by one for every burst received.
Note 3: The average of timing estimates among Nt(=50) bursts shall be used as the initial timing value for the tracking filter.
Note 4: In the steady state, the timing tracking loop output is updated as follows:
{circumflex over (τ)}(n
where {tilde over (τ)}(n
Note 5: Same as Note 5 in frequency synchronization control.
In summary, Table 1-8 can be simplified to Table 1-9.
Phase Estimation and Compensation
After compensating time and frequency, the residual phase error is estimated and compensated. Five phase estimates are computed based on known symbols in the burst (i.e., UWs). These values are linearly interpolated to compensate the phase for the symbols between UW segments. The phase estimates θn are obtained by taking the angle of the correlation values as
where Nm is the number of UW segments in PNB3(1,n) bursts defined in Table 1-3, and the u(i) represents the frequency error compensated output sequence, and Iuwn represents the starting indexes for received symbol corresponding to n-th UWs, and arctan(•) returns a value in (−π,π). In order to avoid a modulo 2π problem in interpolating phase values, the following unwrapping formula is used for nε{2, . . . , Nm}:
where [x] denotes the operation of taking integer part of x. For compensating the phase of the symbols between each phase estimate on UWs, the linearly interpolated phase values given below are applied to the sequence u via exp(−j∂(i):
where Xn is the time index of the middle symbol in the n-th UW segment given by
Note that Xn does not have to be an integer and can be real value. The phase corrected symbol is denoted by
û(n)=u(n)exp(−j·∂(n)) (1-47)
Tentative Symbol Decision
For BPSK modulated bursts, the real part of samples {circumflex over (d)}(n) in (1-47) is taken to yield the soft decision bits {circumflex over (d)}(n):
{circumflex over (d)}(n)={û(n)},0≦n≦N−6 (1-48)
Based on the samples, {circumflex over (d)}(n), the detected BPSK symbols are obtained at the output of the symbol-mapping device given in Table 1-10.
For QPSK modulated bursts, the samples û(n) in (1-44) is first phase-rotated by π/4:
Based on the samples, v1(n) and vQ(n), the detected QPSK symbols are obtained from the symbol-mapping device given in Table 1-11.
Second-Stage Phase Tracking
The second-stage phase tracking is performed by using the tentative decisions of payload symbols and unique words. The tentative decisions or the unique words are correlated against the corresponding intial phase corrected received symbols to obtain
w(k)=ûks*k (1-50)
where sk is the complex constellation point for unique word symbol or the tentative decision for the payload symbols, ûk is the initial phase corrected received symbol.
Let Lest and Lstep denote, in term of number of symbols, the length of estimation interval and relative alignment of two consecutive blocks respectively. Here two types of blocks are defined:
Estimation block Ik
Phase block Bk.
The former is the interval of estimation while the latter is the interval to distinguish the phase variation. To obtain stable estimation, Lest, the length of estimation interval is bigger than that of phase block, and thus there is an overlap between two consecutive estimation intervals. The delineated blocks for phase estimation within one burst are shown in
With Lest selected as an odd number, the phase of the midpoint of each estimation block can be obtained by unwrapping the averaged phasors within that block
where {circumflex over (φ)}={circumflex over (φ)}, int{X} denotes the integer part of X, and K is the total number of phase blocks over each PNB3(1,n), n=1,3, or 8, burst. Each estimation interval Ik is composed as
Ik={kLstep≦i≦kLstep+Lest−1}0≦k≦K−1 (1-53)
and the phase blocks Bk are composed by
For all the burst types, Lstep=9, Lest=59. After phase compensation u′(n) results from û(n).
Amplitude Estimation and Compensation
Tentative symbol decisions on the payload symbols are made after the second stage phase tracking as described in Section 1.4.3.7. The unique word symbols and the tentative payload symbols are utilized for the amplitude estimation. An estimate of the amplitude gain η is given by:
where sk is the complex constellation point for the corresponding unique word symbol or for the tentative symbol decision.
The demodulated symbol in each burst, u′(n) is scaled by 1/η to obtain new symbol r(n)
r(n)=u′(n)/η (1-56)
SNR Estimation
Given received signal samples (after demod timing, frequency, phase, and amplitude correction), rk, k=0, 1, . . . , K−1, and transmitted bits sk, k=0, 1, . . . , K−1, it is straightforward to show that the maximum-likelihood estimate λ of the channel gain is given by
Given η, rk and sk, the maximum-likelihood estimate σ2 of the noise variance is
Similarly, given λ and sk, the average signal energy μ2 is given by
Taking the ratio of μ2 and σ2, the estimated SNR is given by
The transmit symbol sk is in general unknown a priori, but they can be estimated at the receiver:
Known symbols. The case where the sample indexes represent the known pilot symbols. True values are used for sk.
Unknown (data or payload) symbols. The case where the sample indexes represent the unknown data symbols in the burst. The choice for the values sk:
Hard decision values of the demodulator output are used for sk. This is the case for conventional SNR estimator and referred to as “Blind EVM scheme”.
All the symbols in the burst, except guard symbols, are used for the SNR estimation. From (1-55) and (1-56) in (1-57), it is easy to find that λ in (1-57) becomes unity for a single path receiver (no diversity), and thus on-line computation can be avoided. However, for the diversity combined path SNR estimation (described in a later Section), on-line calculation of λ is required.
Usually, at low SNR, the SNR estimator exhibits a high bias, and this bias can be removed by applying the linearizer. The linearizer can be realized by a memoryless mapping function, denoted by L(SNRinit). Then, the linearized SNR estimate is given by
SNRdB=L(SNRinit) (1-61)
The purpose of the linearizer is to reduce the bias such that the mean of the estimator is the same as the actual channel SNR.
The linearizing function L is implemented as a look-up table with NLUT rows; hence given the measured value SNRinit, the index into the look-up table is
where SNRLUTMIN=−7 dB, SNRLUTMAX=20 dB, SNRLUTRES=0.1 dB, and NLUT=271. The linearized value is then read out as L[index]. The linear version of the linearized SNR is given by
SNRlin=100.1*SNR
Symbol Decision and Soft Bit Generation
For BPSK modulated bursts, all the relevant information can be obtained from the real part of the samples r(n) given by (1-56). So the soft decision bits {circumflex over (d)}(n):
{circumflex over (d)}(n)={r(n)},0≦n≦N−6 (1-63)
For QPSK modulated bursts, r(n) given by (1-56) is first phase-rotated by π/4:
The in-phase and q-phase of the signal is flipped to yield:
{circumflex over (d)}(n)=vQ(n)+jv1(n),n=0, . . . , N−6 (1-65)
The real part of {circumflex over (d)}(n) corresponds to the soft bit of even index bits and imaginary part of {circumflex over (d)}(n) corresponds to the soft bit of odd index bits, where the first bits of the burst, excluding guard bits, is assumed to start with index 0 (even index).
Based on the samples a(n), the detected symbols are obtained as described in a previous Section from Table 1.10 and Table 1.11 for BPSK and QPSK, respectively.
For BPSK modulated bursts, the soft bits are scaled as
d′(n)={circumflex over (d)}(n)2·SNRlin (1-66)
While for QPSK modulated bursts, the soft bits are scaled as
v′I(n)=vI(n)·2√{square root over (2)}·SNRlin
v′Q(n)=vQ(n)·2√{square root over (2)}·SNRlin
d′(n)=v′Q(n)+jv′I(n) (1-67)
where SNRlin is the linear, estimated SNR from (1-61).
Soft Bit Generation
The scaled, soft bits are quantized into WPRI=8 bit signed integer values (i.e., they are represented in integer values between −128 and 127). For BPSK this representation is given by
{{{tilde over (d)}(0)}{{tilde over (d)}(1)}, . . . , {{tilde over (d)}(N−6)}} (1-68)
where {X} denotes the real part of complex variable X and
However, for QPSK the information is imbedded both in real and imaginary parts and the soft bit representation is modified as
{{{tilde over (d)}(0)},ℑ{{tilde over (d)}(0)},{{tilde over (d)}(1)},ℑ{{tilde over (d)}(1)}, . . . , {{tilde over (d)}(N−6)},ℑ{{tilde over (d)}(N−6)} (1-69)
where {X} and ℑ{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}(n)=int{IPRI·d′(n)} (1-70)
where the function int{ } quantizes its argument with a floor of −2WPRI and a ceiling of 2WPRI-1 and IPRI is 8.
The quantization translates the unit valued soft bits ({tilde over (d)}(n)) into integer values between −IPRI to IPRI−1. The remaining integer values (from −2WPRI to −IPRI-1 and from IPRI to 2WPRI-1) are used to allow for the headroom given by the multiple 2. SNR. These quantized bits are then fed to the Viterbi decoder.
Two-Path Polarization Diversity Combining
Two-path polarization diversity combining is depicted in
where ri and r2 are the amplitude scaled outputs given by (1-56) for path 1 and path 2, respectively.
For BPSK modulated bursts, the real part of the combined output r12 in (1-71) is taken to yield the soft decision bits {circumflex over (d)}12(n):
{circumflex over (d)}12(n)={r12(n)}, (1-72)
For QPSK modulated bursts, as before, the combined output r12 is first phase-rotated by π/4
The in-phase and q-phase of the signal is flipped to yield:
{circumflex over (d)}12(n)=vQ(n)+jv1(n),n=0, . . . , N−6 (1-74)
The real part of {circumflex over (d)}12 corresponds to the soft bit of even index bits and imaginary part of {circumflex over (d)}12 corresponds to the soft bit of odd index bits.
Based on the samples {circumflex over (d)}12(n), the detected BPSK and QPSK symbols for the combined path are obtained, as before, from Table 1-10 and Table 1-11, respectively. The combined samples, r12, are used to estimate the SNR for the combined path using the same algorithm as described in 1.3.6.7.
For BPSK modulated bursts, the soft bits for the combined path are scaled as
{circumflex over (d)}12(n)={circumflex over (d)}12·2 (1-75)
For QPSK modulated bursts, the soft bits for the combined path are scaled as
v′I(n)=vI(n)·2√{square root over (2)}
v′Q(n)=vQ(n)·2√{square root over (2)}
d′12(n)=v′Q(n)+jv′I(n) (1-76)
Note that, unlike for the individual paths, the soft bits for the combined path are not scaled by the SNR value.
The scaled, soft bits for the combined path are quantized into WPRI=8 bit signed integer values.
For BPSK this representation is given by
{{{tilde over (d)}12(0)},{{tilde over (d)}12(1)}, . . . , {{tilde over (d)}12(N−7)},{{tilde over (d)}12(N−6)}} (1-77)
where {X} denotes the real part of complex variable X and
However, for QPSK the information is imbedded both in real and imaginary parts and the soft bit representation is modified as
{{tilde over (d)}12(0)},ℑ{{tilde over (d)}12(0)}, . . . , {{tilde over (d)}12(N−6)},ℑ{{tilde over (d)}12(N−6)} (1-78)
where {X} and denotes the real and imaginary part of complex variable X and
{tilde over (d)}12(n)=int{IPRI
where the value of IPRI1,2 is the same as that of IPRI given in Section 1.3.8. The quantizing function int { } is also described in Section 1.3.8.
The quantized sequences derived from two individual paths and the combined path, {tilde over (d)}1(n), {tilde over (d)}2(n), and {tilde over (d)}12(n) can then be fed to FEC decoders. However, for the baseline implementation, only the combined path is processed through the FEC decoder to generate the CRC pass or fail indicator.
Four-Path Diversity Combining
Two-path diversity combining is depicted in
where the subscripts A and B denote the satellites while 1 and 2 denote left hand or right hand circular polarization.
For BPSK modulated bursts, the real part of the combined output rAB in (1-80) is taken to yield the soft decision bits {circumflex over (d)}12(n):
{circumflex over (d)}AB(n)={rAB(n)}, (1-81)
For QPSK modulated bursts, as before, the combined output rAB is first phase-rotated by π/4
The in-phase and q-phase of the signal is flipped to yield:
{circumflex over (d)}AB(n)=vQ(n)+jv1(n),n=0, . . . , N−6 (1-83)
The real part of {circumflex over (d)}AB corresponds to the soft bit of even index bits and imaginary part of {circumflex over (d)}AB corresponds to the soft bit of odd index bits.
Based on the samples {circumflex over (d)}AB(n), the detected BPSK and QPSK symbols for the combined path are obtained, as before, from Table 1-10 and Table 1-11, respectively. The combined samples, rAB, are used to estimate the SNR for the combined path using the same algorithm as described in 1.3.6.7.
For BPSK modulated bursts, the soft bits for the combined path are scaled as
d′AB(n)={circumflex over (d)}AB·2 (1-84)
For QPSK modulated bursts, the soft bits for the combined path are scaled as
v′I(n)=vI(n)·2√{square root over (2)}
v′Q(n)=vQ(n)·2√{square root over (2)}
d′AB(n)=v′Q(n)+jv′I(n) (1-85)
Note that, unlike for the individual paths, the soft bits for the combined path are not scaled by the SNR value.
The scaled, soft bits for the combined path are quantized into WPRI=8 bit signed integer values.
For BPSK this representation is given by
{{tilde over (d)}AB(0)},{{tilde over (d)}AB(1)}, . . . , {{tilde over (d)}AB(N−7)}{{tilde over (d)}AB(N−6)}} (1-86)
where 93{X} denotes the real part of complex variable X and for QPSK, as before, the soft bit representation is modified as
{{tilde over (d)}AB)(0)},ℑ{tilde over (d)}AB(0)}, . . . , {{tilde over (d)}AB(N−6)} (1-87)
where {X} and ℑ{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}AB(n)=int{IPRI
where the value of IPRI is the same as that of IPRI given in Section 1.3.8. The quantizing function int{ } is also described in Section 1.3.8.
The quantized sequences derived from four individual paths and the combined path, {tilde over (d)}A,1(n), {tilde over (d)}A,2(n), {tilde over (d)}B,1(n), {tilde over (d)}B,2(n) and {tilde over (d)}AB(n), can then be fed to FEC decoders. However, for the baseline implementation, only the combined path is processed through the FEC decoder to generate the CRC pass or fail indicator.
Burst Classification with Diversity
In this Section burst classification with diversity is presented which is little different from single-path burst classification described in Section 1.3.4.1. For the case of receive diversity, all the paths need to be accounted for in the burst classification algorithm. First, frequency and timing correction is applied to each path individually. Next, all the paths are correlated with the candidate unique word sequences and the correlation values are non-coherently combined. As before, the unique word sequence that results in the highest correlation determines the burst type according to (1-21). Also the classification procedure has to satisfy (1-22), where 77 is modified to account for receive diversity according to
where α is a preconfigurable parameter and Nr is the number of receive diversity paths.
Note that if outage is declared for any path during the timing estimation, it is not processed for burst classification until the outage is over. In other words, during outage Nr in (1-89) effectively denotes the number of paths in non-outage. As an example, the burst classification procedure with diversity for PNB3(1,6) is depicted in
Packet data Physical Channels and BURST FORMAT
Packet Data Channels (PDCH)
The Packet Data Channel (PDCH) are further divided into Packet Common Control Channel (PCCCH), Packet Associated Control Channel (PACCH), and Packet Data Traffic Channel (PDTCH)
Packet Common Control Channels (PCCCH)
The packet common control channel is defined in either in forward or return link direction. It carries control information for a group of users.
Forward link only:
PAGCH (Packet Access Grant Channel) is used by Gateway to send assignments to dedicate resources to UTs for transferring data in response to PRACH requests.
Packet Associated Control Channel (PACCH)
PACCH (Packet Associated Control Channel) transports signaling message between the UT and Gateway. It carries user associated control information either in forward or return link
Packet Data Traffic Channel (PDTCH)
PDTCH (Packet Traffic Channel) carries the packet switched data and control,
Packet Normal Bursts: PNB(1,6), PNB3(2,6), PNB3(5,3), PNB3(5,12), PNB3(10,3)
Narrowband Packet Normal Bursts: PNB(1,6) and PNB3(2,6)
Both PNB(1,6) and PNB3(2,6) are n/4 QPSK modulated. PNB(1,6) is Convolutionally encoded, and PNB3(2,6) is Turbo encoded. The payload throughput for each different code rates are summarized in Table 0-1 and Table 0-2.
Wideband Packet Normal Bursts: PNB3(5,3), PNB3(5,12), PNB3(10,3)
All wideband packet normal bursts are encoded with Turbo FEC. Both n/4 QPSK and 16 APSK are supported in the downlink. Return link only supports the n/4 QPSK modulation. Table 0-3, Table 0-4, and Table 0-5 summarize the data rates for PNB3(5,3), PNB3(5,12), and PNB3(10,3), respectively, for different modulation schemes and FEC rates.
When the burst carries UL-MAP (defined in the next section), the payload FEC block sizes reduce to accommodate the UL-MAP field. The FEC block sizes for such cases are listed in Table 0-6, Table 0-7, and Table 0-8.
PNB Burst Format and Characteristics
The PNB bursts consist of multiple fields that are summarized below:
-
- PRI (Private Information): PRI carries user data and/or control messages. PRI is also termed as payload. The PRI can be modulated either by n/4 QPSK, 16 APSK, and it is encoded with either convolutional code or turbo FEC for various rates.
- PUI (Public User Information): PUI contains the physical layer related control messages and burst format information. It carries keep-alive burst indicator (downlink only), and link adaptation control message (uplink only), burst modulation and coding information, and access permission to the uplink timeslots associated with the downlink timeslots where the burst is received.
- PNB(1,6) and PNB3(2,6)/U, PNB3(5,3)/U, PNB3(5,12)/U: The PUI information is coded with (24, 12) extended Golay code with one-time repetition (effective code rate 1/4), resulting in 48 encoded PUI bits. This translates into 24 π/4-QPSK modulated symbols in the PUI fields of the burst. All the UTs attached to the same PDCH carrier, shall decode the PUI fields prior to decoding the payload in the burst.
- PNB3(2,6)/D, PNB3(5,3)/D, PNB3(5,12)/D, and PNB3(10,3)/D: The PUI information is encoded with outer CRC and inner convolutional code constraint length 9.
- UL-MAP (Uplink MAP): The UL-MAP contains uplink assignment map which is encoded with convolutional code constraint length 9. The presence of this field is optional, and indicated by PUI.
- UW (Unique Words): Unique Words (UW) assists burst synchronization such as timing, phase, and frequency estimation.
- G (Guard): G provides guard time (along with network synchronization) between the consecutive burst and allows the period for carrier power ramp up and down.
PUI and UL-MAP Field
Table 0-9 summarizes the PUI and UL-MAP FEC parameters.
When ULMAP is present in the downlink burst then PUI and ULMAP bits are CRC encoded together. The resultant CRC is only transmitted over PUI.
PKAB3 and KAB3 Burst Format and Characteristics
The Packet Keep Alive Bursts (PKAB3s) are transmitted over downlink PDCH3 carrier to fill in during a silence period of the packet data (PRI) transmission. The absence of PRI in the burst will help saving the satellite power as well as UT processing power. This continuous transmission of PUI makes uplink access permission (USF) available every burst and also helps the UT to maintain its receiver downlink synchronization by tracking time and frequency offsets.
The PKAB3(m,3) for (m=5 and 10) burst format is identical to downlink PNB3(m,3) except that it does not carry Payload (PRI) and the last UW segment. It contains only PUI, UL-MAP and first three UW segments. Similarly, the PKAB3(2,6) burst format is identical to downlink PNB3(2,6) except that it does not carry Payload (PRI) and last two UW segments. The burst format for PKAB3(10,3), PKAB3(5,3), PKAB3(2,6), and PKAB3(1,6) are shown in
Packet Data Channel Unique Words
For PNB(1,6) and PNB3(2,6) the UW's are as shown in Table 2-10 and Table 2-11
For PNB3(5,3), PNB3(5,12) and PNB3(10,3) the Unique Words are as shown in Tables Table 2-12 and Table 2-13
Packet DatA Bearer Receiver Design
The receiver performs the following functions in a sequential manner:
-
- Matched Filter and RSSI estimation
- Timing estimation
- Timing correction by interpolation and decimation
- Frequency estimation and correction
- Phase estimation and correction
- Soft bit generation and symbol decision
- Amplitude estimation
- SNR estimation
The PDCH receiver block diagram is shown in
Matched Filter
At the receiver, the signal r (t) is sampled at a rate of M/Ts samples per second (i.e., symbol over-sampled by a factor of M=4). The resultant discrete-time signal, r(n), is passed through a discrete time matched filter htrunc (n), to obtain
z(n)=r(n)*htrunc(n), for n=0,1 . . . , MN−1 (2-1)
where N is the number of symbols per burst. Note that htrunc(n) is the truncated and time shifted version of the pulse shaping filter given (1-2) in sampled at the sampling rate M/Ts, given by
where n′=n−LM/2+½. Note that the above filter is causal and spans L symbol duration. Due to the power ramp up and down, the guard symbols are not used for the further processing (e.g., timing estimation).
RSSI Estimation
The received signal strength can also be used to help determine the link quality, since it denotes the sum of the desired signal power and noise power whereas the SNR represents the ratio of these two powers.
The received signal power in a burst can be measured as
where z(n) is the matched filter output samples. Then the RSSI (in dB) is defined as
RSSIdB=10 log({circumflex over (P)}est/Pref) (2-4)
where the normalization factor, Pref, is the reference power which is implementation dependent. For example, if the matched filter output samples are represented by 12 bits then the reference power can be set to be the maximum sample power with 12 bit amplitude representation, which is Pref=2*(211−1)2. In this case, RSSIdB is in the range of −69˜0 dB.
Timing Estimator
Let τ denote the symbol timing delay of burst in [−Ts/2, Ts/2]. The symbol timing delay is can be estimated as
c1 is the first coefficient of the Fourier Series of |z(n)|2
where z(n) is the output of matched filter defined in (1-4).
Interpolation and Decimation
Prior to decimation, or symbol sampling, symbol timing adjustment is performed by interpolating the matched filter output. This interpolation is needed since the samples available at the matched filter output for the decimation are only TIM apart (Ts/4 in our case). To elaborate this point, first let's decompose the estimated symbol timing delay τ in (1-8) as
where 0≦Δτ<Ts/M and {tilde over (k)} is an integer. The expected sample at the symbol timing is
whereas the available samples are only
Hence the interpolation can be performed to re-construct the sample values at the desired sampling timing
where the truncated Sinc filter (I=16) is used for interpolation filter
To make the interpolation more practical, the interpolation filter are constructed based on the quantized value of Δτ, and the interpolation filtering is performed by selecting the closest set of coefficients. Evenly quantizing Δτ to ν levels within one sample duration of Ts/M (thus the resolution of Ts/(νM)), interpolation accuracy down to Ts/(2·M·ν) can be achieved. For the implementation, v=8 shall be used. After symbol timing correction, the rest of the process will be performed at a symbol rate of Ts−1 (one complex sample/symbol). The output of the interpolator is denoted by y(n) where n is an integer denoting the symbol time index.
Burst Timing Estimation and Burst Detection
Once the square timing estimator described is performed ([−Ts/2, Ts/2]), the UW correlation shall be done over [−T1,+T1]. Where T1=10Ts. for PNB3(5,3) and PNB3(5,12), T1=4Ts. for PNB3(2,6) and T1=2Ts for PNB3(1,6)
The burst timing offset index is estimated as:
Where:
For PNB3(1,6) and PNB3(2,6)
For PNB3(5,3)
For PNB3(5,12)
Iuw
Then the adjusted timing offset based on symbol and burst timing estimate is given by
{circumflex over (τ)}={tilde over (τ)}+îT (2-13)
and the sample timing index is adjusted by amount of 1. That is y(n) is replaced with y(n−î).
Burst Detection
For PNB3(1,6) and PNB3(2,6) if the following test is true, the burst is declared to be present. Otherwise, it will be declared as no burst received.
TC(i)≧γ
where the threshold y is the design parameter.
For PNB3(5,3) and PNB3(5,12) if the following test is true, the burst is declared to be present. Otherwise, it will be declared as no burst received.
where the threshold y is the design parameter.
(2-14)
Frequency Estimation
De-Rotation
The burst timing adjusted output symbols of the interpolator are de-rotated to QPSK symbols by
where n is an integer denoting the symbol time index. The first symbol of the burst, excluding guard symbols, is assumed to start with index 0 and this convention will be used for the rest of the document.
Modulation Removal
If we denote the yd (n) in the polar domain as
yd(n)=ρ(n)exp(jφ(n) for n=0, . . . , N−1 (2-15)
The modulation on de-rotated symbols can be removed as follows
ym(n)=(ρ(n))q·exp(j·r·φ(n)) for n=0, . . . , N−1 (2-16)
where q=2 and r=4. Note that because of the modulation removal process, the frequency offset is effectively quadrupled.
Frequency estimation on Modulation Removed Symbols
Frequency estimation is performed in two stages. In stage one the frequency estimation on the modulation removed symbols are performed by DFT around the center frequency of 0 with the step size of Δf where the frequency search range is
fi ε[−fmax,−fmax+Δf, . . . , −Δf,0,Δf, . . . , fmax−Δf,fmax] (2-17)
The frequency estimate is given by
The estimate frequency from DFTs is {tilde over (f)}={circumflex over (f)}DFT/4. The factor of 4 comes from the fact that the modulation removal process has quadrupled the frequency offset. Finer frequency estimation is obtained by 3-point Lagrange interpolator as follows:
Note that |Δ| should not be larger than 0.5, and if this is larger than 0.5 from the numerical error in the implementation, Δ should be set to zero.
In stage 2, frequency estimation based on known symbols: UW, transition symbols, and Tail symbols is done. The overall procedure is as follows. In the first stage, Ncandidate frequency offset candidates are obtained by performing DFT on the modulation removed symbols yn as:
where T is the symbol duration. In this stage, frequency offsets, which yield the Ncandidate largest |DFT| values, are chosen. Finally, one of the Ncandidate frequency offsets {circumflex over (f)}1, {circumflex over (f)}2, . . . , {circumflex over (f)}N
where τ2+{circumflex over (τ)}C denotes the corrected starting time index of UW symbols. Note that if Ncandidate is set one, the frequency estimation becomes solely DFT based blind estimation. For PNB3(5,12), PNB3(1,6) and PNB3(2,6) Ncandidate is set to one. For PNB3(5,3) Ncandidate is set to three.
Frequency Compensation to the Modulated Signal
The frequency offset is compensated by applying the negative of the frequency loop output to the de-rotated symbols, given by
u(n)=yd(n)exp(−j·2π·{circumflex over (f)}·n·Ts),n=0, . . . , N−1 (2-14)
Phase Estimation
First stage of phase estimation when two-stage phase estimation is employed
After compensating time and frequency, the residual phase error is estimated and compensated. Phase estimates are computed based on known symbols in the burst (i.e., UWs). These values are linearly interpolated to compensate the phase for the symbols between UW segments. The phase estimates θn are obtained by taking the angle of the correlation values as:
where Nm is the number of UW segments and the u(i) represents the frequency error compensated output sequence, and luwn represents the starting indexes for received symbol corresponding to n-th UWs, and arctan(•) returns a value in (−π,π). In order to avoid a modulo 2π problem in interpolating phase values, the following unwrapping formula is used for nε{2, . . . , Nm}:
where [x] denotes the operation of taking integer part of x. For compensating the phase of the symbols between each phase estimate on UWs, the linearly interpolated phase values given below are applied to the sequence u via exp(−j∂(i):
where Xn is the time index of the middle symbol in the n-th UW segment given by
Note that X, does not have to be an integer and can be real value. The phase corrected symbol is denoted by
û(n)=u(n)exp(−j·∂(n))
Phase Estimation for Bursts with Single Stage Phase Estimation
With the frequency loop output, {circumflex over (f)}(p) given in (2-14), the modulation removed samples are frequency offset compensated as:
u(n)=ym(n)·exp(−j2π·4·{circumflex over (f)}(p)·n·Ts),n=0, . . . , N−1 (2-18)
In the presence of AWGN, y′m (n) is equivalent to an unmodulated carrier with a constant phase throughout the whole burst. This constant phase can be obtained by an unbiased estimation
Through a fading channel, however, the anticipated phase φ varies throughout a burst instead of a constant. To account for such phase variation,phase estimation will be performed over smaller blocks split from one burst.
Let Lest and Lstep denote, in term of number of symbols, the length of estimation interval and relative alignment of two consecutive blocks respectively. Here two types of blocks are defined:
Estimation block Ik
Phase block Bk.
The former is the interval of estimation while the latter is the interval to distinguish the phase variation. To obtain stable estimation, Lest, the length of estimation interval is bigger than that of phase block, and thus there is an overlap between two consecutive estimation intervals. The delineated blocks for phase estimation within one burst are shown in
With Lest selected as an odd number, the phase of the midpoint of each estimation block can be obtained by unwrapping the averaged phasors within that block
where {circumflex over (φ)}0=φ0, int{X} denotes the integer part of X, and K is the total number of phase blocks over each PNB3(5,12) burst. Each estimation interval Ik is composed as
Ik={kLstep≦i≦kLstep+Lest−1}0≦k≦K−1 (2-22)
and the phase blocks Bk are composed by
For PNB3(5,12), Lstep=9, Lest=31*4, and L=2315, and there are K=245 phase blocks.
Phase Compensation
The estimated φk as the phases of the corresponding blocks, the frequency offset compensated samples in (1-27a) are further phase offset compensated as
{circumflex over (x)}(i)=u(i)·exp(−j{circumflex over (φ)}/4),iεBk (2-24)
where the factor 4 comes from the fact that the phase estimate is performed over the modulation removed signal.
Phase Ambiguity Removal
The estimated phase {circumflex over (φ)}k may not be a true estimate of the initial phase φ0. This is due to the fact that the solution (1-35) is not unique. This actually leads to a set of four candidate solutions,
(φk+2·π·l)/4,k=0, . . . , K−1 (2-25)
exist for l=0, 1, 2, and 3. This ambiguity can be resolved based on the available known symbols. by performing complex correlation against the first UW (UW1) and the second UW (UW2).
and by quantizing to the nearest phase values of l·π/2 where l=0, 1, 2, 3, the phase ambiguity is determined as
The data samples {circumflex over (x)}(n) are then phase offset compensated as
û(n)={circumflex over (x)}(n)·exp(−j{circumflex over (β)}) (2-29)
Tentative Symbol Generation
The QPSK modulated samples û(n) is first phase rotated by π/4:
then the in-phase and q-phase of the signal is flipped to yield:
{circumflex over (d)}(n)=vQ(n)+jv1(n),n=0, . . . , N−1 (2-31)
The real part of {circumflex over (d)}(n) corresponds to the soft bit of even index bits and imaginary part of {circumflex over (d)}(n) corresponds to the soft bit of odd index bits where the first bits of the burst, excluding guard bits, is assumed to start with index 0 (even index).
Based on the decisions over samples vI and vQ, the detected QPSK symbol is finally obtained at the output of the symbol-mapping device.
Second Stage Phase Estimation when Two-Stage Phase Estimation is Employed
The unique words and the symbols in the data fields of the burst are utilized for phase and amplitude tracking. Let us consider a burst having K1 unique-word fields and K2 data fields (payload and PUI). For each of the fields, we obtain w(n) which is given by
w(n)=û(n)sk*(n) (2-32)
For a field belonging to one of the K1 unique-word fields, sk is the complex constellation point for unique word symbol in the corresponding field and for the K2 data fields, sk is the complex constellation point for the symbol decision obtained in Section 2.2.6 in the corresponding data field.
Let Lest and Lstep denote, in term of number of symbols, the length of estimation interval and relative alignment of two consecutive blocks respectively. Here two types of blocks are defined:
Estimation block Ik
Phase block Bk.
The former is the interval of estimation while the latter is the interval to distinguish the phase variation. To obtain stable estimation, Lest, the length of estimation interval is bigger than that of phase block, and thus there is an overlap between two consecutive estimation intervals. The delineated blocks for phase estimation within one burst are shown in
With Lest selected as an odd number, the phase of the midpoint of each estimation block can be obtained by unwrapping the averaged phasors within that block
where {circumflex over (φ)}0={circumflex over (φ)}0, int{X} denotes the integer part of X, and K is the total number of phase blocks over each burst. Each estimation interval Ik is composed as
Ik={kLstep≦i≦kLstep+Lest−1}0≦k≦K−1 (2-35)
and the phase blocks Bk are composed by
The phase compensated output is denoted by u′(n). For all the other code rates u′(n)=û(n)
Noise Variance Estimation
Noise Variance Estimation for PNB3(2,6)
The unique words symbols of the burst are utilized for estimation of the noise variance which can be used for decoding the Turbo code. Let us consider 4 unique-word fields for PNB3(2,6). For each of the fields an estimate of the amplitude gain q, is evaluated which is given by
For a field belonging to one of the K1 unique-word fields, si(n) is the complex constellation point for unique word symbol in the corresponding field.
Given ηi, u′i(n) and si(n), the maximum-likelihood estimate σ2 of the noise variance is
The above estimate of the noise variance is used for Turbo decoding.
Noise Variance Estimation for PNB3(5,3) and PNB3(5,12)
For PNB3(5,3) and PNB3(5,12) UW1 and UW2 are considered as one UW block. Thus we consider a total of K1=4 UW fields in PNB3(5,12) burst and a K1=3 fields in PNB3(5,3)
For each of the UW fields an estimate of the amplitude gain q, is evaluated which is given by
For a field belonging to one of the K1 unique-word fields, si(n) is the complex constellation point for unique word symbol in the corresponding field.
Given ηi, u′i(n) and si(n), the maximum-likelihood estimate σ2 of the noise variance is
For PNB3(5,12)
For PNB3(5,3)
The above estimate of the noise variance is used for Turbo decoding.
Amplitude estimation and Compensation
Tentative symbol decisions on the payload and PUI symbols after second stage phase tracking as described in Section 1.4.6 is made. The unique words and the symbols in the data fields of the burst are utilized for amplitude estimation. Let 0 be the index in the burst for the first symbol after the first guard interval and K be the index for the first symbol of the guard interval at the end of the burst. An estimate of the amplitude gain η is given by:
sk is the complex constellation point for the corresponding unique word symbol or for the tentative symbol decision obtained in Section 1.4.6 for the data fields.
The demodulated symbol in each burst, u′(n) is scaled by 1/η to obtain new symbol r(n)
r(n)=u′(n)/η (2-42)
SNR Estimation
Given received signal samples (after demod timing, frequency, and phase correction), r(n), n=0, 1, . . . , K−1, and transmitted bits s(n), n=0, 1, . . . , K−1, it is straightforward to show that the maximum-likelihood estimate λ of the channel gain is given by
Given λ, r(n) and s(n), the maximum-likelihood estimate σ2 of the noise variance is
Similarly, given λ and s(n), the average signal energy μ2 is given by
Taking the ratio of μ2 and σ2, the estimated SNR is given by:
The transmit symbol s(n) is in general unknown a priori, but they can be estimated at the receiver:
Known symbols. The case where the sample indexes represent the known pilot symbols. True values are used for s(n).
Unknown (data or payload) symbols. The case where the sample indexes represent the unknown data symbols in the burst. The choice for the values s(n):
Hard decision values of the demodulator output are used for s(n). This is the case for conventional SNR estimator and referred to as “Blind EVM scheme”.
Usually, in low SNR, the SNR estimator exhibits a high bias, and this bias can be removed by applying the linearizer. The linearizer can be realized by a memoryless mapping function, denoted by L(SNRinit). Then, the linearized SNR estimate is given by
SNRdB=L(SNRinit(SNR)) (2-44)
The purpose of the linearizer is to reduce the bias such that the mean of the estimator is the same as the actual channel SNR
Symbol Decisions and Soft Bit Generation
The QPSK modulated samples in r(n) is first phase rotated by π/4:
then the in-phase and q-phase of the signal is flipped to yield:
{circumflex over (d)}(n)=vQ(n)+jv1(n), (2-46)
The real part of {circumflex over (d)}(n) corresponds to the soft bit of even index bits and imaginary part of {circumflex over (d)}(n) corresponds to the soft bit of odd index bits where the first bits of the burst, excluding guard bits, is assumed to start with index 0 (even index).
Based on the decisions over samples vI and vQ, the detected QPSK symbol is finally obtained at the output of the symbol-mapping device.
For Turbo coded bursts The soft bits are scaled as
v′I(n)=vI(n)·2√{square root over (2)}|η|2/σ2
v′Q(n)=vQ(n)·2√{square root over (2)}|η|2/σ2
d′(n)=v′Q(n)+jv′I(n) (2-47)
where the values of are as calculated in the previous section.
The scaled, soft-bits are then quantized into 5 bit signed integer values (i.e., they are represented in integer values between −32 and 31) as
{{{tilde over (d)}(0)},ℑ{{tilde over (d)}(0)},{{tilde over (d)}(1)},ℑ{{tilde over (d)}(1)}, . . . , {{tilde over (d)}(N−1)},ℑ{{tilde over (d)}(N−1)}
where {X} and ℑ{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}(n)=int{I.d′(n)} (2-48)
where the function int{ } quantizes its argument with a floor of −32 and a ceiling of 31. The quantization uses I=6. These quantized bits are then fed to the Turbo decoder.
For PNB(1,6) bursts:
The soft bits are scaled as
v′I(n)=vI(n)·2√{square root over (2)}·SNR
v′Q(n)=vQ(n)·2√{square root over (2)}·SNR
d′(n)=v′Q(n)+jv′I(n) (2-49)
where SNR is the linear, estimated SNR from (46). The scaled, soft, PRI bits are quantized into WPRI=8 bit signed integer values (i.e., they are represented in integer values between −128 and 127) as
{{{tilde over (d)}(0)},ℑ{{tilde over (d)}(0)}{{tilde over (d)}(1)}, . . . , {{tilde over (d)}(N−1)},ℑ{{tilde over (d)}(N−1) (2-50)
where {X} and ¦{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}(n)=int{IPRI·d′(n)} (2-51)
where the function int { } quantizes its argument with a floor of −2WPRI and a ceiling of 2WPRI-1 and IPRI is tabulated below for the three code rates.
The quantization translates the unit valued soft bits (vI(n)·√{square root over (2)} and vQ(n)·√{square root over (2)}) into integer values between −IPRI to IPRI−1. The remaining integer values (from −2WPRI to −IPRI-1 and from IPRI to 2WPRI-1) are used to allow for the headroom given by the multiple 2·SNR. These quantized bits are then fed to the Viterbi decoder.
Hybrid Diversity Combining
Two-path Diversity Combining
For this sequence the I and Q values are first flipped and then the resulting signal is rotated by −π/4 to correct the opposite rotation in Equation (2-46) and then fed to the SNR estimator
The PRI bits from the sequence in Equation (2-52) are quantized as
{{tilde over (d)}1,2(0)},ℑ{{tilde over (d)}1,2(0)},{{tilde over (d)}1,2(1)},ℑ{{tilde over (d)}1,2(1)},{{tilde over (d)}1,2(2)},ℑ{{tilde over (d)}1,2(2)}, . . . } (2-53)
where {X} and ℑ{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}1,2(n)=int{IPRI
where the value of IPRI1,2 is half of the value of I given in Section 2.2.11 and the quantizing function int { } is as described in Section 2.2.11
The quantized sequences derived from {tilde over (d)}1(n), {tilde over (d)}2 (n), and {tilde over (d)}12 (n) are then fed to the FEC decoder, which generates the Boolean CRC pass or fail indicator. Finally, between these three quantized sequences or between these three diversity paths, the demod choses the optimal sequence or path by selecting the one with a passed CRC and the largest SNR.
Four Path Diversity Combining
For this sequence the I and Q values are first flipped after which the resulting sequence is rotated by −π/4 to correct the opposite rotation in Equation (2-46) and then fed to the SNR estimator
The PRI bits from the sequence in Equation (2-55) are quantized as
{{tilde over (d)}A,B(0)},ℑ{{tilde over (d)}A,B(0)},{{tilde over (d)}A,B(1)},ℑ{{tilde over (d)}A,B(1)},{{tilde over (d)}A,B(2)},ℑ{{tilde over (d)}A,B(2)}, . . . } (2-56)
where {X} and ℑ{X} denotes the real and imaginary part of complex variable X and
{tilde over (d)}AB(n)=int{IPRI
where the value of IPRIA,B is one-quarter of the value of I given in Section 2.2.10. and the quantizing function int { } is as described in Section 2.2.10.
The quantized sequences derived from {tilde over (d)}A,1(n), {tilde over (d)}A,2(n), {tilde over (d)}B,1(n), {tilde over (d)}B,2(n) and {tilde over (d)}A,B(n) are then fed to the FEC decoder, which generates the Boolean CRC pass or fail indicator. Finally, between these five quantized sequences or between these five diversity paths, the demod chooses the optimal sequence or path by selecting the one with a passed CRC and the largest SNR.
REFERENCE
- [1] C.-K. Chan and W.-H. Lam, “Generalized barker-like PN sequences for quasi-synchronous spread-spectrum multiple-access communication systems”, IEE Proc. Commun., vol. 142, no. 2, pp. 91-98, April 1995.
- [2] S. W. Golomb and R. A. Scholtz, “Generalized Barker sequences,” IEEE Trans. Inform. Theory, vol. 11, no. 4, pp. 533-537, October 1965.
While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.
Claims
1. A broadband satellite communications system comprising forward error correction (FEC) encoder/decoder, interleaver/deinterleaver, puncturing/de-puncturing, scrambler/descrambler, bit to symbol mapping/de-mapping devices, modulator/demodulator, transmit and receive filter; operating in a time-division multiple access (TDMA) system where information is sent in a burst-by-burst fashion during the assigned time slot; supporting diverse traffic types such as voice over internet protocol (VOIP), control messages (DACCH) and keep alive burst (KAB) during silence period and multiple data rates.
Type: Application
Filed: Nov 25, 2009
Publication Date: Aug 5, 2010
Inventors: Je-Hong Jong (North Potomac, MD), Maruf Mohammad (Gaithersburg, MD), Harish Ramchandran (Germantown, MD), Jun Xu (Germantown, MD), Chanasandra Ravishankar (Germantown, MD)
Application Number: 12/626,511
International Classification: H04B 7/212 (20060101); H03M 13/00 (20060101);