A method and system for modulating an orthogonal frequency division multiplexed signal

By mapping frequency domain data signals and pilot signals to a frequency domain resource grid matrix and performing frequency domain shifting and inverse Fourier transform, the IFFT process is decomposed into controllable matrix operations. This solves the problem that developers cannot customize and adjust the signal processing chain, thereby improving the flexibility and debugging efficiency of signal processing.

CN121173636BActive Publication Date: 2026-06-05ZHONGXING LIANHUA TECH BEIJING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHONGXING LIANHUA TECH BEIJING CO LTD
Filing Date
2025-11-21
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

The existing inverse fast Fourier transform process is a pre-packaged operation in orthogonal frequency division multiplexing signal modulation, which makes it impossible for developers to deeply understand and customize the links in the signal processing chain.

Method used

The frequency domain data signal and pilot signal to be transmitted are mapped into the frequency domain resource grid matrix. The IFFT process is decomposed into controllable matrix operation steps through frequency domain shifting and inverse fast Fourier transform, and the transformation process from frequency domain to time domain is explicitly processed.

Benefits of technology

It enhances debugging and customization capabilities, solves the problem of opaque processes, improves the flexibility and debugging efficiency of signal processing, and facilitates algorithm development and troubleshooting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121173636B_ABST
    Figure CN121173636B_ABST
Patent Text Reader

Abstract

The application provides a modulation method and system of an orthogonal frequency division multiplexing signal, and belongs to the technical field of wireless communication. The method comprises the following steps: mapping a frequency domain data signal and a pilot signal to be transmitted into a frequency domain resource grid matrix; performing a frequency domain shift operation on each row vector of the frequency domain resource grid matrix, shifting a zero frequency component to the center of the vector, and obtaining a shifted matrix; and performing an inverse fast Fourier transform on each row vector of the shifted matrix, and obtaining a time domain orthogonal frequency division multiplexing symbol matrix as a modulation result. The application constructs the entire frequency domain resource into a two-dimensional matrix, and all subsequent signal processing operations are based on the row vectors of the two-dimensional matrix as a basic unit, and are completed through a series of explicit matrix and vector operation steps. Thus, the IFFT call for the entire frame, which is a black box, is decomposed into individual steps for a single symbol, which are visible and controllable, and the problem of opaque process is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and in particular to an orthogonal frequency division multiplexing signal modulation method and system. Background Technology

[0002] Orthogonal Frequency Division Multiplexing (OFDM) is a core modulation technology in modern wireless communication systems, widely used in 4G / 5G, Wi-Fi, and other fields. The standard implementation process of OFDM technology includes: mapping data and pilots to frequency domain subcarriers, performing Inverse Fast Fourier Transform (IFFT) to the time domain, and adding a cyclic prefix (CP).

[0003] In existing technologies, IFFT is typically implemented by calling dedicated library functions such as FFTW. However, for developers, the IFFT process is a well-encapsulated operation with an opaque flow, making it difficult for them to deeply understand and customize the links in the signal processing chain. Summary of the Invention

[0004] This application provides an orthogonal frequency division multiplexing signal modulation method and system, aiming to solve the problem that the existing inverse fast Fourier transform process is a well-encapsulated operation that is not convenient for developers to deeply understand and customize specific links in the signal processing chain.

[0005] In a first aspect, this application provides an orthogonal frequency division multiplexing signal modulation method, comprising:

[0006] The frequency domain data signal and pilot signal to be transmitted are mapped into the frequency domain resource grid matrix. Each row vector of the frequency domain resource grid matrix is ​​a complete frequency domain representation of the same time-domain orthogonal frequency division multiplexing symbol, and each column vector is a time-domain representation of the same subcarrier of different time-domain orthogonal frequency division multiplexing symbols.

[0007] Perform a frequency domain shift operation on each row vector of the frequency domain resource grid matrix to move the zero-frequency component to the center of the vector, and obtain the shifted matrix.

[0008] Perform an inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix, which serves as the modulation result.

[0009] In one embodiment, mapping the frequency domain data signal and pilot signal to be transmitted onto a frequency domain resource grid matrix specifically includes:

[0010] The frequency domain data signal and pilot signal to be transmitted are respectively mapped into a two-dimensional matrix of frequency domain data and a two-dimensional matrix of pilot data;

[0011] Based on the frequency domain resource indexing system, the data from the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix are respectively filled into the corresponding elements of the baseband frequency domain resource grid matrix; the frequency domain resource indexing system includes the guard subcarrier index, DC subcarrier index, pilot subcarrier index and data subcarrier index;

[0012] Create a frequency domain resource grid matrix and initialize all elements of the frequency domain resource grid matrix to zero; the ratio of the number of columns in the frequency domain resource grid matrix to the number of columns in the baseband frequency domain resource grid matrix is ​​the oversampling rate;

[0013] The baseband frequency domain resource grid matrix is ​​placed within the frequency domain resource grid matrix, and elements outside the frequency domain resource grid matrix are zero-padded; the baseband frequency domain resource grid matrix is ​​placed in the central region of the columns of the frequency domain resource grid matrix.

[0014] In one embodiment, an inverse fast Fourier transform is performed on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix, specifically including:

[0015] Call the inverse Fourier transform function to transform the frequency domain signal of each row vector into a time domain signal;

[0016] Multiply the time-domain signal corresponding to each row vector by the oversampling rate to obtain the row vector of the time-domain orthogonal frequency division multiplexing symbol matrix.

[0017] In one embodiment, before mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix, the method further includes:

[0018] Adjust the power of the pilot signal to match the power of the frequency domain data signal to be transmitted.

[0019] In one embodiment, before filling the corresponding elements of the baseband frequency domain resource grid matrix with the data from the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix based on the frequency domain resource indexing system, the method further includes:

[0020] A subcarrier allocation scheme based on a frequency domain resource index system that dynamically adjusts the configuration parameters of an orthogonal frequency division multiplexing (OFDM) signal system.

[0021] In one embodiment, a frequency domain shifting operation is performed on each row vector of the frequency domain resource grid matrix to shift the zero-frequency component to the center of the vector, resulting in a shifted matrix. Specifically, this includes:

[0022] Extract the second half of the row vector and use it as the first half of the new vector;

[0023] Extract the first half of the row vector and use it as the second half of the new vector;

[0024] The first half and the second half are concatenated to obtain a new vector;

[0025] The new vector is assigned back to the row vector, which will then serve as the row vector of the moved matrix.

[0026] In one embodiment, after obtaining the time-domain orthogonal frequency division multiplexing symbol matrix, the method further includes:

[0027] A cyclic prefix and window function are added to the time-domain orthogonal frequency division multiplexing symbol matrix, and the resulting new time-domain orthogonal frequency division multiplexing symbol matrix is ​​used as the modulation result.

[0028] In one embodiment, a cyclic prefix and window function are added to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain a new time-domain OFDM symbol matrix, specifically including:

[0029] Add a cyclic prefix to the time-domain orthogonal frequency division multiplexing symbol matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix;

[0030] Generate a window coefficient vector based on the preset window length;

[0031] The window coefficient vector is multiplied by the cyclic prefix of the time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix to obtain the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix.

[0032] Perform a dot product between the window coefficient vector and the last column vector of the time-domain orthogonal frequency division multiplexing symbol matrix, and then add the resulting last column vector to the front column vector of the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix to obtain a new time-domain orthogonal frequency division multiplexing symbol matrix.

[0033] In one embodiment, a cyclic prefix is ​​added to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain a time-domain OFDM symbol matrix with a cyclic prefix, specifically including:

[0034] Starting from a preset column offset position in the time-domain orthogonal frequency division multiplexing symbol matrix, extract a continuous column vector of a preset length as a cyclic prefix;

[0035] By appending the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix, a time-domain OFDM symbol matrix with a cyclic prefix is ​​obtained.

[0036] In one embodiment, a frequency domain shifting operation is performed on each row vector of the frequency domain resource grid matrix to shift the zero-frequency component to the center of the vector, resulting in a shifted matrix. Specifically, this includes:

[0037] Multiply each row vector of the frequency domain resource grid matrix by the linear phase rotation vector to obtain the shifted matrix.

[0038] In one embodiment, a cyclic prefix is ​​added to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain a time-domain OFDM symbol matrix with a cyclic prefix, specifically including:

[0039] The index range corresponding to the cyclic prefix in the time-domain orthogonal frequency division multiplexing symbol matrix is ​​determined based on the frequency domain resource indexing system;

[0040] Based on the index range, extract the prefix matrix corresponding to the cyclic prefix from the time-domain orthogonal frequency division multiplexing symbol matrix, and use it as the cyclic prefix;

[0041] By appending the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix, a time-domain OFDM symbol matrix with a cyclic prefix is ​​obtained.

[0042] In one embodiment, after mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain resource grid matrix, the method further includes:

[0043] The frequency domain resource grid matrix is ​​input into the image processing unit, and modulation is performed synchronously on all row vectors of the frequency domain resource grid matrix to obtain the modulation result output by the image processing unit.

[0044] Secondly, this application also provides an orthogonal frequency division multiplexing signal modulation system, comprising:

[0045] The mapping module is used to map the frequency domain data signal and pilot signal to be transmitted onto the frequency domain resource grid matrix. Each row vector of the frequency domain resource grid matrix is ​​the complete frequency domain representation of the same time domain orthogonal frequency division multiplexing symbol, and each column vector is the time domain representation of the same subcarrier of different time domain orthogonal frequency division multiplexing symbols.

[0046] The shifting module is used to perform frequency domain shifting operations on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector to obtain the shifted matrix.

[0047] The transformation module is used to perform inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix, which serves as the modulation result. Attached Figure Description

[0048] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0049] Figure 1 This is one of the flowcharts illustrating the orthogonal frequency division multiplexing signal modulation method provided in this application;

[0050] Figure 2 This is the second flowchart of the orthogonal frequency division multiplexing signal modulation method provided in this application;

[0051] Figure 3 This is one of the schematic diagrams of the frequency domain resource indexing system provided in this application;

[0052] Figure 4 This is one of the flowcharts for adding a loop prefix and a window function provided in this application;

[0053] Figure 5 This is one of the structural schematic diagrams of the orthogonal frequency division multiplexing signal modulation system provided in this application. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0055] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0056] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class, without limiting the number of objects; for example, a first object can be one or more. Furthermore, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects have an "or" relationship.

[0057] The following is combined Figures 1 to 5 This application describes the orthogonal frequency division multiplexing signal modulation method and system provided.

[0058] It should be noted that the orthogonal frequency division multiplexing (OFDM) signal modulation method provided in this application is implemented based on an OFDM signal modulation system. The OFDM signal modulation method converts the signal into a two-dimensional matrix, thereby independently executing multiple modulation steps in units of time-domain OFDM symbols represented by row vectors. It explicitly handles the frequency-domain to time-domain transformation process. Compared with encapsulated operations, developers can clearly access and intervene in any intermediate result in the modulation process, which greatly enhances debugging and customization capabilities (such as integrating custom oversampling, window functions, and cyclic prefix addition algorithms), and solves the problem of opaque processes.

[0059] This application describes the orthogonal frequency division multiplexing (OFDM) signal modulation method using an OFDM signal modulation system as an example.

[0060] Figure 1 This is one of the flowcharts illustrating the orthogonal frequency division multiplexing (OFDM) signal modulation method provided in this application. For example... Figure 1 As shown, the orthogonal frequency division multiplexing signal modulation method provided in this application includes:

[0061] S110: Map the frequency domain data signal and pilot signal to be transmitted into the frequency domain resource grid matrix fullGridOs.

[0062] Among them, the frequency domain resource grid matrix fullGridOs is a matrix of size L. (fftLen) The matrix is ​​defined as follows: `fftLen` represents the number of subcarriers, i.e., the number of columns in the frequency domain resource grid matrix; `Os` represents the oversampling rate; and `L` represents the number of symbols in the time-domain orthogonal frequency division multiplexing (OFDM) matrix, i.e., the number of rows in the frequency domain resource grid matrix. Subcarrier positions for unmapped data are set to zero.

[0063] Each row vector of the frequency domain resource grid matrix `fullGridOs` represents the frequency domain data of the same time domain unit (e.g., a timeslot or an orthogonal frequency division multiplexing symbol), and each column vector represents the data of the same subcarrier in various time domain units. Therefore, each resource cell (the most basic element in the frequency domain resource grid matrix) of `fullGridOs` consists of one subcarrier and one time domain unit; that is, the intersection of a time domain unit and a frequency domain subcarrier is defined as a resource cell of `fullGridOs`. This maps the frequency domain data signal and pilot signal to be transmitted into a two-dimensional matrix.

[0064] S120: Perform a frequency domain shift operation on each row vector of the frequency domain resource grid matrix fullGridOs, moving the zero-frequency component to the center of the vector to obtain the shifted matrix postShift.

[0065] The zero-frequency component refers to the component of the signal at a frequency of 0Hz (DC component).

[0066] In one possible implementation, a custom shift function `fftShift` explicitly moves the zero-frequency component of each row vector from the matrix edge to the vector center to meet the input requirements of the Inverse Fast Fourier Transform (IFFT) algorithm. The `fftShift` function performs the frequency domain shift by swapping the first and second halves of the row vectors.

[0067] Traditional Inverse Fast Fourier Transform (IFFT) calls dedicated library functions (such as FFTW) that typically assume the input data order is "zero frequency on the left," while in actual communication systems, subcarrier mapping often requires "zero frequency in the center." Therefore, zero frequency correction needs to be performed first during the IFFT process.

[0068] This application embodiment separates the "zero-frequency correction" step from the inverse fast Fourier transform (IFFT) black box, making it an independent and controllable matrix operation step. This ensures that the arrangement rules of the frequency domain data are fully intuitive and easy to adjust, enhancing the clarity and flexibility of the process.

[0069] S130: Perform an inverse fast Fourier transform (IFFT) on each row vector of the shifted matrix postShift to obtain the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix postIFFT, which serves as the modulation result. This modulation result can be directly transmitted by a digital-to-analog converter (DAC).

[0070] This application's embodiment constructs the entire frequency domain resources as a two-dimensional matrix. All subsequent signal processing operations are completed through a series of explicit matrix and vector operation steps, using the row vectors of this two-dimensional matrix as the basic unit. This deconstructs the black-box IFFT call for the entire frame into visible and monitorable steps for each single symbol. Developers can clearly access and intervene in any intermediate variable in the process and can easily insert new processing steps into the process (e.g., adding pre-distortion processing before IFFT or adding pulse shaping filtering before windowing). This solves the problem of process opacity, greatly enhances debugging and customization capabilities, and facilitates algorithm development, verification, and troubleshooting.

[0071] In one possible implementation, such as Figure 2 As shown, after obtaining the time-domain orthogonal frequency division multiplexing symbol matrix (step S130), the following steps are also included:

[0072] S140: Add a cyclic prefix and window function to the postIFFT time-domain orthogonal frequency division multiplexing symbol matrix, and use the resulting new time-domain orthogonal frequency division multiplexing symbol matrix as the modulation result.

[0073] This application embodiment uses cyclic prefixes and window functions to perform smooth weighting, reducing inter-symbol interference and inter-carrier interference, allowing symbol boundaries to transition smoothly, thereby reducing spectral leakage and out-of-band radiation, achieving spectral shaping, and making the signal more compliant with standard requirements.

[0074] Based on the above, in one possible implementation, after mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain resource grid matrix (step S110), the method further includes:

[0075] The frequency domain resource grid matrix is ​​input into the Graphics Processing Unit (GPU), and modulation is performed synchronously on all row vectors of the frequency domain resource grid matrix (including steps S120, S130, and S140).

[0076] For scenarios that require processing a large number of orthogonal frequency division multiplexing symbols, the frequency domain resource grid matrix can be transferred to the GPU memory, and the parallel computing capabilities of the GPU can be utilized. Kernel functions written using CUDA or OpenCL can be used to perform modulation operations on all row vectors simultaneously in parallel, thereby greatly improving throughput.

[0077] The embodiments of this application improve the modulation efficiency of orthogonal frequency division multiplexing signals by leveraging the parallel computing capabilities of the image processing unit.

[0078] In one possible implementation, step S110, mapping the frequency domain data signal and pilot signal to be transmitted onto a frequency domain resource grid matrix, specifically includes:

[0079] S1101: Map the frequency domain data signal and pilot signal to be transmitted to the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix, respectively.

[0080] In one possible implementation, this step maps the frequency domain data signal and pilot signal (if enabled) to be transmitted from one-dimensional complex vectors to two-dimensional frequency domain data matrices gridIn and gridPilotIn, respectively, by calling the Map function of the Eigen library. This mapping operation is performed in row-major order, ensuring efficient compatibility between the data memory layout and subsequent matrix operations.

[0081] Specifically, Map is a lightweight matrix or vector view provided by Eigen that does not copy data but directly maps to existing memory (such as a one-dimensional complex vector std::vector stored in a dynamic array container). <std::complex<double>>signal or ordinary array), making it efficient for Eigen's matrix operations. Frequency domain data: In a two-dimensional matrix gridIn, each row vector represents frequency domain data within the same time unit (one time slot or one orthogonal frequency division multiplexing symbol), and each column vector represents frequency domain data for the same subcarrier in various time units. Pilot data: In a two-dimensional matrix gridPilotIn, each row vector represents pilot data within the same time unit (one time slot or one orthogonal frequency division multiplexing symbol), and each column vector represents pilot data for the same subcarrier in various time units.

[0082] S1102: Based on the frequency domain resource indexing system, fill the data of the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix into the corresponding elements of the baseband frequency domain resource grid matrix.

[0083] The frequency domain resource indexing system includes guard subcarrier indexes, DC subcarrier indexes, pilot subcarrier indexes, and data subcarrier indexes. All these indexes are ultimately converted into linear indices to facilitate the indexing of sequenceLen. The one-dimensional resource grid of fftLen is used for rapid location and assignment. Here, fftLen is the length of the Fast Fourier Transform, that is, the total number of subcarriers used by the system, corresponding to the column distribution of the two-dimensional matrix of frequency domain data; sequenceLen is the length of the time domain sequence associated with the orthogonal frequency division multiplexing symbol, corresponding to the row distribution of the two-dimensional matrix of frequency domain data.

