Method, device, processor and storage medium for realizing generation and traversal of channel model data based on channel model data storage format
By adopting a storage format that combines multi-level folders and binary files, a three-level tree-like data structure is created, which solves the problem of low coefficient encapsulation efficiency in the channel simulator and achieves more efficient channel model data generation and traversal processing.
Patent Information
- Application Number
- CN202211564789.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-07
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-12-07
AI Technical Summary
The existing channel simulator's channel model data storage format results in low coefficient encapsulation efficiency, high algorithm complexity, and low file access efficiency, which increases exponentially, especially as the scale of MIMO and the simulation duration increase.
A hierarchical storage format combining multi-level folders and binary files is adopted to create a three-level tree-like data structure of "scenario-link-sub-channel", which reduces file pointer movement and improves reading efficiency.
The algorithm complexity was reduced from O(n5) to O(n4), which accelerated the data reading efficiency, and significantly improved the running efficiency, especially in large-scale MIMO and long simulations.
Smart Images

Figure CN115794754B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of channel simulators, and more particularly to the field of channel model data storage. Specifically, it relates to a method, apparatus, processor, and storage medium for generating and traversing channel model data based on a channel model data storage format. Background Technology
[0002] A channel simulator is a simulation device that uses computer hardware and software, channel modeling, and radio frequency circuits to simulate complex real-world wireless communication environments. Channel simulators allow for the repeatable and controllable simulation of complex wireless channel characteristics in the laboratory, accelerating the development of wireless communication equipment.
[0003] The working principle of the channel simulator is illustrated by the following signal processing steps, for example (see attached). Figure 1 As shown, the base station and the terminal are connected to the input and output ports of the channel simulator, respectively. The downlink signal from the base station is input to the channel simulator through the simulator's RF port, and then converted into a digital signal by the ADC. The digital signal is superimposed on the channel model data containing channel characteristics in the FPGA's computing unit. The superimposed digital signal is converted by the DAC and transmitted to the RF port, and finally sent to the terminal through the RF port.
[0004] Channel model data processing procedure and storage format:
[0005] As can be seen from the basic working principle of a channel simulator, channel characteristics such as multipath effects, large-scale fading, delay, and interference are mainly expressed through channel model data. Therefore, channel model data modeling, storage, and processing technologies are crucial aspects of channel simulator development. Generally, the channel model data processing process includes: ① Inputting scenario parameters, including the number of base stations and terminals, the number of antennas, spatial locations, and the direction and speed of terminal movement. ② Generating channel model data according to the calculation formulas in the 3GPP standard and storing the data as a file using a specific format. ③ Parsing the channel model data file based on the channel simulator port connection relationships and encapsulating the channel data into coefficient data that can be received by the FPGA. After these steps, the coefficient data is sent to the FPGA processing unit to complete the channel simulation.
[0006] In the above process, channel model encapsulation is a complex process, and its efficiency depends on the storage format of the channel model data and the unique hardware structure of the channel simulator. Given a fixed hardware structure, choosing the appropriate storage format for the model data is crucial to ensuring efficient coefficient encapsulation and is a key technology in the development of channel simulators.
[0007] The channel model of the Patrrot X channel simulator from Chuangyuan Information Technology is stored in binary files. Its structure is attached. Figure 2As shown. The entire file consists of a file header and several link data blocks, with the number of link data blocks N = the number of base stations × the number of terminals. The file header includes information such as the file version number, the number of base stations, the number of terminals, the number of antennas for each base station, the number of antennas for each terminal, and the sampling rate. Different information occupies a specific byte length. Each link data block includes: base station index, terminal index, center frequency, coefficient update rate, number of multipath components, number of sampling points, sampling point velocity data, shadow data, large-scale fading data, and sub-channel model data. The sub-channel model data consists of three four-dimensional arrays representing the I and Q components of the signal, as well as the multipath delay value. The I and Q data are also called multiplication coefficients, and the delay is also called the time delay coefficient.
[0008] Problems with the existing solution and the reasons for these problems:
[0009] Coefficient encapsulation involves reorganizing the multiplication coefficients and delay data stored in each link and sub-channel according to the channel simulator hardware structure, which is designed with a three-layer architecture of "baseband board - FPGA computing unit - port". Therefore, coefficient encapsulation is essentially an array transposition process, which transposes the multiplication and delay coefficients in the form of "link-sub-channel-sampling point-path" into the form of "sampling point-base station-FPGA-port".
[0010] Therefore, it is evident that the binary channel model data format implementation based on the Patrrot X channel simulator from Chuangyuan Information Technology suffers from significant efficiency issues when encapsulating coefficients. From the perspective of computer algorithm complexity, the algorithm complexity for multiplication and delay coefficient traversal is O(n⁵). As the MIMO scale and simulation duration increase, the encapsulation time increases exponentially. Furthermore, when the file size is large, accessing different subchannel data with the same sampling point number involves numerous file pointer movement operations. The file pointer needs to move repeatedly between different link data blocks and subchannel offset addresses, resulting in extremely low file access efficiency. Summary of the Invention
[0011] The purpose of this invention is to overcome the shortcomings of the prior art and provide a method, apparatus, processor and storage medium for generating and traversing channel model data based on a channel model data storage format that meets the requirements of high reading efficiency, low time consumption and wide applicability.
[0012] To achieve the above objectives, the present invention provides a method, apparatus, processor, and storage medium for generating and traversing channel model data based on a channel model data storage format, as follows:
[0013] The method for generating and traversing channel model data based on the channel model data storage format is characterized by the following: the channel model data storage format includes:
[0014] The root directory is the storage location of the current entire channel scenario model data;
[0015] The second-level file directory includes a scene information description file and multiple link data subfolders;
[0016] The third-level file directory is the link data subfolder, which includes link information description files, path loss data files, shadow data files, terminal mobility speed files, and subchannel data folders;
[0017] The fourth-level file directory is the sub-channel data folder, which includes signal I component data files, signal Q component data files, and multipath delay data files;
[0018] The method includes the step of generating channel model data, specifically including the following processing steps:
[0019] (1-1) Create a first-level directory as the storage location for the channel model data;
[0020] (1-2) Perform a file writing operation to write the information on the number of base stations, the number of terminals, the number of antennas of each base station, the number of antennas of each terminal, and the sampling rate into the scene information description file in the first-level directory;
[0021] (1-3) Create a link data folder based on the number of base stations and terminals and the number of valid links;
[0022] (1-4) Write the link information description file, path loss data file, shadow data file and terminal movement speed file into each link data folder respectively;
[0023] (1-5) Create sub-channel data folders in a loop according to the number of sub-channels in the current link;
[0024] (1-6) Write the signal I component data file, the signal Q component data file, and the multipath delay data file into the current subchannel folder respectively;
[0025] (1-7) Execute steps (1-6) sequentially according to the order of the sub-channel folders until all sub-channel data write operations in the current link are completed;
[0026] (1-8) Repeat steps (1-3) to (1-7) until all link data write operations in the current channel scenario are completed;
[0027] The method also includes a step of traversing the sampling point model data in the channel model, specifically including the following processing steps:
[0028] (2-1) Locate and open the root directory of the channel model data;
[0029] (2-2) Open and read the scenario information description file and link information description file level by level according to the channel model data directory structure, establish a three-level tree data structure, and create data file handle objects at each level;
[0030] (2-3) Loop through each link and each sub-channel, and reset the file pointer of the data file in each sub-channel.
[0031] (2-4) Start reading data from the first sampling point, traverse each link and sub-channel, and read the data of one sampling point from the three data files of the sub-channel respectively;
[0032] (2-5) Repeat step (2-4) until all sub-channel, link and sampling point data have been read;
[0033] (2-6) Release the data structure established in step (2-2) and close the data file handles in each sub-channel.
[0034] Preferably, steps (1-4) specifically include the following steps:
[0035] (1-4.1) In the current link data folder, write the information of the link's base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flag, whether it contains shadow data flag, path loss data length, and path loss data coefficient update rate into the Link.info file.
[0036] (1-4.2) Write the path loss data file into the current link data folder;
[0037] (1-4.3) Write the shadow data file into the current link data folder;
[0038] (1-4.4) Write the terminal movement speed data file into the current link data folder.
[0039] Preferably, the number of sub-channels in steps (1-5) is determined by multiplying the number of base station antennas by the number of terminal antennas, which is the MIMO scale.
[0040] Preferably, steps (2-4) specifically include the following steps:
[0041] (2-4.1) Start reading data from the first sampling point and record the current sampling point index as 0;
[0042] (2-4.2) Traverse each link instance;
[0043] (2-4.3) Traverse each sub-channel instance;
[0044] (2-4.4) Read the data of one sampling point from the coefficient file and delay data file of the sub-channel respectively.
[0045] Preferably, step (2-4.4) further includes the following steps:
[0046] The length of the data to be read is N floating-point numbers, where N is the number of multipaths in the current link. After the data of each sampling point is read, the file pointer moves down N×8 bytes sequentially.
[0047] Preferably, steps (2-5) specifically include the following steps:
[0048] (2-5.1) Repeat step (2-4.3) until all sub-channels have been traversed;
[0049] (2-5.2) Repeat step (2-4.2) until all links have been traversed;
[0050] (2-5.3) Repeat step (2-4.1) until all sampling points have been traversed.
[0051] Preferably, the three-level tree data structure in step (2-2) is a three-level tree data structure of "scenario-link-sub-channel". The data structure includes the PrtChannelModel class, the PrtLink class and the PrtChannel class. The PrtChannelModel class represents the entire channel model scenario, the PrtLink class represents the link class and the PrtChannel class represents the sub-channel class.
[0052] The apparatus for generating and traversing channel model data based on a channel model data storage format is characterized in that the apparatus comprises:
[0053] A processor is configured to execute computer-executable instructions;
[0054] The memory stores one or more computer-executable instructions, which, when executed by the processor, implement the various steps of the method for generating and traversing channel model data based on the channel model data storage format described above.
[0055] The processor used to implement channel model data generation and traversal processing based on the channel model data storage format is characterized in that the processor is configured to execute computer-executable instructions, and when the computer-executable instructions are executed by the processor, the various steps of the above-mentioned method for implementing channel model data generation and traversal processing based on the channel model data storage format are implemented.
[0056] The main feature of this computer-readable storage medium is that it stores a computer program thereon, which can be executed by a processor to implement the various steps of the method for generating and traversing channel model data based on the channel model data storage format described above.
[0057] The present invention employs a method, apparatus, processor, and storage medium for generating and traversing channel model data based on a channel model data storage format. Based on the new channel model data format, and by creating a three-level tree-like data structure of "scene-link-subchannel" during the traversal process, the algorithm complexity is reduced from the original O(n^2)^2. 5 ) reduced to O(n 4 In addition, when loading channel model data, the data files for each link and each sub-channel are opened simultaneously. This method sacrifices file handle resources for reading efficiency, so that all files are read sequentially only once from beginning to end, without repeated file pointer movement, thus speeding up data reading efficiency. Attached Figure Description
[0058] Figure 1 This describes the basic principles of a channel simulator.
[0059] Figure 2 This describes the binary file format in the existing scheme.
[0060] Figure 3 This is a structural diagram of the channel model data storage format for the method of generating and traversing channel model data based on the channel model data storage format of the present invention.
[0061] Figure 4 This is a flowchart illustrating the channel model data generation steps of the method for generating and traversing channel model data based on the channel model data storage format of the present invention.
[0062] Figure 5 This is a flowchart illustrating the sampling point traversal steps in the channel model of the method for generating and traversing channel model data based on the channel model data storage format of the present invention.
[0063] Figure 6 This is a schematic diagram of the UML class for channel model data, which is based on the channel model data storage format of the present invention to realize the method of channel model data generation and traversal processing.
[0064] Figure 7 This diagram illustrates a comparison of the time consumed by traversing data based on the number of sampling points between the present invention and existing technologies.
[0065] Figure 8 This diagram illustrates a comparison of the time consumed by the present invention and existing technologies in traversing data at the MIMO scale. Detailed Implementation
[0066] To more clearly describe the technical content of the present invention, the following description is provided in conjunction with specific embodiments.
[0067] The present invention discloses a method for generating and traversing channel model data based on a channel model data storage format, wherein the channel model data storage format includes:
[0068] The root directory is the storage location of the current entire channel scenario model data;
[0069] The second-level file directory includes a scene information description file and multiple link data subfolders;
[0070] The third-level file directory is the link data subfolder, which includes link information description files, path loss data files, shadow data files, terminal mobility speed files, and subchannel data folders;
[0071] The fourth-level file directory is the sub-channel data folder, which includes signal I component data files, signal Q component data files, and multipath delay data files;
[0072] The method includes the step of generating channel model data, specifically including the following processing steps:
[0073] (1-1) Create a first-level directory as the storage location for the channel model data;
[0074] (1-2) Perform a file writing operation to write the information on the number of base stations, the number of terminals, the number of antennas of each base station, the number of antennas of each terminal, and the sampling rate into the scene information description file in the first-level directory;
[0075] (1-3) Create a link data folder based on the number of base stations and terminals and the number of valid links;
[0076] (1-4) Write the link information description file, path loss data file, shadow data file and terminal movement speed file into each link data folder respectively;
[0077] (1-5) Create sub-channel data folders in a loop according to the number of sub-channels in the current link;
[0078] (1-6) Write the signal I component data file, the signal Q component data file, and the multipath delay data file into the current subchannel folder respectively;
[0079] (1-7) Execute steps (1-6) sequentially according to the order of the sub-channel folders until all sub-channel data write operations in the current link are completed;
[0080] (1-8) Repeat steps (1-3) to (1-7) until all link data write operations in the current channel scenario are completed;
[0081] The method also includes a step of traversing the sampling point model data in the channel model, specifically including the following processing steps:
[0082] (2-1) Locate and open the root directory of the channel model data;
[0083] (2-2) Open and read the scenario information description file and link information description file level by level according to the channel model data directory structure, establish a three-level tree data structure, and create data file handle objects at each level;
[0084] (2-3) Loop through each link and each sub-channel, and reset the file pointer of the data file in each sub-channel.
[0085] (2-4) Start reading data from the first sampling point, traverse each link and sub-channel, and read the data of one sampling point from the three data files of the sub-channel respectively;
[0086] (2-5) Repeat step (2-4) until all sub-channel, link and sampling point data have been read;
[0087] (2-6) Release the data structure established in step (2-2) and close the data file handles in each sub-channel.
[0088] In a preferred embodiment of the present invention, steps (1-4) specifically include the following steps:
[0089] (1-4.1) In the current link data folder, write the information of the link's base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flag, whether it contains shadow data flag, path loss data length, and path loss data coefficient update rate into the Link.info file.
[0090] (1-4.2) Write the path loss data file into the current link data folder;
[0091] (1-4.3) Write the shadow data file into the current link data folder;
[0092] (1-4.4) Write the terminal movement speed data file into the current link data folder.
[0093] In a preferred embodiment of the present invention, the number of sub-channels in steps (1-5) is determined by multiplying the number of base station antennas by the number of terminal antennas, which is the MIMO scale.
[0094] In a preferred embodiment of the present invention, step (2-4) specifically includes the following steps:
[0095] (2-4.1) Start reading data from the first sampling point and record the current sampling point index as 0;
[0096] (2-4.2) Traverse each link instance;
[0097] (2-4.3) Traverse each sub-channel instance;
[0098] (2-4.4) Read the data of one sampling point from the coefficient file and delay data file of the sub-channel respectively.
[0099] In a preferred embodiment of the present invention, step (2-4.4) further includes the following step:
[0100] The length of the data to be read is N floating-point numbers, where N is the number of multipaths in the current link. After the data of each sampling point is read, the file pointer moves down N×8 bytes sequentially.
[0101] In a preferred embodiment of the present invention, step (2-5) specifically includes the following steps:
[0102] (2-5.1) Repeat step (2-4.3) until all sub-channels have been traversed;
[0103] (2-5.2) Repeat step (2-4.2) until all links have been traversed;
[0104] (2-5.3) Repeat step (2-4.1) until all sampling points have been traversed.
[0105] As a preferred embodiment of the present invention, the three-level tree data structure in step (2-2) is a three-level tree data structure of "scenario-link-sub-channel". The data structure includes the PrtChannelModel class, the PrtLink class and the PrtChannel class. The PrtChannelModel class represents the entire channel model scenario, the PrtLink class represents the link class and the PrtChannel class represents the sub-channel class.
[0106] The apparatus of the present invention for generating and traversing channel model data based on a channel model data storage format, wherein the apparatus comprises:
[0107] A processor is configured to execute computer-executable instructions;
[0108] The memory stores one or more computer-executable instructions, which, when executed by the processor, implement the various steps of the method for generating and traversing channel model data based on the channel model data storage format described above.
[0109] The present invention provides a processor for implementing channel model data generation and traversal processing based on a channel model data storage format. The processor is configured to execute computer-executable instructions, which, when executed by the processor, implement the various steps of the method for implementing channel model data generation and traversal processing based on the channel model data storage format.
[0110] The computer-readable storage medium of the present invention stores a computer program thereon, which can be executed by a processor to implement the various steps of the method for generating and traversing channel model data based on the channel model data storage format described above.
[0111] In a specific embodiment of the present invention, in response to the problem of low efficiency in coefficient encapsulation processing based on the existing channel model data format of the Chuangyuan Xinke Patrrot X channel simulator, a brand-new channel model storage format is redesigned while keeping the hardware architecture unchanged. This new storage format is applied to model data generation and coefficient encapsulation, reducing algorithm complexity and reducing repeated movement of file pointers, thereby fundamentally improving the operating efficiency of the channel simulator.
[0112] To solve the above-mentioned technical problems, the present invention adopts the following technical solution:
[0113] 1. Channel model data storage format
[0114] The new channel model data storage format adopts a hierarchical structure combining multi-level folders and binary files, and mainly includes the following parts:
[0115] (1) The first level is the root directory, which represents the root location of the storage of the current channel scenario model data.
[0116] (2) The second-level file directory consists of a scenario information description file and multiple link data subfolders. The basic information description file contains information such as version information, number of base stations, number of terminals, number of antennas for each base station, number of antennas for each terminal, and sampling rate.
[0117] (3) The third-level file directory is the link data subfolder, which includes the link information description file, path loss data file, shadow data file, terminal mobility speed file, and sub-channel data folder. The link information description file contains information such as the base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flags, whether it contains shadow data flags, path loss data length, and path loss data coefficient update rate.
[0118] (4) The fourth level directory represents a sub-channel data folder, which contains signal I component data files, signal Q component data files and multipath delay data files.
[0119] 2. Application methods of channel model data storage format:
[0120] The application of the channel model data format described above mainly includes two aspects: first, the generation process of channel model data, which is mainly used in the channel model algorithm module and is a method for saving the algorithm calculation results; second, traversing the channel model data according to the sampling points, which is mainly used in the coefficient encapsulation process.
[0121] (1) Channel model data generation process:
[0122] The channel model data generation process includes the following steps:
[0123] ① Create a first-level directory as the storage location for the channel model data.
[0124] ② Write information such as the number of base stations, the number of terminals, the number of antennas for each base station, the number of antennas for each terminal, and the sampling rate into the scene information description file in the first-level directory.
[0125] ③ Create a link data folder based on the number of base stations and terminals and the number of valid links.
[0126] ④ In each link data folder, write the following information into the link information description file: base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flags, whether it contains shadow data flags, path loss data length, and path loss data coefficient update rate.
[0127] ⑤ Write path loss data file, shadow data file, and terminal movement speed file into each link data folder respectively.
[0128] ⑥ Create sub-channel data folders in a loop based on the number of sub-channels in the current link.
[0129] ⑦ Write the signal I component data file, signal Q component data file, and multipath delay data file into each sub-channel folder respectively.
[0130] ⑧ Repeat steps ⑥ and ⑦ until all sub-channel data write operations in the current link are completed.
[0131] ⑨ Repeat steps ③ to ⑧ until all link data write operations in the current channel scenario are completed.
[0132] (2) Traversal of sampling point model data in the channel model:
[0133] The traversal process of sampling point model data in the channel model includes the following steps:
[0134] ① Locate and open the root directory of the channel model data.
[0135] ② Open and read the scene information description file and link information description file level by level according to the channel model data directory structure, establish a three-level tree data structure of "scene-link-sub-channel", and create data file handle objects at each level.
[0136] ③ Reset the file pointers of the data files in each sub-channel.
[0137] ④ Start reading data from the first sampling point, traverse each link and sub-channel, and obtain the data of one sampling point at a time from the three data files of the sub-channel. The length of the data read from each file is N floating-point numbers, where N is equal to the multipath number of the current link. When the data of a sampling point is read, the file pointer moves down N*8 bytes sequentially.
[0138] ⑤ Repeat step ④ until all sub-channels, links, and sampling point data have been read.
[0139] ⑥ Release the data structure established in step ② and close the data file handles in each sub-channel.
[0140] In the embodiments of the present invention, the technical solutions of the present invention will be further described in detail with reference to the accompanying drawings:
[0141] 1. Channel model data storage format:
[0142] like Figure 3 As shown, the channel model data storage format adopts a hierarchical structure combining multi-level folders and binary files, including four levels.
[0143] (1) The first level is the root directory, which represents the root storage location of the current channel scenario model data. It can be named with any valid folder name. For example, “B1U18X4CDLB3500M” represents the channel model data generated by a mobile communication scenario with a single base station, a single terminal, a MIMO scale of 8×4, a link center frequency of 3500M, and 3GPP CDL_B as the standard channel characteristics.
[0144] (2) The second-level file directory under the root directory includes a scenario information description file and a link data subfolder. The scenario information description file is named Head.info. Head.info contains information such as file version information, number of base stations, number of terminals, number of antennas for each base station, number of antennas for each terminal, and sampling rate. Its file structure is shown below:
[0145]
[0146] The link sub-data folder is named with "L" + base station index + "_" + terminal index, and can contain a maximum of M×N sub-folders, where M and N represent the number of base stations and terminals, respectively.
[0147] (3) The third-level file directory includes the link information description file, path loss data file, shadow data file, terminal movement speed file, and sub-channel data folder.
[0148] The link information description file is named Link.info. This file stores the base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flags, whether it contains shadow data flags, path loss data length, and path loss data coefficient update rate in binary format.
[0149] The Link.info file structure is shown below:
[0150]
[0151]
[0152] The path loss data file is named Pathloss.bin, and stores L consecutive floating-point numbers in binary format, where L represents the path loss data length. The shading data file is named Shanding.bin, and stores L consecutive floating-point numbers in binary format, where L represents the shading data length, which is consistent with the path loss data length. The terminal movement speed file is named mobileSpeed.bin, and stores N consecutive floating-point numbers in binary format, where N represents the number of sampling points. Each floating-point number in the file represents the current terminal's movement speed at a given sampling point, in km / h.
[0153] Sub-channel data folders are named using "C" + base station antenna index + "_" + terminal antenna index. They can contain a maximum of X×Y sub-channel folders, where X and Y represent the number of antennas for the base station and the terminal, respectively.
[0154] (4) The fourth-level directory represents a sub-channel data folder, and the naming rules for its three files are as follows: ① The signal I component data file is named mulCoeff_I.bin, ② The signal Q component data file is named mulCoeff_Q.bin; ③ The multipath delay data file is named delayCoeff.bin.
[0155] All three data files are stored in binary format, containing I×J consecutive floating-point numbers, where I represents the number of sampling points on the link where the current sub-channel is located, and J represents the number of multipaths on the link where the current sub-channel is located.
[0156] 2. Channel model data generation process:
[0157] like Figure 4 As shown, the generation of channel model data includes the following steps:
[0158] (1) Create a first-level directory as the storage location for the channel model data. When using a programming language to implement this step, the location of the directory is specified by the user, and a new directory is created by calling the system-provided API in the source program.
[0159] (2) Perform a file writing operation and write the information such as the number of base stations, the number of terminals, the number of antennas of each base station, the number of antennas of each terminal, and the sampling rate into the head.info file according to the structure requirements of the head.info file.
[0160] (3) Based on the number of base stations and terminals and the number of valid links, create link data folders. When creating link data folders, name them sequentially according to the naming rule of "L" + base station index + "_" + terminal index. Assuming that the number of base stations and terminals is 2, then four link folders "L0_0", "L0_1", "L1_0" and "L1_1" need to be created.
[0161] (4) In the current link data folder, write the following information into the Link.info file according to the format requirements: base station index number, terminal index number, center frequency point, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flag, whether it contains shadow data flag, path loss data length, and path loss data coefficient update rate.
[0162] (5) In the current link data folder, depending on whether the current link contains path loss data, choose whether to write the path loss data file, i.e., Pathloss.bin.
[0163] (6) In the current link data folder, depending on whether the current link contains shadow data, choose whether to write the shadow data file, i.e., shandowing.bin.
[0164] (7) Write the terminal mobile speed data file mobileSpeed.bin into the current link data folder.
[0165] (8) Create sub-channel data folders in a loop according to the number of sub-channels in the current link. The number of sub-channels is determined by the number of base station antennas multiplied by the number of terminal antennas, which is the MIMO scale. When the MIMO scale is 4×2, 8 sub-channel folders need to be created, and these folders are named as follows: "C0_0", "C0_1", "C1_0", "C1_1", "C2_0", "C2_1", "C3_0" and "C3_1" respectively.
[0166] (9) Write the signal I component data file, signal Q component data file and multipath delay data file into the current subchannel folder respectively.
[0167] (10) Execute step (9) sequentially according to the order of the sub-channel folders until all sub-channel data write operations in the current link are completed.
[0168] (11) Repeat steps (4) to (10) until all link data write operations in the current channel scenario are completed.
[0169] 3. Method for traversing sampling points in the channel model:
[0170] As attached Figure 5 As shown, the method for traversing sampling points in the channel model mainly includes the following steps:
[0171] (1) Locate and open the root directory of the channel model data. When using a programming language to perform this step, the root directory of the channel model data is input by the user. The source program needs to determine whether the directory exists and its validity. The validity determination can be based on checking whether the head.info file exists in the current directory.
[0172] (2) Open and read the scenario information description file and link information description file level by level according to the channel model data directory structure, establish a three-level tree data structure of "scenario-link-sub-channel", and create data file handle objects at each level.
[0173] When implementing this step using an object-oriented programming language, three classes can be designed to implement the data structure described above. The definitions and relationships of these three classes are as follows: Figure 6 As shown.
[0174] The `PrtChannelModel` class represents the entire channel model scenario and corresponds to the channel model data storage directory. There is one and only one instance of this class during a single channel simulation. Its main members correspond to the contents of the `Head.info` file in the channel model data storage directory. This class contains a linear list member `Links:List`. <prtlink>The member indicated that the current scenario includes multiple instances of the PrtLink class.
[0175] The `PrtLink` class represents a link class. Its main members correspond to the `Link.info` file in the link data subfolder, while the three binary file handle instances correspond to the `Pahthloss.bin`, `shandowing.bin`, and `mobileSpeed.bin` files, respectively. This class contains a linear list member `Channels:List`. <prtchannel>This member indicates that a current link class instance contains multiple sub-channel PrtChannel class instances.
[0176] The `PrtChannel` class represents a sub-channel class. Its members `txIndex` and `rxIndex` represent the antenna indices of the corresponding base station and terminal, respectively. Each sub-channel has a different index value. `iDataBinFile`, `qDataBinFile`, and `delayDataBinFile` correspond to file handles for the coefficient data, used to retrieve data from the corresponding coefficient files. The `Rest()` method resets the file pointers of the three file handles to the beginning of the file. The `Next()` method reads data from one sampling point sequentially from the three coefficient files, returning the result as a parameter. Each returned set of data is a floating-point array of length `clusterNum`, where `clusterNum` represents the multipath number of the link in which the current sub-channel resides.
[0177] (3) Loop through each link and each sub-channel, reset the file pointer of the data file in the sub-channel, and call the Rest() method of the PrtChannel class instance.
[0178] (4) Start reading data from the first sampling point and record the current sampling point index as 0.
[0179] (5) Traverse each link instance.
[0180] (6) Traverse each subchannel instance.
[0181] (7) Obtain the data of one sampling point at a time from the three data files of the sub-channel. The data length of each file is N floating-point numbers, where N is equal to the multipath number of the current link. When the data of one sampling point is read, the file pointer moves down N*8 bytes sequentially.
[0182] (8) Repeat steps (6) and (7) until all sub-channels have been traversed.
[0183] (9) Repeat steps (5) to (8) until all links have been traversed.
[0184] (10) Repeat steps (4) to (9) until all sampling points have been traversed.
[0185] (11) Release the data structure established in step (2) and close the data file handles in each sub-channel.
[0186] Under the same computer environment and configuration conditions, the test results of the traversal time of the two technical solutions of the present invention and the prior art are as follows:
[0187] Figure 7 This represents a comparison of the data traversal time for the two technical solutions as the number of sampling points increases, assuming the number of base stations and terminals, as well as the MIMO scale, remain constant.
[0188] Figure 8 This represents a comparison of the data traversal time for the two technical solutions as the MIMO scale increases, with the simulation duration and number of sampling points remaining constant.
[0189] As can be seen from the above actual test results, under the same hardware conditions, when the MIMO scale is 64×16, approximately 50,000 sampling points, the data traversal efficiency is improved by more than 50% by adopting the technical solution proposed in this paper.
[0190] For the specific implementation scheme of this embodiment, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.
[0191] It is understood that the same or similar parts in the above embodiments can be referred to each other, and the contents not described in detail in some embodiments can be referred to the same or similar contents in other embodiments.
[0192] It should be noted that in the description of this invention, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this invention, unless otherwise stated, "a plurality of" means at least two.
[0193] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.
[0194] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution device. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0195] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The corresponding program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiments.
[0196] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0197] The storage media mentioned above can be read-only memory, disk, or optical disk, etc.
[0198] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0199] The present invention employs a method, apparatus, processor, and storage medium for generating and traversing channel model data based on a channel model data storage format. Based on the new channel model data format, and by creating a three-level tree-like data structure of "scenario-link-subchannel" during the traversal process, the algorithm complexity is reduced from the original O(n^2) / 2. 5 ) reduced to O(n 4 In addition, when loading channel model data, the data files for each link and each sub-channel are opened simultaneously. This method sacrifices file handle resources for reading efficiency, so that all files are read sequentially only once from beginning to end, without repeated file pointer movement, thus speeding up data reading efficiency.
[0200] In this specification, the invention has been described with reference to specific embodiments thereof. However, it will be apparent that various modifications and variations can be made without departing from the spirit and scope of the invention. Therefore, the specification and drawings should be considered illustrative rather than restrictive.< / prtchannel> < / prtlink>
Claims
1. A method for generating and traversing channel model data based on a channel model data storage format, characterized in that, The channel model data storage format includes: The root directory is the storage location of the current entire channel scenario model data; The second-level file directory includes a scene information description file and multiple link data subfolders; The third-level file directory is the link data subfolder, which includes link information description files, path loss data files, shadow data files, terminal mobility speed files, and subchannel data folders; The fourth-level file directory is the sub-channel data folder, which includes signal I component data files, signal Q component data files, and multipath delay data files; The method includes the step of generating channel model data, specifically including the following processing steps: (1-1) Create a first-level directory as the storage location for the channel model data; (1-2) Perform a file writing operation to write the information on the number of base stations, the number of terminals, the number of antennas of each base station, the number of antennas of each terminal, and the sampling rate into the scene information description file in the first-level directory; (1-3) Create a link data folder based on the number of base stations and terminals and the number of valid links; (1-4) Write the link information description file, path loss data file, shadow data file and terminal movement speed file into each link data folder respectively; (1-5) Create sub-channel data folders in a loop according to the number of sub-channels in the current link; (1-6) Write the signal I component data file, the signal Q component data file, and the multipath delay data file into the current subchannel folder respectively; (1-7) Execute steps (1-6) sequentially according to the order of the sub-channel folders until all sub-channel data write operations in the current link are completed; (1-8) Repeat steps (1-3) to (1-7) until all link data write operations in the current channel scenario are completed; The method also includes a step of traversing the sampling point model data in the channel model, specifically including the following processing steps: (2-1) Locate and open the root directory of the channel model data; (2-2) Open and read the scenario information description file and link information description file level by level according to the channel model data directory structure, establish a three-level tree data structure, and create data file handle objects at each level; (2-3) Loop through each link and each sub-channel, and reset the file pointer of the data file in each sub-channel; (2-4) Start reading data from the first sampling point, traverse each link and sub-channel, and read the data of one sampling point from the three data files of the sub-channel respectively; (2-5) Repeat step (2-4) until all sub-channel, link and sampling point data have been read; (2-6) Release the data structure established in step (2-2) and close the data file handles in each sub-channel.
2. The method for generating and traversing channel model data based on the channel model data storage format according to claim 1, characterized in that, The steps (1-4) mentioned above specifically include the following steps: (1-4.1) In the current link data folder, write the information of the link's base station index number, terminal index number, center frequency, coefficient update rate, number of sampling points, number of multipaths, number of base station antennas, number of terminal antennas, whether it contains path loss data flag, whether it contains shadow data flag, path loss data length, and path loss data coefficient update rate into the Link.info file; (1-4.2) Write the path loss data file into the current link data folder; (1-4.3) Write the shadow data file into the current link data folder; (1-4.4) Write the terminal movement speed data file into the current link data folder.
3. The method for generating and traversing channel model data based on the channel model data storage format according to claim 1, characterized in that, In steps (1-5), the number of sub-channels is determined by multiplying the number of base station antennas by the number of terminal antennas, which is the MIMO scale.
4. The method for generating and traversing channel model data based on the channel model data storage format according to claim 1, characterized in that, Steps (2-4) specifically include the following steps: (2-4.1) Start reading data from the first sampling point and record the current sampling point index as 0; (2-4.2) Traverse each link instance; (2-4.3) Traverse each sub-channel instance; (2-4.4) Read the data of one sampling point from the coefficient file and delay data file of the sub-channel respectively.
5. The method for generating and traversing channel model data based on the channel model data storage format according to claim 4, characterized in that, Step (2-4.4) further includes the following steps: The length of the data read is N floating-point numbers, where N is the number of multipaths in the current link. After the data of each sampling point is read, the file pointer moves down N×8 bytes sequentially.
6. The method for generating and traversing channel model data based on the channel model data storage format according to claim 1, characterized in that, Steps (2-5) specifically include the following steps: (2-5.1) Repeat step (2-4.3) until all sub-channels have been traversed; (2-5.2) Repeat step (2-4.2) until all links have been traversed; (2-5.3) Repeat step (2-4.1) until all sampling points have been traversed.
7. The method for generating and traversing channel model data based on the channel model data storage format according to claim 1, characterized in that, The three-level tree data structure in step (2-2) is a three-level tree data structure of "scenario-link-sub-channel". The data structure includes the PrtChannelModel class, the PrtLink class and the PrtChannel class. The PrtChannelModel class represents the entire channel model scenario, the PrtLink class represents the link class and the PrtChannel class represents the sub-channel class.
8. An apparatus for generating and traversing channel model data based on a channel model data storage format, characterized in that, The device includes: A processor is configured to execute computer-executable instructions; The memory stores one or more computer-executable instructions, which, when executed by the processor, implement the steps of the method for generating and traversing channel model data based on the channel model data storage format as described in any one of claims 1 to 7.
9. A processor for implementing channel model data generation and traversal processing based on a channel model data storage format, characterized in that, The processor is configured to execute computer-executable instructions, which, when executed by the processor, implement the steps of the method for generating and traversing channel model data based on the channel model data storage format as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, It stores a computer program that can be executed by a processor to implement the various steps of the method for generating and traversing channel model data based on the channel model data storage format as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Channel simulation device and method
CN102457336A
Device and method of wireless network channel simulation based on external field measured data
CN103138855A