Method for estimation of carrier frequency

RU2871269C1Active Publication Date: 2026-10-05ROSSIJSKAJA FEDERATSIJA OT IMENI KOTOROJ VYSTUPAET MINISTSTVO PROMYSHLENNOSTI I TORGOVLI ROSSIJSKOJ FEDERATSII +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
RU2025112886
Authority / Receiving Office
RU · RU
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-05-16
Publication Date
2026-10-05
Estimated Expiration
2045-05-16

Smart Images

  • Figure 00000001_ABST
    Figure 00000001_ABST
Patent Text Reader

Abstract

FIELD: radio engineering.SUBSTANCE: invention relates to methods for estimating frequency and can be used for implementation in digital signal processors that receive and transmit information over high-speed data exchange channels. A method for estimating the carrier frequency is proposed, in which a continuous fragment of a signal with a duration of 16,384 complex samples is read and written into the memory of the carrier frequency estimator unit, each of the complex samples is raised to the fourth power and 14 stages of the fast Fourier transform are performed on all the samples, the modules of the results of the fast Fourier transform are squared and the maximum value corresponding to the carrier frequency is found among them, information about which is formed in the form of a 16-bit number.EFFECT: increase in the accuracy of carrier frequency estimation and, as a consequence, the reliability of the operation of communication systems.1 cl, 1 dwg
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to the field of radio engineering, namely to methods for accurately estimating frequency and can be used for implementation in digital signal processors that receive and transmit information over high-speed data exchange channels.

[0002] A method for estimating the carrier frequency offset for wireless communication is known, which consists of calculating the correlation of a quadrature signal with reference signals (IPC H04W 24 / 08, H04L 5 / 00, H04W 84 / 12, patent dated 12 / 29 / 2016 No. US 2016 / 0381581 A1).

[0003] The disadvantages of this method are:

[0004] - low performance due to multi-pass measurement, which makes it difficult to use in high-speed communication systems;

[0005] - limited functionality due to the lack of external / remote control of the carrier frequency estimation process, which makes it difficult to implement in digital signal processors;

[0006] - low operational reliability due to the lack of ability to control the execution of carrier frequency estimation processes, which makes implementation difficult in digital signal processors;

[0007] - low operational reliability due to the lack of protection against overflow of the bit grid in the process of carrier frequency estimation, which makes it difficult to implement in digital signal processors.

[0008] A method for detecting a carrier frequency shift for coherent receivers using quadrature amplitude modulation formats is also known, which consists of searching for a front and a backslope in a spectrum obtained as a result of a fast Fourier transform (IPC H04B 10 / 06, patent dated 11 / 22 / 2012 No. US 2012 / 0294630 A1).

[0009] The method has disadvantages:

[0010] - low stability of the carrier frequency estimation method in the presence of interference and several peaks in the spectrum, which makes it difficult to use in high-speed communication systems;

[0011] - limited functionality due to the lack of external / remote control of the carrier frequency estimation process, which makes it difficult to implement in digital signal processors;

[0012] - low operational reliability due to the lack of ability to control the execution of carrier frequency estimation processes, which complicates implementation in digital signal processors;

[0013] - low operational reliability due to the lack of protection against bit grid overflow in the carrier frequency estimation process, which makes implementation in digital signal processors difficult.

[0014] The closest prototype to the claimed method is a method for satellite laser broadband demodulation, which consists of calculating the fast Fourier transform from the squares of complex signals and subsequent estimation of the carrier frequency (IPC H04B 10 / 29, patent dated 12 / 29 / 2022 No. US 2022 / 0416896 A1).

[0015] This method, compared to its analogues, has high speed and sufficient efficiency for use in high-speed data exchange channels with a high level of errors, but its disadvantages are:

[0016] - limited functionality due to the lack of external / remote control of the carrier frequency estimation process, which makes it difficult to implement in digital signal processors;

[0017] - low operational reliability due to the lack of ability to control the execution of carrier frequency estimation processes, which complicates implementation in digital signal processors;

[0018] - low operational reliability due to the lack of protection against bit grid overflow in the carrier frequency estimation process, which makes implementation in digital signal processors difficult.

[0019] The technical objective of the claimed invention is to expand the functional capabilities and improve the reliability of the operation of methods for estimating the carrier frequency, ensuring their implementation in digital signal processors from high-speed data exchange channels with a high level of errors.

[0020] The problem is solved as follows.

[0021] In the method of estimating the carrier frequency, including calculating the fast Fourier transform from the squares of complex signals and subsequent estimation of the carrier frequency, the carrier frequency estimation unit additionally performs cyclic reception and processing of the data_in_h and en signals from the static distortion correction unit, and cyclic reception and processing of the FREQ_ESTIMATE_Control, clk and rst signals from the status control registers, the carrier frequency estimation unit generates and transmits the stat_cor_f_ctrl and stat_cor_f_ctrl_val signals to the static distortion correction unit, and generates and transmits the FREQ_ESTIMATE_State signal to the status control registers, wherein: the execution of the cycles of reception, processing, generation and transmission of signals begins from the moment the rst signal is transferred to the state "0", the frequency of the cycles depends on the frequency of change of the clk signal from the state "0" to the state "1" and back;if the en and FREQ_ESTIMATE_Control signals are in the "1" state, then a continuous signal fragment with a duration of 16384 complex samples is read from the data_in_h input and written to the carrier frequency estimation unit memory, each of which contains eight bits of the real component of the sample and eight bits of the imaginary component of the sample; writing to the carrier frequency estimation unit memory is performed in fragments of 64 complex samples with each sample divided into real and imaginary components; the FREQ_ESTIMATE_State output is set to the "001" state - receiving the initial data; the FREQ_ESTIMATE_State output is set to the "010" state - calculating the frequency offset;sequentially, for each of the 16,384 complex samples recorded in the memory of the carrier frequency estimation unit, the real and imaginary components of the sample are read from the memory of the carrier frequency estimation unit, the sample is raised to the fourth power and the complex result of raising the sample to the fourth power is written into the memory of the carrier frequency estimation unit with division into the real and imaginary components; when raising the samples to the fourth power, to avoid overflow, the use of the most significant data bit is checked; if it is used, a shift by 1 digit is performed - division by 2;for all 16384 complex results of raising samples to the fourth power recorded in the memory of the carrier frequency estimation unit, the real and imaginary components of all 16384 complex results of raising samples to the fourth power are sequentially read from the memory of the carrier frequency estimation unit, 14 stages of the fast Fourier transform are performed on all the read data, the 16384 complex results of performing the fast Fourier transform are written in fragments of 64 results into the memory of the carrier frequency estimation unit with separation into real and imaginary components, at each of the 13 stages of the fast Fourier transform, to exclude overflow, the use of the most significant bit of the data is checked, if it is used, a shift by 1 digit is performed - division by 2;sequentially, for each of the 16384 complex results of performing the 14th stage of the fast Fourier transform recorded in the memory of the carrier frequency estimation unit, in binary-inverse order, the real and imaginary components of the result of performing the 14th stage of the fast Fourier transform are read from the memory of the carrier frequency estimation unit, the square of the modulus of the complex number is calculated, and the result of calculating the square of the modulus of the complex number is written into the memory of the carrier frequency estimation unit;for all 16384 results of calculating the squares of the moduli of complex numbers recorded in the memory of the carrier frequency estimation unit, 16384 results of calculating the squares of the moduli of complex numbers are sequentially read from the memory of the carrier frequency estimation unit, from the 16384 results of calculating the squares of the moduli of complex numbers, the maximum value corresponding to the carrier frequency is found, the index of the maximum result of calculating the squares of the moduli of complex numbers corresponding to the carrier frequency is stored in the memory of the carrier frequency estimation unit, a 16-bit number with information about the carrier frequency offset is formed based on the index of the maximum result of calculating the squares of the moduli of complex numbers;A 16-bit number with information about the carrier frequency offset is transmitted to the output of the carrier frequency estimation block stat_cor_f_ctrl, the output stat_cor_f_ctrl_val is set to the state “1”, the output FREQ_ESTIMATE_State is set to the state “100” - the carrier frequency calculation is complete, information about the carrier frequency offset has been transmitted, waiting for a restart command.

[0022] The set of distinctive features of the claimed invention ensures the fulfillment of the stated technical task.

[0023] From the scientific, technical and patent information studied, the authors are not aware of a method with the distinctive features indicated in the invention formula; this gives grounds for concluding that the claimed method meets the invention criteria.

[0024] The claimed invention is explained in Fig. 1.

[0025] The method is as follows.

[0026] The method for estimating the carrier frequency is implemented by means of a carrier frequency estimator unit included in the digital signal processor.

[0027] The carrier frequency estimation block is connected with its data_in_h and en inputs to the static distortion correction block from the digital signal processor, the FREQ_ESTIMATE_Control, clk and rst inputs are connected with the status control registers from the digital signal processor, the stat_cor_f_ctrl and stat_cor_f_ctrl_val outputs are connected with the static distortion correction block from the digital signal processor, and the FREQ_ESTIMATE_State output is connected with the status control registers from the digital signal processor.

[0028] The bit depth of signals received at the inputs of the carrier frequency estimation block from the static distortion correction block:

[0029] - data_in_h - 64×2×8=1024 bits;

[0030] - en - 1bit.

[0031] The bit width of signals received at the inputs of the carrier frequency estimation block from the status control registers:

[0032] - FREQ_ESTIMATE_Control- 1 bit;

[0033] - clk - 1bit;

[0034] - rst - l bit.

[0035] The bit depth of signals transmitted from the outputs of the carrier frequency estimation block to the static distortion correction block:

[0036] - stat_cor_f_ctrl - 16 bits;

[0037] - stat_cor_f_ctrl_val - 1 bit.

[0038] The bit width of the signal transmitted from the output of the carrier frequency estimation block to the status control registers:

[0039] - FREQ_ESTIMATE_State - 3 bits.

[0040] When power is supplied to the carrier frequency estimation unit and after the initialization of the digital signal processor is completed, the inputs of the carrier frequency estimation unit:

[0041] - a combination of signals appears from the status control registers, which transfer the carrier frequency estimation block to the reset state and readiness to start operation:

[0042] clk - state "0";

[0043] rst - state "1";

[0044] FREQ_ESTIMATE_Control - state "0";

[0045] - a combination of signals appears from the static distortion correction block, preparing the carrier frequency estimation block for data reception:

[0046] data_in_h - arbitrary data set;

[0047] en - state "0".

[0048] The carrier frequency estimation unit, in the reset state, does not read signals coming to the data_in_h and en inputs, does not generate output signals at the stat_cor_f_ctrl and stat_cor_f_ctrl_val outputs, and the FREQ_ESTIMATE_State output is set to the “000” state - waiting for a start command.

[0049] The carrier frequency estimation block begins cyclically implementing the carrier frequency estimation method from the moment the control registers set the rst signal status to "0". The frequency of the carrier frequency estimation method implementation cycles depends on the frequency of the signal change at the clk input from state "0" to state "1" and back. Implementation of the carrier frequency estimation method consists of receiving and processing signals arriving at the data_in_h, en, FREQ_ESTIMATE_Control, clk, and rst inputs, and generating and transmitting signals from the stat_cor_f_ctrl, stat_cor_f_ctrl_val, and FREQ_ESTIMATE_State outputs. In this case:

[0050] 1. If the en signal is in the "0" state, then the method implementation does not continue.

[0051] 2. If the en signal is in the "1" state and the FREQ_ESTIMATE_Control signal is in the "0" state, then the method implementation does not continue.

[0052] 3. If the en signal is in the "1" state, and the FREQ_ESTIMATE_Control signal is in the "1" state, then the FREQ_ESTIMATE_State output is set to the "001" state - receiving the initial data. A continuous signal fragment with a duration of 16384 complex samples is read from the data_in_h input and written to the carrier frequency estimation block memory, each of which contains: eight bits of the real component of the sample; eight bits of the imaginary component of the sample. Writing to the carrier frequency estimation block memory is performed in fragments of 64 complex samples, with each sample divided into real and imaginary components.

[0053] 4. The FREQ_ESTIMATE_State output is set to the “010” state – frequency offset calculation.

