Movatterモバイル変換


[0]ホーム

URL:


HK1155288B - System and method of an in-band modem for data communications over digital wireless communication networks - Google Patents

System and method of an in-band modem for data communications over digital wireless communication networks
Download PDF

Info

Publication number
HK1155288B
HK1155288BHK11107732.5AHK11107732AHK1155288BHK 1155288 BHK1155288 BHK 1155288BHK 11107732 AHK11107732 AHK 11107732AHK 1155288 BHK1155288 BHK 1155288B
Authority
HK
Hong Kong
Prior art keywords
signal
data
source terminal
transmission
synchronization
Prior art date
Application number
HK11107732.5A
Other languages
Chinese (zh)
Other versions
HK1155288A (en
Inventor
马克‧W‧沃纳
克里斯蒂安‧皮奇
克里斯蒂安‧斯格拉加
沃尔夫冈‧格兰索
尼古拉‧K‧N‧梁
克里斯托弗‧A‧约藤
黄鹏军
Original Assignee
高通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通股份有限公司filedCritical高通股份有限公司
Publication of HK1155288ApublicationCriticalpatent/HK1155288A/en
Publication of HK1155288BpublicationCriticalpatent/HK1155288B/en

Links

Abstract

A system is provided for transmitting information through a speech codec (inband) such as found in a wireless communication network. A modulator transforms the data into a spectrally noise-like signal based on the mapping of a shaped pulse to predetermined positions within a modulation frame, and the signal is efficiently encoded by a speech codec. A synchronization sequence provides modulation frame timing at the receiver and is detected based on analysis of a correlation peak pattern. A request/response protocol provides reliable transfer of data using message redundancy, retransmission, and/or robust modulation modes dependent on the communication channel conditions.

Description

System and method for in-band modem for data communications over digital wireless communication networks
Claim of priority
The present invention claims priority from the following U.S. provisional applications: U.S. provisional application No. 61/059,179 entitled "ROBUST signal DATA TRANSMISSION OVER IN-BAND VOICE MODEM for DATA TRANSMISSION IN digital cellular systems" (robot signal modulation IN-BAND VOICE MODEM IN DIGITAL cells system), filed on 5.6.2008, and assigned to the assignee of the present application, and hereby expressly incorporated herein by reference; and united states provisional application No. 61/087,923 entitled "SYSTEM and method FOR IN-BAND MODEM FOR DATA COMMUNICATION OVER digital wireless (OR CELLULAR) COMMUNICATION network (SYSTEM analog and digital OF AN IN-BAND MODEM FOR DATA COMMUNICATION OVER a digital wireless (OR CELLULAR) COMMUNICATION network", filed on 11.8.2008, assigned to the assignee OF the present application, and hereby expressly incorporated by reference herein; and U.S. provisional application No. 61/093,657 entitled "system and METHOD for IN-BAND modem for DATA COMMUNICATIONS OVER digital wireless (OR CELLULAR) COMMUNICATION network (SYSTEM AND METHOD OF AN IN-BAND modem DATA COMMUNICATION OVER DIGITAL WIRELESS (OR cell) COMMUNICATION network", filed on 2.9.2008, and assigned to the present assignee and hereby expressly incorporated herein by reference; and U.S. provisional application No. 61/122,997 entitled "system and METHOD FOR IN-BAND MODEM FOR data communications OVER digital wireless (OR CELLULAR) communication network (SYSTEM AND METHOD OF AN IN-BAND MODEM FOR data communications OVER a digital wireless (OR CELLULAR) communication OVER DIGITAL WIRELESS (OR cell) filed on 16.12.2008, assigned to the assignee OF the present application, and hereby expressly incorporated herein by reference; and U.S. provisional application No. 61/151,457 entitled "system and METHOD FOR providing general BI-DIRECTIONAL IN-BAND MODEM FUNCTIONALITY (SYSTEM AND METHOD FOR providing generic BI-DIRECTIONAL IN-BAND MODEM FUNCTIONALITY"), filed on 3.2.10.2009, and assigned to the assignee of the present application, and hereby expressly incorporated herein by reference; and U.S. provisional application No. 61/166,904, entitled "system and METHOD for IN-BAND modem for DATA COMMUNICATIONS OVER digital wireless (OR CELLULAR) COMMUNICATION NETWORKS" (SYSTEM AND METHOD OF AN IN-BAND modem DATA COMMUNICATION OVER DIGITAL WIRELESS (OR cell) COMMUNICATION NETWORKS ", filed on 4/6/2009, assigned to the assignee OF the present application, and hereby expressly incorporated herein by reference.
Related application
Related co-pending U.S. patent applications include:
a system and METHOD OF "IN-band modem FOR DATA COMMUNICATIONS OVER DIGITAL wireless COMMUNICATIONS network (SYSTEM AND METHOD OF AN IN-band modem FOR DATA COMMUNICATIONS OVER a DIGITAL wireless COMMUNICATIONS network)" filed concurrently with the present invention and assigned to the present assignee and expressly incorporated herein by reference, attorney docket No. 081226U 1;
a system and METHOD OF "IN-band modem FOR DATA COMMUNICATIONS OVER DIGITAL wireless COMMUNICATIONS network (SYSTEM AND METHOD OF AN IN-band modem FOR DATA COMMUNICATIONS OVER a DIGITAL wireless COMMUNICATIONS network)" filed concurrently with the present invention and assigned to the present assignee and expressly incorporated herein by reference, attorney docket No. 081226U 2;
a system and METHOD OF AN IN-band modem FOR DATA COMMUNICATIONS OVER a DIGITAL wireless COMMUNICATIONS network (SYSTEM AND METHOD OF AN IN-BANDMODEM FOR DATA COMMUNICATIONS OVER DIGITAL WIRELESS COMMUNICATIONS NETWORKS) OF attorney docket number 081226U3, assigned to the present assignee and expressly incorporated herein by reference, filed concurrently herewith.
A system and METHOD OF AN IN-band modem FOR DATA COMMUNICATIONS OVER a DIGITAL wireless COMMUNICATIONS network (SYSTEM AND METHOD OF AN IN-BANDMODEM FOR DATA COMMUNICATIONS OVER DIGITAL WIRELESS COMMUNICATIONS NETWORKS) OF attorney docket number 081226U4, assigned to the present assignee and expressly incorporated herein by reference, filed concurrently herewith.
A system and METHOD OF AN IN-band modem FOR DATA COMMUNICATIONS OVER a DIGITAL wireless COMMUNICATIONS network (SYSTEM AND METHOD OF AN IN-BANDMODEM FOR DATA COMMUNICATIONS OVER DIGITAL WIRELESS COMMUNICATIONS NETWORKS) OF attorney docket number 081226U6, assigned to the present assignee and expressly incorporated herein by reference, filed concurrently herewith.
Technical Field
The present invention relates generally to data transmission over a voice channel. More particularly, the present invention relates to transmitting non-speech information via a speech codec (in-band) in a communication network.
Background
The transmission of speech has become the mainstay of communication systems due to the advent of fixed line telephones and wireless radios (wireless radios). Further advances in communication system research and design have moved the industry towards digital-based systems. One benefit of digital communication systems is the ability to reduce the required transmission bandwidth by implementing compression on the data to be transmitted. Therefore, most research and development has entered compression techniques, especially in the field of speech coding. A common voice compression device is a "vocoder" and is also interchangeably referred to as a "voice codec" or "voice encoder. The vocoder receives digitized voice samples and produces a set of data bits (referred to as "voice packets"). There are several standardized vocoding algorithms to support different digital communication systems requiring voice communication, and in fact, voice support is the smallest and essential requirement in most communication systems today. The 3 rd generation partnership project 2(3GPP2) IS an example organization for standardization that specifies IS-95, CDMA 20001 xRTT (1x radio transmission technology), CDMA2000 EV-DO (evolution data optimized), and CDMA2000 EV-DV (evolution data/voice) communication systems. The 3 rd generation partnership project is another example standardization organization that specifies GSM (global system for mobile communications), UMTS (universal mobile telecommunications system), HSDPA (high speed downlink packet access), HSUPA (high speed uplink packet access), HSPA + (high speed packet access evolution), and LTE (long term evolution). VoIP (voice over internet protocol) is an example protocol used in communication systems defined in 3GPP and 3GPP2, as well as other systems. Examples of vocoders used in such communication systems and protocols include ITU-T g.729 (international telecommunications union), AMR (adaptive multi-rate speech codec) and EVRC (enhanced variable rate codec voice service option 3, 68, 70).
Information sharing is a major goal of today's communication systems to support the need for instantaneous and ubiquitous connectivity. Users of today's communication systems communicate voice, video, text messages and other data to maintain a connection. New applications under development tend to outpace the evolution of the network in speed and may require upgrades to the communication system modulation schemes and protocols. In some remote geographic areas, only voice services may be available due to lack of infrastructure support for advanced data services in the system. Alternatively, for economic reasons, a user may choose to enable only voice services on their communication device. In some countries, public service support is hosted in communication networks, such as emergency 911(E911) or vehicular emergency calling (ecall). In these emergency application examples, fast data transfer is preferred, but not necessarily realistic, especially when advanced data services are not available at the user terminal. The prior art has provided solutions to transmitting data via a speech codec, but these solutions are only capable of supporting low data rate transmission due to coding inefficiencies caused when attempting to encode non-speech signals with a vocoder.
Most vocoders implement speech compression algorithms that utilize "analysis-by-synthesis" techniques to model the human vocal tract with a set of parameters. The set of parameters typically includes digital filter coefficients, gain, and a function of the stored signal, referred to as a codebook, to name a few. A search for parameters that most closely match the characteristics of the input speech signal is performed at the encoder of the vocoder. The parameters are then used at the decoder of the vocoder to synthesize an estimate of the input speech. The parameter set available for the vocoder to encode the signal is tuned to best model speech characterized by voiced period segments and unvoiced segments with noise-like characteristics. Signals that do not contain periodic or noise-like characteristics are not efficiently encoded by the vocoder and may in some cases result in severe distortion at the decoded output. Examples of signals that do not exhibit speech characteristics include rapidly changing single frequency "tone" signals or dual tone multi-frequency "DTMF" signals. Most vocoders are unable to efficiently and effectively encode such signals.
Transmitting data via a speech codec is commonly referred to as "in-band" transmission of data, where the data is incorporated into one or more speech packets output from the speech codec. Several techniques use tones at predetermined frequencies within the voice band to represent the data. The use of predetermined frequency tones to transmit data via a speech codec, especially at higher data rates, is unreliable due to the vocoder used in the system. Vocoders are designed to model speech signals using a limited number of parameters. The limited parameters are not sufficient to effectively model the tonal signal. The ability of the vocoder to simulate tones is further degraded when attempting to increase the transmission data rate by rapidly changing tones. This affects detection accuracy and results in the need to add complex schemes to minimize data errors (which further reduces the overall data rate of the communication system). Accordingly, a need arises for efficiently and effectively transmitting data via a voice codec in a communication network.
It would therefore be advantageous to provide an improved system for transmitting and receiving information via a speech codec in a communication network.
Disclosure of Invention
Embodiments disclosed herein address the above stated needs by using an in-band modem to reliably transmit and receive non-voice information via a voice codec.
In one embodiment, a method of sending non-speech information via a speech codec includes: processing a plurality of input data symbols to produce a plurality of first pulse signals; shaping the plurality of first pulse signals to produce a plurality of shaped first pulse signals; and encoding the plurality of shaped first pulse signals with a speech codec.
In another embodiment, an apparatus includes: a processor configured to process a plurality of input data symbols to produce a plurality of first pulse signals; a shaper configured to shape the plurality of first pulse signals to produce a plurality of shaped first pulse signals; and a speech codec configured to encode the plurality of shaped first pulse signals to produce speech packets.
In another embodiment, an apparatus includes: means for processing a plurality of input data symbols to produce a plurality of first pulse signals; means for shaping the plurality of first pulse signals to produce a plurality of shaped first pulse signals; and means for encoding the shaped first pulse signal with a speech codec.
In another embodiment, a method of synchronizing non-speech frames via a speech codec comprises: generating a predetermined sequence having noise-like characteristics and being robust to speech frame errors; and transmitting the predetermined sequence via a speech codec.
In another embodiment, an apparatus includes: a generator configured to generate a predetermined sequence having noise-like characteristics and being robust to speech frame errors; and a voice codec configured to process the predetermined sequence to yield voice packets.
In another embodiment, an apparatus includes: means for generating a predetermined sequence having noise-like characteristics and being robust to speech frame errors; and means for transmitting the predetermined sequence via a speech codec.
In another embodiment, a method of obtaining non-speech data embedded in a vocoder packet comprises: receiving and decoding the vocoder packets; filtering the decoded vocoder packets until a synchronization signal is detected; calculating a timing offset based on the synchronization signal; and extracting non-speech data embedded in the decoded vocoder packet based on the timing offset.
In another embodiment, an apparatus includes: a receiver configured to receive and decode vocoder packets; a filter configured to filter the decoded vocoder packets until a synchronization signal is detected; a calculator configured to calculate a timing offset based on the synchronization signal; and an extractor configured to extract non-speech data embedded in the decoded vocoder packet based on the timing offset.
In another embodiment, an apparatus includes: means for receiving and decoding vocoder packets; means for filtering the decoded vocoder packets until a synchronization signal is detected; means for calculating a timing offset based on the synchronization signal; and means for extracting non-speech data embedded in the decoded vocoder packet based on the timing offset.
In another embodiment, a method of controlling source terminal transmission from a destination terminal in an in-band communication system includes: transmitting a start signal from a destination terminal; interrupting transmission of the start signal upon detection of the first received signal; transmitting a NACK signal from the destination terminal; interrupting the transmission of the NACK signal after detecting the successfully received source terminal data message; transmitting an ACK signal from the destination terminal; and interrupting transmission of the ACK signals after a predetermined number of ACK signals have been transmitted.
In another embodiment, an apparatus includes a processor, a memory in electronic communication with the processor, instructions stored in the memory capable of performing the steps of: transmitting a start signal from a destination terminal; interrupting transmission of the start signal upon detection of the first received signal; transmitting a NACK signal from the destination terminal; interrupting the transmission of the NACK signal after detecting the successfully received source terminal data message; transmitting an ACK signal from the destination terminal; and interrupting transmission of the ACK signals after a predetermined number of ACK signals have been transmitted.
In another embodiment, an apparatus for controlling source terminal transmission from a destination terminal in an in-band communication system includes: means for transmitting a start signal from a destination terminal; means for interrupting transmission of the start signal upon detection of the first received signal; means for transmitting a NACK signal from the destination terminal; means for interrupting transmission of the NACK signal upon detection of a successfully received source terminal data message; means for transmitting an ACK signal from the destination terminal; and means for interrupting transmission of the ACK signal after a predetermined number of ACK signals have been transmitted.
In another embodiment, a method of controlling source terminal transmission from a source terminal in an in-band communication system includes: detecting a request signal at the source terminal; transmitting a synchronization signal from the source terminal upon detecting the request signal; transmitting a user data segment from the source terminal using a first modulation scheme; and interrupting transmission of the user data segment upon detection of the first received signal.
In another embodiment, an apparatus includes a processor, a memory in electronic communication with the processor, instructions stored in the memory capable of performing the steps of: detecting a request signal at a source terminal; transmitting a synchronization signal from the source terminal upon detecting the request signal; transmitting a user data segment from the source terminal using a first modulation scheme; and interrupting transmission of the user data segment upon detection of the first received signal.
In another embodiment, an apparatus for controlling source terminal transmission from a source terminal in an in-band communication system includes: means for detecting a request signal at the source terminal; means for transmitting a synchronization signal from the source terminal upon detection of the request signal; means for transmitting a user data segment from the source terminal using a first modulation scheme; and means for interrupting transmission of the user data segment upon detection of the first received signal.
In another embodiment, a method of controlling bidirectional data transmission from a destination terminal in an in-band communication system includes: transmitting a transmission signal from the destination terminal; interrupting transmission of the transmitted signal upon detection of the first received signal; transmitting a synchronization signal from the destination terminal; transmitting a user data segment from the destination terminal using a first modulation scheme; and interrupting transmission of the user data segment upon detection of the second received signal.
In another embodiment, an apparatus includes a processor, a memory in electronic communication with the processor, instructions stored in the memory capable of performing the steps of: transmitting a transmission signal from the destination terminal; interrupting transmission of the transmitted signal upon detection of the first received signal; transmitting a synchronization signal from the destination terminal; transmitting a user data segment from the destination terminal using a first modulation scheme; and interrupting transmission of the user data segment upon detection of the second received signal.
In another embodiment, an apparatus for controlling bidirectional data transmission from a destination terminal in an in-band communication system includes: means for transmitting a transmit signal from the destination terminal; means for interrupting transmission of the transmitted signal upon detection of the first received signal; means for transmitting a synchronization signal from the destination terminal; means for transmitting a user data segment from the destination terminal using a first modulation scheme; and means for interrupting transmission of the user data segment upon detection of the second received signal.
In another embodiment, a system for communicating data from a vehicle containing an in-vehicle system (IVS) to a Public Safety Answering Point (PSAP) via an in-band communication system comprises: one or more sensors located in the IVS for providing IVS sensor data; an IVS transmitter located in the IVS for transmitting the IVS sensor data; a PSAP receiver located in the PSAP for receiving the IVS sensor data; a PSAP transmitter located in the PSAP for transmitting PSAP command data; an IVS receiver in the IVS for receiving the PSAP command data; wherein the IVS transmitter includes: an IVS message formatter for formatting the IVS sensor data and generating an IVS message; an IVS processor for processing the IVS message and producing a plurality of IVS shaped pulse signals; an IVS speech encoder for encoding the IVS shaped pulse signal and producing an IVS encoded signal; an IVS synchronous generator for generating an IVS synchronous signal; and an IVS transmission controller for transmitting a sequence of IVS synchronisation signals and IVS messages; wherein the PSAP receiver comprises: a PSAP detector for detecting the IVS synchronization signal and generating a PSAP synchronization flag; a PSAP demodulator for demodulating the IVS message and producing the received IVS message; wherein the PSAP transmitter comprises: a PSAP message formatter for formatting the PSAP command data and generating a PSAP command message; a PSAP processor for processing the PSAP command message and producing a plurality of PSAP shaped pulsed signals; a PSAP speech encoder for encoding the PSAP shaped pulse signal and producing a PSAP encoded signal; a PSAP sync generator for generating a PSAP synchronization signal; and a PSAP transmit controller for transmitting a sequence of PSAP synchronization signals and PSAP command messages; wherein the IVS receiver comprises: an IVS detector for detecting the PSAP synchronization signal and generating an IVS synchronization flag; and an IVS demodulator for demodulating the PSAP message and producing the received PSAP message.
Drawings
Aspects and the attendant advantages of the embodiments described herein will become more apparent by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
fig. 1 is a diagram of an embodiment of a source terminal and a destination terminal transmitting data via a voice codec using an in-band modem in a wireless communication network.
Fig. 2 is a diagram of an embodiment of a transmit data modem for use in an in-band communication system.
Fig. 3A is a diagram of an embodiment of a synchronization signal generator.
Fig. 3B is a diagram of another embodiment of a synchronization signal generator.
Fig. 3C is a diagram of yet another embodiment of a synchronization signal generator.
Fig. 4 is a diagram of an embodiment of a synchronous burst generator.
Fig. 5 is a diagram of an embodiment of a synchronization burst sequence.
Fig. 6A is a diagram of an embodiment of a synchronization header sequence.
Fig. 6B is a diagram of an embodiment of a synchronization header sequence with non-overlapping reference sequences.
Fig. 7A is a diagram of the correlation output of a sync header, where the header consists of non-overlapping reference sequences.
Fig. 7B is a diagram of the correlation output of a sync header, where the header consists of overlapping reference sequences.
Fig. 8A is a diagram of an embodiment of a synchronization message format.
Fig. 8B is a diagram of another embodiment of a synchronization message format.
Fig. 8C is a diagram of yet another embodiment of a synchronization message format.
Fig. 9 is a diagram of an embodiment of a transmit data message format.
Fig. 10 is a diagram of an embodiment of a composite synchronization and transmit data message format.
Fig. 11A is a graph of power spectral density of a signal versus frequency based on in-band pulses.
Fig. 11B is a graph of power spectral density of a signal versus frequency based on in-band tones.
Fig. 12 is a diagram of an embodiment of a data modulator using sparse pulses.
FIG. 13 is a diagram of an embodiment of sparse pulse data symbology.
Fig. 14A is a diagram of an embodiment of shaped pulse placement within a modulation frame using wraparound techniques.
Fig. 14B is a diagram of an embodiment of shaped pulse placement within a modulation frame for a typical example in the art.
Fig. 15A is a diagram of an embodiment of a synchronization signal detector and a receiver controller.
Fig. 15B is a diagram of another embodiment of a synchronization signal detector and a receiver controller.
Fig. 16 is a diagram of an embodiment of a synchronous burst detector.
Fig. 17A is a diagram of an embodiment of a sync header detector.
Fig. 17B is a diagram of another embodiment of a sync header detector.
FIG. 18a is a diagram of an embodiment of a synchronous detector controller.
FIG. 18b is a diagram of another embodiment of a synchronous detector controller.
Fig. 19 is a diagram of an embodiment of a receive timing adjuster.
Fig. 20 is a diagram of an embodiment of a receive data modem for use in an in-band communication system.
Fig. 21 is a diagram of an embodiment of an in-vehicle emergency call system.
Fig. 22 is a diagram of an embodiment of an interaction of a data request sequence transmitted on the downlink in a destination communication terminal with a data response sequence transmitted on the uplink in a source communication terminal, where the interaction is initiated by the destination terminal.
Fig. 23A is a diagram of an embodiment of an interaction of a data request sequence transmitted on the downlink in a destination communication terminal and a data response sequence transmitted on the uplink in a source communication terminal, where the interaction is initiated by the source terminal.
Fig. 23B is a diagram of another embodiment of an interaction of a data request sequence transmitted on the downlink in a destination communication terminal and a data response sequence transmitted on the uplink in a source communication terminal, where the interaction is initiated by the source terminal.
Fig. 24A is a diagram of an embodiment of the interaction of a bi-directional data request sequence and a data response sequence transmitted on both the downlink and uplink.
Fig. 24B is a diagram of another embodiment of the interaction of a bi-directional data request sequence and a data response sequence transmitted on both the downlink and uplink.
Fig. 25 is a diagram of an embodiment of a user data packet format in which the length of the user data length is smaller than the transmit packet size.
Fig. 26 is a diagram of an embodiment of a user data packet format in which the length of the user data length is greater than the transmit packet size.
Fig. 27A is a diagram of an embodiment of the interaction of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size.
Fig. 27B is a diagram of another embodiment of the interaction of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size.
Fig. 27C is a diagram of yet another embodiment of the interaction of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size.
Fig. 27D is a diagram of yet another embodiment of the interaction of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size.
Detailed Description
Fig. 1 shows an embodiment of an in-band data communication system as may be implemented within a wireless source terminal 100. The source terminal 100 communicates with the destination terminal 600 via communication channels 501 and 502, network 500, and communication channel 503. Examples of suitable wireless communication systems include cellular telephone systems operating in accordance with the global system for mobile communications (GSM), third generation partnership project universal mobile telecommunications system (3GPP umts), third generation partnership project 2 code division multiple access (3GPP2CDMA), time division synchronous code division multiple access (TD-SCDMA), and Worldwide Interoperability for Microwave Access (WiMAX) standards. Those skilled in the art will recognize that the techniques described herein are equally applicable to in-band data communication systems that do not involve a wireless channel. The communication network 500 comprises any combination of routing and/or switching devices, communication links and other infrastructure suitable for establishing a communication link between the source terminal 100 and the destination terminal 600. For example, the communication channel 503 may not be a wireless link. The source terminal 100 generally functions as a voice communication device.
Emitter
The transmit baseband 200 typically routes user speech through a vocoder, but is also capable of routing non-speech data through the vocoder in response to requests originating from the source terminal or communication network. Routing non-voice data via the vocoder is advantageous because it eliminates the need for the source terminal to request and transmit the data on a separate communication channel. Non-voice data is formatted into a message. The message data (still in digital form) is converted into a noise-like signal consisting of shaped pulses. Message data information is built into the pulse positions of the noise-like signal. The noise-like signal is encoded by a vocoder. The vocoder is not configured differently depending on whether the input is user speech or non-speech data, so it is advantageous to convert the message data into a signal that can be efficiently encoded by the set of transmit parameters assigned to the vocoder. The encoded noise-like signal is transmitted in-band over the communication link. Because the transmitted information is built into the pulse positions of the noise-like signal, reliable detection depends on the recovery of the timing of the pulses relative to the speech codec frame boundaries. To assist the receiver in detecting in-band transmissions, the vocoder generates and encodes a predetermined synchronization signal prior to transmission of the message data. Protocol sequences of synchronization, control and messages are transmitted to ensure reliable detection and demodulation of non-voice data at the receiver.
Referring to the transmit baseband 200, signal input audio S210 is input to a microphone and audio input processor 215 and passed into a vocoder encoder 270 (where compressed voiced packets are generated) via a multiplexer 220. Suitable audio input processors typically include: a circuit for converting an input signal into a digital signal; and a signal conditioner (e.g., a low pass filter) to shape the digital signal. Examples of suitable vocoders include those described by the following reference standards: GSM-FR, GSM-HR, GSM-EFR, EVRC-B, SMV, QCELP13K, IS-54, AMR, G.723.1, G.728, G.729, G.729.1, G.729a, G.718, G.722.1, AMR-WB, EVRC-WB, VMR-WB. The vocoder encoder 270 supplies voice packets to the transmitter 295 and the antenna 296, and the voice packets are transmitted over the communication channel 501.
The request for data transmission may be initiated by the source terminal or via the communication network. The data transmission request S215 disables the voice path through the multiplexer 220 and enables the transmit data path. The input data S200 is pre-processed by the data message formatter 210 and output as a Tx message S220 to the Tx data modem 230. The input data S200 may include User Interface (UI) information, user position/location information, time stamps, device sensor information, or other suitable data. Examples of suitable data message formatters 210 include: circuitry to calculate and append Cyclic Redundancy Check (CRC) bits to input data, provide retransmission buffer memory, implement error control coding such as hybrid automatic repeat request (HARQ), and interleave input data. The Tx data modem 230 converts the Tx message S220 into data signal Tx data S230 that is routed to the vocoder encoder 270 via the multiplexer 220. Once the data transmission is complete, the voice path may be re-enabled via multiplexer 220.
Fig. 2 is a block diagram of a suitable example of the Tx data modem 230 shown in fig. 1. Three signals: sync output S245, mute output S240, and Tx modulator output S235 may be time multiplexed onto Tx data S230 output signal via multiplexer 259. It should be appreciated that different orders and combinations of signal sync output S245, mute output S240, and Tx modulator output S235 may be output onto Tx data S230. For example, sync output S245 may be sent prior to each Tx modulator outputting S235 data segment. Alternatively, sync output S245 may be sent once prior to the full Tx modulator output S235, with mute output S240 being sent between each Tx modulator output S235 data segment.
The synchronization output S245 is a synchronization signal for establishing timing at the receiving terminal. Since the data information is built in the pulse positions of the noise-like signal, a synchronization signal is required to establish timing for the transmitted in-band data. FIG. 3A shows a suitable example block diagram of the sync generator 240 shown in FIG. 2. Three signals: the sync burst S241, wake-up output S236, and sync header output S242 may be multiplexed in time onto the sync out S245 signal via multiplexer 247. It should be appreciated that different orders and combinations of sync burst S241, wakeup out S236, and sync header out S242 may be output onto sync out S245. For example, fig. 3B shows a sync generator 240 consisting of a wake-up output S236 and a sync header output S242, where the wake-up output S236 may be sent prior to each sync header output S242. Alternatively, FIG. 3C shows a sync generator 240 consisting of a sync burst S241 and a sync header output S242, where the sync burst S241 may be sent prior to each sync header output S242.
Referring back to fig. 3A, synchronization burst S241 is used to establish coarse timing at the receiver and is comprised of at least one sinusoidal frequency signal having a predetermined sampling rate, sequence, and duration, and is generated by synchronization burst 250 shown in fig. 4. Sinusoidal frequency 1251 represents binary data +1 and frequency 2252 represents binary data-1. Examples of suitable signals include constant frequency sinusoids in a voice band, such as 395Hz, 540Hz, and 512Hz for one sinusoidal signal and 558Hz, 1035Hz, and 724Hz for another sinusoidal signal. The synchronization burst sequence 253 determines which frequency signal is multiplexed via the multiplexer 254. The information sequence modulated onto the synchronization burst should be an information sequence with good autocorrelation properties. An example of a suitable synchronization burst sequence 253 is a Barker code (Barker code) of length 7 as shown in fig. 5. A frequency 1 sinusoid is output on the synchronization burst S241 for each "+" symbol, and a frequency 2 sinusoid is output for each "-" symbol.
Referring back to fig. 3A, the sync header output S242 is used to establish fine (sample-based) timing at the receiver and consists of a predetermined data pattern known at the receiver. A suitable example of a predetermined data pattern for the sync header output S242 is the sync header sequence 241 shown in fig. 6A. A composite preamble sequence 245 is generated by concatenating several cycles of a pseudo-random noise (PN) sequence 242 with the overlapped and added result of the PN sequence 242 and an inverted version 244 of the PN sequence. The "+" symbol in composite header sequence 245 represents binary data +1 and the "-" symbol represents binary data-1. Another suitable example inserts samples having a value of zero between the data bits of the PN sequence. This provides a temporal distance between the data bits to account for "smearing" effects caused by the bandpass filter characteristics of the channel which tend to spread the energy of the data bits over several bit time intervals.
The previously described construction of a synchronization header using overlapping sections of concatenated PN sequences' periods and inverted versions of the PN sequences provides advantages in terms of reduced transmission time, improved correlation properties, and improved detection characteristics. The advantages result in a header that is robust to speech frame transmission errors.
By overlapping the PN segments, the resulting composite sync header consists of a smaller number of bits in the sequence (compared to the non-overlapping version), thereby reducing the total time required to transmit the composite header sequence 245.
To illustrate the improvement in the correlation properties of the overlapping sync headers, fig. 7A and 7B show a comparison between: correlation of the PN sequence 242 with the non-overlapping composite header sequence 245B (shown in fig. 6B); and correlation of the PN sequence 242 with the overlapping composite sync header sequence 245 (shown in fig. 6A). Fig. 7A shows the primary correlation peaks (both positive and negative peaks) of a non-overlapping composite sync header sequence 245b, and secondary correlation peaks located between the primary peaks. The negative peak 1010 results from the correlation of the PN sequence 242 with the first inverted segment of the non-overlapping composite preamble sequence 245 b. The positive correlation peaks 1011, 1012, 1013 result from the correlation of the PN sequence 242 with three concatenated segments of the PN sequence 242 that make up the middle portion of the non-overlapping composite header sequence 245 b. The negative peak 1014 results from the correlation of the PN sequence 242 with the second inverted segment of the non-overlapping composite preamble sequence 245 b. In fig. 7A, the secondary correlation peak 1015 (corresponding to a shift of 3 samples from the first positive correlation peak 1011) shows a magnitude of about 5 (1/3 of the magnitude of the primary peak). Fig. 7B shows several primary correlation peaks (both positive and negative peaks) of the overlapping composite sync header sequence 245, as well as secondary correlation peaks between the primary peaks. In fig. 7B, the secondary correlation peak 1016 (corresponding to the offset of 3 PN samples from the first positive correlation peak 1011) shows a magnitude of about 3 (1/5 for the magnitude of the primary peak). The smaller magnitude of the secondary correlation peak 1016 of the overlapping preamble shown in fig. 7B results in less false detection of the preamble primary correlation peak when compared to the non-overlapping secondary peak 1015 example shown in fig. 7A.
As shown in fig. 7B, five major peaks are generated when correlating the PN sequence 242 with the composite sync header sequence 245. The illustrated pattern (1 negative peak, 3 positive peaks and 1 negative peak) allows the frame timing to be determined based on any 3 detected peaks and the corresponding temporal distance between the peaks. The combination of 3 detected peaks and the corresponding temporal distance is always unique. A similar depiction of the correlation peak pattern is shown in table 1, where the correlation peaks are referenced by "-" for negative peaks and "+" for positive peaks. The technique of using a unique correlation peak pattern is advantageous for in-band systems because the unique pattern compensates for possible speech frame loss (e.g., due to poor channel conditions). Missing speech frames can also result in missing correlation peaks. By spacing the correlation peaks of the unique pattern a predetermined time distance, the receiver can reliably detect the synchronization preamble even with missing speech frames that result in missing correlation peaks. Several examples of combinations of 3 detected peaks in the pattern are shown in table 2 (2 peaks are missing in each example). Each entry in table 2 represents a unique pattern of peaks and the temporal distance between the peaks. Example 1 in table 2 shows the detected peaks 3, 4, and 5 (peaks 1 and 2 missing), resulting in a pattern "++ -" with one predetermined distance between each peak. Examples 2 and 3 in table 2 also show the pattern "+ -", however the distances are different. Example 2 has two predetermined distances between detected peaks 2 and 4, while example 3 has two predetermined distances between detected peaks 3 and 5. Thus, examples 1, 2, and 3 each represent a unique pattern from which frame timing can be derived. It should be recognized that the detected peaks may extend across frame boundaries, but that the unique pattern and predetermined distance still apply.
TABLE 1
TABLE 2
Those skilled in the art will recognize that different header sequences may be used that produce different correlation peak patterns than those shown in fig. 7B and table 1. Those skilled in the art will also recognize that multiple correlation peak patterns may be used to identify different modes of operation or to transmit information bits. An example of an alternative correlation peak pattern is shown in table 3. As described previously, the correlation peak pattern shown in table 3 maintains a unique pattern from which the frame timing can be derived. Having multiple correlation peak patterns is advantageous for identifying different transmitter configurations (e.g., message formats or modulation schemes) at the receiver.
TABLE 3
Referring again to fig. 3A, the wakeup output S236 is used to trigger the vocoder encoder 270 to wake up from a sleep state, a low transmission rate state, or a discontinuous transmission state. The wakeup out S236 may also be used to disable the vocoder encoder 270 from entering a sleep, low transmission, or discontinuous transmission state. The wake-up output S236 is generated by the wake-up generator 256. The wake-up signal is advantageous when transmitting in-band data via a vocoder that implements a sleep, discontinuous transmission function (DTX), or operates at a lower transmission rate during inactive voice segments to minimize start-up delays that may occur when transitioning from a voice inactive state to a voice active state. The wake-up signal may also be used to identify characteristics of the transmission pattern; for example, the type of modulation scheme used. A first example of a suitable wake-up output S236 signal is a single sinusoidal signal with a constant frequency in the voice band (e.g., 395 Hz). In this first example, the wake-up signal prohibits the vocoder encoder 270 from entering a sleep, DTX, or low rate state. In this first example, the receiver ignores the transmitted wake-up output signal S236. A second example of a suitable wake-up output S236 is a signal composed of a plurality of sinusoidal signals, where each signal identifies a particular data modulation scheme, e.g., 500Hz for modulation scheme 1 and 800Hz for modulation scheme 2. In this second example, the wake-up signal prohibits the vocoder encoder 270 from entering a sleep, DTX, or low rate state. In this second example, the receiver uses the transmitted wake-up output signal S236 to identify the data modulation scheme.
An example of a composite sync out S245 signal is a signal consisting of a multiplexed sync burst S241 and sync header out S242, as shown in fig. 8A. Tsb 701 and Tsp 702 represent the duration of time used to transmit each signal. An example of a suitable range for Tsb is 120-140 milliseconds, and Tsp is 40-200 milliseconds. Another example of a composite sync out S245 signal is a signal consisting of a multiplexed wake out S236 and sync header out S242, as shown in fig. 8B. Twu 711 and Tsp 702 represent the duration of time used to transmit each signal. An example of a suitable range for Twu is 10 milliseconds to 60 milliseconds, and Tsp is 40 milliseconds to 200 milliseconds. Another example of a composite sync out S245 signal is a signal consisting of a multiplexed wake out S236, sync burst S241 and sync preamble out S242, as shown in fig. 8C. Twu 711, Tsp 1721, Tsb 701, Tsp 2722 represent the duration of time used to transmit each signal. An example of a suitable range for Twu is 20 milliseconds to 80 milliseconds, Tsp1 is 40 milliseconds to 200 milliseconds, Tsb is 120 milliseconds to 140 milliseconds, and Tsp2 is 40 milliseconds to 200 milliseconds.
Referring back to fig. 2, a suitable example of Tx modulator output S235 is a signal with a special modulation pulse shape generated by modulator 235 using Pulse Position Modulation (PPM). This modulation technique results in lower distortion when encoded and decoded by different types of vocoders. In addition, this technique produces good autocorrelation properties and can be easily detected by a receiver matched to the waveform. Furthermore, the shaped pulses do not have a tonal structure; instead, the signal appears noise-like in the spectral domain, while maintaining the audible characteristics of noise-like. An example of the power spectral density of a signal based on shaped pulses is shown in fig. 11A. As can be seen in fig. 11A, the power spectral density shows noise-like characteristics (constant energy over the frequency range) over the in-band frequency range. In contrast, an example of the power spectral density of a signal having a tone structure is shown in FIG. 11B, where the data is represented by tones at frequencies of approximately 400Hz, 600Hz, and 1000 Hz. As can be seen in fig. 11B, the power spectral density shows a significant energy "spike" at the pitch frequency and its harmonics over the in-band frequency range.
Fig. 12 is an example block diagram of modulator 235 shown in fig. 2. The sparse pulse generator 238 uses pulse position modulation to generate pulses corresponding to the input Tx message S220, and then, for better coding quality in the vocoder encoder, a pulse shaper 239 shapes the pulses to generate a signal. A suitable example of a sparse pulse is shown in fig. 13. Dividing the time axis into durations TMFA number of modulation frames. Within each such modulation frame, a number of time instances t are defined relative to the modulation frame boundaries0、t1、......、tm-1The time instances identify potential locations of the fundamental pulses p (t). For example, position t3The pulse 237 at is denoted as p (t-t)3). The Tx message S220 information bits input to the modulator 235 are mapped to symbols with corresponding shifts to pulse positions according to a mapping table. The pulses may also be shaped using a polarity inversion ± p (t). The symbol may thus be represented by one of 2m distinct signals within a modulation frame, where m represents the number of time instances defined for the modulation frame, and a multiplication factor of 2 represents positive and negativePolarity.
An example of a suitable pulse position map is shown in table 4. In this example, the modulator maps a 4-bit symbol for each modulation frame. Each symbol is represented in terms of the position k of the pulse shape p (n-k) and the sign of the pulse. In this example, TMF4 milliseconds, yielding 32 possible positions for an 8KHz sampling rate. The pulses are separated by 4 time instances, resulting in the assignment of 16 different pulse positions and polarity combinations. In this example, the effective data rate is 4 bits per symbol in a 4 millisecond period, or 1000 bits/sec.
TABLE 4
Another example of a suitable pulse position map is shown in table 5. In this example, the modulator maps a 3-bit symbol for each modulation frame. Each symbol is represented in terms of the position k of the pulse shape p (n-k) and the sign of the pulse. In this example, TMF2 milliseconds, resulting in 16 possible positions for an 8KHz sampling rate. The pulses are separated by 4 time instances, resulting in the assignment of 8 different pulse positions and polarity combinations. In this example, the effective data rate is 3 bits per symbol in a2 millisecond period, or 1500 bits/second.
TABLE 5
To increase robustness in poor channel conditions, modulator 235 may maintain a constant number of time instances t0、t1、......、tm-1While increasing the duration T of the modulation frameMF. This technique serves to place more temporal distance between pulses, resulting in more reliable detection. Proper pulseAn example of a shoot position map includes a T of 4 millisecondsMFThus yielding 32 possible positions for an 8KHz sampling rate. As in the previous example, if the pulses are separated by 4 time instances, the mapping results in the assignment of 16 different pulse position and polarity combinations. However, in this example, the spacing between time instances is increased by a factor of 2 over the previous example, resulting in 8 different pulse position and polarity combinations. In a suitable example, modulator 235 may switch between different pulse position patterns or modulation frame durations depending on a feedback signal indicating channel conditions or transmission success. For example, modulator 235 may use a T of 2 millisecondsMFTo start transmission and then switch to T of 4 milliseconds if it is determined that the channel condition is poorMF
To increase the robustness of a particular vocoder, modulator 235 may change the initial time offset in the pulse position map. An example of a suitable pulse position map is shown in table 6. In this example, the modulator maps a 3-bit symbol per modulation frame. Each symbol is represented in terms of the position k of the pulse shape p (n-k) and the sign of the pulse. In this example, TMF2 milliseconds, resulting in 16 possible positions for an 8KHz sampling rate. The initial offset is set to 1 time instance and the pulses are separated by 4 time instances, resulting in the assignment of 8 different pulse position and polarity combinations, as shown in the table.
TABLE 6
0 000 p(n-1)
1 001 p(n-5)
2 010 p(n-9)
3 011 p(n-13)
4 100 -p(n-13)
5 101 -p(n-9)
6 110 -p(n-5)
7 111 -p(n-1)
It is recognized that reducing the number of interval time instances may result in an increase in the number of bits per symbol, and thus a higher data rate. For example, if TMFIs 4 milliseconds, then the resulting number of possible positions for an 8KHz sampling rate is32, each position having plus or minus polarity, thereby producing 64 different signals without including a space. For a 64-position map, the number of bits supported per symbol is 6, and the resulting effective data rate is 1500 bits per second. It should also be appreciated that TMFDifferent combinations with sampling rates may be used to achieve the desired effective bit rate.
An example of a suitable pulse shaper 239 is a root-raised cosine transform (root-raised cosine transform) of the form:
wherein beta is roll-off factor (1/T)sIs the maximum symbol rate and t is the sample time instance.
For the previous example with 32 possible pulse positions (time instances), the following transform produces a root raised cosine pulse shape, where the number of zeros preceding the first non-zero element of the pulse determines the exact position of the pulse within the frame.
It is recognized that the transform may be shortened or lengthened for different variations of modulation frame size.
Fig. 14A is an example of the placement of pulses within a modulation frame to generate a particular entry in a modulation alphabet. In fig. 14A, the pulse is represented by 13 samples shown as P0-P12, where each sample represents a non-zero element of r (n) shown in the previous example. Fig. 14B is an example of a typical implementation in the art. In fig. 14B, the pulse is located in the modulation frame TMF(n)1003 is at offset 7, and the "tail" portion of the pulse extends to the next modulation frame TMF4 samples (P9 to P12) in (n +1) 1004. If frame TMFThe pulse sample of (n +1) is located in frame TMFIn any of the first 4 samples of (n +1), then as shown in fig. 14B, from the modulation frame TMF(n)1003 extension to the next modulation frame TMFThe samples in (n +1)1004 will cause inter-symbol interference, since an overlap of samples will occur. Alternatively, in the "wrap-around" technique shown in FIG. 14A, it would have been extended to the next modulation frame TMFThe tail samples in (n +1)1004 are placed in the current modulation frame TMF(n)1003 is the beginning. Samples (P9-P12) wrap around to T at samples 0-3MF(n) beginning. Using a wraparound technique to generate the modulation alphabet eliminates the extension of the shaped pulse samples into the next modulation frame. The wraparound technique is advantageous because it causes reduced inter-symbol interference that would occur if the shaped pulse samples in the current frame extended into and overlapped with the shaped pulse samples in the next frame. Those skilled in the art will recognize that the wraparound technique may be used for any pulse position in a modulation frame that will result in samples extending in the next modulation frame. For example, in modulation frame TMFThe pulse at offset 8 within (n)1003 will wrap around the sample (P8-P12).
Another example of a suitable pulse shaper 239 is an amplitude transformed signal of the form:
r(n)·p(n-t)
an example of a 32 sample amplitude transformed signal is of the form:
another example of a suitable pulse shaper 239 is a linear predictive synthesis filter. Example recursive LPC Synthesis Filter response from its impulse response
And the coefficients: a (i) { -6312, 5677, -2377, 1234, -2418, 3519, -2839, 1927, -629, 96}/4096(i ═ 1,. 10). Linear prediction filters are well known in the art. First, a residual signal r (n) is generated from the input symbols according to the pulse mapping table. The actual modulation pulse shape is then generated by filtering the modulated signal r (n) with h (n).
Those skilled in the art will recognize that the techniques described herein are equally applicable to different pulse shapes and transforms. The length of the waveforms and the modulation scheme applied to the waveforms may also vary. Furthermore, the pulse shape may represent different symbols using completely uncorrelated (or orthogonal) waveforms. In addition to the polarity of the shaped pulses, the amplitude of the shaped pulses may also be used to carry information.
Referring again to fig. 2, the mute output S240 is a signal for separating Tx message transmissions and is generated by the mute generator 255. An example of a suitable composite Tx data S230 signal consisting of multiplexed Tx modulator output S235 and mute output S240 is shown in fig. 9. Tmu 1731, Td 1732, Tmu 2733, Td 2734, Tmu 3735, Td 3736, and Tmu 4737 represent the duration of time for which each signal is emitted. Examples of suitable ranges for Tmu1, Tmu2, Tmu3, and Tmu4 are 10-60 milliseconds, and examples of suitable ranges for Td1, Td2, and Td3 are 300-320 milliseconds for normal operation and 600-640 milliseconds for robust operation. Examples of suitable mute generator sequences may be an all-zero sequence signal or a sinusoidal frequency signal. Another suitable example of a signal for separating Tx message transmissions is shown in fig. 10. In this example, the wake-up output S236 signal and sync preamble output S242 precede each transmission of the Tx modulator output S235. Those skilled in the art will recognize that different combinations of sync preamble output S242, mute output S240, and Tx modulator output S235 may be equally applied. For example, Tx modulator output S235 in fig. 10 may be preceded and followed by mute output S240.
Receiver with a plurality of receivers
Referring to fig. 1, the receive baseband 400 typically routes decoded voice packets from the vocoder to the audio processor, but is also capable of routing decoded packets through the data demodulator. Because the non-speech data is converted to a noise-like signal and encoded by the vocoder at the transmitter, the vocoder of the receiver is able to efficiently decode the data with minimal distortion. The decoded packets continue to be monitored for in-band synchronization signals. If a synchronization signal is found, frame timing is recovered and the decoded packet data is routed to a data demodulator. The decoded packet data is demodulated into a message. The message is unformatted and output. The protocol sequence containing synchronization, control and messages ensures reliable detection and demodulation of non-voice data.
Voice packets are received over the communication channel 502 in the receiver 495 and input to the vocoder decoder 390, the decoded voice is generated in the vocoder decoder 390 and then routed to the audio output processor and speaker 315 via the demultiplexer 320, producing output audio S310.
Once the sync detector 350 detects a sync signal in the vocoder decoder output S370, the Rx demultiplexer control S360 signal switches to the Rx data path in the Rx demultiplexer 320. The vocoder packets are decoded by the vocoder decoder 390 and routed by the Rx demultiplexer 320 to the Rx timing 380, then to the Rx data modem 330. Rx data is demodulated by Rx data modem 330 and forwarded to data message deformatter 301 where output data S300 is made available to the user or interfaced devices.
Examples of suitable data message deformatter 301 include circuitry to deinterleave the Rx message S320 data, perform error control decoding such as hybrid automatic repeat request (HARQ), and calculate and check Cyclic Redundancy Check (CRC) bits. Suitable output data S300 may include User Interface (UI) information, user position/location information, time stamps, device sensor information, or other suitable data.
Fig. 15A is a suitable example block diagram of the sync detector and receiver controller 350 shown in fig. 1. The signal vocoder decoder output S370 is input to the synchronization burst detector 360 and the synchronization header detector 351. The synchronization burst detector 360 detects the transmitted synchronization burst signal in the vocoder decoder output S370 and generates a burst synchronization index S351. The synchronous header detector 351 detects the transmitted synchronous header output signal in the vocoder decoder output S370 and generates a header synchronization index S353. The signal burst sync index S351 and the header sync index S353 are input to the sync detector controller 370. Synchronous detector controller 370 generates an output signal: rx demultiplexer control S360 that routes vocoder decoder output S370 to either data path S326 or audio path S325; an audio mute control S365 that enables or disables the output audio signal S310; and a timing offset S350 that provides bit timing information to the Rx timing 380 to align the Rx data S326 for demodulation.
Another example of a suitable sync detector 350 is shown in fig. 15B. The signal vocoder decoder output S370 is input to the memory 352 and the synchronous header detector 351. The memory 352 is used to store the most recent vocoder decoder output S370 samples, which includes the received wakeup output signal. Suitable examples of memory 352 are first-in-first-out (FIFO) or Random Access Memory (RAM). The sync header detector 351 detects the transmitted sync header output signal in the vocoder decoder output S370 and outputs the sync flag S305 signal. The signal modulation type S306 and the sync flag S305 are input to the sync detector controller 370. The sync detector controller 370 generates a modulation search S307 signal that is used to access the memory 352, find the received wake-up output signal based on the timing offset S350, and evaluate the wake-up output signal to determine the type of modulation used in the transmission. The resulting detected modulation type is output from the memory 352 as the modulation type S306. Synchronous detector controller 370 also generates an output signal: rx demultiplexer control S360 that routes vocoder decoder output S370 to either the data path or the audio path; an audio mute control S365 that enables or disables the output audio signal S310; and a timing offset S350 that provides bit timing information to the Rx timing 380 to align the Rx data S326 for demodulation.
An example of a suitable synchronous burst detector 360 is shown in fig. 16. The signal vocoder decoder output S370 is input to the power calculator 361. Examples of suitable power calculator 361 include an input power function or an absolute value function that calculates the input signal. The vocoder decoder output S370 signal is also input to the mixer function 362 where it is multiplied by the in-phase and quadrature components of the reference frequency sinusoid 1363 and the frequency sinusoid 2364 to produce down-converted signal components at the frequency 0 Hz. The mixer 362 output is low pass filtered by LPF 365 to eliminate high frequency multiplier products in the mixed output. An example transfer function of a suitable LPF 365 has the following form:
wherein c is 0.0554, a1=2,a2=1,b1=-1.9742,b20.9744. The magnitudes of the in-phase and quadrature outputs of LPF 365 are calculated from magnitude 366 and summed in summer 367. The output of the adder 367 is input to a matched filter matched to the transmitted synchronization burst sequence368. Matched filters are well known in the art. The output of matched filter 368 is searched in a maximum search 369 for a maximum peak. Once the maximum value is found in the maximum search 369, an index of the time offset corresponding to the maximum value is output in the signal burst synchronization index S351.
An example signal vocoder decoder output S370 of a suitable sync header detector 351 shown in fig. 17A is processed by a matched filter 368 that matches the sync header sequence. The output of the matched filter 368 is then input to a maximum search 369 that searches for the largest peak. Once the maximum value is found in the maximum search 369, an index of the time offset corresponding to the maximum value is output in the header synchronization index S353.
Another example of a suitable sync header detector 351 is shown in fig. 17B. The signal vocoder decoder output is processed by the filter S370 in step 452. A suitable example of a filter in step 452 is a sparse filter having coefficients based on a band-pass filtered impulse response of the preamble sequence. The sparse filter has a finite impulse response structure with some of the coefficients set to zero, and is based on the reduction in computational complexity due to the need for fewer multipliers for zero coefficients. Sparse filters are well known in the art. In step 453, the filter output is searched to find the largest positive and negative correlation peaks that match the expected pattern based on the negative and positive correlation peak distances. For example, based on sync header sequence 245, 5 peaks should be found in step 453: corresponding to 3 positive peaks of correlation with a pseudo-random noise (PN) sequence 243 and 2 negative peaks of correlation with an inverted version 244 of the PN sequence. In a suitable example, the sync detector should find at least 2 peaks in order to declare that a sync preamble is detected. In step 461, the number of peaks detected is counted, and if most peaks are detected, then the sync indicator flag is set to "true" in step 460, indicating that header sync has been detected. A suitable example of detecting the majority of peaks is 4 of 5 peaks that match the expected pattern. If most of the peaks are not detected, control passes to step 454, where the temporal distance between the positive peaks found in step 453 is compared to the expected distance PeakDistT 1. The peakditt 1 is set as a function of the period of the PN sequence 242, since filtering the received preamble against the PN sequence 242 should result in a distance in time between correlation peaks that is equal to some multiple of the period. If the temporal distance between the positive peaks is found to be within the range of PeakDistT1, then the positive peak amplitudes are checked against a threshold PeakAmpT1 in step 455. A suitable range for peakditt 1 is plus or minus 2 samples. PeakAmpT1 is a function of the amplitude of the previous peak found. In a suitable example, PeakAmpT1 is set such that the peaks found in step 453 differ in amplitude by no more than a factor of 3, and the average peak amplitude does not exceed half of the maximum peak amplitude observed so far. If either the positive peak time distance check in step 454 or the amplitude check in step 455 fails, then the negative peak time distance is checked in step 456. If the negative peak temporal distance is within the range of PeakDistT2, then the negative peak amplitude is checked against a threshold value PeakAmpT2 in step 457. A suitable range for peakditt 2 is plus or minus 2 samples. Peakditt 2 is set as a function of the period of the PN sequence 242 and PeakAmpT2 is set as a function of the amplitude of the previous peak found. If the positive peak time distance check in step 454 and the positive peak amplitude check in step 455 or the negative peak time distance check in step 456 and the negative peak amplitude check in step 457 pass, then the synchronization indicator flag is set to "true" in step 460, indicating that header synchronization has been detected. If either the negative peak time distance check in step 456 or the negative peak amplitude check in step 457 fails, then the synchronization indicator flag is set to "false" in step 458, indicating that header synchronization has not been detected. It should be recognized that different orders and combinations of the steps will achieve the same results. For example, the detection of most peaks in step 461 may be performed after the positive peak check of steps 454 and 455.
An example of a suitable synchronous detector controller 370 is shown in fig. 18 a. Step 407 is the entry point in the controller which initializes the memory buffer and configures the initial state of the receiver. In step 406, the synchronization search type is checked to indicate whether to search for a synchronization signal in the Rx data path or the Rx audio path. If the Rx audio path is being searched for synchronization, step 372 is entered. Using the burst synchronization index S351, the maximum synchronization burst and index are searched over a plurality (N1) of processing frames in step 372. Step 373 determines whether the largest synchronization burst and index searched in step 372 passes the successful search criteria. Examples of suitable search decision criteria in step 373 have the form:
(smax max≥ThSB) And (i)smax≤Nsync-Nguard)
Wherein s ismax maxFor the largest of the synchronization bursts found over N1 processed frames, ThSBDetection of threshold for synchronization burst, ismaxFor maximum synchronization burst index, NsyncIs the number of processing frames searched, and NguardIs the latency period in processing the frame. If no sync burst is found, control passes back to step 406 and the search is restarted. If a sync burst is found, control passes to step 374 where a signal audio mute control S365 is generated to prevent the audio path from being output on the speaker. In step 375, the maximum sync header and index is searched over a plurality (N2) of processing frames using the header sync index S353. Step 376 determines whether the largest sync header and index searched in step 375 passes the successful search criteria. Examples of suitable search decision criteria in step 376 have the form:
(c1·(smax max/P(ismax))2+c2·z2max max)≥ThPD
wherein s ismax maxFor the largest of the synchronization bursts found over N1 processed frames, c1And c2Is a scaling factor, zmax maxIs the maximum value of the output of the matched filter 368 in the sync header detector 351, P (i)smax) To index at the maximum sync burst ismaxAt the maximum power of maximum search 369 input into synchronous burst detector 360. If a sync header is not found in step 376, control passes back to step 406 and the search is restarted. If a sync header is found, a signal Rx demultiplexer control S360 is generated in step 378 to switch to the Rx data path in the demultiplexer 320. Control then passes to step 377, where the signal timing offset is calculated S350. Examples of suitable timing offset calculations have the following form:
timing offset of ((i)zmax-Nsync-1)·Nsamp)+(kmax·izmax)
Wherein izmaxIs the index, N, of the matched filter 368 in the sync header detector 351 at the maximum of the output over one framesyncFor the number of processing frames searched, NsampIs the number of samples in one frame, and kmaxWhich is the phase of the maximum value of the output of the matched filter 368 in the sync header detector 351 over one frame. Control then passes to step 418 where the Rx modem 330 is enabled via the signal Rx modem enable S354, then finally passes back to step 406 and the search is restarted. If the Rx data path is being searched for synchronization, step 372a is entered. Steps 372a, 373a, 375a and 376a serve the same function as steps 372, 373, 375 and 376, respectively; the main difference is that the audio path is not muted and the demultiplexer does not switch from Rx audio to Rx data when the sync search type checked in step 406 is Rx data.
Another example of a suitable synchronous detector controller 370 is shown in fig. 18 b. Step 407 is the entry point in the controller which initializes the memory buffer and configures the initial state of the receiver. In step 406, the synchronization search type is checked to indicate whether to search for a synchronization signal in the Rx data path or the Rx audio path. Control then passes to step 411 where the header detector 351 is enabled. Step 412 checks the signal sync flag S305, indicating that a sync header has been found, and then confirms this by repeating the check on the sync flag S305 a total of N times. A suitable value for N is 1 for the destination terminal 600 (i.e., only 1 detected header is not acknowledged) and 3 for the source terminal 100. If a sync preamble is found, a signal audio mute control S365 is generated to prevent the audio path from being output to the speaker. A signal Rx demultiplexer control S360 is then generated in step 378 to switch from the Rx audio path to the Rx data path in the demultiplexer 320. Control then passes to step 377, where the signal timing offset is calculated S350. Examples of suitable timing offset calculations have the following form:
timing offset-pulse position + peak distance
The pulse position (PulsePosition) is the distance in time from the positive correlation peak to the first reference time instance, and may be a positive or negative value. The peak distance (peak distance) is the distance in time between the positive correlation peak and the negative correlation peak. An example of a suitable first reference time instance may be a certain sample position relative to a currently received speech frame. Another example of a suitable timing offset calculation has the form:
timing offset-pulse position
The pulse position is the distance in time from the negative correlation peak to the second reference time instance and may be a positive or negative value. An example of a suitable second reference time instance may be a certain sample position relative to a currently received speech frame. Control then passes to step 414 where the modulation type is determined via signal modulation search S307 by searching in memory 352 at a predetermined location where the received wake-up output signal should be stored. Control then passes to step 418 where the Rx modem 330 is enabled via signal Rx modem enable S354. In step 418, the demodulation scheme used in Rx modem enable S354 is determined by modulating the type S306 input signal. Control finally passes back to step 406 and the search is restarted. If the Rx data path is being searched for synchronization, step 411a is entered. Steps 411a and 412a function identically to steps 411 and 412, respectively; the main difference is that the audio path is not muted and the demultiplexer does not switch from Rx audio to Rx data when the sync search type checked in step 406 is Rx data. It should be recognized that different orders and combinations of the steps will achieve the same results. For example, the step mute audio path 374 and the path switch step 378 may be switched without affecting the overall synchronization detection.
FIG. 19 is a block diagram of a suitable example of Rx timing 380 shown in FIG. 1. The Rx timing 380 is used to align modulation frame boundaries in the data output from the vocoder decoder 390 so that demodulation in the Rx data modem 330 can occur. The signal Rx data S326 is input to a buffer 381 in which several samples are stored. Suitable examples of buffer 381 include first-in-first-out (FIFO) memory or Random Access Memory (RAM). The samples from buffer 381 are input to variable delay 382, where a time delay is applied to align the modulation frame boundaries corresponding to the timing offset S350 control signal. A suitable delay applied in variable delay 382 may be any number (from zero to frame size-1) of samples. The delayed signal is output as the adjusted Rx data S330.
Fig. 20 is a block diagram of a suitable example of Rx data modem 330 shown in fig. 1. Two signals from the adjusted Rx data S330 input signal are demultiplexed in time via the Rx data modem demultiplexer 331: demultiplexer mute S332 and demultiplexer Rx data S333. Demultiplexer mute S332 is an interval or mute period that may exist between consecutively received messages and is stripped from the adjusted Rx data S330 signal if an interval or mute signal has been applied at the transmitter. Demultiplexer Rx data S333 is the received modulated message signal input to demodulator 335. The demodulator 335 demodulates the received message information bits from the adjusted Rx data S330. The Rx data modem 330 determines the data signal pulse position using the demodulation frame boundary determined by the Rx timing 380 and the demodulation type indicator determined by the sync detector controller 370 and calculates the output data symbol based on the data signal pulse position. An example of a suitable demodulator is a matched filter correlator matched to all allowed cyclic shifts of the modulation pulse shape imposed by the transmit data modulator. Another example of a suitable demodulator is a matched filter correlator matched to a bandpass filtered version of the pulse applied by the transmit data modulator, where the bandpass filter represents the transmit characteristics of the channel.
System for controlling a power supply
FIG. 21 is an example use case of the systems and methods disclosed herein. The figure shows a typical example of an on-board emergency call (e-call) system. A vehicle incident (vehicle incident)950 is shown as an accident between two vehicles. Other suitable examples of vehicle events 950 include a multiple vehicle accident, a single vehicle flat tire, a single vehicle engine failure, or a vehicle failure or other situation where a user needs assistance. An in-vehicle system (IVS)951 is located in one or more of the vehicles involved in the vehicle event 950, or may be located on the user's own body. The in-vehicle system 951 may be comprised of the source terminal 100 described herein. The in-vehicle system 951 communicates over a wireless channel that may consist of an uplink communication channel 501 and a downlink communication channel 502. The in-vehicle system may receive a request for data transmission via the communication channel, or the request for data transmission may be generated automatically or manually at the in-vehicle system. Wireless tower 955 receives transmissions from onboard system 951 and interfaces to a wired network consisting of wired uplink 962 and wired downlink 961. A suitable example of a wireless tower 955 is a cellular telephone communications tower, which consists of antennas, transceivers, and backhaul equipment for interfacing to the wireless uplink 501 and downlink 502 as is well known in the art. The wired network interfaces to a Public Safety Answering Point (PSAP)960 where emergency information transmitted by the in-vehicle system 951 may be received and control and data transmitted. The public safety answering point 960 may be comprised of the destination terminal 600 described herein. The communication between the onboard system 951 and the public safety answering point 960 is implemented using the interaction diagram described in the following section.
Fig. 22 is an example interaction diagram of synchronization and data transmission sequences between the source terminal 100 and the destination terminal 600. In this example, the destination terminal 600 initiates an uplink transmission sequence 810. The downlink transmission sequence 800 is the transmission of synchronization and data messages from the destination terminal 600 to the source terminal 100, and the uplink transmission sequence 810 is the transmission of synchronization and data messages from the source terminal 100 to the destination terminal 600. The destination terminal 600 starts a downlink transmit sequence 800 with a synchronization sequence 801 at time t 0850. Suitable examples of synchronization sequences 801 are those described in fig. 8A, 8B, and 8C. After the synchronization sequence 801, the destination terminal 600 transmits a "start" message 802 to instruct the source terminal 100 to start transmitting its uplink transmission 810 sequence. The destination terminal 600 continues to transmit alternating synchronization 801 and "start" messages 802 and awaits a response from the source terminal 100. At time t1851, the source terminal 100 starts transmitting its own synchronization sequence 811 upon receiving the "start" message 802 from the destination terminal 600. Suitable examples of synchronization sequences 811 are those described in fig. 8A, 8B, and 8C. After the synchronization sequence 811, the source terminal 100 transmits a minimum set of data or "MSD" messages 812 to the destination terminal 600. Suitable examples of data containing MSD messages 812 include sensor or user data formatted by data message formatter 210. At time t 2852, the destination terminal 600 begins transmitting a negative acknowledgement or "NACK" message 803 to the source terminal 100 upon receiving the synchronization message 811 from the source terminal 100. The destination terminal 600 continues to transmit alternating synchronization 801 and "NACK" messages 803 until it successfully receives an MSD message 812 from the source terminal 100. A suitable example of successful receipt of the MSD message 812 includes checking a cyclic redundancy check performed on the MSD message 812. At time t 3853, the destination terminal 600 begins transmitting alternating synchronization 801 and acknowledgement or "ACK" messages 804 upon successful receipt of an MSD message. The source terminal 100 may attempt to send the MSD message 812 multiple times (813, 814) until it receives the "ACK" message 804. In a suitable example, if the source terminal 100 attempts to send an MSD message more than 8 times (where each attempt is a different redundancy version), it switches to wake-upThe more robust modulation scheme identified by signal S236. Suitable examples of more robust modulation schemes include increasing the duration T of a modulation frame while maintaining a constant number of time instancesMFAs previously described. At time t 4854, the source terminal 100 interrupts transmission of the MSD message 814 upon receiving the "ACK" message 804 from the destination terminal 600. In a suitable example, the destination terminal 600 requests retransmission via transmission of the start message 802 again after the destination terminal 600 has sent a predetermined number of "ACK" messages 804.
Fig. 23A is another example interaction diagram of synchronization and data transmission sequences between the source terminal 100 and the destination terminal 600. In this case, the uplink transmission sequence 810 is initiated by the source terminal 100. By configuring the source terminal 100 transmit baseband 200 as the Tx audio path S225, the source terminal 100 initiates an uplink transmit sequence 810 with voice data 815 at time t0850 a. At time t1851 a, the source terminal 100 configures the transmit baseband 200 as the Tx data path S230 and begins transmitting its synchronization sequence 811, followed by the transmission of the MSD message 812. At time t 2852 a, the destination terminal 600, upon receiving the synchronization message 811 from the source terminal 100, begins transmitting alternating synchronization 801 and "NACK" messages 803 to the source terminal 100. The destination terminal 600 continues to transmit alternating synchronization 801 and "NACK" messages 803 until it successfully receives an MSD message from the source terminal 100. At time t 3853, the destination terminal 600 begins transmitting alternating synchronization 801 and acknowledgement or "ACK" messages 804 upon successful receipt of the MSD message 813. The source terminal 100 may attempt to send the MSD message 812 multiple times until it receives the "ACK" message 804, with each attempt being a different redundancy version. At time t 4854, the source terminal 100 interrupts the transmission of the MSD message 814 upon receiving the "ACK" message 804 from the destination terminal 600.
Fig. 23B is another example interaction diagram of synchronization and data transmission sequences between the source terminal 100 and the destination terminal 600. In this case, the uplink transmission sequence 810 is initiated by the source terminal 100. Instead of transmitting voice data on the uplink to initiate transmission, the source terminal 100 transmits alternating synchronization 811 and SEND messages 805 at time t0850 b. At time t1851 b, the destination terminal 600 transmits alternating synchronization 801 and "start" messages 802 upon receiving a send message 805 from the source terminal 100. At time t 2852 b, the source terminal 100, upon receiving the "start" message 802 from the destination terminal 600, transmits a synchronization sequence 811 followed by an MSD message 812 to the destination terminal 600. At time t 3853 b, the destination terminal 600, upon receiving a synchronization message 811 from the source terminal 100, transmits alternating synchronization 801 and "NACK" messages 803 to the source terminal 100. At time t 4854 b, destination terminal 600 transmits alternating synchronization 801 and "ACK" messages 804 upon successful receipt of an MSD message. Upon receiving the "ACK" message 804 from the destination terminal 600, the source terminal 100 interrupts the transmission of the MSD message.
Fig. 24A is an example interaction diagram of synchronization and data transmission sequences between the source terminal 100 and the destination terminal 600. In this case, both the source terminal 100 and the destination terminal 600 request and transmit data on the uplink and downlink, respectively, to support bidirectional data transmission. The destination terminal 600 initiates a downlink transmission sequence 800 with an alternating synchronization sequence 801 and a "start" message 802 at time t 0850. At time t1851, the source terminal 100, upon receiving the "start" message 802 from the destination terminal 600, begins transmitting its synchronization sequence 811 and then transmits the data 812. At time t 2852, the destination terminal 600 transmits alternating synchronization 801 and "NACK" messages 803 until it successfully receives the data 812 from the source terminal 100, after which the destination terminal 600 then sends alternating synchronization sequences 801 and "ACK" messages 804. At time t 4854, the source terminal 100 interrupts its data transmission upon receiving the "ACK" message 804 from the destination terminal 600. At time t 5855, the destination terminal 600 transmits an alternating synchronization sequence 801 and a "send" message 805 indicating a request to transmit data on the downlink. At time t 6856, the source terminal 100, upon detecting the "send" message 805, responds with an alternate synchronization sequence 811 and a "start" message 816. At time t 7857, the destination terminal 600 responds with a synchronization sequence 801 followed by data 806 upon detection of the "start" message 816. At time t 8858, the source terminal 100 transmits alternating synchronization sequences 811 and "NACK" messages 817 until it successfully receives the data 806 from the destination terminal 600, after which the source terminal 100 sends alternating synchronization sequences 811 and "ACK" messages 818 at time t 9859. At time t 10860, the destination terminal 600 interrupts its transmission of data 806 upon receiving an "ACK" message 818 from the source terminal 100. Those skilled in the art will recognize that the interaction described herein is symmetric and may be initiated by the source terminal 100. Those skilled in the art will also recognize that the synchronization sequence, start message, NACK message, and ACK message may each be the same or different sequences between those sequences, messages transmitted on the downlink and uplink.
Fig. 24B is another example interaction diagram of synchronization and data transmission sequences between the source terminal 100 and the destination terminal 600, where both the source terminal 100 and the destination terminal 600 request and transmit data on the uplink and downlink, respectively. The difference between the interactions of FIG. 24B and FIG. 24A occurs at t 3853. In this example, the destination terminal 600 transmits alternating synchronization 801 and "send" messages 805, rather than alternating synchronization and "ACK" messages. In this example, the "send" message 805 is used to indicate that the destination terminal 600 has successfully received the data 812 of the source terminal 100 and caused the source terminal 100 to discontinue its data transmission at t 4854. The "send" message also indicates a request from the destination terminal 600 to send data on the downlink.
Fig. 25 is a diagram of an example of the composition of a transmit data packet whereby the length of the user data is less than the transmit data packet length. The user data section 900 is assembled into a transmit data packet 806 or 812 along with a sequence of preceding length indicators 910 and following padding bits 911 used to fill the data to the end of the transmit data packet. A suitable example of length indicator 910 is a 1-3 byte value that indicates the length of user data segment 900. A suitable example of a transmit data packet length 806 or 812 may be 100 bytes to 200 bytes. Suitable examples of fill bits 911 include a binary "0" value. One skilled in the art will recognize that fill bit 911 may consist of a binary "1" value, or may consist of a pattern of binary "1" and "0" values.
Fig. 26 is a diagram of an example of the composition of a transmission packet whereby the length of user data is greater than the transmission packet length. User data 900 is divided into multiple segments such that the first segment plus the length indicator equals the transmit packet length and the subsequent segments equal the transmit packet length. If the user data is not an integer multiple of the length of the transmitted data packet, the last sector contains padding. In the example of fig. 26, the user data is divided into two sections. The first user data section 901 is assembled into a transmission data packet 806 or 812 along with the preceding length indicator 910. The second user data segment 902 is assembled into a transmit data packet 806 or 812 and because the segment is smaller than the transmit data packet length, padding 911 is used to fill the data to the end of the transmit data packet.
Fig. 27A is an example interaction diagram of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size. Starting with a start message in downlink transmission 800 or uplink transmission 810 for the requesting terminal, at time t 20870, the responding terminal transmits a first transmission data packet 806 or 812 consisting of length indicator 910 and first user data section 901. At time t 21871, the responding terminal begins to transmit user data again in the second attempt 903, since it has not received the ACK message. At time t 22872, the responding terminal interrupts transmission of the first data packet 806 or 812 upon receiving the ACK message. At time t 23873, the requesting terminal requests the next transmission of data packet 806 or 812 by transmitting a start message to the responding terminal after evaluating length indicator 910 to determine how many sections are expected. At time t 24874, the responding terminal, upon receiving the start message from the requesting terminal, begins transmitting the next transmit packet 806 or 812 (which in this example is the last packet) consisting of the next user data segment 902 and the padding 911. At time t 25875, the responding terminal discontinues its data transmission after receiving the ACK message. Those skilled in the art will recognize that the interactions described herein are symmetric, whereby the requesting and responding terminals may be either of the source terminal 100 or the destination terminal 600. Those skilled in the art will also recognize that user data may span more than two transmission data packets 806 or 812.
Fig. 27B is another example interaction diagram of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size. In this example, after requesting a first transmission data packet 806 or 812 via a start message transmitted by the requesting terminal, the responding terminal automatically transmits a subsequent transmission data packet 806 or 812 based on receiving an ACK message from the requesting terminal. In this example, the requesting terminal does not transmit a start message to initiate transmission of a subsequent transmission data packet 806 or 812 from the responding terminal. At time t 31881, the responding terminal interrupts transmission of the first data packet upon receipt of the ACK message, and then immediately begins transmitting the next transmission data packet 806 or 812 separated by only a synchronization sequence. At time t 32882, the requesting terminal starts transmitting a NACK message after receiving the synchronization sequence until it successfully receives the transmit data packet 806 or 812. At time t 33883, the requesting terminal begins transmitting an ACK message after successfully receiving the transmit data packet 806 or 812. At time t 34884, the responding terminal discontinues transmission of the transmit data packet 806 or 812 upon receiving the ACK message.
Fig. 27C is yet another example interaction diagram of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size. In this example, after requesting a first transmission data packet 806 or 812 via a start message transmitted by the requesting terminal, the responding terminal automatically transmits a subsequent transmission data packet 806 or 812 based on receiving an ACK message from the requesting terminal. In this example, the requesting terminal does not transmit a start message to initiate transmission of data packet 806 or 812 from the responding terminal, and the requesting terminal does not transmit a NACK message. At time t 41891, the responding terminal interrupts transmission of the first data packet upon receipt of the ACK message, and then immediately begins transmitting the next transmission data packet 806 or 812 separated by only a synchronization sequence. At time t 42892, the requesting terminal begins transmitting an ACK message after successfully receiving the transmit data packet 806 or 812. The responding terminal interrupts transmission of the transmit data packet 806 or 812 once it receives the ACK message.
Fig. 27D is a further example interaction diagram of a transmit data request sequence and a transmit data response sequence, where the user data length is greater than the transmit packet size. FIG. 27D is an alternative diagram to the example interaction diagram shown in FIG. 27B. In the example of fig. 27D, the time gap at t 32882 between the ACK message for the first user data segment 903 and the NACK for the next user data segment 902 for the requesting terminal is eliminated. This helps to maintain timing at the responding terminal so that resynchronization with the requesting terminal synchronization sequence is not required.
One skilled in the art will recognize that the responding terminal may automatically transmit a data packet subsequent to the first data packet without transmitting the sync sequence separator. In this case, the synchronization sequence is sent once prior to the first transmission packet 806 or 812, and then, upon receiving the ACK message, the responding terminal automatically transmits a subsequent packet without sending synchronization. Those skilled in the art will also recognize that the length indicator 910 may be transmitted with other data segments in addition to the first data segment.
In the interaction graph disclosed herein, there may be error conditions that should be responded to and handled in a predetermined manner. The following sections provide examples with respect to error state handling corresponding to the interaction diagrams disclosed herein. In each instance, an error status is stated along with the corresponding response description. Those skilled in the art will recognize that the error handling described herein may apply equally to either a source terminal or a destination terminal in both unidirectional and bidirectional embodiments.
An example error condition occurs when the source terminal does not detect the transmitted sync header. In an example response, the source terminal delays transmission of the MSD message until a predetermined number of synchronization headers have been detected.
Another example error condition occurs when the source terminal incorrectly detects the sync header. In an example response, the source terminal delays transmission of the MSD message until a predetermined number of detected sync headers yield the same sample offset.
Another example error condition occurs when the source terminal does not actually detect the sync header but does not actually transmit any sync header. In the instance response, the source terminal ignores the inappropriately detected sync header. The source terminal will trigger MSD transmission only if a predetermined number of detected sync headers yield the same sample offset estimate.
Another example error condition occurs when the destination terminal does not detect the transmitted sync header. In an example response, the destination terminal does not begin decoding MSD messages, but continues to transmit START (START) messages in order to trigger the source terminal to re-initiate MSD transmissions after receiving a predetermined number of START messages (including a synchronization header sequence).
Another example error condition occurs when the destination terminal incorrectly detects the sync header. In an example response, the destination terminal incorrectly decodes the received MSD data in all redundancy versions. Based on the incorrectly decoded data, the destination terminal may reinitiate MSD transmission by sending a start message to the source terminal.
Another example error condition occurs when the destination terminal does not actually detect the sync header but does not actually transmit any sync header. Since the probability of this occurring is very low, there is no response. The destination terminal does not start monitoring its received signal until it expects a sync preamble from the source terminal.
Another example error condition occurs when the source terminal misinterprets the start message as a NACK message. In an example response, if MSD transmission has not started, the source terminal delays the MSD transmission until it receives a start message. In another example response, if an MSD transmission is ongoing, the source terminal delays re-initialization of the transmission.
Another example error condition occurs when the source terminal misinterprets the start message as an ACK message. In an example response, the source terminal ignores any ACK messages if MSD transmission has not started. In another example response, the source terminal ignores the ACK if the previous message has been interpreted as a start message. In yet another example response, if the previous message is a NACK message, the source terminal discontinues transmission and terminates the MSD transmission if the next message is also interpreted as an ACK. In yet another example response, the source terminal erroneously terminates the MSD transmission if a previous message has been interpreted as an ACK. However, the likelihood of such an event is low, if this does occur, the destination terminal may re-initiate the transmission again by sending a request with a start message.
Another example error condition occurs when the source terminal misinterprets a NACK message as a start message. In the example response, the single NACK interpreted as the start does not have any impact on the MSD transmission. In another example response, a series of NACK messages all interpreted as start messages may cause the source terminal transmitter to re-initiate MSD. The destination terminal will not anticipate this and will fail to receive the incoming data, achieving this with incorrectly decoded data. Based on the incorrectly decoded data, the destination terminal may request the source terminal to reinitiate the transmission by sending a start message.
Another example error condition occurs when the source terminal misinterprets a NACK message as an ACK message. In the example response, the source terminal ignores any ACK messages if the previous message has been interpreted as a start message. In another example response, the source terminal waits for another ACK if the previous message has been interpreted as a NACK message. If the subsequent message is not another ACK, the current ACK is ignored. In yet another example response, the source terminal may terminate MSD transmission if the previous message has also been erroneously detected as an ACK message, even though the destination terminal has not correctly received the MSD. However, the likelihood of such an event is low, if this does occur, the destination terminal may re-initiate the transmission again by sending a request with a start message.
Another example error condition occurs when the source terminal misinterprets the ACK message as a start message. In an example response, the source terminal will not abort transmission of the additional redundancy version of MSD because a common abort condition is receipt of a predetermined number of ACK messages. The source terminal may reinitiate MSD transmission if more subsequent messages are interpreted as start messages. Eventually, the destination terminal will stop transmitting messages. The source terminal will eventually determine that the destination terminal is no longer transmitting synchronization frames and reset itself, thereby stopping further transmissions.
Another example error condition occurs when the source terminal misinterprets an ACK message as a NACK message. In an example response, the source terminal will continue to transmit redundancy versions until the ACK message is correctly detected. Eventually, the destination terminal will stop transmitting messages. The source terminal will eventually determine that the destination terminal is no longer transmitting synchronization frames and reset itself, thereby stopping further transmissions.
Another example error condition occurs when the source terminal determines that the received message is unreliable. In an example response, if the received message is a start message, the source terminal continues to count the unreliable messages but with a lower weighting factor than if the message was received with a reliable determination. Subsequent triggering of an event based on the count of received messages would require a larger predetermined number of unreliable received messages relative to the case where the messages are received with a reliable determination. In another example response, the source terminal may ignore the unreliable received message if the message is a NACK message or an ACK message.
Another example error condition occurs when the destination terminal is unable to detect the transmitted MSD due to noise or other channel distortion. In an example response, the destination terminal may request the source terminal to re-initiate transmission by sending a start message after attempting to decode a predetermined number of redundancy versions. In the reinitiated transmission, the source terminal may use a robust modulator that is not prone to noise and other channel distortions.
Another example error condition occurs when the destination terminal cannot properly evaluate the wake-up signal. In an example response, if the destination terminal considers the wake-up signal detection to be unreliable, it selects a fast (or normal) modulation mode for initial trials to demodulate the MSD data. For any other set of a predetermined number of received redundancy versions of MSD data, the destination terminal may demodulate the data using a robust modulation scheme.
Accordingly, an apparatus and method are disclosed herein for reliably and efficiently transmitting data in-band via a voice codec in a wireless communication system. Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, and symbols that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. Also, although the embodiments are described primarily in terms of wireless communication systems, the described techniques may be applied to other in-band data communication systems that are fixed (non-portable) or do not involve a wireless channel.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CDROM, or any other form of storage medium known in the art. A storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (12)

