Spread spectrum code generation circuit, tracking channel circuit and spread spectrum receiver
By introducing a frequency control word calculation module and a chip selection controller into the spread spectrum communication system, the spread spectrum code sequence is generated and cached, which solves the problem of high complexity in spread spectrum code generation and control, achieves more efficient signal processing and reduces hardware costs.
Patent Information
- Application Number
- CN202510588417.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-08
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2045-05-08
AI Technical Summary
In spread spectrum communication systems, the control complexity when generating spread spectrum codes is high, which is easy to introduce errors. In addition, traditional methods are difficult to meet the application requirements of narrow correlation technology, resulting in low signal processing efficiency.
A frequency control word calculation module, a spreading code NCO, a spreading code generator, a spreading code buffer, and a chip selection controller are used to generate and cache the spreading code sequence by calculating the spreading code frequency control word and the NCO state value, and select the chip according to the code phase spacing of adjacent correlator branches, thereby reducing the control complexity.
The control complexity when generating spread spectrum codes is significantly reduced, the circuit scale is reduced, the hardware cost and power consumption are reduced, the signal processing efficiency is improved, and there is no need to reconfigure the frequency control word when switching the code phase difference between the correlator branches.
Smart Images

Figure CN120110436B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of spread spectrum communications, and in particular to a spread spectrum code generation circuit, a tracking channel circuit, and a spread spectrum receiver. Background Art
[0002] With the rapid development of wireless communication technology, spread spectrum communication, as an important anti-interference measure, has been widely used in military and civilian communication systems. Spread spectrum technology modulates the original data using a pseudo-random sequence, reducing the signal's power spectral density below the noise level, enabling covert signal transmission. It also offers excellent multiple access capabilities and resistance to multipath fading.
[0003] In spread-spectrum communication systems, one of the key tasks of the receiver is to accurately synchronize and track the spreading code used by the transmitter. Tracking the spreading code signal involves estimating and correcting parameters such as code phase and frequency offset, which is crucial for ensuring demodulation performance. Currently, early-late gate correlators (EGCs) and delay-locked loops (DLLs) remain the most commonly used methods for code phase synchronization of spread-spectrum signals. Furthermore, to improve multipath mitigation, narrow correlation techniques are also common, for example in GNSS receivers.
[0004] The code phase synchronization process for spread spectrum signals involves at least three correlator branches: the Early Branch (E), the Prompt Branch (P), and the Late Branch (L). The code phases of these branches typically differ by 0.5 chips. A code phase difference of less than 0.5 chips is considered a narrow phase difference technique. During spread spectrum signal reception, the code phase difference between the correlator branches is frequently switched to achieve optimal tracking performance. Switching the code phase difference between the correlator branches complicates the control of the correlation technique used to generate the spread spectrum code, making it prone to errors. Summary of the Invention
[0005] Based on the above situation, the main purpose of this application is to provide a spread spectrum code generation circuit, a tracking channel circuit and a spread spectrum receiver to reduce the control complexity when generating the spread spectrum code.
[0006] To achieve the above objectives, the technical solutions adopted in this application are as follows:
[0007] A spread spectrum code generating circuit is used to provide the required code chips for each correlator branch in the tracking channel, which includes a frequency control word calculation module, a spread spectrum code REMEMBER , a spreading code generator, a spreading code buffer, a chip selection controller and a chip selector;
[0008] The frequency control word calculation module calculates the spread spectrum code frequency control word according to the spread spectrum code frequency;
[0009] The spreading code REMEMBER Calculated according to the spread spectrum code frequency control word REMEMBER Status value, and according to the REMEMBER The state value sends an overflow signal to the spreading code generator and the spreading code buffer, REMEMBER The state value is independent of the code phase spacing between adjacent correlator branches;
[0010] The spread spectrum code generator generates a spread spectrum code sequence under the triggering of the overflow signal;
[0011] The spreading code buffer buffers the spreading code sequence under the triggering of the overflow signal;
[0012] The chip selection controller controls the chip selector to select corresponding chips from the spreading code sequence cached in the spreading code buffer to provide to each correlator branch; wherein which chip is selected for each correlator branch is determined based on the code phase spacing between adjacent correlator branches.
[0013] Optionally, the frequency control word calculation module calculates the spreading code frequency control word according to the spreading code frequency, including:
[0014] Calculating a spreading code frequency of a received signal based on a nominal spreading code frequency and a spreading code Doppler frequency; wherein the spreading code frequency of the received signal is the sum of the nominal spreading code frequency and the spreading code Doppler frequency, and the received signal is a navigation signal in the received down-sampled digital signal;
[0015] According to the sampling rate of the down-sampled digital signal, the spreading code frequency of the received signal and the spreading code REMEMBER The bit width of the spread spectrum code frequency control word is calculated; wherein the spread spectrum code frequency control word is
[0016] ,
[0017] Where, N Indicates the spreading code REMEMBER bit width.
[0018] As an option, the spreading code REMEMBER Calculate according to the spread spectrum code frequency control word REMEMBER Status value, and according to the REMEMBER The state value sends an overflow signal to the spreading code generator and the spreading code buffer, including:
[0019] According to the input n-1 downsampled digital signal corresponding to REMEMBER Status value, spread spectrum code frequency control word and the spread spectrum code REMEMBER The bit width of the input is calculated n The downsampled digital signal corresponds to REMEMBER Status value; wherein, the REMEMBER The status value is
[0020] ,
[0021] Where, the spreading code REMEMBER ( n ) indicates the input n The downsampled digital signal corresponds to REMEMBER Status value, spreading code REMEMBER ( n -1) indicates the input n -1 downsampled digital signal corresponding to REMEMBER Status value;
[0022] In each spreading code time, the spreading code REMEMBER Sending an overflow signal to the spreading code generator and the spreading code buffer; wherein, when REMEMBER Status value exceeds 2 N -1, the spreading code REMEMBER Send overflow signal.
[0023] Optionally, the spread spectrum code buffer includes registers connected in series, and the chip phases of two adjacent registers differ by 1 chip; the number of the registers matches the number of correlator branches.
[0024] Optionally, the register includes an advance branch register, an immediate branch register and a lag branch register, and the correlator branch includes an advance correlator branch, a lag correlator branch and an immediate correlator branch, wherein the advance branch register is connected to the advance correlator branch through the code chip selector, the lag branch register is connected to the lag correlator branch through the code chip selector, and the immediate branch register is directly connected to the immediate correlator branch; wherein the local code phase used by the advance correlator branch is ahead of the local code phase used by the immediate correlator branch on the time axis, and the local code phase used by the lag correlator branch lags behind the local code phase used by the immediate correlator branch on the time axis.
[0025] Optionally, the chip selector includes a plurality of multiplexers, and the number of the multiplexers matches the sum of the number of the early correlator branches and the late correlator branches.
[0026] Optionally, the control input end of the multiplexer is connected to the output end of the code chip selection controller; the input end of the multiplexer corresponding to the advance correlator branch is connected to the immediate branch register and the advance branch register, and the input end of the multiplexer corresponding to the lag correlator branch is connected to the immediate branch register and the lag branch register; the output end of the multiplexer corresponding to the advance correlator branch is connected to the advance correlator branch, and the output end of the multiplexer corresponding to the lag correlator branch is connected to the lag correlator branch.
[0027] Optionally, the chip selection controller controls the chip selector to select a corresponding chip from the spreading code sequence cached by the spreading code buffer, including:
[0028] The chip selection controller sends a control value to the chip selector;
[0029] The chip selector selects a corresponding chip from the spreading code sequence according to the control value;
[0030] The control value is related to the code phase spacing between adjacent correlator branches.
[0031] As an option, when the spreading code REMEMBER of REMEMBER When the state value is updated, the chip selection controller calculates a new control value and sends it to the chip selector;
[0032] The control value is:
[0033] ,
[0034] Where, I Indicates the control value, its value range is: 0≤ I < S , S represents the inverse of the code phase spacing between adjacent correlator branches, Indicates rounding down.
[0035] Optionally, the chip selector selects a corresponding chip from the spreading code sequence according to the control value, including:
[0036] For index number P The current code phase of the prompt correlator branch is , the chip selector selects a chip from the instant branch register;
[0037] For index number P - m The advance correlator branch of its current code phase Rounding to the negative direction, when the leading branch code phase rounding value is 0, the chip selector selects the chip from the instant branch register, otherwise, Selecting a chip in the advance branch register;
[0038] For index number P + m The delayed correlator branch, its current code phase Rounding to the negative direction, when the lag branch code phase rounding value is 0, the chip selector selects the chip from the instant branch register, otherwise, Selecting a chip in the hysteresis branch register;
[0039] in, m Indicates sequential difference.
[0040] Optionally, the number of input terminals of the multiplexer corresponding to the leading correlator branch is equal to the number of rounded values of the leading branch code phase; the number of input terminals of the multiplexer corresponding to the lagging correlator branch is equal to the number of rounded values of the lagging branch code phase.
[0041] As an option, when m The value is 1 or 2, and S When an integer greater than or equal to 2 is taken, the multiplexer adopts a selector with two input terminals:
[0042] The two input terminals of the multiplexer corresponding to the advance correlator branch are respectively connected to the immediate branch register and its adjacent advance branch register;
[0043] The two input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the immediate branch register and its adjacent lag branch register.
[0044] As an option, when m The value is 3, and S When the integer is 2 or greater than or equal to 4, the multiplexer uses a selector with three input terminals:
[0045] The three input terminals of the multiplexer corresponding to the advance correlator branch are respectively connected to the immediate branch register and the two adjacent advance branch registers on the same side thereof;
[0046] The three input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the immediate branch register and two adjacent lag branch registers on the same side thereof.
[0047] The embodiment of the present application further provides a tracking channel circuit, which includes a carrier stripping module, a correlator branch, a main control module, and any one of the above-mentioned spread spectrum code generation circuits, wherein the carrier stripping module, the correlator branch, and the spread spectrum code generation circuit are all connected to the main control module;
[0048] The carrier stripping module removes the carrier component of the down-sampled digital signal using a local carrier signal that matches the carrier frequency and phase of the received down-sampled digital signal to obtain a baseband signal containing modulation information;
[0049] The correlator branch performs despreading processing on the baseband signal containing the modulation information and the spread spectrum code generated by the spread spectrum code generation circuit, and integrates and periodically clears the despread signal to obtain a periodic coherent integration result;
[0050] The main control module performs code phase identification and carrier phase identification on the periodic coherent integration results, and feeds back the difference between the spread spectrum code phase of the down-sampled digital signal and the locally generated spread spectrum code phase to the spread spectrum code generation circuit, and feeds back the difference between the carrier phase of the down-sampled digital signal and the local carrier phase to the carrier stripping module.
[0051] An embodiment of the present application further provides a spread spectrum receiver, which includes a tracking channel array, and the tracking channel array includes the above-mentioned tracking channel circuit.
[0052] The spread spectrum code generation circuit provided by the present application is configured to calculate the frequency control word and the spread spectrum code. REMEMBER , spread spectrum code generator, spread spectrum code buffer, chip selection controller and chip selector, spread spectrum code REMEMBER According to the spread spectrum code frequency control word calculated by the frequency control word calculation module, the frequency control word is calculated. REMEMBER Status value, and according to REMEMBER The state value sends an overflow signal to the spread spectrum code generator and the spread spectrum code buffer. The spread spectrum code buffer caches the spread spectrum code sequence generated by the spread spectrum code generator under the trigger of the overflow signal. The chip selection controller controls the chip selector to select the corresponding chip from the spread spectrum code sequence to provide it to each correlator branch. REMEMBER The state value is independent of the code phase spacing between adjacent correlator branches. When the chip selector selects a chip, the chip selected by each correlator branch is related to the code phase spacing between adjacent correlator branches. Therefore, when switching the code phase difference between correlator branches, the spread spectrum code generation circuit provided by this application does not require reconfiguration of the spread spectrum code frequency control word, significantly reducing the control complexity when generating the spread spectrum code. In addition, compared with traditional spread spectrum code generation modules, this application can reduce circuit scale.
[0053] In addition, in the tracking channel circuit provided by the present application, the code chips selected by each correlator branch from the spread spectrum code buffer according to the code phase value that differs from the instantaneous correlator branch are all whole code chips, which can reduce the storage size of the spread spectrum code buffer, thereby reducing hardware costs and power consumption. It can also improve the storage and reading speed to a certain extent, and improve the efficiency of signal processing at the receiving end of the entire spread spectrum communication system.
[0054] Other beneficial effects of the present application will be explained through the introduction of specific technical features and technical solutions in the specific implementation methods. Through the introduction of these technical features and technical solutions, those skilled in the art should be able to understand the beneficial technical effects brought about by the technical features and technical solutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Preferred embodiments of the present application will be described below with reference to the accompanying drawings.
[0056] Figure 1 It is a structural block diagram of a traditional spread spectrum signal receiver;
[0057] Figure 2 It is the structural block diagram of the traditional tracking channel circuit;
[0058] Figure 3 This is a structural block diagram of a tracking channel circuit according to a preferred embodiment of the present application.
[0059] In the picture:
[0060] 1. Carrier stripping module; 2. Correlator branch; 3. Spread spectrum code generation circuit; 4. Main control module;
[0061] 31. Frequency control word calculation module; 32. Spread spectrum code digitally controlled oscillator; 33. Spread spectrum code generator; 34. Spread spectrum code buffer; 35. Chip selection controller; 36. Chip selector. DETAILED DESCRIPTION
[0062] The present application is described below based on examples, but the present application is not limited to these examples. In the detailed description of the present application below, some specific details are described in detail. In order to avoid obscuring the essence of the present application, well-known methods, processes, procedures, and components are not described in detail.
[0063] Furthermore, persons of ordinary skill in the art will appreciate that the figures provided herein are for illustration purposes only and are not necessarily drawn to scale.
[0064] Unless the context clearly requires otherwise, throughout the specification and claims, the words "include," "comprising," and similar words should be construed in an inclusive sense rather than an exclusive or exhaustive sense; that is, in the sense of "including but not limited to."
[0065] In the description of this application, it should be understood that the terms "first", "second", etc. are used for descriptive purposes only and should not be understood to indicate or imply relative importance. In addition, in the description of this application, unless otherwise specified, "plurality" means two or more.
[0066] like Figure 1 As shown in the figure, a traditional spread spectrum signal receiver generally includes an antenna module, a mixing and sampling module, an intermediate frequency stripping module, a downsampling module, a capture module, and a tracking channel array module. The antenna module is used to receive the spread spectrum signal modulated in the RF band and input it into the mixing and sampling module.
[0067] The mixing and sampling module performs mixing and analog-to-digital conversion (ADC) on the input RF signal, outputting intermediate frequency (IF) sampled data. The IF stripping module preprocesses the IF sampled data to a low or zero IF. The downsampling module includes an anti-aliasing filter for downsampling the filtered low or zero IF signal. The capture module detects the presence of the desired spread spectrum signal in the received signal, estimates its carrier frequency and spreading code phase, and achieves coarse synchronization, preparing for subsequent tracking and fine synchronization to ensure accurate signal reception and processing by the receiver. The tracking channel array module includes multiple tracking channels for tracking multiple spread spectrum signals. Spread spectrum signal receivers (such as satellite navigation receivers) typically process multiple spread spectrum signals simultaneously. Each tracking channel requires carrier frequency and phase lock, as well as local spreading code phase lock. Once locked, the signal can be demodulated and stably output as an observation.
[0068] Each tracking channel can support multiple correlator branches. Figure 2 As shown in Figure 1, three correlator branches are listed in the tracking channel, namely the early correlator branch E, the prompt correlator branch P and the delayed correlator branch L. In order to obtain better ranging performance and multipath suppression performance, current spread spectrum signal receivers usually need to support narrow correlation technology. The code phase spacing between adjacent correlator branches is the same, and 1 / S The chips are represented by S is an integer. S =2, it is a non-narrow correlation technology. S When >2, it is a narrow correlation technology. S The larger it is, the smaller the code phase spacing is.
[0069] like Figure 2 As shown, the traditional tracking channel circuit includes a carrier stripping module, a correlation processing module, a spread spectrum code generation module and a main control module. REMEMBER(Numerically Controlled Oscillator, numerically controlled oscillator) and the first multiplier. Among them, the carrier REMEMBER The first multiplier is used to generate a local carrier signal, and is used to perform a multiplication operation on the local carrier signal and the input down-sampled digital signal to demodulate the down-sampled digital signal.
[0070] The correlation processing module includes an advance correlator branch, an immediate correlator branch, and a lag correlator branch. The advance correlator branch includes an advance branch multiplier and an E-path integration / clear module. The immediate correlator branch includes an immediate branch multiplier and a P-path integration / clear module. The lag correlator branch includes a lag branch multiplier and an L-path integration / clear module. The advance branch multiplier multiplies the baseband signal and the advance spread spectrum code, and the E-path integration / clear module integrates and periodically clears the output signal of the advance branch multiplier to enhance the correlation signal and suppress noise. The immediate branch multiplier multiplies the baseband signal and the immediate spread spectrum code, and the P-path integration / clear module integrates and periodically clears the output signal of the immediate branch multiplier to enhance the correlation signal and suppress noise. The lag branch multiplier multiplies the baseband signal and the lag spreading code. The L-way integration / clear module integrates and periodically clears the output signal of the lag branch multiplier to enhance the correlation signal and suppress noise. The correlation processing module inputs the periodic coherent integration results into the main control module.
[0071] exist Figure 2 In the spread spectrum code generation module, the spread spectrum code generation module is used to generate the advanced spread spectrum code, the immediate spread spectrum code and the delayed spread spectrum code to facilitate the subsequent spread spectrum code demodulation. Specifically, the spread spectrum code generation module includes a frequency control word calculation module, a spread spectrum code REMEMBER (Numerically Controlled Oscillator, numerically controlled oscillator), REMEMBER Overflow counter, comparator, spreading code generator, spreading code holder and spreading code buffer.
[0072] The frequency control word calculation module calculates the frequency control word of the spread spectrum code according to the spread spectrum code frequency, and then writes the frequency control word directly into the spread spectrum code. REMEMBER Due to the relative motion and clock drift between the source and the receiver, the spreading code Doppler frequency is introduced. Therefore, the spreading code frequency of the actual received signal is:
[0073] Spreading code frequency of received signal = nominal spreading code frequency + spreading code Doppler frequency;
[0074] Assuming spreading code REMEMBER The bit width is N , then the spread spectrum code frequency control word is:
[0075] ,
[0076] Where, S represents the inverse of the code phase spacing between adjacent correlator branches, S is an integer.
[0077] Each time a down-sampled digital signal is input, the spread spectrum code REMEMBER Add a spread spectrum code frequency control word. Spread spectrum code REMEMBER Calculated according to the spread spectrum code frequency control word REMEMBER Status value.
[0078] When entering n When a down-sampled digital signal is generated, the spreading code REMEMBER of REMEMBER The status values are:
[0079] ,
[0080] Where, the spreading code REMEMBER ( n ) indicates the input n The downsampled digital signal corresponds to REMEMBER Status value, spreading code REMEMBER ( n -1) indicates the input n -1 downsampled digital signal corresponding to REMEMBER State value, mod represents the modulo operation, that is, the spread spectrum code REMEMBER ( n -1) and the frequency control word of the spread spectrum code 2 N Modulus.
[0081] During each spreading code time, the spreading code REMEMBER Will overflow S times, each overflow will be REMEMBER The overflow counter and the spreading code buffer send overflow signals.
[0082] Spread spectrum code REMEMBER A count variable is set in C, Spread spectrum code REMEMBER Each time the overflow occurs, the counting variable C Add 1.
[0083] Comparator, used to compare C and S Are they equal? C and S When the two are equal, the comparator sends a trigger signal to the spread spectrum code generator to generate the next code chip. REMEMBER Every overflow S Second-rate, CClear to 0 and restart counting.
[0084] Spread spectrum code generator, used to generate spread spectrum code sequence. Spread spectrum code REMEMBER Every time overflow S times, the spreading code generator generates a chip and stores the chip in the spreading code holder.
[0085] The spread spectrum code holder is used to store the code chip most recently generated by the spread spectrum code generator.
[0086] The spread spectrum code buffer is used to buffer the chips required by each correlator branch, and includes at least three 1-bit registers. Figure 2 The advance correlator branch E, the immediate correlator branch P and the delayed correlator branch L correspond to each other, and the spread spectrum code buffer is provided with an advance branch register (for storing the advance code chip C E ), instant branch register (used to store instant code chips C P ) and hysteresis branch register (used to store hysteresis chips C L ). Each time a down-sampled digital signal is input, the spread spectrum code buffer is set according to Figure 2 The direction of the arrow in the middle is shifted to the left once, so that the code phase of the digital signal input to the prompt correlator branch P is consistent with the prompt code chip C P Keep it aligned.
[0087] The main control module is used to perform code phase identification and carrier phase identification on the periodic pulse signal, and feed back the difference between the spread spectrum code phase of the down-sampled digital signal and the locally generated spread spectrum code phase to the spread spectrum code generation module, and feed back the difference between the carrier phase of the down-sampled digital signal and the local carrier phase to the carrier REMEMBER .
[0088] for Figure 2 In the traditional spreading code generation module shown in FIG, in order for the receiving end to accurately despread the received signal, the locally generated spreading code (including the instantaneous spreading code, etc.) needs to be precisely synchronized with the spreading code in the received signal, including aspects such as code phase and frequency. However, the variation in the code phase spacing between adjacent correlator branches will destroy this synchronization state, so it is necessary to maintain and adjust the phase of the instantaneous spreading code, and also to adjust the spreading code. REMEMBER of REMEMBER The status value and frequency control word are updated so that the receiving end can continuously and accurately despread the received signal and restore the original baseband signal.
[0089] However, the adjustment and control process of traditional spread spectrum code generation modules is complex and prone to errors. In practical applications, narrow correlation technology cannot be directly used because the signals input to the tracking channel array are subject to interference from noise, multipath, and other factors, making it difficult to meet the application requirements of narrow correlation technology.
[0090] When narrow correlation techniques are unavailable, effective processing and tracking of received signals requires relying on traditional correlator branch configurations. Traditional correlator branches have relatively wide code phase spacings. In these situations, adapting to varying signal conditions (such as dynamic signal changes and multipath effects) requires switching between different code phase spacings. This further complicates the control and adjustment of the spreading code generation module, increasing the risk of errors.
[0091] To reduce control complexity, the present application provides a spreading code generation circuit that does not require reconfiguration of the spreading code frequency control word when switching the code phase spacing between correlator branches. This reduces control complexity while also reducing circuit size.
[0092] like Figure 3 As shown, the spread spectrum code generation circuit provided in the embodiment of the present application is used to provide the required code chips for each correlator branch in the tracking channel, which includes a frequency control word calculation module 31, a spread spectrum code digitally controlled oscillator 32, a spread spectrum code generator 33, a spread spectrum code buffer 34, a code chip selection controller 35 and a code chip selector 36.
[0093] The frequency control word calculation module 31 calculates the frequency control word of the spread spectrum code according to the spread spectrum code frequency. The spread spectrum code digital controlled oscillator 32 calculates the frequency control word of the spread spectrum code according to the spread spectrum code frequency. REMEMBER Status value, and according to REMEMBER The status value sends an overflow signal to the spreading code generator 33 and the spreading code buffer 34. REMEMBER The state value is independent of the code phase spacing between adjacent correlator branches, that is, REMEMBER The state value is not derived directly or indirectly from the code phase spacing between adjacent correlator branches.
[0094] The spreading code generator 33 generates a spreading code sequence under the triggering of the overflow signal; the spreading code buffer 34 buffers the generated spreading code sequence under the triggering of the overflow signal.
[0095] The chip selection controller 35 controls the chip selector 36 to select a corresponding chip from the spreading code sequence buffered in the spreading code buffer 34 to provide to each correlator branch. The chip selected for each correlator branch is related to the code phase spacing between adjacent correlator branches. That is, the chip selected for each correlator branch is determined based on the code phase spacing between adjacent correlator branches.
[0096] It should be noted that the spread spectrum code frequency can be calculated by a phase-locked loop algorithm set in the main control module, or obtained by a phase-locked loop circuit, which is not limited here.
[0097] In the embodiment of the present application, the spread spectrum code digital controlled oscillator 32 can be understood as a phase accumulator. In each clock cycle, the frequency control word is added to the current phase accumulator value (i.e. REMEMBER When the phase accumulator value exceeds its maximum display range (2 N - 1), an overflow will occur and an overflow signal will be generated. For example, for an 8-bit spread spectrum code digital controlled oscillator 32, when the frequency control word is 1, when the value of the phase accumulator changes from 255 to 0, an overflow signal will be generated.
[0098] When the spread spectrum code generator 33 receives the overflow signal sent by the spread spectrum code digital controlled oscillator 32, it generates a spread spectrum code sequence according to a predetermined rule. The spread spectrum code generator 33 can adopt a linear feedback shift register ( LFSR ) method or Gold sequence generation method to generate the spread spectrum code sequence. Taking the linear feedback shift register method to generate the m sequence as an example, whenever an overflow signal is received, LFSR A shift operation will be performed to update the register value according to the feedback coefficient, thereby outputting a new code chip. Multiple code chips are output in sequence to form a spread spectrum code sequence.
[0099] The spreading code buffer 34 can be regarded as a first-in-first-out ( FIFO When an overflow signal is received, the chips output by the spread spectrum code generator 33 are sequentially stored in the spread spectrum code buffer 34. This ensures orderly storage of the chips and subsequent correct reading.
[0100] Each correlator branch requires a spreading code with a different phase to perform correlation operations in order to track the received signal. The chip selection controller 35 calculates the location of the chip required by each correlator branch in the spreading code buffer 34 based on the preset code phase spacing between adjacent correlator branches. It then controls the chip selector 36 to select the corresponding chip from the spreading code buffer 34. For example, if the code phase spacing between adjacent correlator branches is one chip, the locations of the chips selected by adjacent correlator branches in the spreading code buffer 34 will differ by one chip.
[0101] In the above embodiment, the frequency control word calculation module 31 calculates the spread spectrum code frequency control word according to the spread spectrum code frequency, including:
[0102] The spreading code frequency of the received signal is calculated based on the nominal spreading code frequency and the spreading code Doppler frequency, wherein the spreading code frequency of the received signal is the sum of the nominal spreading code frequency and the spreading code Doppler frequency. Specifically, the received signal is a navigation signal in the received downsampled digital signal.
[0103] The spreading code frequency control word is calculated according to the sampling rate of the downsampled digital signal, the spreading code frequency of the received signal, and the bit width of the spreading code digitally controlled oscillator 32; wherein the spreading code frequency control word is:
[0104] (1)
[0105] In formula (1), N represents the bit width of the spread spectrum code numerically controlled oscillator 32.
[0106] The nominal spreading code frequency refers to the natural frequency of the spreading code set by the transmitter, assuming no external factors such as relative motion exist. When relative motion occurs between the transmitter and receiver, the Doppler effect causes the received spreading code frequency to change. This frequency change is called the spreading code Doppler frequency. When the transmitter and receiver are approaching each other, the spreading code Doppler frequency is positive; when they are moving away, the spreading code Doppler frequency is negative. The spreading code frequency of the received signal is the spreading code frequency of the navigation signal in the received downsampled digital signal. The spreading code frequency of the navigation signal in the downsampled digital signal represents the actual rate of change of the current spreading code. For example, if the nominal spreading code frequency of a spreading code communication system is 10 MHz, and the relative motion between the transmitter and receiver induces the Doppler effect, the Doppler frequency corresponding to this Doppler effect is -300 kHz (indicating that the transmitter and receiver are moving away from each other), then the spreading code frequency of the received signal is 9.7 MHz.
[0107] In the above embodiment, the spread spectrum code digital controlled oscillator 32 calculates the spread spectrum code frequency control word according to the spread spectrum code frequency control word. REMEMBER Status value, and according to REMEMBER The status value sends an overflow signal to the spreading code generator 33 and the spreading code buffer 34, including:
[0108] According to the input n -1 downsampled digital signal corresponding to REMEMBER The state value, the spread spectrum code frequency control word and the bit width of the spread spectrum code digital controlled oscillator 32 are calculated to input the n The downsampled digital signal corresponds to REMEMBER Status value; among them, input n The downsampled digital signal corresponds to REMEMBER The status values are:
[0109] (2)
[0110] In formula (2), the spreading code REMEMBER ( n ) indicates the input n The downsampled digital signal corresponds to REMEMBER Status value, spreading code REMEMBER ( n -1) indicates the input n -1 downsampled digital signal corresponding to REMEMBER Status value.
[0111] In each spreading code time, the spreading code digital controlled oscillator 32 sends an overflow signal to the spreading code generator 33 and the spreading code buffer 34; REMEMBER Status value exceeds 2 N - 1, the spread spectrum code digital controlled oscillator 32 sends an overflow signal.
[0112] It should be noted that one spreading code time refers to the time used to generate one code chip.
[0113] In the above embodiment, the spread spectrum code buffer 34 includes registers connected in series, and the chip phases of two adjacent registers differ by 1 chip; the number of registers matches the number of correlator branches.
[0114] The chip phases of the chips cached in two adjacent registers differ by one chip, which means that in the spread spectrum code buffer 34, the chips stored from one register to the next register are shifted backward by one chip in time. For example, the first register stores the first chip of the spread spectrum code. i chip, then the second register stores the i +1 chip. This setting is designed to handle spreading codes with different phases during the correlation operation. In actual communication systems, due to factors such as multipath propagation and the Doppler effect, the spreading code in the received signal may have a certain phase difference with the locally generated spreading code. By setting the chip phases of adjacent registers to differ by 1 chip, the correlator branch can simultaneously perform correlation operations on multiple spreading codes with different phases, thereby more quickly and accurately finding the local spreading code that matches the phase of the spreading code in the received signal, achieving signal synchronization and despreading.
[0115] The number of registers in the spreading code buffer 34 determines the number of different phase spreading codes that can be provided to the correlator branches simultaneously. The number of registers in the spreading code buffer 34 is determined by the number of correlator branches and the code phase spacing between adjacent correlator branches. Specifically, assuming that the number of advance correlator branches is M , the number of delayed correlator branches is N, then the number of registers in the spread spectrum code buffer 34 is .in, M and N Can be equal or not, S It represents the inverse of the code phase spacing between adjacent correlator branches. In this way, each correlator branch can perform correlation operations on spread spectrum codes with different phases in parallel, thereby improving the system's synchronization speed and processing capability for received signals.
[0116] In the embodiment of the present application, the registers include an advance branch register, an immediate branch register, and a lag branch register, and the correlator branches include an advance correlator branch, a lag correlator branch, and an immediate correlator branch. The advance branch register is connected to the advance correlator branch via a chip selector 36, the lag branch register is connected to the lag correlator branch via a chip selector 36, and the immediate branch register is directly connected to the immediate correlator branch. The local code phase used by the advance correlator branch leads the local code phase used by the immediate correlator branch on the time axis, and the local code phase used by the lag correlator branch lags the local code phase used by the immediate correlator branch on the time axis.
[0117] Under the control of the chip selection controller 35, the chip selector 36 can select the corresponding chip from the corresponding register and provide it to the corresponding correlator branch, so that the correlator branch can simultaneously perform correlation operations on multiple spread spectrum codes with different phases.
[0118] The chip selector 36 includes multiple multiplexers (MUXs), where the number of MUXs matches the total number of early correlator branches and late correlator branches. In other words, a MUX can be provided for each early correlator branch and each late correlator branch. Each early correlator branch and each late correlator branch can obtain a corresponding chip through the corresponding MUX.
[0119] Specifically, the multiplexer includes a control input terminal, at least two input terminals and an output terminal, wherein the control input terminal is connected to the output terminal of the chip selection controller 35 .
[0120] when m The value is 1 or 2, and S When an integer greater than or equal to 2 is used, the multiplexer has two input terminals:
[0121] The two input terminals of the multiplexer corresponding to the lead correlator branch can be connected to the immediate branch register and the lead branch register, respectively, and the output terminal of the multiplexer is connected to the corresponding lead correlator branch. The two input terminals of the multiplexer corresponding to the lag correlator branch can be connected to the immediate branch register and the lag branch register, respectively, and the output terminal of the multiplexer is connected to the corresponding lag correlator branch.
[0122] In the above embodiment, the chip selection controller 35 controls the chip selector 36 to select a corresponding chip from the spreading code sequence buffered by the spreading code buffer 34, including:
[0123] The chip selection controller 35 sends a control value to the chip selector 36;
[0124] The chip selector 36 selects a corresponding chip from the spreading code sequence according to the control value;
[0125] The control value is related to the code phase spacing between adjacent correlator branches.
[0126] In spread spectrum communication systems, multiple correlator branches are set up in the tracking channel to improve the accuracy of signal acquisition and tracking. Each correlator branch performs correlation operations on signals with different code phases to find the best matching phase of the signal.
[0127] The code phase spacing between adjacent correlator branches refers to the difference in code phase between the signals processed by two adjacent correlator branches. The size of this spacing affects the accuracy and range of signal capture. If the spacing is too small, capture accuracy will improve, but more correlator branches will be required, increasing system complexity and cost. If the spacing is too large, the optimal matching phase of the signal may be missed, reducing the capture success rate.
[0128] In systems that require precise signal acquisition, the code phase spacing is small, and control values need to be set more densely to ensure that the chip selector 36 can accurately select the chips corresponding to different code phases. Conversely, in systems that do not require high acquisition accuracy but seek fast acquisition, the code phase spacing is large, and control values can be set more sparsely.
[0129] In the embodiment of the present application, when the spread spectrum code digital controlled oscillator 32 REMEMBER When the state value is updated, the chip selection controller 35 calculates a new control value and sends it to the chip selector 36 .
[0130] The control value is:
[0131] (3)
[0132] In formula (3), IIndicates the control value, its value range is: 0≤ I < S , S represents the inverse of the code phase spacing between adjacent correlator branches, Indicates the floor symbol.
[0133] In the embodiment of the present application, the chip selector 36 selects a corresponding chip from the spread spectrum code sequence according to the control value, including:
[0134] For index number P The current code phase of the prompt correlator branch is , the chip selector selects a chip from the instant branch register;
[0135] For index number P - m The advance correlator branch with index number P The code phase difference of the prompt correlator branch , then its current code phase is ,right When the leading branch code phase rounding value is 0, the chip selector 36 selects a chip from the instantaneous branch register, otherwise, it selects a chip from the first branch register. Select the chip in the first lead branch register.
[0136] For index number P + m The delayed correlator branch with index number P The code phase difference of the prompt correlator branch , then its current code phase is ,right When the rounded value of the delayed branch code phase is 0, the chip selector 36 selects the chip from the instantaneous branch register, otherwise, the chip selector selects the chip from the first branch register. Select the chip in the hysteresis branch register;
[0137] in, m Indicates sequential difference.
[0138] For example, for index number P -1, and its code phase is ,according to I The value range of the code phase of the advance correlator branch is , after rounding, it can only take -1 or 0, so the multiplexer corresponding to the early correlator branch adopts a selector with two input terminals, that is, a two-to-one selector. When the rounded value of is -1, that is, when When the chip is selected from the first leading branch register ;when When the rounded value of is 0, that is, when I The value is 1~ S -1, select the chip from the instant branch register .
[0139] For index number P The delayed correlator branch of +1 has a code phase of ,according to I The value range of the code phase of the delayed correlator branch is , after rounding, it can only be 0 or 1. Therefore, the multiplexer corresponding to the delayed correlator branch adopts a selector with two input terminals, that is, a two-to-one selector. When the rounded value of is 1, that is, when When the chip is selected from the first hysteresis branch register ;when When the rounded value of is 0, that is, when I The value is 0~ S -2, select the chip from the instant branch register .
[0140] For index number P -2 advance correlator branch, its code phase is ,according to I The value range of the code phase of the advance correlator branch is , after rounding, it can only take -1 or 0, so the multiplexer corresponding to the early correlator branch adopts a selector with two input terminals, that is, a two-to-one selector. When the rounded value of is -1, that is, when I The value is 0~ S -1, select the chip from the first advance branch register ;when When the rounded value of is 0, that is, when I The value is 2~ S -1, select the chip from the instant branch register .
[0141] For index number P The delayed correlator branch of +2 has a code phase of ,according to I The value range of the code phase of the delayed correlator branch is , after rounding, it can only be 0 or 1. Therefore, the multiplexer corresponding to the delayed correlator branch adopts a selector with two input terminals, that is, a two-to-one selector. When the rounded value of is 1, that is, when I The value is S -1 or S -2, select the chip from the first hysteresis branch register ;when When the rounded value of is 0, that is, when I The value is 0~ S -3, select the chip from the instant branch register .
[0142] Based on circuit scale and technical considerations, the sequence difference m It is usually not very large, and typical values are 2, 4, 6, and 8.
[0143] when m =8, hour:
[0144] For index number P -8 advance correlator branch, its code phase is The value range is , after rounding, it may be -4, -3, -2, -1 and 0. Therefore, the multiplexer corresponding to the early correlator branch adopts a selector with five input terminals, that is, a five-to-one selector. When the rounded value is -4, the chip is selected from the 4th advance branch register ;when When the rounded value is -3, the chip is selected from the third advance branch register ;when When the rounded value is -2, the chip is selected from the second advance branch register ;when When the rounded value is -1, the chip is selected from the first leading branch register ;when When the rounded value is 0, select the chip from the instant branch register .
[0145] For index number P +8 delayed correlator branch, its code phase The value range is , after rounding, it may be 0, 1, 2, 3 and 4. Therefore, the multiplexer corresponding to the delayed correlator branch adopts a selector with five input terminals, that is, a five-to-one selector. When the rounded value is 4, the chip is selected from the 4th lag branch register ;when When the rounded value is 3, the chip is selected from the third lag branch register ;when When the rounded value is 2, the chip is selected from the second lag branch register ;when When the rounded value of is 1, the chip is selected from the first lag branch register ;when When the rounded value is 0, select the chip from the instant branch register .
[0146] It should be noted that the storage capacity of the spread spectrum code buffer 34 can be determined according to the number of chips to be stored. m =8, a spreading code buffer 34 capable of storing 9 chips can be used.
[0147] In the above embodiment, the number of input terminals of the multiplexer corresponding to the advance correlator branch is equal to the number of rounded values of the advance branch code phase. For example, when there are two rounded values of the advance branch code phase, the multiplexer corresponding to the advance correlator branch has two input terminals, that is, the multiplexer is a two-to-one selector.
[0148] The number of input terminals of the multiplexer corresponding to the delayed correlator branch is equal to the number of rounded values of the delayed branch code phase. For example, when there are three rounded values of the delayed branch code phase, the multiplexer corresponding to the delayed correlator branch has three input terminals, that is, the multiplexer adopts a three-to-one selector.
[0149] Specifically, when m The value is 1 or 2, and S When the value is an integer greater than or equal to 2, the multiplexer uses a selector with two input terminals:
[0150] The two input ends of the multiplexer corresponding to the advance correlator branch are respectively connected to the immediate branch register and its adjacent advance branch register. Specifically, the two input ends of the multiplexer are respectively connected to the immediate branch register and the first advance branch register before the immediate branch register.
[0151] The two input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the immediate branch register and its adjacent lag branch register. Specifically, the two input terminals of the multiplexer are respectively connected to the immediate branch register and the first lag branch register after the immediate branch register.
[0152] when m The value is 3, and S When the value is 2 or an integer greater than or equal to 4, the multiplexer uses a selector with three input terminals:
[0153] The three input terminals of the multiplexer corresponding to the look-ahead correlator branch are respectively connected to the instantaneous branch register and the two look-ahead branch registers adjacent to it on the same side. Specifically, the three input terminals of the multiplexer are respectively connected to the instantaneous branch register, the first look-ahead branch register before the instantaneous branch register, and the second look-ahead branch register before the instantaneous branch register.
[0154] The three input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the instantaneous branch register and the two adjacent lag branch registers on the same side thereof. Specifically, the three input terminals of the multiplexer are respectively connected to the instantaneous branch register, the first lag branch register after the instantaneous branch register, and the second lag branch register after the instantaneous branch register.
[0155] It should be noted that S The value can be configured through software.
[0156] when m The value is 3:
[0157] S When the value is 2, the multiplexer uses a selector with two input terminals;
[0158] S When the value is 3, a multiplexer is not required and a direct connection is sufficient.
[0159] S When the value is 2 or 3, the multiplexer uses a selector with two input terminals;
[0160] S When the value is an integer greater than or equal to 4, the multiplexer uses a selector with two input terminals;
[0161] S When the value is 2 or an integer greater than or equal to 4, the multiplexer uses a selector with three input terminals;
[0162] S When the value is 2, 3, or an integer greater than or equal to 4, the multiplexer uses a selector with three input terminals.
[0163] Based on the spread spectrum code generation circuit provided in the embodiment of the present application, the embodiment of the present application also provides a tracking channel circuit, which includes a carrier stripping module 1, a correlator branch 2, the above-mentioned spread spectrum code generation circuit 3 and a main control module 4, and the carrier stripping module 1, the correlator branch 2 and the spread spectrum code generation circuit 3 are all connected to the main control module 4.
[0164] The carrier stripping module 1 uses a local carrier signal that matches the carrier frequency and phase of the received downsampled digital signal to remove the carrier component from the downsampled digital signal, resulting in a baseband signal containing modulation information. For example, in a GPS system, the received satellite signal is processed by the RF front end to become a downsampled digital signal. After the carrier is removed by the carrier stripping module 1, a baseband signal containing modulation information such as navigation data is obtained.
[0165] The correlator branch 2 despreads the baseband signal containing the modulation information and the spread spectrum code generated by the spread spectrum code generation circuit 3, and integrates and periodically clears the despread signal to obtain a periodic pulse signal.
[0166] The spreading code is a pseudo-random code sequence with excellent autocorrelation and cross-correlation characteristics. Correlator branch 2 performs a correlation operation (i.e., despreading) on the baseband signal and the spreading code, restoring the spread-spectrum modulated signal to its original modulation information. After despreading, the resulting signal is integrated. Integration enhances signal energy and improves the signal-to-noise ratio. To prevent continuous accumulation of the integration results, periodic zeroing is performed to obtain a periodic coherent integration result.
[0167] The main control module 4 performs code phase identification and carrier phase identification on the periodic coherent integration result, and feeds back the difference between the spread spectrum code phase of the down-sampled digital signal and the locally generated spread spectrum code phase to the spread spectrum code generation circuit, and feeds back the difference between the carrier phase of the down-sampled digital signal and the local carrier phase to the carrier REMEMBER .
[0168] The main control module 4 can adjust the phase of the local spreading code to make it closer to the phase of the spreading code of the received signal by feeding back the difference in the spreading code phase to the spreading code generation circuit; REMEMBER , which can adjust the phase of the local carrier to achieve accurate tracking of the received signal carrier.
[0169] An embodiment of the present application further provides a spread spectrum receiver, which includes a tracking channel array, and the tracking channel array includes the above-mentioned tracking channel circuit.
[0170] It will be understood by those skilled in the art that, under the premise of no conflict, the above-mentioned preferred embodiments can be freely combined and superimposed. Among them, the flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions. The numbering of each step in this article is only for the convenience of description and reference, and is not used to limit the order of execution. The specific execution order is determined by the technology itself, and those skilled in the art can determine various allowable and reasonable orders based on the technology itself.
[0171] Those skilled in the art will appreciate that, provided there is no conflict, the above preferred solutions can be freely combined and superimposed.
[0172] It should be understood that the above-mentioned embodiments are merely illustrative and not restrictive. Without departing from the basic principles of the present application, various obvious or equivalent modifications or substitutions that can be made by those skilled in the art to the above-mentioned details will be included in the scope of the claims of the present application.
Claims
1. A spread spectrum code generating circuit, characterized in that: It is used to provide the required code chips for each correlator branch in the tracking channel, which includes a frequency control word calculation module, a spread spectrum code NCO , a spreading code generator, a spreading code buffer, a chip selection controller and a chip selector; The frequency control word calculation module calculates the spread spectrum code frequency control word according to the spread spectrum code frequency; The spreading code NCO Calculated according to the spread spectrum code frequency control word NCO Status value, and according to the NCO The state value sends an overflow signal to the spreading code generator and the spreading code buffer, NCO The state value is independent of the code phase spacing between adjacent correlator branches; The spread spectrum code generator generates a spread spectrum code sequence under the triggering of the overflow signal; The spreading code buffer buffers the spreading code sequence under the triggering of the overflow signal; The chip selection controller controls the chip selector to select corresponding chips from the spreading code sequence cached in the spreading code buffer to provide to each correlator branch; wherein which chip is selected for each correlator branch is determined based on the code phase spacing between adjacent correlator branches.
2. The spread spectrum code generating circuit according to claim 1, wherein: The frequency control word calculation module calculates the spread spectrum code frequency control word according to the spread spectrum code frequency, including: Calculating a spreading code frequency of a received signal based on a nominal spreading code frequency and a spreading code Doppler frequency; wherein the spreading code frequency of the received signal is the sum of the nominal spreading code frequency and the spreading code Doppler frequency, and the received signal is a navigation signal in the received down-sampled digital signal; According to the sampling rate of the down-sampled digital signal, the spreading code frequency of the received signal and the spreading code NCO The bit width of the spread spectrum code frequency control word is calculated; wherein the spread spectrum code frequency control word is , Where, N Indicates the spreading code NCO bit width.
3. The spread spectrum code generating circuit according to claim 2, wherein: The spreading code NCO Calculate according to the spread spectrum code frequency control word NCO Status value, and according to the NCO The state value sends an overflow signal to the spreading code generator and the spreading code buffer, including: According to the input n -1 downsampled digital signal corresponding to NCO Status value, spread spectrum code frequency control word and the spread spectrum code NCO The bit width of the input is calculated n The downsampled digital signal corresponds to NCO Status value; wherein, the NCO The status value is , Where, the spreading code NCO ( n ) indicates the input n The downsampled digital signal corresponds to NCO Status value, spreading code NCO ( n -1) indicates the input n -1 downsampled digital signal corresponding to NCO Status value; In each spreading code time, the spreading code NCO Sending an overflow signal to the spreading code generator and the spreading code buffer; wherein, when NCO Status value exceeds 2 N -1, the spreading code NCO Send overflow signal.
4. The spread spectrum code generating circuit according to claim 3, wherein: The spread spectrum code buffer comprises registers connected in series, and the chip phases of two adjacent registers differ by 1 chip; the number of the registers matches the number of the correlator branches.
5. The spread spectrum code generating circuit according to claim 4, wherein: The register includes an advance branch register, an immediate branch register and a lag branch register, and the correlator branch includes an advance correlator branch, a lag correlator branch and an immediate correlator branch, wherein the advance branch register is connected to the advance correlator branch through the code chip selector, the lag branch register is connected to the lag correlator branch through the code chip selector, and the immediate branch register is directly connected to the immediate correlator branch; wherein the local code phase used by the advance correlator branch is ahead of the local code phase used by the immediate correlator branch on the time axis, and the local code phase used by the lag correlator branch is behind the local code phase used by the immediate correlator branch on the time axis.
6. The spread spectrum code generating circuit according to claim 5, wherein: The chip selector includes a plurality of multiplexers, and the number of the multiplexers matches the sum of the number of the early correlator branches and the late correlator branches.
7. The spread spectrum code generating circuit according to claim 6, wherein: The control input end of the multiplexer is connected to the output end of the code chip selection controller; the input end of the multiplexer corresponding to the advance correlator branch is connected to the immediate branch register and the advance branch register, and the input end of the multiplexer corresponding to the lag correlator branch is connected to the immediate branch register and the lag branch register; the output end of the multiplexer corresponding to the advance correlator branch is connected to the advance correlator branch, and the output end of the multiplexer corresponding to the lag correlator branch is connected to the lag correlator branch.
8. The spread spectrum code generating circuit according to claim 6, wherein: The chip selection controller controls the chip selector to select a corresponding chip from the spreading code sequence buffered by the spreading code buffer, including: The chip selection controller sends a control value to the chip selector; The chip selector selects a corresponding chip from the spreading code sequence according to the control value; The control value is related to the code phase spacing between adjacent correlator branches.
9. The spread spectrum code generating circuit according to claim 8, wherein: When the spreading code NCO of NCO When the state value is updated, the chip selection controller calculates a new control value and sends it to the chip selector; The control value is: , Where, I Indicates the control value, its value range is: 0≤ I < S , S represents the inverse of the code phase spacing between adjacent correlator branches, Indicates rounding down.
10. The spread spectrum code generating circuit according to claim 9, wherein: The chip selector selects a corresponding chip from the spreading code sequence according to the control value, comprising: For index number P The current code phase of the prompt correlator branch is , the chip selector selects a chip from the instant branch register; For index number P - m The advance correlator branch of its current code phase Rounding to the negative direction, when the leading branch code phase rounding value is 0, the chip selector selects the chip from the instant branch register, otherwise, Selecting a chip in the advance branch register; For index number P + m The delayed correlator branch, its current code phase Rounding to the negative direction, when the lag branch code phase rounding value is 0, the chip selector selects the chip from the instant branch register, otherwise, Selecting a chip in the hysteresis branch register; in, m Indicates sequential difference.
11. The spread spectrum code generating circuit according to claim 10, wherein: The number of input terminals of the multiplexer corresponding to the leading correlator branch is equal to the number of rounded values of the leading branch code phase; the number of input terminals of the multiplexer corresponding to the lagging correlator branch is equal to the number of rounded values of the lagging branch code phase.
12. The spread spectrum code generating circuit according to claim 11, wherein: when m The value is 1 or 2, and S When an integer greater than or equal to 2 is taken, the multiplexer adopts a selector with two input terminals: The two input terminals of the multiplexer corresponding to the advance correlator branch are respectively connected to the immediate branch register and its adjacent advance branch register; The two input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the immediate branch register and its adjacent lag branch register.
13. The spread spectrum code generating circuit according to claim 11, wherein: when m The value is 3, and S When the integer is 2 or greater than or equal to 4, the multiplexer uses a selector with three input terminals: The three input terminals of the multiplexer corresponding to the advance correlator branch are respectively connected to the immediate branch register and the two adjacent advance branch registers on the same side thereof; The three input terminals of the multiplexer corresponding to the lag correlator branch are respectively connected to the immediate branch register and two adjacent lag branch registers on the same side thereof.
14. A tracking channel circuit, characterized in that: It comprises a carrier stripping module, a correlator branch, a main control module and a spread spectrum code generating circuit according to any one of claims 1 to 13, wherein the carrier stripping module, the correlator branch and the spread spectrum code generating circuit are all connected to the main control module; The carrier stripping module removes the carrier component of the down-sampled digital signal using a local carrier signal that matches the carrier frequency and phase of the received down-sampled digital signal to obtain a baseband signal containing modulation information; The correlator branch performs despreading processing on the baseband signal containing the modulation information and the spread spectrum code generated by the spread spectrum code generation circuit, and integrates and periodically clears the despread signal to obtain a periodic coherent integration result; The main control module performs code phase identification and carrier phase identification on the periodic coherent integration results, and feeds back the difference between the spread spectrum code phase of the down-sampled digital signal and the locally generated spread spectrum code phase to the spread spectrum code generation circuit, and feeds back the difference between the carrier phase of the down-sampled digital signal and the local carrier phase to the carrier stripping module.
15. A spread spectrum receiver, characterized in that: A tracking channel array is included, the tracking channel array including the tracking channel circuit according to claim 14.
Citation Information
Patent Citations
Universal acquisition and tracking apparatus for global navigation satellite system (GNSS) signals
CA2701471A1
Beidou third-generation satellite signal simulation system and analog signal generation method
CN109444923A