[0084] Specifically, the system dynamically calculates the indices of the four types of subcarriers based on input data or configuration parameters from the graphical user interface (GUI). Please refer to [link / reference]. Figure 3 The guard subcarrier index is located at the beginning (front guard band) and end (back guard band) of the spectrum. The guard subcarrier value is set to zero. The guard subcarrier index is used for spectrum shaping and isolating adjacent channels. The DC subcarrier index is located at the center of the spectrum (i.e., the center position of the length of the Fast Fourier Transform (i.e., the total number of subcarriers used by the system) fftLen / 2). The DC subcarrier index can be configured to be null to avoid the influence of DC offset. The pilot subcarrier index is dynamically generated based on the user-input pilot index configuration (e.g., pilot position strings such as "1,5,9,13"), and is used for channel estimation. The data subcarrier index is dynamically calculated after excluding the above three types of indices from the total subcarrier index. The data subcarrier index portion is used to carry frequency domain data.

[0085] In step S1102, the frequency domain data filling function `setSymbols()` and the pilot data filling function `setPilotSymbols()` are called to calculate the target position index (`dataLinearIndices`) of the frequency domain data (i.e., the data to be transmitted) and the linear index position (`pilotLinearIndices`) of the pilot in the baseband frequency domain resource grid matrix `fullGrid`, respectively. Based on these index positions, the two-dimensional matrix of frequency domain data and the two-dimensional matrix of pilot data are precisely filled into the baseband frequency domain resource grid matrix `fullGrid`. The size of the baseband frequency domain resource grid matrix `fullGrid` is `sequenceLen`. fftLen.

[0086] S1103: Create a frequency domain resource grid matrix and initialize all elements of the frequency domain resource grid matrix to zero.

[0087] The ratio of the number of columns in the frequency domain resource grid matrix to the number of columns in the baseband frequency domain resource grid matrix is ​​the oversampling rate Os, and the size of the frequency domain resource grid matrix is ​​sequenceLen. (fftLen) Os).

[0088] S1104: Place the baseband frequency domain resource grid matrix in the frequency domain resource grid matrix and zero-padding the elements outside the frequency domain resource grid matrix.

[0089] The baseband frequency domain resource grid matrix `fullGrid` is placed in the center of the columns of the frequency domain resource grid matrix `fullGridOs`. Specifically, the starting column position of the baseband frequency domain resource grid matrix within the frequency domain resource grid matrix is ​​((Os-1)). fftLen) / 2.

[0090] For example, when fftLen=64 (i.e., the frequency domain resource grid matrix has 64 columns) and Os=2, the starting column position of the baseband frequency domain resource grid matrix in the frequency domain resource grid matrix is ​​the 32nd column.

[0091] This process simulates the effect of interpolation before the DAC, and is entirely performed in the frequency domain through matrix operations, avoiding the high computational complexity of time-domain interpolation filters. Therefore, oversampling is achieved by directly allocating more subcarriers in the frequency domain resource grid.

[0092] This application utilizes the Eigen library to map frequency domain data signals and pilot signals into two-dimensional frequency domain matrices, respectively. Then, using a frequency domain resource indexing system, the two frequency domain matrices are filled into a baseband frequency domain resource grid matrix. Finally, oversampling is performed through matrix operations to achieve signal deconstruction. Although pure matrix operations may not be as fast as a highly optimized single IFFT function call, the Eigen library itself uses efficient Single Instruction Multiple Data (SIMD) instruction optimization. This approach, sacrificing a small amount of performance for a significant improvement in development and maintenance efficiency, has significant advantages in prototype verification, research, and medium-speed applications.

[0093] In one possible implementation, before mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix (step S1101), the method further includes:

[0094] Adjust the power of the pilot signal to match the power of the frequency domain data signal to be transmitted.

[0095] This application introduces an automatic power adjustment mechanism. During power consistency modulation, the root mean square (RMS) values ​​of the frequency domain data signal to be transmitted and the original pilot signal are first calculated. Then, the power of the pilot signal is adjusted accordingly to ensure that the RMS value of the adjusted pilot signal is consistent with that of the frequency domain data signal to be transmitted. This process is achieved through the following formula:

[0096] Adjusted pilot signal = original pilot signal (RMS of the frequency domain data signal to be transmitted / RMS of the original pilot signal).

[0097] The embodiments of this application ensure that the power level of the data and the pilot signal is consistent across the entire frequency domain by adjusting the power of the pilot signal, thereby avoiding the degradation of demodulation performance that may be caused by uneven power and improving the robustness of the system.

[0098] In one possible implementation, before filling the corresponding elements of the baseband frequency domain resource grid matrix with the data from the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix based on the frequency domain resource indexing system (step S1102), the following is also included:

[0099] A subcarrier allocation scheme based on a frequency domain resource index system that dynamically adjusts the configuration parameters of an orthogonal frequency division multiplexing (OFDM) signal system.

[0100] It should be noted that the configuration parameters of various subcarrier indices in the frequency domain resource index system (as configuration parameters of the orthogonal frequency division multiplexing signal system) can be dynamically modulated according to actual needs. Therefore, the subcarrier allocation scheme of the frequency domain resource index system can be dynamically modulated accordingly.

[0101] This application embodiment changes the frequency domain resource index system in real time by modifying the configuration parameters of the orthogonal frequency division multiplexing signal system, without requiring code modification, which greatly improves the flexibility of system adjustment.

[0102] In one possible implementation, step S120 involves performing a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector to obtain the shifted matrix. Specifically, this includes:

[0103] S1201: Extract the latter half (high-frequency components) of the row vector and use it as the first half of the new vector;

[0104] S1202: Extract the first half (low-frequency component) of the row vector as the second half of the new vector;

[0105] S1203: Concatenate the first half and the second half to obtain a new vector;

[0106] S1204: Assign the new vector back to the row vector, which will then be used as the row vector of the moved matrix.

[0107] The embodiments of this application achieve frequency domain shifting by extracting and reassembling the first and second halves of the row vectors, thus ensuring the accuracy of the shift.

[0108] In another possible implementation, step S120 involves performing a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector to obtain the shifted matrix. Specifically, this includes:

[0109] Multiply each row vector of the frequency domain resource grid matrix by the linear phase rotation vector to obtain the shifted matrix.

[0110] The embodiments of this application improve the efficiency of frequency domain shifting of row vectors by using a linear phase rotation vector to assist in the shifting of row vectors.

[0111] In one possible implementation, step S130 involves performing an inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix, specifically including:

