US9270418B1 - Identifying a code for signal decoding - Google Patents
Identifying a code for signal decoding Download PDFInfo
- Publication number
- US9270418B1 US9270418B1 US14/843,167 US201514843167A US9270418B1 US 9270418 B1 US9270418 B1 US 9270418B1 US 201514843167 A US201514843167 A US 201514843167A US 9270418 B1 US9270418 B1 US 9270418B1
- Authority
- US
- United States
- Prior art keywords
- code
- wireless signal
- superposition
- binary
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/70735—Code identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/708—Parallel implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/16—Code allocation
- H04J13/18—Allocation of orthogonal codes
- H04J13/20—Allocation of orthogonal codes having an orthogonal variable spreading factor [OVSF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
Definitions
- This specification relates to identifying a code for signal decoding.
- Communication signals can be encrypted, orthogonalized, randomized, or otherwise manipulated using a large set of codes during transmission in a communication network.
- scrambling codes can be used to distinguish the distinct transmitters of communication signals in a communication network.
- users are assigned orthogonal scrambling codes derived from a very large set.
- a code is identified for decoding a wireless signal.
- a method of decoding a wireless signal includes identifying multiple superposition codes based on a set of orthogonal binary codes.
- the set includes a number of subsets; each superposition code corresponds to one of the subsets and includes a combination of the binary codes in the corresponding subset.
- a first subset of the number of subsets is selected based on a correlation between a wireless signal and a first superposition code.
- the first superposition code corresponds to the first subset.
- a first binary code is selected from the first subset based on a correlation between the wireless signal and the first binary code.
- the wireless signal is decoded based on the first binary code.
- a wireless signal processing system includes a radio system configured to detect a wireless signal and a data processing system.
- the data processing system is configured to obtain the wireless signal and superposition codes.
- the superposition codes are based on a set of orthogonal binary codes, and the set includes a number of subsets. Each superposition code corresponds to one of the subsets and includes a combination of the binary codes in the corresponding subset.
- a first subset is selected based on a correlation between the wireless signal and a first superposition code.
- the first superposition code corresponds to the first subset.
- a first binary code is selected from the first subset based on a correlation between the wireless signal and the first binary code.
- the wireless signal is decoded based on the first binary code.
- FIG. 1 is a block diagram showing an example wireless network.
- FIG. 2 is a flow chart showing an example process of identifying a code for wireless signal decoding.
- FIG. 3 is a block diagram showing aspects of an example process of identifying a code for wireless signal decoding.
- FIG. 4 includes example binary trees showing aspects of an example process of identifying a code for wireless signal decoding.
- a code is identified for signal decoding.
- a communication signal e.g., a wireless signal transmitted over radio frequency (RF) spectrum or a wireline signal transmitted over copper, optical fiber, or other media
- RF radio frequency
- the code can be selected from a large code set.
- the particular code used by the communication signal is identified.
- one or more of the example techniques described here can reduce the search space for identifying the code, and thus improve the efficiency and accuracy of the search.
- a set of codes can be combined in such a way that a single search can yield results over numerous codes.
- 2,000 codes can be amalgamated within a single search in some instances.
- the codes can be amalgamated in various ways depending on the application. For example, different phases and amplitudes can be applied to a given code or set of codes prior to combination, and yield different results depending on the intended performance metrics.
- the combination of multiple orthogonal codes can be referred to as superposition, and the resulting combination of the set of codes can be referred to as a superposition code or a super-code.
- an iterative search method can be implemented to use successive superposition codes (of decreasing size) to find the individual code, in some instances, in a maximum of log(n) steps, where n is the superposition depth of the current superposition code.
- the superposition depth n represents the number of codes, out of the allowable code space of the communication system, that are combined to create one code in the super-code dictionary.
- a superposition depth between these two extremes i.e., greater than 1 and less than N) can provide a tradeoff search space with the ability to discriminate codes and code-sets. In some cases, log(N/n) steps will be required to link a particular signal to a super-code, and log(N/n)+log(n) steps will be required to identify one particular code.
- an iterative binary search can be implemented to take a current set of orthogonal codes, split it into two halves (each has a half of the total number of orthogonal codes) and correlate both sets with the communication signal.
- the set with a higher correlation value can be selected as the winning set.
- the winning set can be further split into two halves and the above procedure can be repeated in a tree-like fashion, eventually leading to the code that was used to encode the communication signal.
- the selected individual code can give higher noise resolution on the user and, thus, can allow extraction of precise signal-to-noise ratio (SNR) number of the user.
- the search time for the detection of a code can be reduced significantly.
- one or more of the example techniques described here may help provide a more “real-time” view of users entering and leaving a network as well as detecting their specific impact on the overall network. This may include assessing the power control response, the spectral content, and many other metrics that can be attributed to a specific user in a given system.
- the time difference of arrival (TDOA) of multiple users can be extracted from the sensor node, for example, by identifying a peak in the correlation result.
- TDOA time difference of arrival
- Such ranging information can be used to cluster users within a certain geographical loci.
- the ranging information can also be used by multiple sensing nodes using triangulation to identify more precise user location.
- the magnitude of a correlation result can be used to identify the distance of a user from a sensing terminal. Such information can be combined with the knowledge of base station location to aid in the precise detection of the user location.
- WCDMA Wideband Code Division Multiple Access
- the techniques described here can be applied to other systems that use large sets of codes.
- one or more of the example techniques described here can be used without dependence on a connection to either a user or base station.
- one or more of the example techniques described here can offer a low-complexity search space without requiring a handshaking mechanism.
- FIG. 1 is a block diagram showing an example wireless network 100 .
- the example wireless network 100 includes multiple user equipment (UE, also referred to as “mobile devices” or “mobile nodes”) 105 , multiple wireless sensor devices (also referred to as “RF sensors,” “sensors,” or “spectrum inspection (SI) boxes”) 110 , and a base station 120 .
- the wireless network 100 can include additional or different components.
- the wireless network 100 can include more than one base station and the UE can move from a cell covered by one base station to another cell covered by another base station.
- a wireless network can be arranged as shown in FIG. 1 or in another manner.
- a base station 120 typically provides wireless service for multiple user equipment (e.g., smartphones, tablets, Internet-of-things devices, and other cellular-connected devices, etc.) in a broad region, for example, over an entire cell of a cellular network (e.g., a cellular voice network, cellular data network, etc.).
- the base station 120 can wirelessly transmit communication signals to the UE 105 in the downlink direction, and the multiple UEs 105 can transmit communication signals to the base station 120 in the uplink direction.
- the communication signals can be formatted according to a particular communication standard or protocol, for example, 2G standards such as Global System for Mobile (GSM) and Enhanced Data rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as Code division multiple access (CDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA); 4G standards such as Long-Term Evolution (LTE) and LTE-Advanced (LTE-A); wireless local area network (WLAN) or WiFi standards such as IEEE 802.11, Bluetooth, near-field communications (NFC), millimeter communications; or multiple of these or other types of wireless communication standards.
- GSM Global System for Mobile
- EDGE Enhanced Data rates for GSM Evolution
- EGPRS EGPRS
- 3G standards such as Code division multiple access (CDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA)
- 4G standards such as Long-Term Evolution (LTE) and LTE-Advanced
- the uplink communication signals transmitted by each UE can be scrambled with a scrambling code.
- the scrambling code can be selected from a large set of orthogonal binary codes.
- the base station 120 can de-scramble the received signal by searching over the entire set of scrambling codes to identify the particular scrambling code used by the UE 105 for decoding the received signal.
- de-scrambling processes of the type shown in FIGS. 2 , 3 and 4 can improve the accuracy and efficiency of identifying the matching scrambling code.
- a UE 105 can receive wireless signals transmitted from more than one base station 120 . Similarly, to distinguish the multiple base stations, the signals transmitted by each base station 120 can be scrambled with a particular scrambling code. The UE can perform the example techniques to identify the particular scrambling code used by respective base stations for decoding the received downlink signals from the base stations.
- wireless sensor devices 110 distributed over a geographic region at respective physical locations with spatial coordinates (x i , y i , z i ).
- the wireless sensor devices 110 can be identical or similar to each other, or a variety of different wireless sensor devices 110 can interact with the wireless network 100 .
- the locations of the wireless sensor devices 110 can be fixed, or they can be at dynamic or otherwise movable locations.
- the example wireless sensor devices 110 can monitor and analyze the RF spectrum at the respective locations, detect RF signals transmitted by the UE 105 , and perform analyses of wireless communication services available at the associated geographic location. For instance, the wireless sensor device 110 can detect a wireless signal and decode the wireless signal formatted according to a wireless communication standard, such as, for example, any of the communication standards mentioned above. The example wireless sensor devices 110 can identify data packets and frames, and extract control information and traffic data of the detected wireless signal.
- the wireless sensor device 110 can extract synchronization information, cells and services identifiers, and quality measurements of RF channels (e.g., channel quality indicator (CQI)), and derive spectral-usage parameters and other information based on these and other control information and traffic data of the wireless signal detected by the wireless sensor device 110 .
- CQI channel quality indicator
- the wireless sensor device 110 in order to decode and analyze the detected wireless signal transmitted by a UE 105 or a base station, can perform a decoding process to identify a particular scrambling code used by the particular UE 105 or the base station 120 .
- the wireless sensor devices 110 may include processors or other computing hardware configured to perform on or more of the operations shown in FIGS. 2 , 3 and 4 .
- other components of the example wireless network 100 can use the same or similar processes, for example, for searching or otherwise identifying a binary code among a number of binary codes.
- FIG. 2 is a flow chart showing an example process 200 for identifying a code for wireless signal decoding.
- the example process 200 can be implemented by a data processor or other computing hardware executing computer instructions stored on computer-readable media of a UE, a base station, a wireless sensor device, or other component of a communication system (e.g., of the example wireless network 100 ).
- the example process 200 , individual operations of the process 200 , or groups of operations may be iterated or performed in series or in parallel (for example, using multiple threads). In some cases, the example process 200 may include additional, fewer, or different operations performed in the order shown or in a different order.
- a wireless signal is received, for example, wirelessly by operation of a radio interface of a UE, a base station, a wireless sensor device, or other component of a communication system.
- the wireless signal can be a signal that has been encrypted, orthogonalized, or otherwise manipulated with a binary code.
- the binary code can be an individual code (e.g., a scrambling code, a spreading code, or another other type of code that is selected from a set of orthogonal codes) applied to the wireless signal before transmission.
- the binary code can be selected from a set or a pool of binary codes, for example, from the allowable code space of a wireless communication system.
- the binary code can be a series of binary values, where each value in the series is one of two possible values (e.g., selected from the set (0,1), the set ( ⁇ 1,1), or another binary set).
- the binary code that was applied to the wireless signal (which can be referred to as the target binary code) is identified from the full set of binary codes in an iterative manner.
- a current set of binary codes is identified.
- the current set of binary codes can be the full or complete set of binary codes that the target binary code was selected from (e.g., the allowable code space of a wireless communication system.
- the number of binary codes included in the current set can decrease upon each iteration.
- the current set is divided into a number of (e.g., N) inspection subsets (or groups) of binary codes for the current iteration.
- the number of binary codes in each inspection subset can be the same or different.
- the number of inspection subsets i.e., the value of N
- N can remain as 2 inspection subsets, where each subset has half of the number of binary codes of that of the previous subset.
- a superposition code corresponding to each of the N inspection subsets can is computed.
- computing the superposition codes can include manipulation of a phase, amplitude, or both phase and amplitude of each binary code within the subset.
- computing the superposition code corresponding to a subset can include generating phased codes by applying a distinct phase to each binary code in the subset, and summing the phased codes.
- the phased codes can be generated by applying a distinct phase and distinct amplitude to each binary code in the subset. Example processes for computing the superposition code are described below with respect to FIG. 3 .
- FIG. 3 is a block diagram 300 showing example aspects of identifying a code for wireless signal decoding.
- the complete code set 310 is divided into n groups (inspection subsets) 320 a , 320 b , . . . , 320 n .
- Each group includes a respective number of binary codes, Code 0, Code 1, Code, . . . , Code m (collectedly referred to as 330 a , 330 b , . . . , 330 n , respectively for each group).
- FIG. 3 shows an example amplitude process and phase process that can apply phase and amplitude functions to each of the binary codes, Code 0, Code 1, Code, . . .
- Code m For example, a distinct phase and distinct amplitude can be applied to each binary code in Group 1 ( 320 a ).
- I′ and Q′ represent the in-phase and quadrature components of the phased Code 0, respectively; and I and Q represent the in-phase and quadrature components of Code 0 (unphased), respectively.
- the phased Code 0 is obtained by shifting Code 0 by ⁇ in phase, scaling the in-phase component of Code 0 by A in amplitude, and scaling the quadrature component of Code 0 by B in amplitude.
- I′ C ( I *cos( b ) ⁇ Q *sin( b )) (3)
- Q′ D ( I *cos( b )+ Q *sin( b )) (4)
- I′ and Q′ represent the in-phase and quadrature components of phased Code 1, respectively; and I and Q represent the in-phase and quadrature components of Code 1 (unphased), respectively.
- phased Code 1 is obtained by shifting the Code 1 by b in phase, scaling the in-phase component of Code 1 by C in amplitude and scaling the quadrature component of Code 1 by D in amplitude.
- amplitude and phase manipulation are applied to Code 2 at 346 , Code m at 348 , etc.
- the multiple individual binary codes are summed together at 360 a and result in a superposition code 370 a for Group 1 ( 320 a ). Similar or different amplitude and phase manipulations can be applied to codes in other groups.
- the values of phase shift e.g., a, b, r
- amplitude change e.g., A, B, C, D, . . . , X and Y
- the amplitudes can be random values while the phases can be equally spaced from 0 to 2*pi.
- such amplitude and phase manipulation can reduce or eliminate correlations that may exist that can cause the wireless signal to be limited. Additional or different functions can be applied to the phase and amplitude of each binary code in the inspection subset.
- superposition code correlations between the wireless signal and the superposition codes are computed.
- the superposition code correlations can include the respective correlations between the wireless signal and the respective superposition codes of the inspection subsets.
- the correlation can be obtained, for example, based on a dot product or an inner product between the received signal and the superposition code.
- the correlation can be the normalized dot product (e.g., normalized by the magnitudes of the received signal and the superposition code).
- the superposition code correlation can be computed based on the covariance, correlation coefficient, or other indicators of dependence or other statistical relationships between the wireless signal and the superposition code.
- a received signal 305 is correlated with the superposition code 370 a at correlator 380 a , resulting in a superposition code correlation 390 a .
- the superposition code correlation 390 a can be obtained, for example, based on a dot product or an inner product between the received signal 305 and the superposition code 370 a normalized by the magnitudes of the received signal 305 and the superposition code 370 a .
- a superposition code correlation 390 b can be obtained by correlating the received signal 305 with the superposition code 370 b at correlator 380 b for Group 2 ( 320 b )
- a superposition code correlation 390 n can be obtained by correlating the received signal 305 with the superposition code 370 n at correlator 380 n for Group n ( 320 n ).
- N superposition code correlations can be obtained for the N inspection subsets for the current iteration.
- a first subset can be selected based on a peak in the correlation between the wireless signal and the first superposition code of the first subset.
- the N superposition code correlations only one correlation has a peak in the correlation values.
- the superposition code correlation 390 a of Group 1 has peak values while the rest of the superposition code correlations 390 b , . . . , 390 n have relatively constant low correlation values.
- the Group 1 can be selected as the first subset or the winning subset that contains the target binary code that was applied to the wireless signal.
- the first subset can be selected based on existing peak detection algorithms, for example, by setting a predetermined or configurable threshold and identifying correlations that include values greater than the threshold. In some implementations, more than one superposition code correlation can include peak values. Consequently, the corresponding inspection subsets can be selected as candidate subsets for identifying the target binary code. The first subset can be one of the candidate subsets.
- the first subset at the current iteration may contain only one individual binary code, and the only binary code in the first subset can be identified as the target binary code.
- the first subset at the current iteration may contain a small number of individual binary codes (e.g., less than 10, 100, etc.). Selecting the first binary code from the first subset can include computing individual code correlations between the wireless signal and each of the binary codes in the first subset and selecting the first binary code based on a peak in the correlation between the wireless signal and the first binary code.
- the example process 200 can then proceed to 280 .
- the first subset at the current iteration may contain a large number of individual binary codes (e.g., more than 10, 100, etc.). For instance, selecting an individual binary code from the large number of codes in the first subset may be computationally expensive. In such cases, the example process 200 can return to 220 . The first subset (or another subset) can then be identified as the current set for the next iteration. The example process 200 can then proceed to 230 and repeat the iterative process until the target binary code is identified.
- a large number of individual binary codes e.g., more than 10, 100, etc.
- selecting an individual binary code from the large number of codes in the first subset may be computationally expensive.
- the example process 200 can return to 220 .
- the first subset (or another subset) can then be identified as the current set for the next iteration.
- the example process 200 can then proceed to 230 and repeat the iterative process until the target binary code is identified.
- the wireless signal is decoded by operation of a data processor based on the first binary code.
- the wireless signal can be de-scrambled or decrypted based on the first binary code and the transmitter of the wireless signal can be identified.
- additional or different operations such as channel decoding and source decoding, can be performed on the wireless signal after applying the first binary code, for example, to recover the data information contained in the wireless signal.
- FIG. 4 includes example binary trees showing aspects of an example process 400 for identifying a code for wireless signal decoding.
- the full set of binary codes is divided into G groups (or inspection subsets) in the first iteration.
- Group 1 includes binary codes C 1 , C 2 , . . . , C N1
- Group 2 includes binary codes C N1+1 , C N2 , C N2 , etc.
- Group G includes binary codes C Nn+1 , C Nn+2 , . . . , C Nf .
- the number of binary codes in the G groups can be the same or different.
- a superposition code and a superposition correlation Ti can be computed for each of the G groups, for example, according to the example operations described with respect to 240 and 250 of the example process 200 or in another manner.
- the superposition correlation contains peak values (denoted as “pos” in FIG. 4 )
- the corresponding group can be selected as the candidate group.
- both Group 1 and Group G return superposition correlations T 1 and T G that have peak values.
- Group 1 and Group G can be selected as the candidate groups to continue searching the target binary code within the group.
- the superposition correlation T 2 in Group 2 does not contain peak values (denoted as “neg” in FIG. 4 )
- the Group 2 is removed from consideration for searching of the target binary code.
- FIG. 4 shows a binary search tree within each of the candidate groups, Group 1 and Group G.
- the search within Group 1 includes a binary search tree with the root node 410 that includes the binary codes C 1 , C 2 , . . . , C N1 .
- These codes can be split into two vectors (or inspection subsets) 420 a and 420 b .
- Respective superposition code and superposition correlation T can be computed for each of the vectors 420 a and 420 b .
- the vector 420 a can be discarded from consideration while the vector 420 b can be selected to continue searching for the target binary code.
- the vector 420 b is further split into two vectors 430 a and 430 b .
- the iterative search process can be repeated until an individual binary code is found that returns a correlation including one or more peak correlation values. In some instances, no individual binary code is found to have peak correlation values within the last inspection subsect or vector. The latter case implies that the target binary code is not included in Group 1.
- a binary search tree starts with root node 450 that includes the binary codes C Nn+1 , C Nn+2 , . . . , C Nf .
- the binary search tree can include different levels of inspection subsets or vectors such as 460 a and 460 b , and 470 a and 470 b .
- the binary search tree can end, for instance, when the last level of inspection subset includes a single binary code.
- only a single binary code among the G groups is identified as having a correlation including peak correlation values.
- the single binary code can be identified as the target binary code (or the first binary code at 270 of the example process 200 ).
- more than one binary code among the G groups can be identified as having correlations including peak correlation values. In this case, the correlations of these binary codes can be compared.
- the binary code with the maximum correlation values can be identified as the target binary code (or the first binary code at 270 of the example process 200 ).
- the target binary code can be selected from these binary codes based on other criteria.
- a computer system such as, for example, a computer system that includes one or more data processing apparatus that operates on data stored on one or more computer-readable storage devices or received from other sources.
- data processing apparatus encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing.
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- code that creates an execution environment for the computer program in question e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
- a computer program can be deployed to be executed on one computing device or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- Some of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computing device.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- a computing device typically includes a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computing device will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more storage devices for storing data. However, a computing device need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- subject matter described in this specification can be implemented on a computer having a display device, e.g., an LCD (liquid crystal display) screen for displaying information to the user and a keyboard and a pointing device, e.g., touch screen, stylus, mouse, etc., by which the user can provide input to the computer.
- a display device e.g., an LCD (liquid crystal display) screen for displaying information to the user
- a keyboard and a pointing device e.g., touch screen, stylus, mouse, etc.
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computing device can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on
- Some of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computing device having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a data network.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a data network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- a server transmits data to a client device. Data generated at the client device can be received from the client device at the server.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
I′=A(I*cos(a)−Q*sin(a)); and (1)
Q′=B(I*cos(a)+Q*sin(a)). (2)
In the example shown in Equations (1) and (2), I′ and Q′ represent the in-phase and quadrature components of the phased
I′=C(I*cos(b)−Q*sin(b)) (3)
Q′=D(I*cos(b)+Q*sin(b)) (4)
In Equations (3) and (4), I′ and Q′ represent the in-phase and quadrature components of phased
Claims (15)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/843,167 US9270418B1 (en) | 2015-09-02 | 2015-09-02 | Identifying a code for signal decoding |
CA2992624A CA2992624C (en) | 2015-09-02 | 2015-12-17 | Identifying a code for signal decoding |
KR1020187002666A KR102101667B1 (en) | 2015-09-02 | 2015-12-17 | Code identification for signal decoding |
JP2018504725A JP6720290B2 (en) | 2015-09-02 | 2015-12-17 | Code identification for signal decoding |
CN201580082181.XA CN107852191B (en) | 2015-09-02 | 2015-12-17 | Method for decoding wireless signal and wireless signal processing system |
PCT/CA2015/000603 WO2017035623A1 (en) | 2015-09-02 | 2015-12-17 | Identifying a code for signal decoding |
EP15902479.3A EP3345318B1 (en) | 2015-09-02 | 2015-12-17 | Identifying a code for signal decoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/843,167 US9270418B1 (en) | 2015-09-02 | 2015-09-02 | Identifying a code for signal decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
US9270418B1 true US9270418B1 (en) | 2016-02-23 |
Family
ID=55314774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/843,167 Active US9270418B1 (en) | 2015-09-02 | 2015-09-02 | Identifying a code for signal decoding |
Country Status (7)
Country | Link |
---|---|
US (1) | US9270418B1 (en) |
EP (1) | EP3345318B1 (en) |
JP (1) | JP6720290B2 (en) |
KR (1) | KR102101667B1 (en) |
CN (1) | CN107852191B (en) |
CA (1) | CA2992624C (en) |
WO (1) | WO2017035623A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525531A (en) * | 2017-09-19 | 2019-03-26 | 上海华虹计通智能***股份有限公司 | Demodulation module, demodulator circuit and high frequency card reader |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507602B1 (en) * | 1999-01-07 | 2003-01-14 | Ericsson, Inc. | Smoothing receiver channel estimates using spectral estimation |
US7440489B2 (en) * | 2001-08-07 | 2008-10-21 | Ericsson Inc. | Method and apparatus for selective demodulation and decoding of communications signals |
US7965761B2 (en) * | 1998-02-12 | 2011-06-21 | Lot 41 Acquisition Foundation, Llc | Multicarrier sub-layer for direct sequence channel and multiple-access coding |
US20110310935A1 (en) * | 2010-06-18 | 2011-12-22 | Samsung Electronics Co., Ltd. | Reception of spread spectrum signals |
US8175068B2 (en) | 2008-03-26 | 2012-05-08 | Advanced Receiver Technologies, Llc | Active spread code detection |
US20120320730A1 (en) * | 2008-05-02 | 2012-12-20 | Michele Morelli | System and Method for Initial Ranging in Wireless Communication Systems |
US8488578B1 (en) | 2010-09-27 | 2013-07-16 | Rockwell Collins, Inc. | Identifying a CDMA scrambling code |
US8761127B2 (en) * | 2006-04-24 | 2014-06-24 | Qualcomm Incorporated | Superposition coding in a wireless communication system |
US20140308972A1 (en) * | 2010-12-13 | 2014-10-16 | Zhongliang Deng | Mobile broadcast signal demodulation chip for location |
US8873605B2 (en) | 2012-03-15 | 2014-10-28 | Commissariat à l'énergie atomique et aux énergies alternatives | Method of blind estimation of a scrambling code of a WCDMA uplink |
US8913686B2 (en) * | 2010-05-07 | 2014-12-16 | Yale University | Sparse superposition encoder and decoder for communications system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0955716A (en) * | 1995-08-11 | 1997-02-25 | Toshiba Corp | Spread spectrum radio communication device |
JP2000357980A (en) * | 1999-06-16 | 2000-12-26 | Matsushita Electric Ind Co Ltd | Receiving device |
DE10003734A1 (en) * | 2000-01-28 | 2001-08-02 | Bosch Gmbh Robert | Detection method and device |
JP4406337B2 (en) * | 2004-08-31 | 2010-01-27 | パナソニック株式会社 | Multicarrier transmission apparatus, multicarrier reception apparatus, and synchronization detection method |
US7826343B2 (en) * | 2004-09-07 | 2010-11-02 | Qualcomm Incorporated | Position location signaling method apparatus and system utilizing orthogonal frequency division multiplexing |
KR20150138401A (en) * | 2008-01-02 | 2015-12-09 | 인터디지탈 테크날러지 코포레이션 | Method and apparatus for cooperative wireless communications |
-
2015
- 2015-09-02 US US14/843,167 patent/US9270418B1/en active Active
- 2015-12-17 CA CA2992624A patent/CA2992624C/en active Active
- 2015-12-17 JP JP2018504725A patent/JP6720290B2/en active Active
- 2015-12-17 WO PCT/CA2015/000603 patent/WO2017035623A1/en active Application Filing
- 2015-12-17 KR KR1020187002666A patent/KR102101667B1/en active IP Right Grant
- 2015-12-17 EP EP15902479.3A patent/EP3345318B1/en active Active
- 2015-12-17 CN CN201580082181.XA patent/CN107852191B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7965761B2 (en) * | 1998-02-12 | 2011-06-21 | Lot 41 Acquisition Foundation, Llc | Multicarrier sub-layer for direct sequence channel and multiple-access coding |
US6507602B1 (en) * | 1999-01-07 | 2003-01-14 | Ericsson, Inc. | Smoothing receiver channel estimates using spectral estimation |
US7440489B2 (en) * | 2001-08-07 | 2008-10-21 | Ericsson Inc. | Method and apparatus for selective demodulation and decoding of communications signals |
US8761127B2 (en) * | 2006-04-24 | 2014-06-24 | Qualcomm Incorporated | Superposition coding in a wireless communication system |
US8175068B2 (en) | 2008-03-26 | 2012-05-08 | Advanced Receiver Technologies, Llc | Active spread code detection |
US20120320730A1 (en) * | 2008-05-02 | 2012-12-20 | Michele Morelli | System and Method for Initial Ranging in Wireless Communication Systems |
US8913686B2 (en) * | 2010-05-07 | 2014-12-16 | Yale University | Sparse superposition encoder and decoder for communications system |
US20110310935A1 (en) * | 2010-06-18 | 2011-12-22 | Samsung Electronics Co., Ltd. | Reception of spread spectrum signals |
US8488578B1 (en) | 2010-09-27 | 2013-07-16 | Rockwell Collins, Inc. | Identifying a CDMA scrambling code |
US20140308972A1 (en) * | 2010-12-13 | 2014-10-16 | Zhongliang Deng | Mobile broadcast signal demodulation chip for location |
US8873605B2 (en) | 2012-03-15 | 2014-10-28 | Commissariat à l'énergie atomique et aux énergies alternatives | Method of blind estimation of a scrambling code of a WCDMA uplink |
Non-Patent Citations (3)
Title |
---|
J. Fessler, "Chapter 2-Discrete-time signals and systems," dated May 27, 2004, 21 pages. |
K. Higuchi et al., "Fast cell search algorithm in DS-CDMA mobile radio using long spreading codes," IEEE, 1997, 5 pages. |
Y.E. Wang, T. Ottosson, "Cell Search in W-CDMA," IEEE Journal on Selected Areas in Communications, vol. 18, No. 8, Aug. 2000, 13 pages. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525531A (en) * | 2017-09-19 | 2019-03-26 | 上海华虹计通智能***股份有限公司 | Demodulation module, demodulator circuit and high frequency card reader |
Also Published As
Publication number | Publication date |
---|---|
EP3345318B1 (en) | 2020-08-12 |
KR102101667B1 (en) | 2020-04-17 |
CA2992624C (en) | 2020-09-15 |
KR20180022897A (en) | 2018-03-06 |
JP2018528663A (en) | 2018-09-27 |
WO2017035623A1 (en) | 2017-03-09 |
CA2992624A1 (en) | 2017-03-09 |
EP3345318A1 (en) | 2018-07-11 |
EP3345318A4 (en) | 2019-04-24 |
JP6720290B2 (en) | 2020-07-08 |
CN107852191B (en) | 2020-06-30 |
CN107852191A (en) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103347278B (en) | The update method of fingerprint database and device in wireless location | |
US10638342B2 (en) | Device and method for device to device communication | |
CN107211248B (en) | Auxiliary data for the position for determining mobile device | |
US10256933B2 (en) | Method and device for transmitting preamble sequence | |
JP6507020B2 (en) | Cell search method and user apparatus | |
Guibène et al. | Cooperative spectrum sensing and localization in cognitive radio systems using compressed sensing | |
US10356744B2 (en) | Node localization method and device | |
JP2011530944A5 (en) | ||
Machaj et al. | Impact of optimization algorithms on hybrid indoor positioning based on GSM and Wi‐Fi signals | |
JP6061773B2 (en) | Signal processing apparatus, signal processing method, and signal processing program | |
US9270418B1 (en) | Identifying a code for signal decoding | |
Yi et al. | Cellular-assisted COVID-19 contact tracing | |
TWI555426B (en) | Discovery of objects in wireless environments | |
EP3061292B1 (en) | System and method for localization and traffic density estimation via segmentation and calibration sampling | |
CN109040947B (en) | Method, apparatus and computer readable storage medium for locating remote interference sources | |
JPWO2013140911A1 (en) | Signal search method, signal search program, signal search device, GNSS signal reception device, and information equipment terminal | |
CN105338487B (en) | Techniques for multi-pass geolocation | |
US8958754B2 (en) | System and method for sub-coherent integration for geo-location using weak or intermittent signals | |
Liu et al. | A wireless location system in LTE networks | |
Elbakly et al. | A calibration-free RF localization system | |
CN106941708B (en) | Case surveying and recording method and system | |
US20160309433A1 (en) | Method and apparatus for detection of synchronization signals in wireless networks | |
Schmidt et al. | Indoor positioning via WLAN channel state information and machine learning classification approaches | |
Isaacs et al. | NB-IoT System and Method for Radio Cell Synchronization White Paper | |
Zhou | Performance of Cellular-based Positioning with Machine Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: COGNITIVE SYSTEMS CORP., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEVISON, STEPHEN A.;OMER, MOHAMMAD;SIGNING DATES FROM 20150818 TO 20150901;REEL/FRAME:036478/0527 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: 2606440 ONTARIO LIMITED, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COGNITIVE SYSTEMS CORP.;REEL/FRAME:044997/0763 Effective date: 20171221 Owner name: COGNITIVE SYSTEMS CORP., CANADA Free format text: CHANGE OF NAME;ASSIGNOR:2606440 ONTARIO LIMITED;REEL/FRAME:045405/0209 Effective date: 20171231 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |