TD-SCDMA system frequency offset compensation method and device based on training sequence
Technical Field
The invention relates to a frequency offset compensation method in the field of wireless mobile communication, in particular to a frequency offset compensation method and a frequency offset compensation device of a TD-SCDMA system based on a training sequence.
Background
In a mobile communication system, the frequency offset caused by doppler may reach several hundred hertz, and the maximum frequency difference introduced by a carrier may reach up to kilohertz, so that a receiving end must perform frequency correction. The frequency correction function is performed by a frequency correction Loop, and commonly used devices include an Automatic Frequency Control (AFC) and a Phase Lock Loop (PLL).
The frequency correction loop can effectively correct the frequency offset of the subsequent burst data by adjusting the local oscillator frequency to resist the frequency offset. But the correction does not provide any improvement to the currently received data. Therefore, a frequency offset compensation operation needs to be performed on the currently received data.
In the prior art, for example, the invention with application number 97115151.2 discloses a method and a device for carrier recovery and compensation in a spread spectrum communication system, which is to perform hard decision demodulation on despread data, then perform Quadrature Phase Shift Keying (QPSK) modulation again, obtain a Phase difference between a rescheduled bit and an undetermined bit, and then obtain a frequency offset by using the following formula:
<math> <mrow> <msup> <mi>cita</mi> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mi>VRU</mi> </msub> <mo>)</mo> </mrow> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>M</mi> </mrow> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>M</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>(</mo> <mfrac> <msubsup> <mi>cita</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>i</mi> </mrow> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mi>VRU</mi> </msub> <mo>)</mo> </mrow> </msubsup> <mrow> <mn>4.5</mn> <mo>+</mo> <mi>i</mi> </mrow> </mfrac> <mo>-</mo> <mfrac> <msubsup> <mi>cita</mi> <mrow> <mn>1,21</mn> <mo>-</mo> <mi>i</mi> </mrow> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mi>VRU</mi> </msub> <mo>)</mo> </mrow> </msubsup> <mrow> <mn>5.5</mn> <mo>+</mo> <mi>i</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
the above equation may be represented by fig. 1, where:
<math> <mrow> <mi>Δf</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>θ</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>θ</mi> <mn>1</mn> </msub> </mrow> <msub> <mi>Δt</mi> <mn>1</mn> </msub> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>θ</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>θ</mi> <mn>0</mn> </msub> </mrow> <msub> <mi>Δt</mi> <mn>2</mn> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
it is considered that 4.5+ i and 5.5+ i in the formula (1) are approximately equal.
After the frequency offset is obtained by the formula (1), the frequency offset is converted into a phase and is added back to each symbol, and the phase is used as soft output information to be sent to a following decoding unit.
In the prior art, when the frequency offset is large, in a burst Time of Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), the user channel environment is no longer assumed to be Time-invariant, and the channel impulse response h (t) obtained through the training sequence is no longer applicable to the whole burst. Therefore, after performing the joint detection, the frequency offset compensation is obtained by performing hard-decision demodulation using the unknown user data, which has the following problems:
1. when the frequency offset is large, in a burst time of the TD-SCDMA, the user channel environment can no longer be assumed to be time-invariant, and the channel impulse response h (t) obtained through the training sequence is no longer applicable to the whole burst, so the performance of joint detection is reduced, thereby increasing the error rate of data after despreading.
2. Since the error rate of data after despreading increases, demodulation performance is degraded.
3. Hard decision loss is inevitably introduced due to the adoption of hard decision demodulation.
4. This scheme cannot compensate effectively when the phase changes by an integer multiple.
5. In some error cases, the demodulation constellation after hard decision appears in the dots, which brings larger error.
Therefore, the above problems can be effectively reduced or avoided by correcting the frequency offset before the joint detection.
Disclosure of Invention
The invention aims to provide a TD-SCDMA system frequency offset compensation method and a device based on a training sequence. And a weighted correction method is adopted to correct the frequency offset estimation of the current time slot, so that the base station can quickly and accurately perform de-spread and demodulation. On a digital signal processing platform, a simplified method and fewer storage units are applied to obtain accurate frequency offset estimation.
The purpose of the invention is realized as follows:
the invention discloses a TD-SCDMA system frequency offset compensation method based on training sequence, comprising the following steps:
(1) selecting a received data sequence;
(2) intercepting a training sequence from a received data sequence;
(3) carrying out phase compensation on the training sequence at different frequency difference points, carrying out channel estimation and determining a spread spectrum factor Q of the training sequence;
(4) despreading the training sequence to obtain a symbol of each frequency difference point after despreading the training sequence;
(5) processing abnormal despreading symbols, and calculating a cost function of each frequency point and each user;
(6) calculating a minimum cost function value, determining an optimal frequency point, and obtaining a frequency deviation estimation value of the current time slot;
(7) carrying out smooth correction on the frequency offset estimation value of the current time slot;
(8) obtaining mixed channel impact response through channel estimation, spread spectrum codes, scrambling codes and weights;
(9) and performing frequency offset compensation on the mixed channel impulse response of each user.
The processing of the abnormally despread symbols includes identifying despread erroneous symbols and discarding the erroneous symbols.
The TD-SCDMA system frequency offset compensation method based on the training sequence, the preset frequency offset compensationA value of e-j2πfiWherein f isiE f, f is in the range of [ -fmax,fmax]。
And the smooth correction also comprises a current time slot frequency offset estimation result, and after weighting P, the current time slot frequency offset estimation result is multiplied by the stored previous time slot frequency offset estimation result in a weighting (1-P) manner to obtain the frequency offset estimation after the smooth correction.
The possible range of the frequency difference of the received data sequence is [ -f [ ]max,fmax]At a frequency difference interval of <math> <mrow> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>=</mo> <mfrac> <msub> <mrow> <mn>2</mn> <mi>f</mi> </mrow> <mi>max</mi> </msub> <mi>λ</mi> </mfrac> <mo>,</mo> </mrow> </math> λ is the number of estimations.
The spreading factor Q of the midamble is 128/N, and N is the number of midamble symbols.
The cost function of the training symbol sequence is:
<math> <mrow> <msup> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mrow> <mo>(</mo> <mi>Re</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>|</mo> <mi>Re</mi> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>Re</mi> <mrow> <mo>(</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </math>
<math> <mrow> <msup> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mrow> <mo>(</mo> <mi>Im</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>|</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </math>
wherein the training data symbol sequence
<math> <mrow> <msup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mo>=</mo> <mo>{</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mn>1</mn> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mn>2</mn> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>N</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <mi>λ</mi> </mrow> </math>
i is the ith frequency traversal point, k is the kth user, and N is the number of training sequence symbols.
The smoothing correction is to perform smoothing correction on the frequency offset estimation values of the current time slot and the previous time slot by adopting an iterative forgetting factor:
<math> <mrow> <msubsup> <mover> <mi>θ</mi> <mo>‾</mo> </mover> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>p</mi> <mo>)</mo> </mrow> <msubsup> <mover> <mi>θ</mi> <mo>‾</mo> </mover> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>pθ</mi> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> </mrow> </math>
wherein, <math> <mrow> <msubsup> <mi>θ</mi> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>=</mo> <mn>2</mn> <mi>π</mi> <msubsup> <mi>f</mi> <mi>correct</mi> <mi>k</mi> </msubsup> <mo>·</mo> <mi>t</mi> </mrow> </math> is the frequency offset estimate for the nth slot,
t is the time slot length, fcorrect kFor the best estimated frequency difference corresponding to the kth user,
p is a mean forgetting factor, generally set to be between 0.75 and 0.9.
The invention also discloses a TD-SCDMA system frequency offset compensation device based on the training sequence, which comprises a frequency offset presetter, a multiplier, a de-spreading module, a channel estimator, an error symbol deleting and calculating cost function module, a cost function value comparing and judging module, a frequency offset estimating module, a frequency offset smooth correcting module, a demodulating module, a mixed impact response module, a joint detection module, a spreading code, a scrambling code and a weight generator,
the frequency offset pre-estimating device and the multiplier are used for carrying out frequency offset pre-estimation on a training sequence intercepted from a received data sequence; the channel estimator performs channel estimation on the training sequence subjected to frequency offset pre-estimation; the de-spread module is used for obtaining a training sequence symbol; the error symbol deleting and cost function calculating module is used for deleting the error symbols after despreading and calculating a cost function; the cost function value comparison and judgment module is used for comparing a plurality of frequency offset preset despread results of the same user and selecting an optimal frequency offset preset point of each user; the frequency offset estimation module is used for calculating the frequency offset of each user in the current time slot; the frequency offset smoothing correction module is used for smoothing frequency offset to obtain a smoothed frequency offset estimation value; the channel estimator, the spread spectrum code, the scrambling code, the weight generator and the multiplier are used for obtaining the mixed channel impact response; the multiplier is used for carrying out frequency offset compensation on the mixed channel impact response to obtain the compensated mixed channel impact response; the joint detection module and the demodulation module are used for despreading and demodulating data.
The invention uses the frequency deviation traversal method to de-spread the training sequence before the joint detection to obtain the cost function of the training sequence symbols of different frequency deviation points, and because the training sequence symbols are known, the de-spread error symbols can be deleted. Compared with the prior art, the invention has the following advantages:
1. the known information of the training sequence is fully utilized, so that the error symbols after despreading can be deleted;
2. because the training sequence symbols are known, only cost functions of the training sequence after de-spread and demodulation at different preset frequency offset points need to be calculated, demodulation hard judgment is not needed, and the loss of the demodulation hard judgment is avoided;
3. because frequency offset compensation is carried out before the joint detection, the performance of the joint detection is improved;
4. because the frequency offset traversal method is adopted, the frequency offset can be effectively compensated as long as the frequency offset is within the set frequency offset;
5. the frequency offset compensation method has a good compensation effect on large frequency offset, and particularly has an obvious frequency offset compensation effect when phase inversion occurs;
6. the system SNR (signal Noise ratio) -BER (bit Error ratio) performance can be effectively improved;
7. because the number of symbols of the training sequence can be dynamically set, the range of the number of symbols is as follows: 1-9, so the calculated amount is small and the practicability is strong;
8. since the training sequence symbols are known, this scheme is referred to SNR estimation.
Drawings
FIG. 1 is a diagram illustrating phase frequency offset calculation in a conventional frequency offset compensation scheme;
FIG. 2 is a flow chart of a frequency offset compensation method in the present invention;
fig. 3 is a diagram illustrating a frequency offset smoothing module according to the present invention.
Detailed Description
In the TD-SCDMA system, the known sequence effective length in a time slot is 128chips in both the uplink synchronization process and the traffic channel transmission process. The frequency estimation can be performed using the known sequence.
Let the known transmission sequence be:
S={s1,s2,...,sn} (4)
through the air channel, the data sequence corresponding to the receiving end is as follows:
R={r1,r2,...,rn,...,rn+W} (5)
according to the TD-SCDMA protocol, the training sequence received at the receiving end may be equal to the data part, which is expressed as:
<math> <mrow> <mo>{</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msubsup> <mi>c</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msubsup> <mi>c</mi> <mn>2</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msubsup> <mi>c</mi> <mi>Q</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mi>Q</mi> </msub> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msubsup> <mi>c</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mrow> <mi>Q</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mrow> <mn>16</mn> <mo>/</mo> <mi>Q</mi> </mrow> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msubsup> <mi>c</mi> <mi>Q</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>16</mn> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein the symbols take the following values:
<math> <mrow> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <mo>∈</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mo>-</mo> <mi>j</mi> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math>
vi∈{1,j,-1,-j} (8)
ci∈{1,-1} (9)
using scrambling, spreading principles, a sequence can be represented as
<math> <mrow> <mo>{</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>c</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <msubsup> <mi>c</mi> <mn>2</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>c</mi> <mi>Q</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mi>Q</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mn>2</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>c</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mrow> <mi>Q</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>c</mi> <mi>Q</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mrow> <mn>2</mn> <mi>Q</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>w</mi> <mi>Q</mi> <mi>k</mi> </msubsup> <msubsup> <mi>d</mi> <mrow> <mn>16</mn> <mo>/</mo> <mi>Q</mi> </mrow> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>c</mi> <mn>1</mn> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mrow> <mn>16</mn> <mo>-</mo> <mi>Q</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msubsup> <mi>c</mi> <mi>Q</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>i</mi> </mrow> </msubsup> <msub> <mi>v</mi> <mn>16</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow> </math>
Let the possible range of the frequency difference of the received sequence be [ -f ]max,fmax]Assuming that λ estimations are made within this range, the frequency difference interval is <math> <mrow> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>=</mo> <mfrac> <msub> <mrow> <mn>2</mn> <mi>f</mi> </mrow> <mi>max</mi> </msub> <mi>λ</mi> </mfrac> <mo>,</mo> </mrow> </math> The frequency difference point of traversal is
f={0,±fd,±2fd,..,±fmax} (11)
The preset frequency deviation compensation value is e-j2πfiWherein f isiE f, f is in the range of [ -fmax,fmax]。
The training sequence is phase-compensated at different frequency offset points, and is considered as a data sequence with a spreading factor Q (Q: 128/N), so that the data of the training sequence is despread. At each frequency difference point, the following training data symbol sequence can be obtained
<math> <mrow> <msup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mo>=</mo> <mo>{</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mn>1</mn> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mn>2</mn> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>N</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>}</mo> <mo>,</mo> <mo></mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <mi>λ</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein i is the ith frequency traversal point, k is the kth user, and N is the number of training sequence symbols. Since the training symbol sequence is known, the cost function of the training symbol sequence is:
<math> <mrow> <msup> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mrow> <mo>(</mo> <mi>Re</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>|</mo> <mi>Re</mi> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>Re</mi> <mrow> <mo>(</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <msup> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mrow> <mo>(</mo> <mi>Im</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>|</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msubsup> <mi>d</mi> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msubsup> <mover> <mi>d</mi> <mo>^</mo> </mover> <mi>n</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow> </math>
and traversing and searching each frequency offset compensation point, wherein the cost function is a set C.
<math> <mrow> <msup> <mi>C</mi> <mi>k</mi> </msup> <mo>=</mo> <mo>{</mo> <msup> <mi>C</mi> <mrow> <msub> <mrow> <mo>-</mo> <mi>f</mi> </mrow> <mi>mxa</mi> </msub> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <mo>,</mo> <msup> <mi>C</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mo>,</mo> <mo>·</mo> <mo>·</mo> <mo>·</mo> <msup> <mi>C</mi> <mrow> <msub> <mi>f</mi> <mi>max</mi> </msub> <mo>,</mo> <mi>k</mi> </mrow> </msup> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow> </math>
The optimal frequency offset compensation point cost function is as follows:
the frequency difference point corresponding to the minimum value in the cost function is the best estimated frequency difference of the received sequence. The frequency offset estimation value of the nth time slot is as follows:
<math> <mrow> <msubsup> <mi>θ</mi> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>=</mo> <msubsup> <mrow> <mn>2</mn> <mi>πf</mi> </mrow> <mi>correct</mi> <mi>k</mi> </msubsup> <mo>·</mo> <mi>t</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow> </math>
where t is the slot length, fcorrect kAnd the frequency difference is estimated for the optimal frequency difference corresponding to the kth user.
After the optimal frequency offset of the current time slot is estimated, in order to effectively utilize the former frequency offset information and reduce the calculation amount, the frequency offset estimation of the current time slot needs to be smoothly corrected. Adopting an iteration forgetting factor to carry out smooth correction on the frequency deviation estimated values of the current time slot and the previous time slot:
<math> <mrow> <msubsup> <mover> <mi>θ</mi> <mo>‾</mo> </mover> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>p</mi> <mo>)</mo> </mrow> <msubsup> <mover> <mi>θ</mi> <mo>‾</mo> </mover> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>pθ</mi> <mi>correct</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein p is a mean forgetting factor, which is generally set to be between 0.75 and 0.9.
And after obtaining the corrected frequency offset estimation, performing frequency offset compensation on the mixed channel impact response before joint detection.
The specific implementation steps are as follows:
1. the possible range of the frequency difference of the selected receiving sequence is [ -f [ ]max,fmax]At a frequency difference interval of <math> <mrow> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>=</mo> <mfrac> <msub> <mrow> <mn>2</mn> <mi>f</mi> </mrow> <mi>max</mi> </msub> <mi>λ</mi> </mfrac> <mo>,</mo> </mrow> </math> Lambda is the estimation times;
2. intercepting a training sequence from received data, performing preset phase compensation on the training sequence at different frequency difference points, and performing channel estimation;
3. determining a spreading factor Q of a training sequence, wherein Q is 128/N;
4. despreading the training sequence to obtain symbols despread by the training sequence at each frequency difference point;
5. because the training sequence symbols are known, the error symbols after despreading can be identified, and the error symbols are discarded;
6. calculating a cost function of a symbol after despreading the training sequence of each frequency point and each user;
7. calculating a minimum cost function value, judging an optimal frequency point, and obtaining a frequency deviation estimation value of the current time slot;
8. carrying out smooth correction on the frequency offset estimation value of the current time slot;
9. obtaining mixed channel impact response through channel estimation, spread spectrum codes, scrambling codes and weights;
10. and respectively carrying out frequency offset compensation on the K user mixed channel impact responses, and carrying out joint detection and demodulation after compensation.
Referring to fig. 2, the apparatus of the present invention mainly includes a frequency offset presetter 22, a multiplier 23, a despreading module 24, a channel estimator 25, an error symbol deleting and calculating cost function module 26, a cost function value comparing and deciding module 28, a frequency offset estimating module 29, a frequency offset smooth correcting module 210, a demodulating module 214, a mixed impulse response module 212, a joint detecting module 213, and a spreading code, scrambling code, and weight generator 211.
According to design indexes and requirements, the possible range of the frequency deviation of the receiving sequence can be obtained in advance, and the frequency difference interval is set to <math> <mrow> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <msub> <mi>f</mi> <mi>max</mi> </msub> </mrow> <mi>λ</mi> </mfrac> <mo>,</mo> </mrow> </math> λ is the number of estimations. During receiving, the receiving data 21 can be obtained from the antenna end, the training sequence is intercepted from the receiving data, the frequency offset pre-estimation is carried out on the intercepted training sequence by using the multiplier 23 and the frequency offset pre-setter 22, the channel estimation is carried out on the training sequence subjected to the frequency offset pre-estimation by using the channel estimator 25, and the training sequence symbol is obtained by the de-spreading module 24; since the training sequence symbols 27 are known, the despread error symbols can be removed by the error symbol removal and cost function calculation module 26 and a cost function calculated; comparing a plurality of frequency offset preset de-spread results of the same user through the decision module 28, and selecting an optimal frequency offset preset point 216 of each user; calculating the frequency offset 217 of each user in the current time slot by the frequency offset estimation module 29; the frequency offset is smoothed by the frequency offset smoothing and correcting module 210 to obtain a smoothed frequency offset estimation value 218.
Obtaining a mixed channel impulse response 212 through the channel estimator 25, the spreading code, the scrambling code, the weight generator 211 and the multiplier 23; performing frequency offset compensation on the mixed channel impulse response 212 through the multiplier 23 by using the smoothed frequency offset estimation value 218 to obtain a compensated mixed channel impulse response 215; the data is despread and demodulated by the demodulation module 214 through the joint detection module 213.
Referring to fig. 3, the frequency offset smoothing process is illustrated, and the frequency offset smoothing process includes the current slot frequency offset estimation result 31, the weight P34, the weight (1-P)32, the saved previous slot frequency offset estimation result 33, and the smoothed frequency offset estimation 36.
After obtaining the current time slot frequency offset estimation result 31, the frequency offset estimation result is subjected to smooth weighting processing, the weights are respectively P34 and (1-P)32, and the frequency offset estimation after the current time slot smooth correction is calculated by using the formula 18.
In summary, the outstanding features of the present invention are that a frequency offset traversal method is adopted, a training sequence is fully utilized, the training sequence is considered as N symbols, a cost function is introduced, frequency offset estimation is performed by using known symbol information, frequency offset estimation of a current time slot is smoothly corrected, and frequency offset is compensated before joint detection. The error caused by hard judgment during demodulation of unknown information after despreading is fundamentally avoided, the performance of joint detection and the overall performance of the system are improved, and the method has high breakthrough.