[0112] S1301: Call the Inverse Fourier Transform (IFFT) function to transform the frequency domain signal of each row vector into a time domain signal.

[0113] In one possible implementation, the frequency domain signal is transformed to the time domain by calling the operation function ifft.

[0114] In one possible implementation, the IFFT operation can be implemented by calling an external IFFT library (such as IFFTW). Specifically, in this step, the IFFT library is encapsulated into the operation function `ifft` and integrated into the matrix processing flow (e.g., a matrix processing flow based on C++ and the Eigen library), thereby implementing the inverse Fourier transform function IFFT by calling the operation function `ifft`.

[0115] Since the core of this application does not depend on a specific IFFT library, the aforementioned IFFTW can be replaced with other IFFT libraries, such as using the FFT module provided by Eigen, the IFFT function in the Intel MKL library, or implementing IFFT on an FPGA using a hardware IP core.

[0116] S1302: Multiply the time-domain signal corresponding to each row vector by the oversampling rate Os to perform gain compensation, and use the compensated row vector as the row vector of the time-domain orthogonal frequency division multiplexing symbol matrix.

[0117] For example, with fftLen=64 and Os=2, the compensated row vector has 128 subcarriers.

[0118] Therefore, the result after IFFT transformation is multiplied by the oversampling rate to compensate for the signal energy attenuation caused by zero padding, ensuring the correct amplitude of the time-domain waveform.

[0119] In step S1104, the frequency domain signal is oversampled. Therefore, in this embodiment, after converting the frequency domain signal to the time domain signal, the transformation result is explicitly multiplied by the oversampling rate to compensate for the energy loss caused by zero padding and ensure the correct amplitude of the time domain waveform. This separates the oversampling from the core IFFT transform. The degree of oversampling is determined by the matrix dimension (fftLen). Intuitively, gain compensation is achieved through a single scalar multiplication, which is simpler and more intuitive than interpolation filtering in the time domain and easier to integrate into a matrix operation framework, enabling flexible configuration of oversampling.

[0120] In one possible implementation, such as Figure 4 As shown, in step S140, a cyclic prefix and window function are added to the time-domain orthogonal frequency division multiplexing symbol matrix to obtain a new time-domain orthogonal frequency division multiplexing symbol matrix, specifically including:

[0121] S1401: Add a cyclic prefix to the time-domain orthogonal frequency division multiplexing symbol matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix postCP with a cyclic prefix.

[0122] In one possible implementation, matrix operations are performed by calling the cyclic prefix addition function addCP() to add the cyclicPrefixNum at the end of each time-domain orthogonal frequency division multiplexing symbol in the time-domain orthogonal frequency division multiplexing symbol matrix. Os samples are copied to the header of the time-domain orthogonal frequency division multiplexing symbol to add a cyclic prefix. Here, cyclicPrefixNum represents the length of the cyclic prefix.

[0123] In one possible implementation, without enabling window functions, the system can output a time-domain orthogonal frequency division multiplexing symbol matrix postCP with a cyclic prefix, which is then transmitted by a digital-to-analog converter (DAC).

[0124] S1402: If the system is configured to enable window functions, then a window coefficient vector is generated based on the preset window length.

[0125] In one possible implementation, the window coefficient vector windowCoefficient is generated based on the preset window length by calling the window coefficient generation function initWindowCoe().

[0126] Specifically, the values ​​of the window coefficient vector are determined based on the system's requirements for out-of-band spectral leakage and inter-symbol interference.

[0127] In one possible implementation, the window function is a raised cosine window, and the window coefficient vector... for:

[0128] (1);

[0129] in, This is the preset window length.

[0130] By using a raised cosine window function, the boundaries of the symbol are smoothed, thereby reducing out-of-band spectral leakage.

[0131] S1403: Perform a dot product between the window coefficient vector and the cyclic prefix of the time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix to obtain the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix.

[0132] S1404: Perform a dot product between the window coefficient vector and the last column vector of the time-domain orthogonal frequency division multiplexing symbol matrix, and add the resulting last column vector to the front column vector of the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix to obtain a new time-domain orthogonal frequency division multiplexing symbol matrix.

[0133] End column vectors of the time-domain orthogonal frequency division multiplexing symbol matrix This is the last column vector of the time-domain orthogonal frequency division multiplexing symbol matrix.

[0134] Connect the window coefficient vector with the end column vector Perform a dot product to obtain the final column vector. :

[0135] (2);

[0136] The front column vector of the prefix-windowed time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix is ​​the first column vector of the prefix-windowed time-domain OFDM symbol matrix.

[0137] This yields the windowed equivalent matrix, which can be directly transmitted by the digital-to-analog converter (DAC).

[0138] This application transforms the addition of cyclic prefixes and windowing from fixed hardware logic or complex memory operations into simple matrix and vector operations, making it an independent, configurable module that is easy to customize and optimize. It can be dynamically loaded and switched by changing parameters (such as the window function parameters in the window coefficient generation function), which perfectly solves the problem of insufficient flexibility in traditional solutions and is highly compatible with the operation style of libraries such as Eigen.

[0139] In one possible implementation, step S1401 involves adding a cyclic prefix to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain a time-domain OFDM symbol matrix with a cyclic prefix, specifically including:

[0140] P1: Starting from the preset column offset position of the time-domain orthogonal frequency division multiplexing symbol matrix, extract a continuous column vector of preset length as a cyclic prefix.

[0141] The oversampling rate Os is defined as the ratio between the preset column offset position (offset) and the difference between the number of columns in the frequency domain resource grid matrix (fftLen) and the length of the cyclic prefix (cyclicPrefixNum).

[0142] offset=(fftLen-cyclicPrefixNum) Os (3);

[0143] Then, starting from the column vector corresponding to the offset, a truncation is performed to the right, extracting a preset length cyclicPrefixNum. Os column vectors are used as the initial loop prefix.

[0144] P2: Append the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing symbol matrix to obtain the time-domain orthogonal frequency division multiplexing symbol matrix with the cyclic prefix.

[0145] In this embodiment, the operation of adding a cyclic prefix is ​​achieved through matrix copying and precise index truncation. The cyclic prefix can be flexibly loaded by changing the length of the cyclic prefix and the starting position of the truncation, which improves the customization of the cyclic prefix.

