METHODS AND SYSTEMS FOR SPREAD SPECTRUM COMMUNICATIONS
20170288726 · 2017-10-05
Inventors
- GEORGES KADDOUM (MONTREAL, CA)
- YOGESH ANIL NIJSURE (MONTREAL, CA)
- FAROUK ABDELLATIF AHMED MOHAMMED (MONTREAL, CA)
Cpc classification
International classification
Abstract
Wireless communications have become ubiquitous for society with the availability of low cost front end transmitter and receiver circuits. Network operators strive to provide wireless signals with good Signal to Noise and Interference Ratio (SNIR) whilst increasing useable network capacity and bandwidth using maximum over-the-air data rate and controlling or minimizing over-the-air congestion. Historically this has been achieved via evolutions of network and consumer hardware, firmware, software and hence it would be beneficial to provide network operators with a means of increasing network capacity without requiring either additional hardware complexity and/or additional computational complexity in the receiving devices. The inventor has established a new domain within the network, the spreading code domain, to increase the data rate, by using spreading codes to map the data in conjunction with the constellation symbols and reduce the amount of transmitted data required.
Claims
1. The method according to claim 18, further comprising: receiving a block of N.sub.b bits to be transmitted; mapping (N.sub.b−n) bits of the block of N.sub.b bits against a selected code of a set of 2.sup.(N.sup.
2. The method according to claim 1, wherein the mapping of data to a selected code of the set of spreading codes results in the transmission of the selected code without modulation as n=0 and all bits within the data are mapped to the selected code of the set of spreading codes.
3. The method according to claim 1, wherein the selected code of the set of spreading codes employed for transmitting the bit of information is selected in dependence upon the mapping of the bit of information to the set of spreading codes.
4. The method according to claim 1, wherein the number spreading codes within the set of spreading codes is 2.sup.(N.sup.
5. The method according to claim 1, wherein N.sub.b=4 and n=2.
6. The method according to claim 19, further comprising: receiving a bit of data over the wireless communications network; determining a predetermined code of a plurality of codes in dependence upon the received bit; associating a value to a first decoded symbol based upon the predetermined code of the plurality of codes; determining a plurality of decoded bits in dependence upon the predetermined code of the plurality of codes and the received bit.
7. The method according to claim 6, wherein the plurality of codes relate to spread-spectrum communication codes.
8. The method according to claim 6, wherein the plurality of codes all relate to a spread spectrum communications protocol, the spread spectrum communications protocol selected from the group comprising code modulation spread spectrum, frequency hopping spread spectrum, direct sequence spread spectrum and chirp spread spectrum.
9. The method according to claim 19, further comprising: receiving n bits of data over the wireless communications network; determining a predetermined code of a plurality of codes in dependence upon the most powerful correlator output of a set of 2.sup.(N.sup.
10. The method according to claim 9, wherein (N.sub.b−n) represents the number of bits within a block of data to be mapped by the selected spread spectrum code and n is the number of bits that will be transmitted;
11. The method according to claim 9, wherein the plurality of codes relate to spread spectrum communication codes.
12. The method according to claim 9, wherein the plurality of codes all relate to a spread spectrum communications protocol, the spread spectrum communications protocol selected from the group comprising code modulation spread spectrum, frequency hopping spread spectrum, direct sequence spread spectrum and chirp spread spectrum.
13. The method according to claim 19, further comprising: receiving a spread symbol data over the wireless communications network; determining a predetermined code of a plurality of codes in dependence upon the received spread symbol data; associating a value to a first decoded symbol based upon the outputs of a plurality of de-spreading circuits, each de-spreading circuit de-spreading a predetermined code of the plurality of codes; determining the values of a plurality of bits of data in dependence upon the first decoded symbol and a de-spreading circuit of the plurality of de-spreading circuits meeting a predetermined condition.
14. The method according to claim 13, wherein the predetermined condition is the output of that de-spreading circuit of the plurality of de-spreading circuits is higher than the other outputs.
15. The method according to claim 18, further comprising: receiving a pair of bits to be transmitted; selecting a predetermined code of a plurality of codes in dependence upon the value of N.sub.b−n) bits spreading the symbol with n bits to be transmitted using the predetermined code.
16. The method according to claim 19, further comprising: receiving a bit of data over the wireless communications network; determining a predetermined code of a plurality of codes in dependence upon the most powerful correlator output of a set of 2.sup.(N.sup.
17. The method according to claim 19, further comprising: receiving spread symbol data over the wireless communications network; determining a predetermined code of a plurality of codes in dependence upon the received spread symbol data; associating a value to a first decoded symbol based upon the outputs of a plurality of de-spreading circuits, each de-spreading circuit de-spreading a predetermined code of the plurality of codes; determining the values of a plurality of bits of data in dependence upon the first decoded symbol and a de-spreading circuit of the plurality of de-spreading circuits meeting a predetermined condition.
18. A method for transmitting data within a wireless communications network with increased efficiency.
19. A method of receiving data within a wireless communications network with increased efficiency.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
DETAILED DESCRIPTION
[0038] The present invention is directed to spread spectrum communications and more particularly to high data rate and low energy communications by exploiting coding domain which leads to a reduction in the number of bits transmitted.
[0039] The ensuing description provides exemplary embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiment(s) will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It being understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims. Within these embodiments of the invention a block of bits of two bits, N.sub.b=4, is considered with the number of transmitted bits being a single bit, n=2, although the invention may be generalized for different N.sub.b and n. Such an embodiment <N.sub.b=4:n=2> based upon analysis by the inventor represents a beneficial tradeoff between complexity energy efficiency data rate and Bit Error Rate (BER) performance.
A: System Model
[0040] The system model for the code index modulation-(CIM) concept is depicted in
[0041] Now considering the receiver, depicted in
[0042] The absolute values of the correlator's output are compared, i.e. selecting the maximum value of the different branches outputs, in order to detect the transmitted Walsh code based on the decision variable D.sub.i=|.sub.1,i|−|I.sub.2,i| and hence the mapped bit a.sub.2,i is found. The corresponding branch selected by the comparator is then used to recover the transmitted bit a.sub.1,i through the sign of its correlator output. Accordingly, the two bits can be recovered as given by Equations (5A) and (5B). The absolute value of the received signal is employed within this embodiment because it is easy to implement and the inventor has found it to give better performance than detection with two thresholds, although this could be alternatively used. The improved performance of the proposed CIM system is shown by the analysis in the following Section B. The sign is employed here because of the use of QPSK modulation. However in other general schemes the sign represents the demodulator.
D.sub.i>0 a.sub.2,i=+1 and a.sub.1,i=sign(I.sub.1,i) (5A)
D.sub.i≦0 a.sub.2,i=−1 and a.sub.1,i=sign(I.sub.2,i) (5B)
B. CIM Performance Analysis
[0043] Within this analysis the bit error rate performance of the CIM over an AWGN channel is derived together with the throughput, energy consumption, and total system complexity which are compared to the conventional prior art DS-SS systems, i.e. SS QPSK and SS 16-PSK.
[0044] B1: Bit-Error Rate (BER): The total BER P.sub.T of the CIM system is a function of the BER of the transmitted bit P.sub.eb and the BER of the mapped bit P.sub.ec which corresponds to the error probability of the spreading code detection sequence. Accordingly, within the simulated embodiment where there is only one transmitted bit a.sub.1,i and one mapped bit a.sub.2,i with each spreading code, the total BER P.sub.T of the CIM system is given by Equation (6). From Equation (5) it is evident that the error of the transmitted bit a.sub.1,i depends on the comparator decision and occurs in two different cases. The first case is when there is no error in the spreading code detection, but the transmitted bit a.sub.1,i is detected with an error. The second case is when there is an error in the code detection since a.sub.1,i is detected based on the sign of the wrong correlator output. Therefore, the BER P.sub.eb of the transmitted bit a.sub.1,i is given by Equation (7) where P.sub.ss=0.5 erƒc(√{square root over (E.sub.b/N.sub.0)}) is the BER for the conventional DS-SS (i.e. DS-SS with QPSK) over AWGN and erƒc is the complementary error function, see for example Tse et al in “Fundamentals of Wireless Communications” (Cambridge University Press, 2005).
P.sub.T=½P.sub.eb+½P.sub.ec (6)
P.sub.eb=P.sub.ss(1−P.sub.ec)+½P.sub.ec (7)
[0045] The two terms in Equation (7) represent the two error cases respectively. Also, the factor of 0.5 represents the fact that with error in the code detection, the bit value detected based on the sign of the wrong correlator output still matches the transmitted bit a.sub.1,i half of the time.
[0046] Computing Equations (6) and (7) requires finding the error probability of spreading code detection P.sub.ec. As seen in Equation (5), the decision variable D.sub.i is compared to zero and the result determines the spreading code. The decision variable D.sub.i can be approximated as a nearly Gaussian random variable, see for example Morales-Jimenez et al in “Multiple-Antenna Signal Detection in Cognitive Radio Networks with Multiple Primary User Signals” (arXiv:1405.6408), then the mean and variance of the decision variable D.sub.i are initially computed. Since the outputs in Equations (3) and (4) are symmetric, then we can consider one case and the other one is similar. Accordingly, assume the code w.sub.1 is transmitted, i.e. a.sub.2,i=1, then D.sub.i is given by Equation (8) and the mean E{D.sub.i} of D.sub.i is given by Equation (9).
D.sub.i=|I.sub.1,i|−|I.sub.2,i|=|E.sub.b+n.sub.1|−|n.sub.2| (9)
[0047] The two terms in Equation (9) are independent because the noise signal is multiplied by two different Walsh codes. Accordingly, we can write the first term as E{|E.sub.b+n.sub.1|}=E|X| where X=E.sub.b+n.sub.1 is a random normal distribution with mean E.sub.b, and variance E.sub.bN.sub.0/2, i.e. X˜(E.sub.b, E.sub.bN.sub.0/2), then the mean E{|X|} can be developed as Equation (10A) and (10B).
[0048] Further, as |n.sub.2| follows a half-normal distribution with mean
from Equation (10). Hence, the mean of the decision variable D, is given by Equation (11). The variance V{D.sub.i} of the decision variable can be written as Equation (12).
[0049] By substituting Equation (10) into Equations (11) and (12) and after some straightforward manipulations, the total variance can be expressed as Equation (13).
[0050] The error probability of spreading code detection under Gaussian approximation can be expressed as given by Tse in Equation (14). Hence, the closed-from expression of the error probability P.sub.ec, is obtained by substituting Equations (11) and (13) in Equation (14). Finally, the total BER of the CIM system under AWGN channel is obtained by substituting Equations (14) and (7) in Equation (6).
[0051] B2) Throughput: Typically, the throughput is defined as the number of correct bits that a user receives per unit time and thus can be written as Equation (15), after Tse, where M is the modulation order, T is the transmission time, and (1-P) is the correct bits received during time T. Both DS-SS and CIM systems have the same bit duration T=LT.sub.c. However, two bits are transmitted over T with QPSK for the DS-SS system whilst four bits are transmitted for the CIM system according to an embodiment of the invention.
[0052] B3) Energy Efficiency, Data Rate, and System Complexity: Within the CIM transmission system according to the embodiment of the invention described sup the proposed CIM scheme for n=2 and N.sub.b=4, only half of the information bits are directly transmitted. With each transmitted bit in the in-phase and quadrature-phase components, another bit is conveyed in the spreading code selection. This process saves 50% of the total transmitted energy and doubles the data rate of the system as compared to the conventional DS-SS.
[0053] The complexity of the schemes is evaluated by considering the number of spreading/de-spreading operations required to transmit one bit. At the transmitter side the CIM scheme requires one spreading operation to transmit one bit which is the same number of operations required for DS-SS case. In the case of n=2 and N.sub.b=4, two de-spreading operations are required for the CIM instead of one operation for the DS-SS system. However, to transmit N.sub.b bits, the CIM system requires N.sub.b/2 spreading operations at the transmitter and N.sub.b de-spreading operations at the receiver for a total of 3/2N.sub.b operations whilst the DS-SS system requires N.sub.b spreading operations and N.sub.b, de-spreading operations. Therefore, if we neglect the comparator complexity. The CIM system is approximately 25% less complex than the DS-SS scheme. This lower complexity also reduces the energy consumption due to computations.
C: Simulation Results
[0054] In order to demonstrate the performance of the CIM system according to an embodiment of the invention the system was analysed by numerical simulations. Referring to
[0055] Further, from the analysis it is evident that that the conventional SS QPSK system outperforms CIM systems according to an embodiment of the invention by about 3 dB for both AWGN and Rayleigh channels. Based on our analytical analysis given in Equation (6), this 3 dB degradation comes from the error in the code detection. However, as shown in the same figure the performance degradation gap between SS QPSK and higher order modulation with four bits per symbol like SS 16-PSK over AWGN channel is 8 dB which is higher than the 3 dB gap with the CIM system according to embodiments of the invention. This arises as the mapped bits do not reduce the Euclidian distance between the transmitted bits as in the conventional modulation. Accordingly, the proposed CIM system according to embodiments of the invention actually increases the data rate with a 5 dB higher gain in terms of BER than the equivalent conventional higher order modulation schemes such as SS 16-PSK.
[0056] Now referring to
[0057] Now referring to
[0058] Whilst both CIM according to embodiments of the invention and prior art space modulation (SM) are similar in using an additional dimension to carry information bits, there are some advantages that make the CIM scheme more attractive for practical implementations. The performance of the CIM depends on the orthogonality characteristics of the spreading codes rather than the channel characteristics. The performance of the SM degrades when the channels are correlated due to the inadequate spacing between antennas. Using spreading codes rather than the antenna as an extra dimension for mapping bits moves the design challenge to finding spreading codes with good orthogonality characteristics. Moreover, the SM requires multiple antennas at the transmitter, i.e., more cost is added to the hardware implementation. In addition, the number of mapped bits in the SM is limited by the physical size of the wireless device where only small number of antennas can be used. On the other hand, CIM can use a very large number of codes by increasing the number of mapped bits without increasing the physical size and cost.
[0059] Now referring to
E. Expansions
[0060] Enhancements in CIM system performance may arise from multiple sources, including, but not limited to improving the code detection algorithm in order to improve the total BER performance of the CIM system. It would also be evident that the CIM concept supports transmission over other different fading channels. Further the CIM concept may be generalized to extend the concept for more than one mapped bit. The CIM concept may also be integrated with other techniques, including but not limited to, other spatial modulations and Multi-Input-Multi-Output methodologies.
[0061] It would be evident to one skilled in the art that the technique described supra in respect of code modulation-spread spectrum represents one mapping methodology according to an embodiment of the invention. Other mapping methodologies may be employed wherein one bit of a pair of bits being transmitted is mapped to a “code” employed in transmitting the other bit and wherein the code employed is detected at the receiver allowing that bit to be decoded and then the second bit may be concurrently or subsequently decoded based upon the code employed. For example, within a Frequency Hopping Spread Spectrum (FH-SS) communications system the frequency or frequencies employed may be the code.
[0062] Whilst the embodiment of the invention described and depicted in respect of
[0063] In some embodiments of the invention the determination of the code may be performed within a field programmable gate array (FPGA) and may simply be reduced in some instances to a sequential series of “IF (X) THEN (Y)” processes. As such without any change in hardware complexity the coding employed may be varied and/or established according to a variety of factors including, but not limited, the application, the network requirements, wireless environment, device complexity, and device power requirements.
[0064] In addition to frequency hopping spread spectrum (FH-SS) techniques wireless communications according to embodiments of the invention may exploit time-hopping spread spectrum (TH-SS), direct sequence spread spectrum (DS-SS) and chirp spread spectrum (CSS) techniques.
[0065] Embodiments of the invention may be employed in the establishment of high data rate and low energy wireless communications between wireless devices and network infrastructure including, but not limited to, cell towers, WiFi nodes, WiMAX nodes, Zigbee nodes, wireless sensors networks, satellite communications, global navigation systems (GPS, Galileo etc . . . ), triangulation location systems, body area networks, etc. as well as local or personal device to device communications and local or personal device to network communications, personal area networks, wearable devices, wearable sensors, sensor networks, etc. Embodiments of the invention may be employed in fixed networks as well as ad-hoc networks.
[0066] It would also be evident that embodiments of the invention may be employed with low/medium data rate and low energy wireless communications between client devices including, but not limited to, uniquely identifiable embedded computing-like devices within existing and future Internet infrastructures (e.g. devices forming element of the Internet of Things) and network elements including, but not limited to, base stations and access points. In such applications client devices may, by limiting the amount of data transmitted, extend the operating lifetime of the client devices.
[0067] Embodiments of the invention may be employed in conjunction with “portable electronic device” (PED) as used herein and throughout this disclosure, refers to a wireless device used for communications and other applications that requires a battery or other independent form of energy for power. This includes devices, but is not limited to, such as a cellular telephone, smartphone, personal digital assistant (PDA), portable computer, pager, portable multimedia player, portable gaming console, laptop computer, tablet computer, and an electronic reader.
[0068] Embodiments of the invention may be employed in conjunction with “fixed electronic device” (FED) as used herein and throughout this disclosure, refers to a wireless device used for communications and other applications that requires connection to a fixed interface to obtain power. This includes, but is not limited to, a laptop computer, a personal computer, a computer server, a kiosk, a gaming console, a digital set-top box, an analog set-top box, an Internet enabled appliance, an Internet enabled television, and a multimedia player.
[0069] A “wearable device” or “wearable sensor” refers to a wireless electronic devices that are worn by the user including those under, within, with or on top of clothing and are part of a broader general class of wearable technology which includes “wearable computers” which in contrast are directed to general or special purpose information technologies and media development. Such wearable devices and/or wearable sensors may include, but not be limited to, smartphones, smart watches, e-textiles, smart shirts, activity trackers, smart glasses, environmental sensors, medical sensors, biological sensors, physiological sensors, chemical sensors, ambient environment sensors, position sensors, neurological sensors, drug delivery systems, medical testing and diagnosis devices, and motion sensors.
[0070] Embodiments of the invention may be employed within wireless communications systems according to internationally recognized standards, national standards, industry standards, ad-hoc standards as well as discrete networks and systems or deployments of networks and systems operating to specifications defined by the manufacturer and/or purchaser of the network and/or system. Embodiments of the invention may also be implemented using a variety of transmission protocols including, but not limited to, analog modulation, digital modulation, amplitude modulation, frequency modulation, phase modulation, shift keying, and single sideband modulation.
[0071] Specific details are given in the above description to provide a thorough understanding of the embodiments. However, it is understood that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0072] Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof
[0073] Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
[0074] Furthermore, embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages and/or any combination thereof. When implemented in software, firmware, middleware, scripting language and/or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium, such as a storage medium. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures and/or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters and/or memory content. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0075] For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor and may vary in implementation where the memory is employed in storing software codes for subsequent execution to that when the memory is employed in executing the software codes. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
[0076] Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
[0077] The methodologies described herein are, in one or more embodiments, performable by a machine which includes one or more processors that accept code segments containing instructions. For any of the methods described herein, when the instructions are executed by the machine, the machine performs the method. Any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine are included. Thus, a typical machine may be exemplified by a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics-processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD). If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth.
[0078] The memory includes machine-readable code segments (e.g. software or software code) including instructions for performing, when executed by the processing system, one of more of the methods described herein. The software may reside entirely in the memory, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute a system comprising machine-readable code.
[0079] In alternative embodiments, the machine operates as a standalone device or may be connected, e.g., networked to other machines, in a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The machine may be, for example, a computer, a server, a cluster of servers, a cluster of computers, a web appliance, a distributed computing environment, a cloud computing environment, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. The term “machine” may also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0080] The foregoing disclosure of the exemplary embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.
[0081] Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.