FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
1. Title of the invention: WIRELESS DATA COMMUNICATION OVER ACOUSTIC CHANNEL
2, Applicants)
NAME NATIONALITY ADDRESS
TATA CONSULTANCY INDIAN Nirmal Building, 9th Floor, Nariman Point,
SERVICES LIMITED Mumbai, Maharashtra 400021, India
3. Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
TECHNICAL FIELD
[0001] The present subject matter relates, in general, to data communication and, in
particular, but not exclusively, to wireless data communication over an acoustic channel.
BACKGROUND
[0002] Typically, data communication requires a communication network to exchange
data from one point to another. The communication network acts as a link between various communication devices, such as mobile phones, cell phones, computers, laptops, and PDAs, connected to that network. To facilitate exchange of data between the communication devices, multiple protocols have been suggested in the communication network. Data transmission methods use multiple error correction methods to reduce error in data transmissions. Data transmissions implementing communication protocols also utilize different modulation methods, such as, Phase-Shift Keying (PSK), Amplitude-Shift Keying (ASK), Quadrature Amplitude Modulation (QAM), and Frequency-Shift Keying (FSK) to allow efficient and non-erroneous data transmission.
[0003] Such multiple protocols can be implemented in wired as well as wireless
communication networks. Typically, in a wireless network communications link, radio and infrared signals are used to exchange data across different communicating systems and the elimination of physical wires for connecting to the communication network has made data exchange easy and convenient. The availability of wireless network connections is becoming more and more common, allowing for the use of wireless communication technology in various fields, such as tele-communication, radio and television broadcasts, architectural testing devices, defense systems, and medical diagnostic equipments.
[0004] In recent years the number of users utilizing these communication links for
various purposes has increased resulting in an increase in the overall traffic. However, due to limited resource of the communication network, such as radio channels, the increasing number of users has posed the need to seek different methods of wireless data communication.
SUMMARY
[0005] This summary is provided to introduce concepts related to data communication
over acoustic channel, which are further described below in the detailed description. This
summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0006] In one embodiment of the present subject matter, methods and systems for data
communication over acoustic channel are described. The method of data communication may include receiving data for transmission over an acoustic channel where the data is divided into one or more data sequences to generate an encoded data sequence. The method also includes modulating the encoded data sequence based on a lattice multi-tone frequency shift keying (FSK) to generate a modulated signal where the multi-tone FSK involves a plurality of frequencies and where the frequencies are based on a multi-dimensional frequency lattice. Further, the method includes transmitting the modulated signal over the acoustic channel.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
[0008] Fig. 1 illustrates a wireless communication environment for data communication
in wireless communication network, in accordance with an embodiment of the present subject matter.
[0009] Fig. 2(a) schematically illustrates components of a wireless communication
transmitting system, in accordance with an embodiment of the present subject matter.
[0010] Fig. 2(b) illustrates a hexagonal lattice in 2-Dimensional frequency structure, in
accordance with an embodiment of the present subject matter.
[0011] Fig. 2(c) illustrates a pulse shaped window utilized for data communication over
an acoustic channel, in accordance with an embodiment of the present subject matter.
[0012] Fig. 3(a) schematically illustrates components of a wireless communication
receiving system, in accordance with an embodiment of the present subject matter.
[0013] Fig. 3(b) illustrates representation of a received filtered signal, in accordance with
an embodiment of the present subject matter.
[0014] Fig. 3(c) illustrates the TKEO result for received data signal, in accordance with
an embodiment of the present subject matter.
[0015] Fig. 4 illustrates a method to transmit data over an acoustic channel, in
accordance with an embodiment of the present subject matter.
[0016] Fig. 5 illustrates a method to receive data over an acoustic channel, in accordance
with an embodiment of the present subject matter.
[0017] Fig. 6(a) and Fig. 6(b) illustrate the error rate performance for data transmissions,
in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0018] Method(s) and system(s) for data communication over an acoustic channel are
described. In one implementation, the upper audio band of the acoustic channel is utilized to transmit and receive data. The methods can be implemented in systems capable of exchanging data in wireless networks and support frequency modulation of baseband signals. Although the description herein is with reference to wireless acoustic channel, the methods and systems may be implemented in other channels, albeit with a few variations, as will be understood by a person skilled in the art.
[0019] The systems and methods can be implemented in a variety of entities, such as
communication devices, and computing systems. The entities that can implement the described method(s) include, but are not limited to, desktop computers, hand-held devices, laptops or other portable computers, tablet computers, mobile phones, PDAs, smartphones, and the like. Further, the method may also be implemented by devices capable of exchanging data to provide connectivity to different communicating devices and computing systems.
[0020] Such devices may include, but are not limited to, data cards, mobile adapters,
wireless (WiFi™) adapters, routers, and the like. Since the data is communicated over acoustic channel, devices capable of transmitting and receiving acoustic signals, such as music players, loud speakers, and radios may also utilized. Certain wireless devices, such as garage door
openers, keyless entry systems for automobiles, and remote control devices for home entertainment equipment, which provide unidirectional communication may also be used for the implementation of the described technique.
[0021] In particular, the systems and methods may be implemented in any network and/
or in any communication device that is capable of exchanging data over the acoustic channel. Although the description herein is with reference to certain communication networks, the systems and methods may be implemented in other communication networks and devices, albeit with a few variations, as will be understood by a person skilled in the art.
[0022] Moreover, the Radio Frequency (RF) and Infra Red (IR) channel may not be
available for several different kinds of data exchanges like short distance communications, device to device communications, etc. Also, for such communications, the use of RF or IR may not be cost effective due to the complexity of computation and cost of hardware involved. Thus, alternate channels for communication which provide efficient and reliable data transmission are sought for.
[0023] In accordance with the present subject matter, acoustic communication techniques
are used for various communication purposes, such as indoor location tracking, data transmission over short distances, and transmission of commands such as through remote controllers of various devices. Such acoustic communication techniques not only relieve the conventional radio channels of congestion but also serve as an alternative to IR and RF wireless communication for short distance communications. Acoustic communication techniques utilize ultrasonic frequencies to exchange data through air between different communication devices.
[0024] The use of acoustic communication technique allows communication between
Ad-Hoc networks such as the peer-to-peer communication network through the available and known devices, such as speakers and microphones. Known Ad-Hoc networks utilizing the known peer-to-peer communication networks, such as Bluetooth® and Zigbee® require additional hardware support for enabling data communications through known communication devices, such as mobile phones and PDA's. Also, Bluetooth® requires a synchronization between the communicating devices to a few microseconds and may also require about a couple of seconds for connection establishment. Further, the Bluetooth® and the Zigbee® technology are generally computationally expensive during communication. Accordingly acoustic channels may be
exploited as an alternative to IR and RF wireless channels and known peer-to-peer communication technologies. Acoustic channels having frequencies lying in the audio range have many positive features which makes it a good alternative to IR or RF communication techniques. Features such as resistance to light, rain and metal objects make the frequencies of the acoustic channel suitable for data communication. Such acoustic communication techniques do not suffer from typical unexpected environmental conditions, such as sunlight and rain, are unperceivable by people if the frequency of operation is higher than 15-16 kHz, and can be used for short distance data communication, such as device to device communication, and indoor communications.
[0025] Short distance data communication is also achievable using the RF and IR
however, communication through IR usually requires direct visibility which can be easily hampered by sunlight, bright halogen or bright interior light. The IR also shows some unexpected features, such as propagation through materials which are not transparent in visible light and reflection from different objects. Similarly, RF suffers from interference problems and can be blocked by metallic objects. Also, the use of RF frequencies requires devices which can generate considerable amount of power and posses good processing capability at both, the transmitter and the receiver. The available devices with such capabilities such as cell phones utilize the cellular network which may not be a suitable infrastructural investment for short distance communications.
[0026] Hence, for short distance communications, acoustic channel may provide an
effective communication where dedicated for communication may not be required and devices without large and special computational power can also be utilized for the purpose of data communication. To transmit and receive data over the acoustic channel, in accordance with one embodiment of the present subject, the frequencies used are above the human perceptible range to avoid discomfort and interference. The imperceptible range of frequencies in the acoustic channel ranges from about 16KHz to 20KHz. Yet in another implementation of the present subject matter, the audible range of acoustic channel may also be utilized for data communication. It would be understood that the audible range of the acoustic channel may range from about 20Hz to 16KHz. Since the frequency band used for data transmission in acoustic channel is narrow (16KHz to 20KHz), the transmission over this band has relatively lesser
choice of frequencies as compared to wideband transmissions and hence, the data rate of transmission is limited and largely depends on the utilized technique of data communication.
[0027] According to an embodiment of the present subject matter, method(s) and
system(s) for data communication are described herein. The embodiments described herein allow optimum rate of data transmission over the acoustic channel along with an effective balance between error rate performance and spectral efficiency, and also support scalable data rate of transmissions. The systems and methods as described herein, on one hand, enable optimum data rate transmission over the narrow frequency band of the acoustic channel, on the other, provides a robust signal onset detection technique even in presence of noise.
[0028] According to an implementation of the present subject matter, the data sequence
to be transmitted over the acoustic channel is modified by an error detection technique. The data may first be digitalized and represented in the form of binary bits where each bit is either a digital Tow', such as 0, or a digital 'high', such as 1. The data to be transmitted over the acoustic channel comprising of such binary bits may be available in the form of a data stream. In one implementation, the data stream is divided into short bursts of data to form several data sequences.
[0029] It would be understood by those skilled in the art that the modification of the data
sequence for error detection may involve inclusion of finite number of bits to the actual data based on the error detection technique implemented. Any technique that may provide error detection capability to data may be utilized, such as, Cyclic Redundancy Check (CRC), checksums, and cryptographic hash functions.
[0030] The data sequence including the error detection bits, for example the CRC may
then be encoded using a forward error correction technique. In said implementation, to provide error correcting capability to the transmitted data, binary or non-binary error control codes for each data sequence may be implemented. For example, Reed Solomon (RS) are a set of non-binary codes that provide efficient error correcting capability and can be used for encoding data sequences before transmission. The binary data sequence may be grouped into symbols and encoded using the RS codes to provide robustness against transmission errors to the data sequence. It would be appreciated that any forward error correction technique other than the RS codes may also be implemented to provide robustness to the data sequence against network
interruptions and interferences causing errors. As described earlier, generally the frequencies available in the acoustic range are susceptible to interferences due to various reasons, such as overlapping of signals due to multi-path propagations, and distortion of signal due to presence of audio signals with high frequencies transmitted by audio devices in the vicinity. Therefore, the use of error detection technique and the forward error correction technique provide robustness to the data to be transmitted.
[0031] In one implementation of the present subject matter, the encoded data sequence is
modulated using a multi-tone Frequency Shift Keying (FSK). It would be understood by those skilled in the art that the multi-tone FSK (MFSK) technique is a variation of FSK that utilizes more than two frequency tones for modulation of a digital signal. In accordance with one embodiment of the preset subject matter, the more than two frequency tones for modulation are chosen based on a multi-dimensional lattice structure (elaborated later).
[0032] The method of utilizing multiple frequencies for the purpose of signal modulation
allows the use of higher data rates as compared to modulation techniques, such as conventional M-ary FSK in the same frequency band, and also reduces the error producing effect of noise and interference. Therefore, for the acoustic channel with a narrow frequency band, the use of MFSK provides increased spectral efficiency in bits/sec/Hz. The use of multi-dimensional frequency lattice enables higher rate of data transmissions for given bandwidth. A support for a 2D/3D lattice MFSK modulation may allow a variable rate of data transmissions.
[0033] In said implementation, MFSK is used for the modulation of the encoded data
sequences where the frequency tones are chosen from a multi-dimensional lattice. The choice of number of frequency tones in a MFSK is based, in one example, on the size of data sequence to be transmitted in a given time interval. For example, a data sequence to be transmitted with two binary bits may utilize a combination of two frequency tones in a MFSK, and similarly, another data symbol with three binary bits may utilize a combination of three frequency tones in a MFSK for modulation.
[0034] One combination of such frequency tones may be used to exchange data on one
particular channel. Accordingly, for data exchange through multiple channels, multiple combinations of such frequency tones are required. For example, for a symbol with two binary bits, a pair of frequency tones fi and f2 may be utilized to exchange data through a channel A.
Similarly, to exchange data through another channel B, a different frequency pair such as F3 and F4 may be used. It would be appreciated that all the frequencies, f1, f2, f3, and F4 are the frequencies that lie in the available frequency band. In such a scenario, to allow data exchange through multiple channels, different pair of frequency tones are required where all the pair of frequency tones lie within the available frequency band (16KHz to 20KHz).
[0035] In an acoustic channel where the frequency band is narrow, to have multiple
channels of data exchange, the frequency tones for each channel need to be chosen accordingly. According to an implementation of the present subject matter, the combinations of frequency tones are chosen from a multi-dimensional frequency lattice. The choice of frequencies from a multi-dimensional lattice allows efficient selection of frequency tones which in turn allow use of more channels in the narrow frequency band of the acoustic channel. In one implementation of the present subject matter, the frequency tones are selected from a 2-dimensional frequency lattice.
[0036] The tones utilized in a MFSK are generally sinusoidal in nature. Sharp transition
in amplitude from the end of 1st transmission to the starting of the 2nd transmission may occur. Such transitions in time domain cause generation of spurious frequencies which can also lie in the audible range. In such a scenario, the spurious frequencies are usually heard as 'clicking' sounds which are disturbing and may adversely affect user's experience.
[0037] To avoid generation of spurious frequencies, in one implementation of the present
subject matter, pulse shaping of the MFSK modulated signal is employed. In said implementation, upon implementation of the pulse shaping, the envelope of the signal slowly tapers to a small value that is very close to zero at the end of each transmission. Similarly, the envelope of the signal in the 2nd transmission starts from a very small value. In other words, each transmission has a slow rise and fall at the beginning of the tone transmission and at the end of the tone transmission. Such tapering to small values and initiation with small values reduce the sharp transitions resulting from abrupt changes in amplitude across modulated signal transmissions.
[0038] The use of pulse shaping also introduces a silence zone between adjacent
frequency tones. It would be appreciated by those skilled in the art that during transmission of data, the signal may travel through different paths and this traversal over multipath generates
echoes of a signal. The probability of the echoes of the transmitted signal to fall in the silence zone is high and therefore, the use of pulse shaping may also allow avoidance of inter symbol interference due to multipath traversal of the transmitted signal. In one implementation, already known window functions are used for pulse shaping the frequency tones, such as Chebyshev window, Gaussian window, and Kaiser window.
[0039] According to another implementation of the present subject matter, to increase the
coverage area of the data transmission, multiple transmitters may be utilized. The use of multiple transmitters allows greater areas to be covered. In said implementation, the transmitters may transmit the same data at any given particular time instance, however, the transmission from different transmitters may be scheduled based on a protocol sequence to reduce the probability of collision of data sequences in the overlap regions of the adjacent transmitters. The protocol sequence may either be based on a random sequence or may also be based on a deterministic sequence, as would be apparent to a person skilled in the art.
[0040] Yet in another implementation of the present subject matter, to utilize multiple
channels in the available frequency band of the acoustic channel and provide data exchange, frequency hopping technique may be utilized. It would be understood by those skilled in the art that the technique of frequency hopping is used to minimize interference in the transmitted signal from a transmitter. A set of frequency tones may be used for data transmission over one channel. As explained before, to transmit on another channel without any interference, a different set of frequency tones may be required. Therefore, according to an embodiment of the present subject matter, a set of frequency tones is allocated to each channel and the transmitters may hop randomly over such set of frequency tones while transmitting over such channel. In other words, one user may be associated with each channel, and each channel may be allocated a set of frequency tones. During the data transmission for this user or the channel, the transmitter may hop over the associated frequency tones to reduce the probability of sustained interference due to high power narrowband sources in the transmitted frequency band. Also, the random frequency hopping mechanism creates a transmission resistant to fixed frequency jammers and interferences.
[0041] The data transmitted by the multiple transmitters is received by a receiver over the
acoustic channel. According to an implementation of the present subject matter, the signal
received by a receiver is detected based on Teager-Kaiser Energy Operator (TKEO). The TKEO is a non-linear quadratic operator to determine the real physical energy of a system/signal. The TKEO may be applied to the received signal to detect the signal onset. In one implementation of the present subject matter, a cumulative sum of the output of the TKEO may be generated to determine the signal onset. The output of the cumulative sum may be analyzed to determine whether the output is greater than a pre-determined threshold or not. In case the output of the cumulative sum is greater than the pre-determined threshold, the signal onset is indicated.
[0042] Once the signal onset is detected, the received signal is demodulated to obtain the
original data sequences. In one implementation, the received signal is demodulated using a Fast Fourier Transform (FFT) technique. The FFT technique is implemented to detect the transmitted frequency tones. The frequency tones are estimated based on the selection of the peaks obtained after the FFT of the signal. Upon detection of the frequency tones, known methods of demodulation and decoding may be implemented on the signal to obtain the original data sequence.
[0043] The above methods and systems are further described in conjunction with the
following figures. It should be noted that the description and figures merely illustrate the principles of the present subject matter. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the present subject matter and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the present subject matter and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0044] While aspects of described systems and methods for data communication over an
acoustic channel can be implemented in any number of different computing devices, environments, and/or configurations, the embodiments are described in the context of the following exemplary system(s) and method(s).
[0045] It will be appreciated by those skilled in the art that the words during, while, and
when as used herein are not exact terms that mean an action takes place instantly upon an initiating action but that there may be some small but reasonable delay, such as a propagation delay, between the initial action, and the reaction that is initiated by the initial action. Additionally, the word "connected" is used throughout for clarity of the description and can include either a direct connection or an indirect connection. The descriptions and details of well-known components are omitted for the sake of brevity.
[0046] Fig. 1 illustrates a network environment 100 implementing one or more
transmitting systems 102-1, 102-2, ,102-N for processing of original data, according to an
embodiment of the present subject matter. The one or more transmitting system 102-1, 102-2,
,102-N may hereinafter collectively be referred to as transmitting systems 102. The
transmitting systems 102, transmits data over a network 104. In one implementation, the transmitting systems 102, such as transmitting system 102-1 may include an inbuilt transmitter, for example, the transmitting system 102-1 may have an integrated transceiver module that are configured to transmit data over the network 104. In another implementation, the transmitting systems 102, such as transmitting system 102-2 may not include an inbuilt or integrated transmitter and may transmit the data through any available external transmitter. The transmitting systems 102-2, ..., 102-N, may transmit data through the external transmitters, 106-1, 106-2, ..., 106-N, as shown in fig. 1. The external transmitter 106-1, 106-2, ..., 106-N are hereinafter collectively referred to as transmitters 106.
[0047] The transmitting systems 102 may include, without limitation, hand-held devices,
laptops, tablets or other portable computers, smart phones, mobile phones, personal digital assistants (PDAs), and the like. Certain wireless communication devices capable of processing and transmitting data, such as garage door openers, keyless entry systems for automobiles, and remote control devices for home entertainment equipment, which include unidirectional communication capability may also be used for the implementation of the described technique.
[0048] The transmitting systems 102 may also include, but not limited to, servers, a
desktop PC, a notebook, a workstation, a mainframe computer. Such systems may be attached to transmitters, such as antennas, and other devices capable of transmitting acoustic signals, such as music players, speakers or woofers, loud speakers, and radios. Although the description herein is
explained with reference to the transmitting system capable of data processing and data transmission, the described method(s) may also be implemented in any other devices, as will be understood by those skilled in the art.
[0049] The transmitting systems 102-2, ..., 102-N, may communicate with the
transmitters 106 through the network 104. The network 104 may be a wireless network, wired network, or a combination thereof. The connection can in turn be implemented as one of the different types of networks, such as intranet, telecom network, electrical network, local area network (LAN), wide area network (WAN), Virtual Private Network (VPN), internetwork, Global Area Network (GAN), the Internet, and such. The connection may either be a dedicated connection or a shared connection, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the connection may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices.
[0050] Further, the network 104 may include any medium, usually referred to as a
channel, such as air, a wire, a waveguide, an optical fiber, or a wireless link, and exchanges data between the transmitting systems 102 and one or more receiving systems 108-1, 108-2, ..., 108-N. The receiving systems, 108-1, 108-2, ..., 108-N, are hereinafter collectively referred to as receiving systems 108. The receiving systems 108 may include systems capable of receiving data over the acoustic channel, such as hand-held devices, laptops, tablets or other portable computers, smart phones, mobile phones, global positioning system (GPS) receivers, personal digital assistants (PDAs), and the like. It would be understood that similar to the combination of transmitting devices 102 and transmitters 106 for data transmission, a combination of receivers and receiving system 108 may also be used for the reception of the data transmitted by the transmission systems 102.
[0051] In one embodiment, the transmitting system 102 includes, amongst other things, a
Multi-tone Frequency Shift Keying (MFSK) modulation module 110, and a data transmission module 112. The MFSK modulation module 110 and the transmission module 112 can also be provided in an external storage media, which may interface with the transmission system 102. In one implementation, the MFSK modulation module 110 is configured to modulate a signal. The
signal may be a digital signal which is represented in the form digital high and digital low. Further, it would be appreciated that the digital signal may be encoded using error correcting codes for correcting errors due to interference and channel noise.
[0052] In said implementation, the MFSK modulation module 110 modulates the digital
signal based on multiple frequency tones where the frequencies used for modulation are chosen from a multi-dimensional lattice structure. As described earlier, the modulation is done based on the frequencies of the acoustic channel that are imperceptible. In one implementation, the frequency range of about 16KHz to 20KHz is used for modulation. Since the available frequency band is narrow, the choice of frequencies is based on the co-ordinates of a multi-dimensional frequency lattice. It would be appreciated that each multi-tone signal is a superposition of multiple frequency tones with frequency chosen from the multi-dimensional frequency lattice. The multi-dimensional lattice structure may be generated based on different sets of frequency tones which allow efficient frequency packing, thereby enabling efficient data transmission and increased number of channels/users for the available acoustic channel.
[0053] In one implementation, the data transmission module 112 of the transmitting
system 102 is configured to transmit the modulated signal over the acoustic channel. The modulated signal is modulated with frequency tones within the frequency range of about 16KHz to 20 KHz, and therefore, the data transmission module 112 may transmit the modulated data over the acoustic channel. It would be understood by those skilled in the art that the modulation of the signal may also be done using the frequencies above and below 16KHz - 20KHz and transmitted over the acoustic channel. Further, the data transmission module 112 may utilize any device capable of generating acoustic signals to transmit the modulated data over the network 104.
[0054] Further, the receiving systems 108 are configured to receive the data transmitted
by the transmitting systems 102 over the network 104. The receiving systems 108, among other things may include a Teager Kaiser Energy Operator (TKEO) module 114. According to an implementation of the present subject matter, the TKEO module 114 is configured to implement the TKEO on the signals received by the receiving system 108. In said implementation, the output of the TKEO on the signal is processed further to determine signal onset of the received signal. For this purpose, the cumulative sum of the TKEO on the received signal is compared
against a pre-determined threshold. The TKEO module 114 detects a signal onset when the cumulative sum is found to be greater than the pre-determined threshold value. The details of the data transmission along with the technique for signal onset detection are discussed in detail with respect to description of following figures.
[0055] Fig. 2(a) illustrates various components of the transmitting system 102, according
to an embodiment of the present subject matter. The transmitting system 102 includes interface(s) 202, one or more processor(s) 204, transmitter unit(s) 206 coupled to the processor(s) 204, and a memory, such as a memory 208, also, coupled to the processor(s) 204.
[0056] The interfaces 202 may enable the transmission system 102 to communicate with
different external transmitters, such as the transmitters 104-1, 104-2, and 104-N, shown in Fig. 1. Further, the interfaces 202 may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as a keyboard, a mouse, an external memory, display, speaker and other audio devices, and a printer. The interfaces 202 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example local area network (LAN), cable, etc., and wireless networks such as Wireless LAN (WLAN), cellular, or satellite. For the purpose, the interfaces 202 may include one or more ports for connecting a number of transmitters 104. In one implementation, the transmitting system 102 may communicate with external sources to receive the data to be transmitted over the acoustic channel through the interfaces 202.
[0057] The processor 204 can be a single processing unit or a number of units, all of
which could include multiple computing units. The processor 204 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 204 is configured to fetch and execute computer-readable instructions and data stored in the memory 208.
[0058] The functions of the various elements shown in the figures, including any
functional blocks labeled as "processor(s)", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which
may be shared. Moreover, explicit use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or customized, may also be included.
[0059] The transmitter units 206 can be any type of transmitter known in the art, capable
of generating acoustic signals. The transmitter units 206 may also include an antenna capable of transmitting audio signals. Such antennas may include, but are not limited to, wire antennas, reflector antennas, micro-strip antennas, traveling wave antennas, and aperture antennas. The transmitter unit(s) 206 may also include different speakers, such as headphones, earphones, gramophones, megaphone, portable speakers, woofer systems, and loud speakers.
[0060] The memory 208 may include any computer-readable medium known in the art
including, for example, volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 208 includes module(s) 210 and data 212. The modules 210, amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types.
[0061] The data 212 serves, amongst other things, as a repository for storing data
processed, received and generated by one or more of the modules 210. The modules 210 may further include, for example, the MFSK modulation module 110, a data transmission module 112, a data encoding module 214, pulse shaping module 216, and other module(s) 218. The other modules 218 may include programs that supplement applications on the transmitting system 102, for example, programs in the operating system. The data 212 includes data generated as a result of the execution of one or more modules 210. The data 212 includes original data 220, encoded and modulated data 222, and other data 224. The other data 224 includes data generated as a result of the execution of one or more modules in the other module(s) 218.
[0062] In operation, the transmitting system 102 is configured to transmit data over the
acoustic channel. The data to be transmitted, hereinafter referred to as original data, is received
by the transmitting system 102. The original data may either be an analog data, or a digital data. If the original data is an analog data, the data encoding module 214 may convert the analog data into digital data. It would be understood that any known method of data conversion may be applied to convert the analog data to digital data where either a lossless or lossy conversion technique is implemented.
[0063] The data to be transmitted, once digitalized, is applied with error detection codes.
For this purpose, the digital data stream is divided into short bursts of data and converted into small data sequences. In one implementation, the data sequences are appended with CRC codes to provide error detection capability to the original data. For example, a data stream of 'P' bits is divided into iK' parallel data sequences. It would be understood that each data sequence would include 'P/IC bits. To each data sequence of lP/K' bits, the data encoding module 214 may append CRC codes. Although, CRC codes have been explained to be utilized for error detection of data sequences, it would be appreciated by those skilled in the art that other error detecting codes detecting may be implemented to encode the data sequences.
[0064] Further, the data sequences including the error detection codes, such as the CRC
codes, may then be encoded using the forward error correction techniques. In one implementation, the data encoding module 214 is configured to encode the data sequences and provide error correcting capability to the data sequence using the forward error correction codes. In said implementation, non-binary error control codes are utilized to encode the data sequences. However, in various other implementations of the present subject matter, binary error control codes may also be utilized.
[0065] The data encoding module 214 may utilize Reed Solomon (RS) codes for
encoding the data sequences. The RS codes are non-binary error correcting codes and provide efficient error correcting capability. Therefore, in situations where the transmitted data encounters errors, the original data can be recovered using the forward error correction technique. Referring to the example of 'K' data sequences with 'P/IC bits, described above, the data encoding module 214 may apply a RS code to encode the lK' data sequences. For the K data sequences, the Reed Solomon (RS) code may encode 'M' data symbols (with m bits/symbol) using an (N,M) RS code to obtain RS code words of N symbols (with m bits/symbol)
[0066] The encoded data sequences may also be modulated using the MFSK modulation
technique. The MFSK modulation module 110 is configured to modulate the encoded data sequences according to the MFSK modulation technique where the frequency tones for multi-tone modulation are chosen from a multi-dimensional frequency lattice. As described earlier, 'm' bits/symbols are represented by a combination of 'm' frequency tones. The frequency tones are combined to represent the 'm' bits/symbols of each data symbol. Since the frequency tones are selected from a multi-dimensional frequency lattice, the frequency tones are proportional to the co-ordinates of the lattice. In other words, the dimensions of the lattice can be visualized to be represented in terms of frequency and each frequency tone is chosen from one axis of the dimension to from a coordinate. For example, in a 2-Dimensional frequency lattice, the abscissa may represent frequencies and similarly, the ordinate may also represent frequencies. It would be understood that if the frequencies are chosen from a 2-dimensional frequency lattice, a set of 2 frequency tones would be utilized for the modulation of 2 bits/symbols. And similarly, if a 3-Dimensional frequency tone is utilized, a set of 3 frequency tones would be used to modulate a set of 3 bits.
[0067] In the above example, in the 2-Dimensional frequency lattice, the choice of a set
of 2 frequency tones from the abscissa and the ordinate would form a coordinate on the lattice. The coordinate would represent the chosen set of 2 frequencies tones to be utilized for the modulation of the encoded data sequences. In accordance with one embodiment of the present subject matter, the abscissa and the ordinate of the 2-Dimensional frequency lattice would only include frequencies which lie in the non-audible acoustic band, i.e., about 16KHz to 20KHz. Additionally, in other embodiments the frequencies of the audible range in the acoustic channel may also be utilized for the purpose of lattice construction.
[0068] Further, since the available choice of frequency tones is limited by the narrow
available bandwidth, the available co-ordinates or the set of frequencies to be used for data transmission are limited. In one implementation of the present subject matter, the MFSK modulation module 110 allocates a set of frequency tones to each channel/user. The each set of frequency tones may be used for data transmission between the transmitting system 102 and a user over one channel using the MFSK modulation technique.
[0069] For example, the MFSK modulation module 110 may identify a set of frequency
tones selected from a 2-Dimensional frequency lattice for communication with a user-A. As described earlier, a set of 2 frequency tones are to be utilized to represent a set of 2 bits/symbols, and therefore, the combination of frequency tones f1 and f2 may represent the 4 possible combinations of the two bits/symbols to be transmitted. It would be appreciated by those skilled in the art that for two bits/symbols, there may be 4 possible combinations, such as 00, 10, 01, and 11. For each possible combination, the frequency tones selected by the MFSK modulation module 110 are from a 2 dimensional lattice generated using a base pair of frequencies fi and £2.
[0070] In one implementation, the MFSK modulation module 110 is configured to
generate different combinations of the frequency tones based on the dimension of the frequency lattice. In the above described example of 2-Dimension, the combination of the frequency tones fi and f2 would be used to form a hexagonal lattice structure. The MFSK modulation module 110 may implement a generator matrix to generate the combinations of the frequency tones. In one implementation, the generator matrix 'M' of 2D may be of the form:
[0071] Based on the above matrix, the MFSK modulation module 110 may perform
computations, such as [f1,f1]*M, [f1,f2]*M, [f2,f1]*M, and [f2,f2]*M. The output of each computation may generate a pair of frequency tones representing one combination of the 2 bits/symbols. The pair of frequency tones obtained after the computation of [fi,fi]*M may represent the bit combination of 00, similarly, the computation result of [f1,f2]*M may represent the bit combination of 01, and so on. Since the frequency combinations generated from the identified frequencies f1 and f2 are in the same 2-Dimensional frequency lattice, and also due to nature of the combination generation matrix, the set of frequency tones forms co-ordinates of a hexagonal lattice. In the above said example, consider a pair frequency tones to be f2=13000; fl = 12000; The frequency tones generated may include frequency pairs such as:
[F°,F°] =[f1 f1]*M+[0 6500]; corresponding to bits 00 [F°,F'] =[f,, f2]*M+[0 6500]; corresponding to bits 01 [F',F°] =[f2, f1]*M+[0 6500]; corresponding to bits 10 [F1,F1] =[f2, f2]*M+[0 6500]; corresponding to bits 11
The frequency pairs obtained for the defined fo and fi would be:
[F°,F°] = [18000,16892] [F0F1] [18500,17758] [F1,F0] = [19000,16892] [F1,F1] = [19500,17758]
[0072] In another implementation, each co-ordinate point on the multi-dimensional
frequency lattice may have a Voronoi region around it that may represent the distance up to which the co-ordinate can be correctly identified as the original co-ordinate. In one implementation, the Voronoi region may be defined by a hexagonal region circumscribing a circle with a pre-defined radius. Further, twice the radius of the circle may also define the minimum distance between two co-ordinates. In said implementation, since the available frequency band of the acoustic channel to transmit data is narrow, the distance between each coordinate needs to be as less as possible to accommodate multiple sets of frequency tones.
[0073] A person skilled in the art would appreciate that a multi-tone signal with 'M'
estimated tones will be decoded to the correct co-ordinate point if it lies within the certain range, the Voronoi region of the lattice co-ordinate. Accordingly, even if there is a frequency shift of any of the 'M' frequency tones in the multi-tone signal, and this shift causes the estimated lattice co-ordinate to lie within the Voronoi region, correct decoding is possible, leading to a better error rate performance.
[0074] It would be understood that in a 2D plane, the method of densest packing is a
hexagonal packing where the hexagon is circumscribing a circle with the centre of the circle as the frequency coordinate. Therefore, in one implementation of the present subject matter, the coordinates of a set of frequency tones in the 2-Dimensional frequency lattice have a circular region around them where placement of their centers is such that the Voronoi region of each coordinate is a hexagon. Therefore, for the narrow bandwidth of the acoustic channel, and a corresponding 2-Dimensional frequency lattice, the hexagonal packing provides the most efficient use of the available bandwidth. This technique allows more channels to be used when compared to any other packing in the 2D plane since the number of co-ordinates available for data transmission through this technique is greater than any other technique. The same has been represented in Fig. 2(b). Both the axis of the 2-D structure represents frequency where the black
dots represent the coordinates corresponding to the pair of frequency tones. Further, the radius of the circle around the coordinate has been represented by 'R'.
[0075] In another implementation, a 3-Dimensional lattice using a laminated hexagonal
lattice packing may be used by the MFSK modulation of the encoded data sequence. The generator matrix for a 3D laminated hexagonal lattice may be given by a matrix 'M':
[0076] The MFSK modulation module 110 may utilize a set of 3 frequency tones while
identifying a co-ordinate of frequency tones on a 3-Dimensional frequency lattice. As described above, for a set of 3 frequency tones, a set of 3 bits/symbols may be transmitted. To identify the set of frequency tones in a 3-Dimensional frequency lattice, the MFSK modulation module 110 may generate different combinations of the frequency tones corresponding to the 3bits/symbols in a laminated hexagonal lattice. The laminated hexagonal packing in 3Dimensional structure may provide dense packing, thereby allowing the use of multiple set of frequency tones.
[0077] In one example, the frequency tones utilized may be; f1=9500; and fo=8500.
Based on these frequency tones, different combination of frequency tones may be generated to represent the combination of digital bits. Based on the 3 D generator matrix M, the combination of frequencies would be:
[F0,F0,F0] = [f0 f0 f1]*M + [0 7000 12000]; corresponding to bits [000] [F0,F0,F1] = [f0 f1 f0]*M + [0 7000 12000]; corresponding to bits [001] [F0,F1,F0] =[f0 f1 f1]*M + [0 7000 12000]; corresponding to bits [010]
[F0,F1,F1] = [f0 f0 f0]*M + [0 7000 12000]; corresponding to bits [011] [F1,F0,F0] = [f1 f1 f1]*M + |-0 7000 12000]; corresponding to bits [100]
[F1,F0,F1] = [f1 f1 f0]*M + [0 7000 12000]; corresponding to bits [101] [F1,F1,F0] = [fl f0 fl]*M + [0 7000 12000]; corresponding to bits [110] [F1,F1,F1] = [fl f0 f0]*M + [0 7000 12000]; corresponding to bits [111]
The combination of frequency pairs obtained for the defined fo, and fi, would be:
[F0,F0,F0] = [17500 17104 19757] [F0,F0,F1]=[17500 17681 18940] [F0,F1,F0] = [18000 17970 19757]
[F0,F1,F1] = [17000 16815 18940]
[F1,F0,F0] = [19000 17970 19757]
[F1,F0,F1] =[18500 17681 18940]
[F1,F1,F0] = [18500 17104 19757]
[F1,F1,F1]=[18000 16815 18940]
[0078] Further, the use of multi-dimensional frequency lattice provides a balance
between the error rate performance and spectral efficiency. The 2D lattice FSK gives a better
error rate performance than the 3D lattice FSK. However, the 3D lattice FSK modulation has a
better spectral efficiency than the 2D lattice FSK. The number of channels in a 3D lattice may be
reduced when compared to a 2D lattice, since the given bandwidth is finite and the 3D lattice
uses more frequency points for a channel than a 2D lattice. Therefore, the MFSK modulation
module 110 may choose between the error rate performance and the channelization requirement.
In one embodiment of the present subject matter, the choice between the channelization
requirement and the error rate performance may be based on user preferences or the available
bandwidth.
[0079] Further, in another implementation of the present subject matter, the transmitting
system includes a pulse shaping module 216. The pulse shaping module is configured to lower the amplitude of transmitted frequency tones at the beginning of a transmission interval and at the end of the transmission interval to almost zero. An example of the pulse shaping is depicted in Fig. 2(c). This implies that the amplitude of the frequency tones goes to almost zero before the end of a transmission, and starts from almost zero in a new transmission interval. Since sudden changes during the transition generates spurious frequencies which can sometimes be heard by humans and may cause disturbance or irritation. The reduction of sharp transitions by the use of pulse shaping allows smooth transitions which help in reduction in the probability of spurious frequency generation. For this purpose, the pulse shaping module 216 may utilize any known window function, such as Chebyshev window, Gaussian window, and Kaiser window. The choice of the window may be based on the shape and amplitude of the windows. In one implementation, windows with smaller amplitude around its peak may be used when compared to the other windows to reduce the perceptible amplitudes.
[0080] The encoded data sequences are modulated by the MFSK modulation module
110. The modulated signal is pulse shaped by the pulse shaping module 216, and then transmitted over the acoustic channel. For this purpose, the transmitting system 102 of the
present subject matter utilizes multiple transmitter units 206. The use of multiple transmitters increases the coverage area which allows data transmission over large areas and may allow coverage to certain otherwise in-accessible locations. However, the use of multiple transmitter units 206 may give rise to overlapping coverage regions which may cause interference to the transmitted signal. According to an implementation of the present subject matter, the data transmission module 112 is configured to schedule transmission of the multiple transmitter units 206 based on a protocol sequence. It would be understood by a person skilled in the art that according to the protocol sequence, the transmitter units 206 in the 'On' state would transmit the same data over the acoustic channel and therefore, the protocol sequence reduces the probability of transmitted signal collision leading to a lower error in data transmission due to collision.
[0081] Randomness is commonly used in the design of multiple access schemes. For
example, in slotted ALOHA, each user transmits a packet with a pre-defined probability independently. Implementations of such random access schemes in practice usually substitute random variables by pseudo-random numbers. However, high-quality pseudo-random number generation may be cumbersome for applications, such as wireless sensor networks, where computing power is limited. Binary pseudo-random sequences, such as protocol sequences may be constructed that are tailored to the quality-of service requirements of interest, such as high throughput and bounded delay.
[0082] If exactly one transmitter transmits in a time slot, the received packet is received
successfully by a receiver. If two or more transmitters transmit in the same time slot, a collision is incurred, and the received packet is assumed unrecoverable. If no transmitter transmits in a time slot, that time slot is idle. Since there is no feedback from the receiver of the signal, collision resolution algorithm such as the stack algorithm is not possible. Each transmitter may repeat its assigned binary protocol sequence periodically, and transmits a data packet if and only if the value of the protocol sequence at that time slot equals one.
[0083] Protocol sequences are used in multiple-access in the collision channel without
feedback. As there is no feedback from the receiver and no co-operation among the transmitters, the channel is not synchronized as there is no guarantee that the protocol sequence will start at the same time. Each transmitter also has a delay offset, which is random, but remains fixed throughout the communication session.
[0084] A channel between the transmitters and the receivers may be slot synchronized if
all transmitters are aware of the slot boundaries of the channel. Further, a channel may be asynchronous if all the transmitters are not aware of the slot boundaries of the channel. For a slot synchronized channel, a protocol sequence set with 'M' elements is transmitter irrepressible (TI) (or user irrepressible (UI)) if 'M' active transmitters, each of them assigned with a unique protocol sequence (period L) from the set, can successfully transmit out at least one packet in a over one period of L slots, regardless of the integer delay offsets. Hence, each transmitter may not wait for longer than the duration of one period before a packet can be sent without collision. Further, if all users start their packet transmission at an integral time epoch, collisions will result only when the received packets completely overlap. An example of a TI sequence set for a slot synchronized channel may be:
Sequence 1 = [111000000000] Sequence2 = [100100100000] Sequence3 = [100010001000]
[0085] For ensuring TI in an asynchronous channel, a protocol sequences with period L
for delay offsets which are real numbers may be utilized. These sequences may be referred to as
completely irrepressible (CI) sequences. A transmitter can successfully send out at least one
packet over one period of L slots for this asynchronous channel. In the asynchronous case,
collisions can occur due to partial overlapping of packets. A packet is considered to be
successfully transmitted iff it is not completely or partially overlapped by any other packet. Also,
a CI sequence must be TI. However, no TI sequence sets known can guarantee user
irrepressibility for the asynchronous channel.
[0086] Given a positive integer 'M', let 'p' be the smallest prime number which is larger
than or equal to 'M'. A constant weight TI sequence can be constructed using the Chinese remainder theorem. Protocol sequences may be constructed using cyclically permutable codes, optical orthogonal codes. Some constructions of Optical orthogonal codes also employ the Chinese remainder theorem. The protocol sequences here are designed to have small Hamming cross-correlation and auto-correlation.
[0087] In said implementation, the data transmission module 112 is configured to
generate binary sequences representing the protocol sequence. Each transmitter unit 206 may repeat the protocol sequence associated with it periodically. During this procedure, the
transmitter unit 206 may only be allowed to transmit data if the value of the protocol sequence is one. The data transmission module 112 may generate the protocol sequence, either based on a pseudo random sequence, or based on a deterministic schedule. In one implementation, Chinese remainder theorem may be utilized by the data transmission module 112 to generate the random protocol sequence. In another implementation, the data transmission module 112 may utilize cyclically permutable codes for the generation of protocol sequences. The protocol sequences generated based on the Chinese remainder theorem may ensure that there is a low probability of two sequences having an 'On' period at the same time. Due to this, the transmitter units 206 may not be required to implement computationally intensive synchronization/back-off mechanisms to ensure that there is no data collision.
[0088] The transmitting system 102 may utilize multiple channels while transmitting
over the acoustic channel. To reduce the interference due to high power, narrowband, fixed frequency jammers, the data transmission module 112, in one implementation of the present subject matter, may implement the technique of frequency hopping during transmissions. The data transmission module 112 may assign a transmitter multiple sets of frequency tones. Such frequency tones may be shared among the transmitter and the receiver such that the data transmission and reception is synchronized. Further, the random frequency hopping makes the data transmission resistant to fixed frequency jammers and interferences. It would be understood by those skilled in the art that the transmitter units 206 may hop from one set of frequency tones to the other in their 'On' period of the protocol sequence.
[0089] Fig. 3(a) illustrates various components of a receiving system 108, according to
an embodiment of the present subject matter. The receiving system 108 includes interface(s) 302, one or more processor(s) 304, receiver unit(s) 306 coupled to the processor(s) 304, and a memory, such as a memory 308, also, coupled to the processor(s) 304.
[0090] The interfaces 302 may include a variety of software and hardware interfaces, for
example, interfaces for peripheral device(s), such as a keyboard, a mouse, an external memory, display, audio receptor, microphone, speaker, and a printer. Further, the interfaces 302 may enable the receiving system 108 to communicate with different external receivers, such as microphones, and audio receptors. The interfaces 302 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example
local area network (LAN), cable, etc., and wireless networks such as Wireless LAN (WLAN), cellular, or satellite. For the purpose, the interfaces 302 may include one or more ports for connecting a number of external devices such as the audio receptors. In one implementation, the receiving system 102 may communicate with external sources to provide the original data received over the acoustic channel through the interfaces 302.
[0091] The processor 304 may be a processor similar to the processor 204 of the
transmitting system 102 described in Fig. 2(a). Similar to the processor 204, the processor 304 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 304 is configured to fetch and execute computer-readable instructions and data stored in the memory 308.
[0092] The receiver units 306 can be any type of receivers known in the art, capable of
receiving acoustic signals. The receiver units 306 may also include an antenna capable of receiving audio signals. Such antennas may include, but are not limited to, wire antennas, reflector antennas, micro-strip antennas, traveling wave antennas, and aperture antennas. The receiver units 306 may also include different audio receptors, such as microphones.
[0093] The memory 308 may include any computer-readable medium known in the art
including, for example, volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 308 includes module(s) 310 and data 312. The modules 310, amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types.
[0094] The data 312 serves, amongst other things, as a repository for storing data
processed, received and generated by one or more of the modules 310. The modules 310 may further include, for example, the TKEO module 114, a data decoding module 314, a data demodulation module 316, data reception module 318, and other module(s) 320. The other modules 320 may include programs that supplement applications on the receiving system 102, for example, programs in the operating system. The data 312 includes data generated as a result
of the execution of one or more modules 310. The data 312 includes original data 322, encoded and modulated data 324, and other data 224. The other data 224 includes data generated as a result of the execution of one or more modules in the other module(s) 320.
[0095] In operation, according to an implementation, the receiving system 108 includes
the data reception module 318, configured to receive data over the acoustic channel transmitted by the transmitting system 102. In said implementation, the data reception module 318 may receive data from one or more transmitters of the transmitting system 102. Further, the data received by the data reception module 318 may be modulated using the MFSK modulation scheme and therefore, the data reception module 318 is also configured to receive data over a wide range of frequency tones. Fig. 3(b) represents the filtered signal after reception of a burst of data over the wide range of frequency tones. The data reception module 318 may provide the received data over the acoustic channel to the TKEO module 114. The TKEO module 114 is configured to apply the TKEO on the received signal and record the output.
[0096] The Teager-Kaiser energy operator is defined as follows for input signal samples
x(n):
E(n) = x2 (n) - x(n - 1).x(n + 1)
[0097] Further, in one implementation, the cumulative sum over the TKEO is defined as:
for n = 2,3,4....N where
[0098] According to an implementation of the present subject matter, the TKEO module
114 is also configured to generate the cumulative sum of the output of the TKEO, i.e., the output of the current value and the immediately preceding value of the Teager Kaiser energy sample. The TKEO module 114 analyzes the output to determine if the output is greater than a predetermined threshold. If the output is greater than the pre-determined threshold, a signal onset is detected. Further, when the cumulative sum of the output of the TKEO operator reached the predefined threshold, it provides an indication of the tone onset at the start of each burst of data and rises to a maximum at the end of the burst of data. Hence the cumulative sum allows a precise detection of the start and stop times of the bursts of data.
[0099] The graph depicted in Fig. 3(c) shows the TKEO result for the data received by
the data reception module 318. The figure also represents the cumulative sum for the received
burst of data. It would be understood that the increasing value of the cumulative sum would indicate the signal onset for the received signal when the cumulative sum reached the predetermined threshold.
[00100] Upon detection of the signal onset, the data demodulation module 316 and the
data decoding module 314 may perform demodulation of the MFSK modulated signal and decoding of the encoded data sequence, respectively. In one implementation, the data demodulation module 316, to demodulate the received data, may perform a Fast Fourier Transform (FFT) on the received signal. In said implementation, the frequency tones may be estimated by the FFT. To identify the actual frequency tones, the Euclidian distance is computed between the estimated frequency tones and all the possible frequency tones of the multidimensional frequency lattice. The frequency tones giving the minimum Euclidean distance are an indication of the transmitted frequencies over a given signaling interval.
[00101] According to one implementation, the Euclidian distance for all the identified
frequency tones is computed with respect to all the possible co-ordinates. For example, if a 2-Dimensional frequency lattice is utilized, the squared Euclidian distance of the estimated frequency tone pair is computed with respect to all the possible frequency tone pairs. From among the various such distances thus derived, the co-ordinate in the 2-Dimensional frequency lattice is selected for which the Euclidian distance is the shortest. Once the actual frequency tones are detected based on the co-ordinate, the data demodulation module 314 maps the detected frequency tones to the corresponding data symbols.
[00102] The encoded data thus obtained is decoded by the data decoding module 314. In
one implementation, the data decoding module decodes the data based on the forward error correcting codes. The data decoding module 314 is also configured to rectify any error in the received data sequence, and in addition, detect any errors even after the error correction based on the error detection codes and the forward error correction codes.
[00103] Fig. 4 illustrates a method 400 for data transmission over an acoustic channel
while Fig. 5 shows a method 500 for data reception over an acoustic channel, , in accordance with an implementation of the present subject matter. According to an aspect, the concepts of data transmission are described with reference to the transmitting system 102, and the receiving system 108 described above.
[00104] The method(s) may be described in the general context of computer executable
instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[00105] The order in which the methods 400 and 500 are described is not intended to be
construed as a limitation, and any number of the described method blocks can be combined in any order to implement the methods 400 and 500, or an alternative method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described herein. Furthermore, the methods 400 and 500 can be implemented in any suitable hardware, software, firmware, or combination thereof. The methods 400 and 500 are explained with reference to a transmitting system 102, and a receiving system 108, however, it will be understood that the methods 400 and 500 can be implemented for a plurality of transmitting and receiving systems.
[00106] Referring to Fig. 4, at block 402, data for transmission over an acoustic channel is
received. The received data may further be divided into at least one data sequence where each data sequence is a part of the received data, hereinafter referred to as original data. In one implementation, the transmitting system 102 is configured to receive the original data for transmission over the acoustic channel.
[00107] At block 404, error detection codes are applied to at least one data sequence. In
one implementation, the error detection codes are appended to each data sequence such that any errors not detected even after the error correction operation may be detected by a receiver. In said implementation, Cyclic Redundancy Check (CRC) is utilized to provide error detection capability to the each data sequence.
[00108] Each data sequence appended with error detection codes is encoded at block 406.
The at least one data sequence is encoded, in one example, with forward error correction codes to generate an encoded data sequence. In one implementation of the present subject matter, the
Reed Solomon (RS) codes are used to encode the data sequences. The forward error correction codes provide the received data sequences, a capability to correct the errors occurred during the transmission due to noise and interference. Further, it would be understood that binary or non-binary, any type of known forward error correcting codes may be utilized for this purpose.
[00109] At block 408, the encoded data sequence is modulated based on a multi-tone
frequency shift keying (MFSK) modulation technique to generate a modulated signal. In one implementation, the multiple frequency tones utilized for the MFSK may be chosen from a multi-dimensional frequency lattice where each set of frequency tones would form a co-ordinate of the frequency lattice. The set of frequency tones for the MFSK may be chosen such that maximum number of co-ordinates may be utilized where each co-ordinate has a Voronoi region (correct decision region) around it.
[00110] At block 410, the modulated signal is transmitted over the acoustic channel using
at least one transmitter. According to an implementation of the present subject matter, the modulated data sequences are transmitted over the acoustic channel through multiple transmitters. The use of multiple transmitters allows greater coverage area along with increased accessibility to remote areas. In said implementation, a protocol sequence may also be used for the multiple transmitters to reduce data collision in the overlap region of the transmitters. Each transmitter may transmit the data sequences, but according to the protocol sequence where the transmitter would only transmit at the times when it is in 'On' state. It would be understood by those skilled in the art that the protocol sequence may be based either on a random sequence or may be based on a deterministic sequence.
[00111] Referring to Fig. 5, method 500 of receiving data over an acoustic channel is
described. At block 502, a multi-tone frequency shift keying (MFSK) modulated signal is received over an acoustic channel. The received signal may be in the form of short data bursts where each data symbol is modulated using MFSK modulation technique.
[00112] At block 504, Teager Kaiser Energy Operator (TKEO) is applied on the received
MFSK modulated signal to obtain Teager Kaiser energy samples.
[00113] At block 506, a cumulative sum of the Teager Kaiser energy samples is
computed. In one implementation of the present subject matter, the cumulative sum is obtained based on the sum of the present Teager Kaiser energy sample and the previous Teager Kaiser
energy sample. In said implementation, the cumulative sum may increase in the form of a staircase when the receiving system 108 is receiving data signal over the acoustic channel.
[00114] At block 508, it is determined whether the cumulative sum is greater than a pre-
determined threshold. In case of a negative determination, the control flows to block 502 ("NO" Branch). However, in case of a positive determination, the control flows to block 510 ("Yes" Branch). The pre-determined threshold may be defined based on the minimum energy required to properly detect and demodulate a received signal which in one implementation be determined based on experimental results.
[00115] At block 510, a signal onset is detected and frequency tones of the MFSK
modulated signal are asserted based on Fast Fourier Transform (FFT). The signal onset is detected when the cumulative sum is greater than the pre-determined threshold value, as described earlier. In one implementation of the present subject matter, the FFT helps in estimating the frequency tones present in the received signal. The estimated frequency tones may then be mapped to the actual frequency tones based on the Euclidian distance computed. Based on the Euclidian distance, the exact frequency tone is identified and thereby the MFSK modulated signal is demodulated.
[00116] Fig. 6(a) depicts the error rate performance for data transmissions through
described method in a 2-D frequency lattice structure utilizing the MFSK technique. Further, Fig 6(b) depicts the error rate performance for data transmissions through described method. In a 3-D frequency lattice structure utilizing the MFSK technique. It will be apparent from the Fig 6(a) and Fig 6(b), to a person skilled in the art, that the proposed method and system is efficient for communicating data over the acoustic channel. Further, the described method and systems, in one implementation provides the use of higher data rates as compared to other modulation techniques in the same frequency band, and also reduces the error producing effect of noise and interference. Also, the described methods and systems allow avoidance of inter symbol interference due to collision and multipath traversal of the transmitted signal. It would be understood by those skilled in the art that the error rate performances shown in Fig 6(a) and 6(b) are for an un-coded 2-D/3-D MFSK.
[00117] Additionally, the described method can be implemented in any of the
communication networks, such as Global System for Mobile Communication (GSM) network,
Enhanced Data rates for GSM Evolution (EDGE) network, Universal Mobile Telecommunications System (UMTS) network, Personal Communications Service (PCS) network, Time Division Multiple Access (TDMA) network, Code Division Multiple Access (CDMA) network, Next Generation Network (NGN), and IP-based network, Public Switched Telephone Network (PSTN), and Integrated Services Digital Network (ISDN).
[00118] The techniques described herein may also be used for various wireless
communication systems such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Single Carrier Frequency Division Multiple Access (SC-FDMA) and other systems. A CDMA system may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. cdma2000 covers IS-2000, IS-95 and IS-856 standards. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDM A system may implement a radio technology such as Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.20, IEEE 802.16 (WiMAX), 802.11 (WiFi™), etc.
[00119] The described method and system for wireless data communication over acoustic
channel allows establishment of Peer to peer networks with the use of existing speaker and microphones on user equipments, such as mobile devices and PDAs. The data transmission may further be optimized with the use of lattice structure for frequency modulation. Further, the described technique provides less power consumption and accurate way of data transmission over the acoustic channel. The method may be utilized for various communication purposes, such as indoor location tracking, data transmission over short distances, and transmission of commands such as through remote controllers of various devices.
[00120] Although embodiments for methods and systems for data communication over
the acoustic channel have been described in a language specific to structural features and/or methods, it is to be understood that the invention is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary embodiments for data communication.
I/We claim:
1. A method for data communication over an acoustic channel, the method comprising:
receiving data for transmission over the acoustic channel, wherein the data is divided into at least one data sequence to generate an encoded data sequence;
modulating the encoded data sequence based on a lattice multi-tone frequency shift keying (FSK) to generate a modulated signal, wherein the multi-tone FSK involves a plurality of frequencies, and wherein the frequencies are based on a multi-dimensional frequency lattice; and
transmitting the modulated signal over the acoustic channel.
2. The method as claimed in claim 1, wherein the acoustic channel comprises of an inaudible range of frequencies.
3. The method as claimed in claim 1, wherein the multidimensional frequency lattice is one of a 2-Dimensional frequency lattice, and a 3-Dimensional frequency lattice.
4. The method as claimed in claim 1, wherein the method further comprises:
implementing an error detection code to the at least one data sequence for detection of error in the data received for transmission; and
encoding the at least one data sequence by forward error correction codes to generate the encoded data sequence.
5. The method as claimed in claim 4, wherein the forward error correction codes is one of binary error correcting codes and non-binary error correcting codes.
6. The method as claimed in claim 1, wherein the transmitting comprises broadcasting the modulated signal through a plurality of transmitters over the acoustic channel.
7. The method as claimed in claim 1, wherein the transmitting comprises generating a Protocol sequence for a plurality of transmitters, and wherein the Protocol sequence is indicative of a time of transmission and a time of no-transmission associated with each transmitter from amongst the plurality of transmitters.
8. The method as claimed in claim 7, wherein the Protocol sequence is based on a pseudo random sequence generated based on Chinese remainder theorem.
9. The method as claimed in claim 7, wherein the Protocol sequence is based on a deterministic sequence generated based on cyclically permutable codes.
10. The method as claimed in claim 7, wherein the method further comprises:
associating a set of frequencies to each user for the plurality of transmitters, wherein the set of frequencies for modulation is based on the multi-dimensional frequency lattice; and
switching the transmission of the modulated signal based on frequency hopping technique.
11. The method as claimed in claim 1, wherein the transmitting comprises pulse shaping the modulated signal, and wherein the pulse shaping allows non-generation of spurious frequencies.
12. The method as claimed in claim 1, wherein the modulated signal is transmitted in one or more of solid, liquid, and gas medium.
13. The method as claimed in claim 1, wherein the acoustic channel comprises of an audible range of frequencies in the range of 20Hz to 16KHz.
14. A method for data communication over an acoustic channel, the method comprising:
receiving a multi-tone frequency shift keying (FSK) signal, wherein the signal is based on a multi-dimensional frequency lattice over the acoustic channel;
applying Teager Kaiser Energy Operator (TKEO) on the received multi-tone FSK signal to obtain Teager Kaiser energy samples;
computing a cumulative sum of the Teager Kaiser energy samples, wherein the computation is based on a primary Teager Kaiser energy sample and a secondary Teager Kaiser energy sample; and
detecting a signal onset based on the cumulative sum, wherein the cumulative sum is greater than a pre-defined threshold value.
15. The method as claimed in claim 14, wherein the method further comprises:
demodulating the detected signal to generate a received data sequence, wherein the demodulation is based on fast Fourier transform (FFT); and
decoding the received data sequence based on forward error correction codes to correct one or more error in the received data sequence.
16. The method as claimed in claim 15, wherein the forward error correction codes is one of binary error correcting codes, and non-binary error correcting codes.
17. A transmitting system (102) for data communication over an acoustic channel, the transmitting system (102) comprising:
a processor (204); and
a memory (208) coupled to the processor (204), wherein the memory (208) comprises:
a data encoding module (214) configured to:
receive data for transmission over the acoustic channel; and divide the data into at least one data sequence to generate an encoded data sequence; and
a multi-tone frequency shift keying (MFSK) modulation module (110) configured to modulate the encoded data sequence based on a lattice multi-tone frequency shift keying (FSK) to generate a modulated signal, wherein the multi-tone FSK involves a plurality of frequencies, and wherein the frequencies are based on a multi-dimensional frequency lattice.
18. The transmitting system (102) as claimed in claim 17 further comprising a data transmission module (112) configured to transmit the modulated signal over the acoustic channel.
19. The transmitting system (102) as claimed in claim 17, wherein the multidimensional frequency lattice is one of a 2-Dimensional frequency lattice, and a 3-Dimensional frequency lattice.
20. The transmitting system (102) as claimed in claim 17, wherein the plurality of frequencies form one of a hexagonal lattice in a 2-Dimensional frequency lattice, and a face centered cube in a 3-Dimensional lattice.
21. The transmitting system (102) as claimed in claim 17, further comprising a pulse shaping module (216) configured to a pulse shape the modulated signal, and wherein the pulse shaping prevents generation of spurious frequencies.
22. The transmitting system (102) as claimed in claim 17 further comprising at least one transmitter unit (206), and wherein the at least one transmitter (206) transmits the modulated signal over the acoustic channel.
23. The transmitting system (102) as claimed in claim 17, wherein the data encoding module 214 is further configured to:
implement an error detection code to the at least one data sequence for detection of error in the data received for transmission; and
encode the at least one data sequence by forward error correction codes to generate the encoded data sequence.
24. A receiving system (108) for data communication over an acoustic channel, the receiving
system (104) comprising:
a processor (304); and
a memory (308) coupled to the processor (304), wherein the memory (308) comprises:
a data reception module (318) configured to receive a multi-tone frequency shift keying (FSK) signal over the acoustic channel wherein the signal is based on a multi-dimensional frequency lattice; and a TKEO module (114) configured to:
apply Teager Kaiser Energy Operator (TKEO) on the received multi-tone FSK signal to obtain Teager Kaiser energy samples;
compute a cumulative sum of the Teager Kaiser energy samples, wherein the computation is based on a primary Teager Kaiser energy sample and a secondary Teager Kaiser energy sample; and
detect a signal onset based on the cumulative sum, wherein the cumulative sum is greater than a pre-defined threshold value.
25. The receiving system (108) as claimed in claim 24, wherein the receiving system (108) further comprises a data demodulation module (316) configured to demodulate the detected signal to generate a demodulated signal, wherein the demodulation is based on fast Fourier transform (FFT).
26. The receiving system (108) as claimed in claim 25, wherein the receiving system (108) further comprises a data decoding module (314) configured to decode the demodulated signal based on forward error correction codes.