[0146] In one possible implementation, step S1401 involves adding a cyclic prefix to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain a time-domain OFDM symbol matrix with a cyclic prefix, specifically including:

[0147] Q1: The index range corresponding to the cyclic prefix in the time-domain orthogonal frequency division multiplexing symbol matrix determined based on the frequency domain resource indexing system.

[0148] Q2: Extract the prefix matrix corresponding to the cyclic prefix from the time-domain orthogonal frequency division multiplexing symbol matrix based on the index range, and use it as the cyclic prefix.

[0149] Q3: Append the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing symbol matrix to obtain the time-domain orthogonal frequency division multiplexing symbol matrix with the cyclic prefix.

[0150] The embodiments of this application guide the addition of cyclic prefixes by using index ranges, thereby improving the efficiency of addition.

[0151] In summary, this application decomposes the entire modulation process into a series of standard and transparent linear operations on each column of the frequency domain resource grid matrix, with each operation visible to the developer. Furthermore, through a series of matrix operations and index management, it implements a fully configurable, highly flexible, and high-performance orthogonal frequency division multiplexing (OFDM) signal generator. Its modular design facilitates debugging, optimization, and functional expansion, solving the problems of poor flexibility, opaque processes, and low integration with modern C++ frameworks in traditional modulation methods. This approach is beneficial for integration and performance optimization on platforms such as software-defined radio.

[0152] Based on the above, this application also provides an orthogonal frequency division multiplexing (OFDM) signal modulation system. The OFDM signal modulation system and the aforementioned OFDM signal modulation method can be referred to and correspond to each other.

[0153] As an example, such as Figure 5 As shown, the orthogonal frequency division multiplexing signal modulation system provided in this application includes:

[0154] The mapping module 510 is used to map the frequency domain data signal and pilot signal to be transmitted onto the frequency domain resource grid matrix. Each row vector of the frequency domain resource grid matrix is ​​a complete frequency domain representation of the same time-domain orthogonal frequency division multiplexing symbol, and each column vector is a time-domain representation of the same subcarrier of different time-domain orthogonal frequency division multiplexing symbols.

[0155] The shifting module 520 is used to perform frequency domain shifting operations on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector to obtain the shifted matrix.

[0156] Transformation module 530 is used to perform inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix as the modulation result.

[0157] This application's embodiment constructs the entire frequency domain resources as a two-dimensional matrix. All subsequent signal processing operations are completed through a series of explicit matrix and vector operation steps, using the row vectors of this two-dimensional matrix as the basic unit. This deconstructs the black-box IFFT call for the entire frame into visible and monitorable steps for each single symbol. Developers can clearly access and intervene in any intermediate variable in the process and can easily insert new processing steps into the process (e.g., adding pre-distortion processing before IFFT or adding pulse shaping filtering before windowing). This solves the problem of process opacity, greatly enhances debugging and customization capabilities, and facilitates algorithm development, verification, and troubleshooting.

[0158] In one possible implementation, the mapping module 510 includes:

[0159] The frequency domain and pilot signal mapping module is used to map the frequency domain data signal and pilot signal to be transmitted to the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix, respectively;

[0160] The first filling module is used to fill the data of the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix into the corresponding elements of the baseband frequency domain resource grid matrix based on the frequency domain resource index system; the frequency domain resource index system includes the guard subcarrier index, the DC subcarrier index, the pilot subcarrier index and the data subcarrier index;

[0161] The creation module is used to create a frequency domain resource grid matrix, initializing all elements of the frequency domain resource grid matrix to zero; the ratio of the number of columns in the frequency domain resource grid matrix to the number of columns in the baseband frequency domain resource grid matrix is ​​the oversampling rate.

[0162] The second filling module is used to place the baseband frequency domain resource grid matrix in the frequency domain resource grid matrix and zero-fill the elements outside the frequency domain resource grid matrix; the baseband frequency domain resource grid matrix is ​​placed in the central region of the columns of the frequency domain resource grid matrix.

[0163] This application utilizes the Eigen library to map frequency domain data signals and pilot signals into two-dimensional frequency domain matrices, respectively. Then, using a frequency domain resource indexing system, the two frequency domain matrices are filled into a baseband frequency domain resource grid matrix. Finally, oversampling is performed through matrix operations to achieve signal deconstruction. Although pure matrix operations may not be as fast as a highly optimized single IFFT function call, the Eigen library itself uses efficient Single Instruction Multiple Data (SIMD) instruction optimization. This approach, sacrificing a small amount of performance for a significant improvement in development and maintenance efficiency, has significant advantages in prototype verification, research, and medium-speed applications.

[0164] In one possible implementation, the transformation module 530 is used for:

[0165] Call the inverse Fourier transform function to transform the frequency domain signal of each row vector into a time domain signal;

[0166] Multiply the time-domain signal corresponding to each row vector by the oversampling rate to obtain the row vector of the time-domain orthogonal frequency division multiplexing symbol matrix.

[0167] In this embodiment, after converting the frequency domain signal to the time domain signal, the transformation result is explicitly multiplied by the oversampling rate to compensate for energy loss due to zero padding, ensuring the correct amplitude of the time domain waveform. This separates oversampling from the core IFFT transform. The degree of oversampling is determined by the matrix dimension (fftLen). Intuitively, gain compensation is achieved through a single scalar multiplication, which is simpler and more intuitive than interpolation filtering in the time domain and easier to integrate into a matrix operation framework, enabling flexible configuration of oversampling.

[0168] In one possible implementation, the mapping module 510 further includes:

[0169] The power consistency modulation module is used to adjust the power of the pilot signal to match the power of the frequency domain data signal to be transmitted.

[0170] The embodiments of this application ensure that the power level of the data and the pilot signal is consistent across the entire frequency domain by adjusting the power of the pilot signal, thereby avoiding the degradation of demodulation performance that may be caused by uneven power and improving the robustness of the system.

[0171] In one possible implementation, the mapping module 510 further includes:

[0172] The index adjustment module is used to dynamically adjust the subcarrier allocation scheme of the frequency domain resource index system based on the configuration parameters of the orthogonal frequency division multiplexing signal system.

[0173] This application embodiment changes the frequency domain resource index system in real time by modifying the configuration parameters of the orthogonal frequency division multiplexing signal system, without requiring code modification, which greatly improves the flexibility of system adjustment.