HK11107732.5A2008-06-052009-06-05System and method of an in-band modem for data communications over digital wireless communication networksHK1155288B (en)

Applications Claiming Priority (7)

Application NumberPriority DateFiling DateTitle
US61/059,1792008-06-05
US61/087,9232008-08-11
US61/093,6572008-09-02
US61/122,9972008-12-16
US61/151,4572009-02-10
US61/166,9042009-04-06
US12/477,6082009-06-03

Publications (2)

Publication NumberPublication Date
HK1155288A HK1155288A (en)2012-05-11
HK1155288Btrue HK1155288B (en)2015-02-18

Family

ID=

Similar Documents

PublicationPublication DateTitle
CN102057597B (en) Systems and methods for an in-band modem for data communications over a digital wireless communications network
CA2848480C (en)System and method of an in-band modem for data communications over digital wireless communication networks
US8958441B2 (en)System and method of an in-band modem for data communications over digital wireless communication networks
US9083521B2 (en)System and method of an in-band modem for data communications over digital wireless communication networks
TWI405443B (en)System and method of an in-band modem for data communications over digital wireless communication networks
CN102057600B (en) Systems and methods for an in-band modem for data communications over a digital wireless communications network
HK1155288B (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1155288A (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1153591B (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1155578B (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1153320B (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1155580B (en)System and method of an in-band modem for data communications over digital wireless communication networks
HK1211375B (en)System and method of an in-band modem for data communications over digital wireless communication networks

[8]ページ先頭

©2009-2025 Movatter.jp