[0054] 5. Sequentially for each of the 16384 complex samples recorded in the memory of the carrier frequency estimation unit:

[0055] - read the real and imaginary components of the sample from the memory of the carrier frequency estimation unit;

[0056] - raise the count to the fourth power;

[0057] - writes the complex result of raising the count to the fourth power into the memory of the carrier frequency estimation block, dividing it into real and imaginary components.

[0058] When raising readings to the fourth power, to avoid overflow of the bit grid, the use of the most significant data bit is checked; if it is used, the reading is shifted by 1 bit - division by 2.

[0059] 6. For all 16384 complex results of raising samples to the fourth power recorded in the memory of the carrier frequency estimation unit:

[0060] - sequentially read from the memory of the carrier frequency estimation unit the real and imaginary components of all 16384 complex results of raising the readings to the fourth power;

[0061] - perform 14 stages of fast Fourier transform on all read data;

[0062] - writes 16384 complex results of the fast Fourier transform in fragments of 64 results into the memory of the carrier frequency estimation block with division into real and imaginary components.

[0063] At each of the 13 stages of the fast Fourier transform, to avoid overflow of the bit grid, the use of the most significant data bit is checked; if it is used, a shift by 1 bit is performed - division by 2.

[0064] 7. Sequentially for each of the 16384 complex results of the 14th stage of the fast Fourier transform recorded in the memory of the carrier frequency estimation unit:

[0065] - read the real and imaginary components of the result of the 14th stage of the fast Fourier transform from the memory of the carrier frequency estimation unit in binary inverse order;

[0066] - calculate the square of the modulus of a complex number;

[0067] - writes the result of calculating the square of the modulus of a complex number to the memory of the carrier frequency estimation block.

[0068] 8. For all 16384 results of calculating the squares of the modules of complex numbers stored in the memory of the carrier frequency estimation unit:

[0069] - sequentially read from the memory of the carrier frequency estimation unit 16384 results of calculating the squares of the modules of complex numbers;

[0070] - from 16384 results of calculating the squares of the modules of complex numbers, find the maximum value corresponding to the carrier frequency;

[0071] - the index of the maximum result of calculating the squares of the modules of complex numbers corresponding to the carrier frequency is stored in the memory of the carrier frequency estimation unit;

[0072] - based on the index of the maximum result of calculating the squares of the modules of complex numbers, a 16-bit number is formed with information about the carrier frequency offset.

[0073] 9. A 16-bit number with carrier frequency offset information is transmitted to the output of the carrier frequency estimation block stat_cor_f_ctrl. In this case:

[0074] - the stat_cor_f_ctrl_val output is set to state “1”;

[0075] - the FREQ_ESTIMATE_State output is set to the “100” state - the carrier frequency calculation is complete, the carrier frequency offset information has been transmitted, waiting for a restart command.

[0076] This method of estimating the carrier frequency in comparison with the prototype allows:

[0077] - by using various combinations of signals data_in_h, en, FREQ_ESTIMATE_Control, clk, rst, stat_cor_f_ctrl, stat_cor_f_ctrl_val and FREQ_ESTIMATE_State, implement external / remote control of the carrier frequency estimation process, which provides expanded functionality and ensures implementation in digital signal processors;

[0078] - by monitoring the state of the FREQ_ESTIMATE_State output signal between changes in the state of the FREQ_ESTIMATE_Control signal, implement control over the implementation of the carrier frequency estimation, which ensures increased operational reliability and ensures implementation in digital signal processors;

[0079] - by shifting the calculation results by 1 bit - dividing by 2, implement protection of the method from overflow of the bit grid, which ensures increased reliability of operation and ensures implementation in digital signal processors.

[0080] The use of the invention in digital signal processors that receive and transmit information via high-speed data exchange channels makes it possible to expand the functionality and improve the reliability of the operation of communication systems in the Russian Federation.

Claims