[0174] In one possible implementation, the transfer module 520 is specifically used for:

[0175] Extract the second half of the row vector and use it as the first half of the new vector;

[0176] Extract the first half of the row vector and use it as the second half of the new vector;

[0177] The first half and the second half are concatenated to obtain a new vector;

[0178] The new vector is assigned back to the row vector, which will then serve as the row vector of the moved matrix.

[0179] The embodiments of this application achieve frequency domain shifting by extracting and reassembling the first and second halves of the row vectors, thus ensuring the accuracy of the shift.

[0180] In one possible implementation, the transfer module 520 is specifically used for:

[0181] Multiply each row vector of the frequency domain resource grid matrix by the linear phase rotation vector to obtain the shifted matrix.

[0182] The embodiments of this application improve the efficiency of frequency domain shifting of row vectors by using a linear phase rotation vector to assist in the shifting of row vectors.

[0183] In one possible implementation, the orthogonal frequency division multiplexing signal modulation system further includes:

[0184] The smoothing module 540 is used to add a cyclic prefix and window function to the time-domain orthogonal frequency division multiplexing symbol matrix, and use the obtained new time-domain orthogonal frequency division multiplexing symbol matrix as the modulation result.

[0185] This application embodiment uses cyclic prefixes and window functions for smooth weighting, allowing symbol boundaries to transition smoothly, thereby reducing spectral leakage and out-of-band radiation, achieving spectral shaping, and making the signal more compliant with standard requirements.

[0186] In one possible implementation, the smoothing module 540 specifically includes:

[0187] The cyclic prefix addition module is used to add a cyclic prefix to the time-domain orthogonal frequency division multiplexing symbol matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix.

[0188] The window coefficient vector creation module is used to generate a window coefficient vector based on a preset window length.

[0189] The dot product module is used to perform a dot product between the window coefficient vector and the cyclic prefix of the time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix, so as to obtain the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix.

[0190] The overlay module is used to perform a dot product between the window coefficient vector and the last column vector of the time-domain orthogonal frequency division multiplexing symbol matrix, and then add the dot product's last column vector to the front column vector of the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix to obtain a new time-domain orthogonal frequency division multiplexing symbol matrix.

[0191] This application transforms the addition of cyclic prefixes and windowing from fixed hardware logic or complex memory operations into simple matrix and vector operations, making it an independent, configurable module that is easy to customize and optimize. It can be dynamically loaded and switched by changing parameters (such as the window function parameters in the window coefficient generation function), which perfectly solves the problem of insufficient flexibility in traditional solutions and is highly compatible with the operation style of libraries such as Eigen.

[0192] In one possible implementation, the loop prefix addition module is specifically used for:

[0193] Starting from a preset column offset position in the time-domain orthogonal frequency division multiplexing symbol matrix, extract a continuous column vector of a preset length as a cyclic prefix;

[0194] By appending the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix, a time-domain OFDM symbol matrix with a cyclic prefix is ​​obtained.

[0195] In this embodiment, the operation of adding a cyclic prefix is ​​achieved through matrix copying and precise index truncation. The cyclic prefix can be flexibly loaded by changing the length of the cyclic prefix and the starting position of the truncation, which improves the customization of the cyclic prefix.

[0196] In one possible implementation, the loop prefix addition module is specifically used for:

[0197] The index range corresponding to the cyclic prefix in the time-domain orthogonal frequency division multiplexing symbol matrix is ​​determined based on the frequency domain resource indexing system;

[0198] Based on the index range, extract the prefix matrix corresponding to the cyclic prefix from the time-domain orthogonal frequency division multiplexing symbol matrix, and use it as the cyclic prefix;

[0199] By appending the cyclic prefix to the front of the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix, a time-domain OFDM symbol matrix with a cyclic prefix is ​​obtained.

[0200] The embodiments of this application guide the addition of cyclic prefixes by using index ranges, thereby improving the efficiency of addition.

[0201] In one possible implementation, the orthogonal frequency division multiplexing signal modulation system further includes:

[0202] The image processing unit calls the module to input the frequency domain resource grid matrix into the image processing unit, synchronously modulate all row vectors of the frequency domain resource grid matrix, and obtain the modulation result output by the image processing unit.

[0203] The embodiments of this application improve the modulation efficiency of orthogonal frequency division multiplexing signals by leveraging the parallel computing capabilities of the image processing unit.

[0204] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.< / double>

Claims

1. A method for modulating orthogonal frequency division multiplexing signals, characterized in that, include: The frequency domain data signal and pilot signal to be transmitted are mapped into a frequency domain resource grid matrix. Each row vector of the frequency domain resource grid matrix is ​​a complete frequency domain representation of the same time-domain orthogonal frequency division multiplexing symbol, and each column vector is a time-domain representation of the same subcarrier of different time-domain orthogonal frequency division multiplexing symbols. Using each row vector of the frequency domain resource grid matrix as the basic unit, the orthogonal frequency division multiplexing signal modulation process is deconstructed into the following single-symbol, visible, and monitorable steps: Perform a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix to shift the zero-frequency component to the center of the vector, and obtain the shifted matrix. Perform an inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix, which serves as the modulation result; The step of performing an inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix specifically includes: Call the inverse Fourier transform function to transform the frequency domain signal of each row vector into a time domain signal; Multiply the time-domain signal corresponding to each row vector by the oversampling rate to obtain the row vector of the time-domain orthogonal frequency division multiplexing symbol matrix.

2. The orthogonal frequency division multiplexing signal modulation method according to claim 1, characterized in that, The process of mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain resource grid matrix specifically includes: The frequency domain data signal to be transmitted and the pilot signal are respectively mapped into a frequency domain data two-dimensional matrix and a pilot data two-dimensional matrix; Based on the frequency domain resource indexing system, the data of the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix are respectively filled into the corresponding elements of the baseband frequency domain resource grid matrix; the frequency domain resource indexing system includes guard subcarrier index, DC subcarrier index, pilot subcarrier index and data subcarrier index; Create a frequency domain resource grid matrix and initialize all elements of the frequency domain resource grid matrix to zero; the ratio of the number of columns of the frequency domain resource grid matrix to the number of columns of the baseband frequency domain resource grid matrix is ​​the oversampling rate; The baseband frequency domain resource grid matrix is ​​placed in the frequency domain resource grid matrix, and the elements outside the frequency domain resource grid matrix are zero-padded; the baseband frequency domain resource grid matrix is ​​placed in the central region of the columns of the frequency domain resource grid matrix.

3. The orthogonal frequency division multiplexing signal modulation method according to claim 2, characterized in that, Before mapping the frequency domain data signal to be transmitted and the pilot signal into the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix, the method further includes: The power of the pilot signal is adjusted to match the power of the frequency domain data signal to be transmitted.

4. The orthogonal frequency division multiplexing signal modulation method according to claim 2, characterized in that, Before filling the corresponding elements of the baseband frequency domain resource grid matrix with the data from the frequency domain data two-dimensional matrix and the pilot data two-dimensional matrix based on the frequency domain resource indexing system, the process also includes: The subcarrier allocation scheme of the frequency domain resource index system is dynamically adjusted based on the configuration parameters of the orthogonal frequency division multiplexing signal system.

5. The orthogonal frequency division multiplexing signal modulation method according to claim 1, characterized in that, The step of performing a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector, and obtaining the shifted matrix, specifically includes: Extract the latter half of the row vector and use it as the first half of the new vector; Extract the first half of the row vector and use it as the second half of the new vector; The first half and the second half are concatenated to obtain the new vector; The new vector is assigned back to the row vector, which serves as the row vector of the shifted matrix.

6. The orthogonal frequency division multiplexing signal modulation method according to claim 2, characterized in that, After obtaining the time-domain orthogonal frequency division multiplexing symbol matrix, the following is also included: A cyclic prefix and window function are added to the time-domain orthogonal frequency division multiplexing symbol matrix, and the resulting new time-domain orthogonal frequency division multiplexing symbol matrix is ​​used as the modulation result.

7. The orthogonal frequency division multiplexing signal modulation method according to claim 6, characterized in that, Adding a cyclic prefix and window function to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix to obtain the new time-domain OFDM symbol matrix specifically includes: A cyclic prefix is ​​added to the time-domain orthogonal frequency division multiplexing symbol matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix; Generate a window coefficient vector based on the preset window length; The window coefficient vector is multiplied by the cyclic prefix of the time-domain orthogonal frequency division multiplexing symbol matrix with a cyclic prefix to obtain the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix. The window coefficient vector is multiplied by the last column vector of the time-domain orthogonal frequency division multiplexing symbol matrix, and the resulting last column vector is added to the first column vector of the prefix-windowed time-domain orthogonal frequency division multiplexing symbol matrix to obtain the new time-domain orthogonal frequency division multiplexing symbol matrix.

8. The orthogonal frequency division multiplexing signal modulation method according to claim 7, characterized in that, Adding a cyclic prefix to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix yields a time-domain OFDM symbol matrix with a cyclic prefix, specifically including: Starting from a preset column offset position in the time-domain orthogonal frequency division multiplexing symbol matrix, a continuous column vector of a preset length is extracted as the cyclic prefix; The cyclic prefix is ​​appended to the front of the time-domain orthogonal frequency division multiplexing symbol matrix to obtain the time-domain orthogonal frequency division multiplexing symbol matrix with the cyclic prefix.

9. The orthogonal frequency division multiplexing signal modulation method according to claim 1, characterized in that, The step of performing a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector, and obtaining the shifted matrix, specifically includes: The shifted matrix is ​​obtained by multiplying each row vector of the frequency domain resource grid matrix with a linear phase rotation vector.

10. The orthogonal frequency division multiplexing signal modulation method according to claim 7, characterized in that, Adding a cyclic prefix to the time-domain orthogonal frequency division multiplexing (OFDM) symbol matrix yields a time-domain OFDM symbol matrix with a cyclic prefix, specifically including: Based on the frequency domain resource indexing system, determine the index range corresponding to the cyclic prefix in the time domain orthogonal frequency division multiplexing symbol matrix; Based on the index range, a prefix matrix corresponding to the cyclic prefix is ​​extracted from the time-domain orthogonal frequency division multiplexing symbol matrix and used as the cyclic prefix; The cyclic prefix is ​​appended to the front of the time-domain orthogonal frequency division multiplexing symbol matrix to obtain the time-domain orthogonal frequency division multiplexing symbol matrix with the cyclic prefix.

11. The orthogonal frequency division multiplexing signal modulation method according to claim 6, characterized in that, After mapping the frequency domain data signal and pilot signal to be transmitted into the frequency domain resource grid matrix, the method further includes: The frequency domain resource grid matrix is ​​input into the image processing unit, and modulation is performed synchronously on all row vectors of the frequency domain resource grid matrix to obtain the modulation result output by the image processing unit.

12. An orthogonal frequency division multiplexing signal modulation system, characterized in that, include: The mapping module is used to map the frequency domain data signal and pilot signal to be transmitted onto the frequency domain resource grid matrix. Each row vector of the frequency domain resource grid matrix is ​​a complete frequency domain representation of the same time-domain orthogonal frequency division multiplexing symbol, and each column vector is a time-domain representation of the same subcarrier of different time-domain orthogonal frequency division multiplexing symbols. The shifting module is used to perform a frequency domain shifting operation on each row vector of the frequency domain resource grid matrix, shifting the zero-frequency component to the center of the vector to obtain the shifted matrix. The transformation module is used to perform an inverse fast Fourier transform on each row vector of the shifted matrix to obtain a time-domain orthogonal frequency division multiplexing symbol matrix as the modulation result; The transformation module is used for: Call the inverse Fourier transform function to transform the frequency domain signal of each row vector into a time domain signal; Multiply the time-domain signal corresponding to each row vector by the oversampling rate to obtain the row vector of the time-domain orthogonal frequency division multiplexing symbol matrix; The orthogonal frequency division multiplexing (OFDM) signal modulation system is used to deconstruct the OFDM signal modulation process into the following single-symbol, visible, and monitorable steps, using each row vector of the frequency domain resource grid matrix as the basic unit.

Citation Information

Patent Citations

  • Signal timing and frequency offset compensation control method applied to orthogonal frequency division multiplexing system

    CN102984114A

  • Spectrally encapsulated orthogonal frequency division multiplexing method

    KR102203980B1