A method for estimating a carrier frequency, including calculating a fast Fourier transform from squares of complex signals and subsequent estimation of the carrier frequency, characterized in that the carrier frequency estimation unit cyclically receives and processes the signals data_in_h and en from the static distortion correction unit, and cyclically receives and processes the signals FREQ_ESTIMATE_Control, clk and rst from the status control registers, the carrier frequency estimation unit generates and transmits the signals stat_cor_f_ctrl and stat_cor_f_ctrl_val to the static distortion correction unit, and generates and transmits the signal FREQ_ESTIMATE_State to the status control registers, wherein: the execution of cycles of reception, processing, generation and transmission of signals begins from the moment the signal rst is transferred to the state "0", the frequency of the cycles depends on the frequency of change of the signal elk from the state "0" to the state "1" and back;if the en and FREQ_ESTIMATE_Control signals are in the "1" state, then a continuous signal fragment with a duration of 16384 complex samples is read from the data_in_h input and written to the carrier frequency estimation unit memory, each of which contains eight bits of the real component of the sample and eight bits of the imaginary component of the sample; writing to the carrier frequency estimation unit memory is performed in fragments of 64 complex samples with each sample divided into real and imaginary components; the FREQ_ESTIMATE_State output is set to the "001" state - receiving the initial data; the FREQ_ESTIMATE_State output is set to the "010" state - calculating the frequency offset;sequentially, for each of the 16,384 complex samples recorded in the memory of the carrier frequency estimation unit, the real and imaginary components of the sample are read from the memory of the carrier frequency estimation unit, the sample is raised to the fourth power and the complex result of raising the sample to the fourth power is written into the memory of the carrier frequency estimation unit with division into the real and imaginary components; when raising the samples to the fourth power, to avoid overflow, the use of the most significant data bit is checked; if it is used, a shift by 1 digit is performed - division by 2;for all 16384 complex results of raising samples to the fourth power recorded in the memory of the carrier frequency estimation unit, the real and imaginary components of all 16384 complex results of raising samples to the fourth power are sequentially read from the memory of the carrier frequency estimation unit, 14 stages of the fast Fourier transform are performed on all the read data, the 16384 complex results of performing the fast Fourier transform are written in fragments of 64 results into the memory of the carrier frequency estimation unit with separation into real and imaginary components, at each of the 13 stages of the fast Fourier transform, to exclude overflow, the use of the most significant bit of the data is checked, if it is used, a shift by 1 digit is performed - division by 2;sequentially, for each of the 16384 complex results of performing the 14th stage of the fast Fourier transform recorded in the memory of the carrier frequency estimation unit, in binary-inverse order, the real and imaginary components of the result of performing the 14th stage of the fast Fourier transform are read from the memory of the carrier frequency estimation unit, the square of the modulus of the complex number is calculated, and the result of calculating the square of the modulus of the complex number is written into the memory of the carrier frequency estimation unit;for all 16384 results of calculating the squares of the moduli of complex numbers recorded in the memory of the carrier frequency estimation unit, 16384 results of calculating the squares of the moduli of complex numbers are sequentially read from the memory of the carrier frequency estimation unit, from the 16384 results of calculating the squares of the moduli of complex numbers, the maximum value corresponding to the carrier frequency is found, the index of the maximum result of calculating the squares of the moduli of complex numbers corresponding to the carrier frequency is stored in the memory of the carrier frequency estimation unit, a 16-bit number with information about the carrier frequency offset is formed based on the index of the maximum result of calculating the squares of the moduli of complex numbers;A 16-bit number with information about the carrier frequency offset is transmitted to the output of the carrier frequency estimation block stat_cor_f_ctrl, the output stat_cor_f_ctrl_val is set to the state “1”, the output FREQ_ESTIMATE_State is set to the state “100” - the carrier frequency calculation is complete, the information about the carrier frequency offset has been transmitted, waiting for a restart command.

Citation Information

Patent Citations

  • Device for estimating carrier frequency shift in the uplink channel for wireless communication systems

    RU115588U1

  • Method to assess bearing frequency shift in up-link for wireless telecommunications systems

    RU2459354C1

  • Evaluation of complex signal carrier frequency doppler shift

    RU2565237C1

  • Method for high-accuracy signal frequency estimation in broadband communication systems

    RU2691972C1

  • Method and apparatus for satellite laser broadband demodulation

    US20220416896A1