Wireless communication system, control device, and program
The wireless communication system addresses the challenge of allocating terminal devices to communication blocks in 5G mobile communication by using a control device and an allocation determination device to manage subcarrier intervals and execute efficient resource allocation, thereby ensuring high performance and reliability.
Patent Information
- Application Number
- JP2022027514
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-25
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-02-25
AI Technical Summary
Existing wireless communication systems in 5G mobile communication face challenges in reliably and efficiently allocating terminal devices to communication blocks specified by positions in the frequency and time directions.
A wireless communication system that includes a communication device, a control device, and an allocation determination device, which can change the subcarrier interval and perform resource allocation processing by determining an allocation time and executing the allocation process based on generated allocation information.
The system ensures reliable and efficient allocation of terminal devices to communication blocks, meeting requirements such as high speed, large capacity, high reliability, and low latency in 5G mobile communication systems.
Smart Images

Figure 0007693582000017 
Figure 0007693582000018 
Figure 0007693582000019
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a wireless communication system, a control device, and a program.
Background Art
[0002] In 3GPP (Third Generation Partnership Project), studies on the fifth-generation mobile communication system (5G mobile communication system) are underway. The fifth-generation mobile communication system is premised on everything being connected, and aims to meet a wide range of requirements such as high speed, large capacity, high reliability, and low latency.
[0003] In the 5G mobile communication system, at the base station, resource allocation processing is performed to determine which communication device to transmit and receive data to and from for any frequency and time in the wireless signal. The base station of the 5G mobile communication system must appropriately execute resource allocation processing in a very short time and meet requirements such as high speed, large capacity, high reliability, and low latency.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Non-Patent Documents
[0005]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] The problem to be solved by the present invention is to provide a wireless communication system, a control device, and a program that appropriately and reliably execute an allocation process for allocating each of a plurality of terminal devices to transmit and receive data in any one of a plurality of communication blocks specified by positions in the frequency direction and positions in the time direction.
Means for Solving the Problems
[0007] The wireless communication system according to the embodiment can change the subcarrier interval. The wireless communication system includes a communication device, a control device, and an allocation determination device. The communication device performs wireless communication with each of the plurality of terminal devices. The control device controls wireless communication in the plurality of terminal devices and the communication device. The allocation determination device generates allocation information indicating by which communication block among a plurality of communication blocks specified by positions in the frequency direction and positions in the time direction the at least one of the plurality of terminal devices performs wireless communication. The control device determines an allocation time for executing an allocation process of allocating any one of the plurality of communication blocks to at least one of the plurality of terminal devices. The control device outputs an allocation request including information indicating at least one of the plurality of terminal devices, reference information regarding communication of at least one of the plurality of terminal devices, and information regarding the allocation time to the allocation determination device. The allocation determination device outputs the allocation information regarding at least one of the plurality of terminal devices to the control device by the previous reply time based on the reference information. The control device executes the allocation process before the allocation time based on the allocation information. Rather than before the previous reply time to the control device. The control device executes the allocation process before the allocation time based on the allocation information.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Mode for Carrying Out the Invention
[0009] Hereinafter, the communication system 10 according to a plurality of embodiments will be described with reference to the drawings.
[0010] FIG. 1 is a diagram showing the configuration of the communication system 10 according to the embodiment. The communication system 10 is a wireless communication system that adopts the fifth-generation mobile communication method (5G method) standardized by 3GPP.
[0011] The communication system 10 includes a plurality of terminal devices 20, a core network 22, a base station 24, and an allocation determination device 26.
[0012] In the 5G method, wireless communication is performed between each of the plurality of terminal devices 20 and the base station 24 using a modulation signal modulated by orthogonal frequency division multiplexing (OFDM) modulation as a wireless signal. The modulation signal used in the 5G method adopts the Mixed-numerology method and is a signal whose subcarrier interval can be changed. The 5G method defines a unit called a slot that includes a predetermined number (for example, 14) of OFDM symbols. Therefore, the modulation signal of the 5G method that adopts the Mixed-numerology method has a different slot time length for each subcarrier interval. The 5G method defines a unit called a resource block that includes a predetermined number (for example, 12) of subcarriers and one slot, and it is possible to change the subcarrier interval in units of resource blocks.
[0013] In addition, the 5G system defines a unit called a resource element, which is composed of one subcarrier and one OFDM symbol. Each of the multiple resource elements is identified by a subcarrier position indicating the position in the frequency domain and a symbol position indicating the position in the time domain in the modulated signal. One resource block contains a plurality of resource elements (for example, 12 subcarriers × 14 OFDM symbols = 168 resource elements). The 5G system also defines a unit called a resource block group, which bundles a plurality of resource blocks.
[0014] In addition, the 5G system uses a method called Massive MIMO (multiple-input and multiple-multiple-output), which uses multiple antennas for both transmission and reception, to transmit and receive modulated signals between each of the multiple terminal devices 20 and the base station 24 via radio waves.
[0015] Each of the multiple terminal devices 20 is, for example, an information processing device having a wireless communication function and is owned by a user. Each of the multiple terminal devices 20 is assigned a unique number and transmits and receives a modulated signal defined by the 5G system to and from the base station 24 via wireless communication. Each of the multiple terminal devices 20 can be carried by a user. Any one of the multiple terminal devices 20 may be fixed at a predetermined location.
[0016] The core network 22 is the backbone communication network in the 5G system. The core network 22 relays packet communication between two base stations 24 and also relays packets between the base station 24 and other networks.
[0017] The base station 24 transmits and receives a modulated signal according to the 5G system to and from each of the multiple terminal devices 20 via wireless communication. The base station 24 also relays packet communication between each of the multiple terminal devices 20 and the core network 22.
[0018] The base station 24 includes a communication device 32 and a control device 34.
[0019] The communication device 32 wirelessly transmits and receives a 5G modulated signal to and from each of a plurality of terminal devices 20 according to the control by the control device 34.
[0020] The control device 34 controls the transmission and reception of the modulated signal in the plurality of terminal devices 20 and the communication device 32. For example, the control device 34 executes an allocation process of allocating to each of one or a plurality of target devices to be allocated among the plurality of terminal devices 20 which communication block among the plurality of communication blocks included in the modulated signal is to be used for transmitting and receiving data. Here, each of the plurality of communication blocks is specified by the position in the frequency direction and the position in the time direction in the modulated signal. Each of the plurality of communication blocks is a resource block group, a resource block, or a resource element. That is, the control device 34 may allocate each of the plurality of terminal devices 20 to a resource block group, may allocate to a resource block, or may allocate to any resource element within the resource block.
[0021] In the allocation process, the control device 34 may further allocate a subcarrier spacing for each of the plurality of resource blocks included in the modulated signal. Also, in the allocation process, the control device 34 may further allocate an orthogonal modulation method, a transmission power, and a coding rate in the data included in each of the plurality of communication blocks. Also, in the allocation process, the control device 34 may further allocate a propagation channel matrix used in the Massive MIMO method for each of one or a plurality of target devices to be allocated.
[0022] When performing the allocation process, the control device 34 outputs an allocation request to the allocation determination device 26. The control device 34 acquires allocation information generated in response to the allocation request from the allocation determination device 26, and executes the allocation process based on the acquired allocation information. Then, the control device 34 causes the plurality of terminal devices 20 and the communication device 32 to transmit and receive a modulated signal according to the allocation process.
[0023] The allocation determination device 26 is, for example, an information processing device. The allocation determination device 26 may be included in the base station 24, or may be a device separate from the base station 24 and connected to the base station 24 via a network.
[0024] The allocation determination device 26 generates allocation information indicating which communication block among a plurality of communication blocks each of the plurality of terminal devices 20 uses to transmit and receive data in response to an allocation request from the control device 34. Further, the allocation determination device 26 may generate allocation information further indicating the subcarrier spacing for each of the plurality of resource blocks. Further, the allocation determination device 26 may generate allocation information further indicating the quadrature modulation method, transmission power, and coding rate in the data included in each of the plurality of communication blocks. Further, the allocation determination device 26 may generate allocation information further indicating the propagation channel matrix used in the Massive MIMO method for each of one or a plurality of target devices to be allocated. The allocation determination device 26 returns the generated allocation request to the control device 34 that transmitted the allocation request.
[0025] FIG. 2 is a diagram showing the frame configuration of a modulation signal in the 5G system.
[0026] The 5G system defines a frame with a predetermined time length. One frame is 10 milliseconds. One frame includes 10 subframes each with a predetermined time length. One subframe is 1 millisecond.
[0027] The 5G system defines five types of subcarrier spacings: 15 kHz (μ = 0), 30 kHz (μ = 1), 60 kHz (μ = 2), 120 kHz (μ = 3), and 240 kHz (μ = 4). Here, μ is a value for identifying the subcarrier spacing.
[0028] The 5G mode defines a unit called a slot, which is composed of 14 OFDM symbols. The duration of an OFDM symbol varies depending on the subcarrier spacing. Therefore, the duration of a slot varies depending on the subcarrier spacing.
[0029] One subframe contains one or more slots. When the subcarrier spacing is set to 15 kHz, one subframe contains one slot. When the subcarrier spacing is set to 30 kHz, one subframe contains two slots. When the subcarrier spacing is set to 60 kHz, one subframe contains four slots. When the subcarrier spacing is set to 120 kHz, one subframe contains eight slots. When the subcarrier spacing is set to 240 kHz, one subframe contains 16 slots.
[0030] The smaller the subcarrier spacing, the longer the slot duration, which is stronger against multipath but has a large delay. For example, when the subcarrier spacing is 15 kHz, the slot duration is 1 ms, which is strong against multipath but has a large delay. Also, the larger the subcarrier spacing, the shorter the slot duration, the smaller the delay, but it is more susceptible to the influence of ISI (inter symbol interference). For example, when the subcarrier spacing is 120 kHz, the slot duration is 0.125 ms, the delay is small, but it is more susceptible to the influence of ISI.
[0031] Therefore, the control device 34 preferably allocates a terminal device 20 that is, for example, moving at a low speed and transmitting and receiving data with a large allowable delay time to a resource block with a small subcarrier spacing or a resource element included in a resource block with a small subcarrier spacing. Also, the control device 34 preferably allocates a terminal device 20 that is, for example, moving at a high speed and transmitting and receiving data with a small allowable delay time to a resource block with a large subcarrier spacing or a resource element included in a resource block with a large subcarrier spacing.
[0032] FIG. 3 is a diagram showing a first arrangement example of resource blocks. The resource block is composed of one slot (14 OFDM symbols) in the time direction and a predetermined number of subcarriers in the frequency direction. Also, in the 5G modulation signal, a plurality of resource blocks are grouped into one resource block group. For example, when using a 100 MHz bandwidth, one subframe includes 17 resource block groups for the 5G modulation signal.
[0033] For example, assume that one subframe includes 16 resource blocks. In this case, the 16 resource blocks are composed of one slot (14 OFDM symbols) and 192 subcarriers (12×16). For example, as shown in FIG. 3, the control device 34 may allocate all areas of the band to the largest subcarrier spacing of 15 kHz (μ = 0). When allocating the subcarrier spacing in this way, the control device 34 can transmit and receive data that is less sensitive to multipath but has a large allowable delay time to all of the plurality of terminal devices 20.
[0034] FIG. 4 is a diagram showing a second arrangement example of resource blocks. Also, for example, as shown in FIG. 4, the control device 34 may allocate all areas of the band to the smallest subcarrier spacing of 240 kHz (μ = 4). When allocating the subcarrier spacing in this way, the control device 34 can transmit and receive data with a small allowable delay time to all of the plurality of terminal devices 20.
[0035] FIG. 5 is a diagram showing a third arrangement example of resource blocks. Also, for example, as shown in FIG. 5, the control device 34 divides the bandwidth into two regions, assigns one region to the largest 15 kHz (μ = 0) subcarrier spacing, and assigns the other region to the 60 kHz (μ = 2) subcarrier spacing. When the subcarrier spacing is assigned in this way, the control device 34 can mix in the subframe the terminal device 20 that transmits and receives data with a large allowable delay time but requires high quality and the terminal device 20 that transmits and receives data that cannot require high quality but has a small allowable delay time, and transmit and receive data.
[0036] The control device 34 can divide the bandwidth into a plurality of regions in this way and assign different subcarrier spacings to each of the plurality of regions. Thereby, the control device 34 can assign the terminal device 20 to a resource block with an appropriate subcarrier spacing, and as a result, can satisfy the requests of the plurality of terminal devices 20.
[0037] FIG. 6 is a diagram showing a configuration of a resource block and an assignment example of a mini-slot.
[0038] One resource block includes, for example, 14 OFDM symbols in the time direction and 12 subcarriers in the frequency direction. Therefore, one resource block includes 168 (12 × 14) resource elements. Each of the 168 resource elements can be specified by a subcarrier position indicating the position in the frequency direction in the modulation signal and a symbol position indicating the position in the time direction.
[0039] The 5G system defines a unit called a mini-slot, which is composed of η consecutive OFDM symbols and one subcarrier. η is 2, 4, 7, or 14. The control device 34 can also assign the terminal device 20 that transmits and receives data to any resource element in the resource block in units of such mini-slots.
[0040] For example, the control device 34 can assign the terminal device 20 to such a mini-slot and set a resource block including such a mini-slot to the smallest sub-carrier spacing of 240 kHz (μ = 4), so that the assigned terminal device 20 can transmit and receive data that requires ultra-low latency.
[0041] FIG. 7 is a diagram showing the timing of the allocation process. Prior to executing the allocation process, the control device 34 selects one or a plurality of target devices to be allocated at the first time among the plurality of terminal devices 20. The second time is a time after the first time, and is an allocation time at which an allocation process of allocating the one or a plurality of target devices at the selected first time to resource blocks or resource elements after the second time is executed.
[0042] Between the first time and the second time, the control device 34 determines to which of the plurality of resource blocks or the plurality of resource elements after the second time the one or a plurality of target devices at the first time are to be allocated. In this case, the control device 34 outputs an allocation request to the allocation determination device 26 and acquires allocation information from the allocation determination device 26 by the second time. Then, based on the allocation information acquired from the allocation determination device 26, the control device 34 executes an allocation process at the second time and causes the plurality of terminal devices 20 and the communication device 32 to transmit and receive a modulation signal according to the allocation process. Alternatively, the control device 34 may execute the allocation process before the second time and cause the plurality of terminal devices 20 and the communication device 32 to transmit and receive a modulation signal according to the allocation process.
[0043] FIG. 8 is a diagram showing a first setting example of the first time and the second time.
[0044] For example, the first time and the second time are times predetermined by scheduling. When the control device 34 executes the allocation process for each of a predetermined number of subframes, the first time is a time before the predetermined number of subframes to be the target of the allocation process. The first time may be the start time of the subframe, or may be a time shifted by a predetermined time before or after the start time of the subframe. When the control device 34 executes the allocation process for each of a predetermined number of subframes, the second time may be the start time of the predetermined number of subframes to be allocated, or may be a time before the start time of the predetermined number of target subframes.
[0045] For example, the first time and the second time may be times asynchronous with the subframe. For example, the first time and the second time may be times set due to the occurrence of a predetermined event. For example, the control device 34 may determine the time when the downlink data accumulates by a predetermined amount or more in the communication device 32, or the time when the reservation request for the transmission / reception allocation accumulates by a predetermined amount or more as the first time. Also, when the time when a predetermined event occurs is set as the first time, for example, the control device 34 may set the time after a predetermined time from the first time as the second time. Also, when the time when a predetermined event occurs is set as the first time, for example, the control device 34 may set the start time of the subframe immediately after the first time, or the time before a predetermined time of the start time of the subframe immediately after the first time as the second time.
[0046] FIG. 9 is a diagram showing a second setting example of the first time and the second time.
[0047] The control device 34 can allocate the terminal device 20 that transmits and receives data in units of mini-slots. Therefore, the control device 34 may set the difference between the first time and the second time to the minimum time length of the OFDM symbol. The minimum time length of the OFDM symbol is the time length of the OFDM symbol when the subcarrier interval is the smallest 240 kHz (μ = 4).
[0048] Further, the control device 34 may change the difference between the first time and the second time. For example, the control device 34 may determine the second time according to the allowable delay time of data transmitted and received by one or a plurality of target devices. For example, the shorter the allowable delay time is, the shorter the control device 34 may make the difference between the first time and the second time. Thereby, the control device 34 can cause the data with a shorter allowable delay time to be transmitted and received at an earlier time.
[0049] FIG. 10 is a flowchart showing the processing flow of the control device 34. The control device 34 executes processing according to the flow shown in FIG. 10.
[0050] First, in S11, the control device 34 determines whether it is the first time. The first time is, for example, a pre-scheduled time or a time when a predetermined event occurs.
[0051] Subsequently, in S12, the control device 34 selects one or a plurality of target devices to be allocated at the first time among the plurality of terminal devices 20. The one or a plurality of target devices to be allocated at the first time may be all of the plurality of terminal devices 20 wirelessly connected to the base station 24, or may be a part of the plurality of terminal devices 20. For example, when the maximum number of terminal devices 20 that can be allocated is predetermined in one allocation process, the control device 34 may select a number of terminal devices 20 within the range not exceeding the maximum number as target devices.
[0052] Also, for example, when downlink data is stored in the communication device 32 at the first time, the control device 34 may preferentially select, as target devices, the terminal devices 20 that receive the downlink data stored in the communication device 32. Further, when a reservation request for transmission and reception allocation is stored in the communication device 32 at the first time, the control device 34 may preferentially select, as target devices, the terminal devices 20 that are the targets of the reservation request stored in the communication device 32.
[0053] Also, when downlink data with an allowable delay time equal to or less than a predetermined time is stored in the communication device 32 at the first time, the control device 34 may preferentially select the terminal device 20 that receives the downlink data with an allowable delay time equal to or less than the predetermined time as the target device. Further, when a reservation request for assignment of transmission and reception of data with an allowable delay time equal to or less than a predetermined time is stored in the communication device 32 at the first time, the control device 34 may preferentially select the terminal device 20 that transmits and receives the data with an allowable delay time equal to or less than the predetermined time that is the reservation target as the target device.
[0054] Subsequently, in S13, the control device 34 determines a second time at which the assignment process is executed.
[0055] Subsequently, in S14, the control device 34 determines an assignment range in the modulation signal. The assignment range is a range composed of a plurality of subcarriers and a plurality of OFDM symbols after the second time. For example, the assignment range is a range composed of a predetermined number of subcarriers and a predetermined number of OFDM symbols after the second time. For example, when the assignment process is executed for each predetermined number of subframes, the assignment range is a range composed of all subcarriers included in the modulation signal and a plurality of OFDM symbols included in a predetermined number of subframes after the second time.
[0056] Note that the allocation range may be changed for each allocation process. For example, the control device 34 may change the allocation range according to the number of one or more target devices. Also, for example, when the control device 34 includes the terminal device 20 that transmits and receives data with a tolerance delay time equal to or less than a predetermined time to / from one or more target devices, the allocation range may be set as a range including the first number of OFDM symbols immediately after the second time. And when the control device 34 does not include the terminal device 20 that transmits and receives data with a tolerance delay time equal to or less than a predetermined time to / from one or more target devices, the allocation range may be set as a range including the second number of OFDM symbols greater than the first number. Thereby, the control device 34 can cause the data with a tolerance delay time equal to or less than a predetermined time to be transmitted and received at an earlier time.
[0057] Subsequently, in S15, the control device 34 acquires the allocated communication blocks in which the devices that transmit and receive data included in the allocation range have already been allocated. More specifically, the control device 34 acquires the allocated resource blocks that are resource blocks in which the terminal device 20 that transmits and receives data included in the allocation range has already been allocated, and the allocated resource elements that are resource elements in which the terminal device 20 that transmits and receives data has already been allocated.
[0058] Subsequently, in S16, the control device 34 determines a part of the communication blocks excluding the allocated communication blocks included in the allocation range as a plurality of allocatable communication blocks. More specifically, the control device 34 determines a plurality of resource blocks excluding the allocated resource blocks included in the allocation range as a plurality of allocatable resource blocks. Also, the control device 34 determines a plurality of resource elements excluding the allocated resource elements included in the allocation range as a plurality of allocatable resource elements.
[0059] Subsequently, in S17, the control device 34 acquires the reference information regarding the communication of each of the one or more target devices.
[0060] The reference information includes, for example, the allowable delay time of the data transmitted and received in each of one or more target devices. Further, the reference information may include the communication quality of the data transmitted and received in the past in each of one or more target devices. The information regarding the data quality is, for the target device, CQI (Channel Quality Indicator), MCS (Modulation and Coding Scheme), transmission power, error rate, etc. The CQI is an index value indicating the reception quality of the target device. The MCS is information including the orthogonal modulation method and the coding rate. The CQI, MCS, transmission power, and error rate may be average values in the past or values in the immediately preceding time period.
[0061] Further, the reference information may include information regarding the data volume in each of one or more target devices. The information regarding the data volume may include, for the target device, the amount of data not transmitted, the data volume per unit time of the data transmitted and received in the past, the occurrence frequency of the data transmitted and received in the past, the occurrence trend of the data transmitted and received in the past, the predicted occurrence frequency of future data, the predicted occurrence trend of future data, etc. The reference information may include the past propagation channel matrix in each of one or more target devices.
[0062] Subsequently, in S18, the control device 34 generates an allocation request and outputs it to the allocation determination device 26. The allocation request includes information indicating one or more target devices, reference information regarding the communication of each of one or more target devices, and information indicating the second time. The allocation request may further include information indicating a plurality of allocable communication blocks. The information indicating a plurality of allocable communication blocks is information specifying the positions in the frequency direction and the positions in the time direction for each of the plurality of allocable resource blocks and for each of the plurality of allocable resource elements.
[0063] When the allocation determination device 26 receives an allocation request from the control device 34, it generates allocation information and outputs the allocation information to the control device 34 by the second time. The allocation information indicates, for each of one or more target devices, which resource element among a plurality of resource elements in the allocation range is used for transmitting and receiving data.
[0064] Further, the allocation information may further indicate, for each of a plurality of resource blocks in the allocation range, the subcarrier interval. Further, the allocation information may further indicate, for the data included in each of the plurality of communication blocks, the quadrature modulation method, the transmission power, and the coding rate. Further, the allocation information may further indicate, for each of one or more target devices to be allocated, the propagation channel matrix used in the Massive MIMO method.
[0065] The allocation determination device 26 receives the allocation request output from the control device 34 in S18. When the allocation determination device 26 receives the allocation request, it generates allocation information based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information. The allocation determination device 26 outputs the generated allocation information to the control device 34 by a reply time at which the control device 34 can execute the allocation process at the second time. That is, the allocation determination device 26 outputs the allocation information to the control device 34 by a reply time before the second time.
[0066] For example, the allocation determination device 26 generates allocation information based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information using a machine learning model. Also, for example, the allocation determination device 26 may generate allocation information using, for example, a solver that calculates a solution to a QUBO (Quadratic Unconstrained Binary Optimization) problem. In this case, the allocation determination device 26 generates an objective function of the QUBO problem based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information, gives the generated objective function to the QUBO solver to obtain a solution that minimizes the objective function, and generates allocation information based on the obtained solution.
[0067] Here, the allocation determination device 26 can change the calculation time from when the information is input until the allocation information is output. And when the allocation determination device 26 receives an allocation request, it sets the processing time so that it can surely generate the allocation information by the reply time based on the second time included in the allocation request.
[0068] For example, the allocation determination device 26 may include a plurality of machine learning models with different calculation times. In this case, the allocation determination device 26 may select a machine learning model that can output the allocation information by the reply time among the plurality of machine learning models and generate the allocation information using the selected machine learning model. Also, for example, the allocation determination device 26 may use a QUBO solver whose calculation time can be set. In this case, the allocation determination device 26 sets a parameter regarding the calculation time in the QUBO solver based on the second time so that the allocation information can be output by the reply time.
[0069] Subsequently, in S19, the control device 34 acquires the allocation information from the allocation determination device 26.
[0070] Subsequently, in S20, the control device 34 determines whether the second time has arrived. If the control device 34 determines that the second time has not arrived (No in S20), the process waits in S20, and if the second time has arrived (Yes in S20), the process proceeds to S21.
[0071] Then, in S21, the control device 34 executes an allocation process based on the allocation information acquired from the allocation determination device 26, and causes the plurality of terminal devices 20 and the communication device 32 to transmit and receive modulation signals according to the allocation process. The allocation process can be executed, for example, by the control device 34 transmitting information regarding the communication block allocated to the communication device 32 to the terminal device 20.
[0072] By executing the above processing, the communication device 32 can transmit and receive data with the terminal device 20 allocated in the allocation process within the allocation range.
[0073] FIG. 11 is a diagram showing an example of the description format of the allocation information.
[0074] For example, the allocation information indicates, for each of the plurality of resource elements included in the allocation range, which terminal device 20 transmits or receives data. Note that some of the plurality of resource elements may not be allocated to any terminal device 20.
[0075] Such allocation information is represented, as an example, by a plurality of boxes arranged in a matrix representing a plurality of resource elements within the allocation range. In this case, each of the plurality of boxes corresponds to one resource element. The positions of one of the row direction or the column direction of the plurality of boxes arranged in a matrix are specified by the positions of the subcarriers in the allocation range. Also, the positions of the other of the row direction or the column direction of the plurality of boxes arranged in a matrix are specified by the positions of the OFDM symbols.
[0076] The allocation information in such a description format represents the solution to the packing problem of which of the plurality of terminal devices 20 to put in each of the plurality of boxes. Therefore, the allocation determination device 26 can generate the allocation information using an algorithm for solving the solution to the packing problem.
[0077] For example, the allocation determination device 26 can generate allocation information representing a solution to the packing problem by pre-training a machine learning model such as a neural network. For example, the designer of the allocation determination device 26 creates a neural network that outputs a solution to the packing problem by providing input information including information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information. Then, the designer trains the created neural network based on teacher data including past input information and ideal solutions. The allocation determination device 26 can generate allocation information based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information by using the machine learning model created in this way.
[0078] Also, the allocation determination device 26 can generate such allocation information by solving a QUBO problem having a quadratic function including a plurality of binary variables as an objective function. In this case, the quadratic function as the objective function includes a number of binary variables corresponding one-to-one to a plurality of terminal devices 20, which is the same as the number of a plurality of boxes constituting a matrix. Further, the quadratic function may further include a plurality of binary variables representing constraint conditions.
[0079] The designer of the allocation determination device 26 creates a quadratic function whose solution in the case of minimization results in allocation information closer to a preset condition based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information. Then, the designer of the allocation determination device 26 creates a formulation algorithm for generating such a quadratic function based on information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information.
[0080] By using the thus created formulation algorithm, the allocation determination device 26 generates a quadratic function as the objective function based on information indicating one or more target devices, information indicating a plurality of allocatable communication blocks, and reference information. Subsequently, the allocation determination device 26 gives the generated quadratic function to a QUBO solver to calculate a solution of the quadratic function. Then, the allocation determination device 26 generates allocation information based on the solutions of a plurality of binary variables representing the solution of the packing problem among the solutions of the quadratic function calculated by the QUBO solver.
[0081] Further, the allocation determination device 26 may generate allocation information, for example, by determining an allocation rank for each of one or more target devices and allocating the target devices to a plurality of boxes arranged in a matrix according to the determined rank. In this case, the allocation determination device 26 may rank the target devices in ascending order of the amount of data to be transmitted and received, or in ascending order of the allowable delay time, or in ascending order of the amount of data transmitted and received in the past.
[0082] FIG. 12 is a diagram showing an example of allocation information generated by the allocation determination device 26. A to H shown in FIG. 12 are information for identifying users of the terminal device 20 allocated to the resource element.
[0083] For example, assume that the reference information includes the allowable delay time of the data transmitted and received in each of one or more target devices. In this case, the allocation determination device 26 uses a machine learning model or a formulation algorithm that generates allocation information so as to allocate a target device with a short allowable delay time to a resource element whose transmission and reception are completed at an earlier time than a target device with a long allowable delay time. More specifically, the allocation determination device 26 uses a machine learning model or a formulation algorithm that generates allocation information so as to allocate a target device with a short allowable delay time to a resource element of an OFDM symbol that is earlier in time than a target device with a long allowable delay time. For example, assume that the reference information indicates that the terminal device 20 of user A has a shorter allowable delay time of the data to be transmitted and received than the terminal device 20 of user D. In this case, by using a machine learning model or a formulation algorithm, the allocation determination device 26 can allocate the terminal device 20 of user A to a resource block that is earlier in time than the terminal device 20 of user D, as shown in FIG. 12.
[0084] Further, the allocation determination device 26 may use a machine learning model or a formulation algorithm that generates allocation information so as to increase the number of target devices capable of wireless communication within the allowable delay time among one or more target devices.
[0085] Also, for example, assume that the reference information includes the amount of data per unit time of the data transmitted and received in the past or the predicted amount of data per unit time in the future in each of one or more target devices. In this case, the allocation determination device 26 may use a machine learning model or a formulation algorithm that generates allocation information so as to increase the number of target devices that satisfy the amount of data transmission and reception per unit time. Also, in this case, the allocation determination device 26 may use a machine learning model or a formulation algorithm that generates allocation information so as to satisfy the amount of data transmission and reception per unit time for a target device whose amount of data per unit time of the data transmitted and received in the past or the predicted amount of data per unit time in the future exceeds a threshold value.
[0086] Further, the allocation determination device 26 may use a machine learning model or a formulation algorithm that generates allocation information so that the amount of data transmitted and received per unit time for the whole becomes maximum.
[0087] Also, for example, assume that the reference information includes the communication quality of data transmitted and received in the past in each of one or a plurality of target devices. In this case, the allocation determination device 26 may use a machine learning model or a formulation algorithm that generates allocation information so as to allocate a target device with high communication quality of data transmitted and received in the past to a higher coding rate or a higher orthogonal modulation method than a target device with low communication quality.
[0088] More specifically, the allocation determination device 26 uses a machine learning model or a formulation algorithm that generates allocation information so as to allocate a target device with high communication quality of data transmitted and received in the past to a resource element included in a resource block with a larger subcarrier interval than a target device with low communication quality. For example, assume that the terminal device 20 of user C is shown in the reference information to have higher communication quality than the terminal device 20 of user D. In this case, by using a machine learning model or a formulation algorithm, the allocation determination device 26 can allocate a larger number of subcarriers to the terminal device 20 of user C than to the terminal device 20 of user D, as shown in FIG. 12.
[0089] As described above, the allocation determination device 26 can generate allocation information by using an algorithm for solving the solution of the packing problem.
[0090] FIG. 13 is a diagram showing the configuration of the allocation determination device 26 according to the first example. The allocation determination device 26 according to the first example generates allocation information by using a machine learning model.
[0091] The allocation determination device 26 according to the first example includes a request acquisition unit 52, an allocation determination unit 54, and a setting unit 56.
[0092] The allocation request acquisition unit 52 acquires an allocation request from the control device 34. The allocation request acquisition unit 52 provides information indicating one or more target devices, information indicating allocable communication blocks (a plurality of allocable resource blocks and a plurality of allocable resource elements), and reference information included in the allocation request to the allocation determination unit 54. Further, the allocation request acquisition unit 52 provides the second time included in the allocation request to the setting unit 56.
[0093] The allocation determination unit 54 includes a plurality of machine learning models. Each of the plurality of machine learning models inputs information indicating one or more target devices, information indicating a plurality of allocable communication blocks, and reference information, and outputs allocation information. Each of the plurality of machine learning models is, for example, a pre-trained neural network.
[0094] For each of the plurality of machine learning models, the calculation time from inputting information to outputting allocation information is different from others. Also, for each of the plurality of machine learning models, the internal calculation structure and calculation algorithm are different from others. For example, when each of the plurality of machine learning models is a neural network, the number of layers and the number of nodes are different. Therefore, for each of the plurality of machine learning models, the accuracy of the actually output allocation information with respect to the ideal allocation information to be obtained for the input information is different.
[0095] For example, assume that the allocation determination unit 54 includes N machine learning models from the first machine learning model to the Nth (N is an integer of 2 or more) machine learning model. In this case, for example, the first machine learning model is the fastest but has the lowest accuracy. The Nth machine learning model has the highest accuracy but is the slowest. From the second machine learning model to the (N - 1)th machine learning model, the speed gradually decreases and the accuracy gradually increases.
[0096] Such an allocation determination unit 54 returns the allocation information output from the machine learning model to the control device 34.
[0097] When the setting unit 56 receives an allocation request, it selects, from among a plurality of machine learning models, a machine learning model that can output allocation information by the reply time at which the control device 34 can execute the allocation process by the second time. For example, when the setting unit 56 receives an allocation request, it selects, from among a plurality of machine learning models, a machine learning device that allocates allocation information by the reply time and selects a machine learning model that outputs the most accurate allocation information. Then, the setting unit 56 causes the allocation determination unit 54 to generate allocation information using the selected machine learning model.
[0098] In the allocation determination device 26 according to such a first example, when the time from the time of acquiring the allocation request to the second time is short, although the accuracy is low, the allocation information can be generated using a machine learning model that executes calculations at high speed. Further, in the allocation determination device 26 according to such a first example, when the time from the time of acquiring the allocation request to the second time is long, although the calculation is executed at low speed, the allocation information can be generated using a machine learning model with high accuracy.
[0099] Thereby, the allocation determination device 26 according to the first example can surely reply the allocation information to the control device 34 by the second time and can reply more accurate allocation information.
[0100] FIG. 14 is a diagram showing the configuration of the allocation determination device 26 according to the second example. The allocation determination device 26 according to the second example generates allocation information by solving a QUBO problem.
[0101] The allocation determination device 26 according to the first example includes a request acquisition unit 52, a formulation unit 62, a solution calculation unit 64, an allocation information output unit 66, and a setting unit 56.
[0102] The request acquisition unit 52 according to the second example acquires an allocation request from the control device 34. The request acquisition unit 52 provides the formulation unit 62 with information indicating one or more target devices, information indicating allocable communication blocks (a plurality of allocable resource blocks and a plurality of allocable resource elements), and reference information included in the allocation request. In addition, the request acquisition unit 52 provides the setting unit 56 with the second time included in the allocation request.
[0103] Based on the information indicating one or more target devices, the information indicating a plurality of allocable communication blocks, and the reference information, the formulation unit 62 generates an objective function in the QUBO problem according to a formulation algorithm previously generated by a designer. The QUBO problem is a quadratic function including a plurality of binary variables. Each of at least some of the plurality of binary variables corresponds to one of the plurality of resource elements and also corresponds to one of the one or more target devices, and represents whether the corresponding target device is allocated to the corresponding resource element. That is, at least some of the plurality of binary variables represent a solution to the packing problem representing allocation information. The formulation unit 62 provides the generated objective function to the solution calculation unit 64.
[0104] The solution calculation unit 64 inputs the objective function generated by the formulation unit 62 and calculates a solution to the QUBO problem using the solution device 70. The solution device 70 is an example of a QUBO solver and calculates a solution that minimizes the objective function. The solution device 70 may be provided in the allocation determination device 26 or may be provided outside the allocation determination device 26.
[0105] The solution device 70 is a device whose calculation time from inputting the objective function to outputting the solution can be changed by changing the parameter settings. For example, the solution device 70 may be a device in which the probability of outputting an approximate solution closer to the optimal solution is higher as the calculation time is set longer, and the probability of outputting an approximate solution farther from the optimal solution is higher as the calculation time is set shorter.
[0106] For example, the solving device 70 is a device using the SB (Simulated Bifurcation) algorithm shown in Patent Document 1 or Patent Document 2. The solving device 70 using the SB algorithm can change the time until the solution is output by changing the parameter T representing the end time. Note that the details of the solving device 70 using the SB algorithm will be described later.
[0107] The allocation information output unit 66 acquires the solution of the QUBO problem from the solution calculation unit 64. The allocation information output unit 66 generates allocation information based on the solution of the QUBO problem. More specifically, the allocation information output unit 66 acquires the solutions of some binary variables representing the solution of the packing problem among the plurality of binary variables included in the objective function, and generates allocation information. Then, the allocation information output unit 66 returns the generated allocation information to the control device 34.
[0108] When receiving an allocation request, the setting unit 56 sets a parameter related to the calculation time in the solving device 70 based on the second time. More specifically, the setting unit 56 sets the calculation time of the solving device 70 so that the allocation information is output by the reply time at which the control device 34 can execute the allocation process by the second time. For example, when receiving an allocation request, the setting unit 56 sets the calculation time of the solving device 70 so that the most accurate allocation information is output within the range where the allocation information can be output by the reply time. For example, when the solving device 70 uses the SB algorithm, the setting unit 56 sets the parameter T representing the end time.
[0109] When the time from the time when the allocation request is acquired to the second time is short, the allocation determination device 26 according to such a second example can set the solving device 70 to execute the calculation in a short time with low accuracy and generate allocation information. Also, when the time from the time when the allocation request is acquired to the second time is long, the allocation determination device 26 according to such a second example can set the solving device 70 to execute the calculation in a long time with high accuracy and generate allocation information.
[0110] As a result, the allocation determination device 26 according to the second example can surely return the allocation information to the control device 34 by the second time and can return more accurate allocation information.
[0111] FIG. 15 is a diagram showing the configuration of the communication system 10 according to the first modification. The communication system 10 may have a configuration as shown in FIG. 15, for example. That is, the allocation determination device 26 may be connected to a plurality of base stations 24. In this case, the allocation determination device 26 receives allocation requests from the plurality of base stations 24. Then, the allocation determination device 26 generates allocation information in response to receiving the allocation request, and returns the generated allocation information to the base station 24 that transmitted the allocation request.
[0112] FIG. 16 is a diagram showing the configuration of the communication system 10 according to the second modification. The communication system 10 may have a configuration as shown in FIG. 16, for example. That is, the allocation determination device 26 is connected to the core network 22. In this case, each of the one or more base stations 24 outputs an allocation request to the allocation determination device 26 via the core network 22. Then, the allocation determination device 26 generates allocation information in response to receiving the allocation request, and returns the generated allocation information to the base station 24 that output the allocation request via the core network 22.
[0113] FIG. 17 is a diagram showing the configuration of the communication system 10 according to the third modification. The communication system 10 may have a configuration as shown in FIG. 17, for example. That is, the communication system 10 may further include a relay device 80. The relay device 80 in the third modification relays the transmission and reception of information between the base station 24 and the allocation determination device 26. Further, the relay device 80 obtains a part of the reference information necessary for generating the allocation information from the core network 22. In this case, the base station 24 outputs an allocation request to the allocation determination device 26 via the relay device 80. Then, in response to receiving the allocation request, the relay device 80 obtains a part of the information to be included in the reference information from the core network 22, includes the obtained information in the allocation request, and transfers it to the allocation determination device 26. Then, in response to receiving the allocation request, the allocation determination device 26 generates allocation information and returns the generated allocation information to the base station 24 via the relay device 80.
[0114] FIG. 18 is a diagram showing the configuration of the communication system 10 according to the fourth modification. The communication system 10 may have a configuration as shown in FIG. 18, for example. That is, the communication system 10 may further include a relay device 80. The relay device 80 in the fourth modification relays the transmission and reception of information between each of the plurality of base stations 24 and the allocation determination device 26. In this case, each of the plurality of base stations 24 outputs an allocation request to the allocation determination device 26 via the relay device 80. Then, in response to receiving the allocation request, the allocation determination device 26 generates allocation information and returns the generated allocation information to the base station 24 that output the allocation request via the relay device 80.
[0115] FIG. 19 is a diagram showing the configuration of the communication system 10 according to the fifth modification. The communication system 10 may have a configuration as shown in FIG. 19, for example. That is, the communication system 10 may further include a plurality of relay devices 80. In addition, the communication system 10 includes a plurality of allocation determination devices 26 that correspond one-to-one to the plurality of relay devices 80. The relay device 80 of the fifth modification relays the transmission and reception of information between each of the corresponding plurality of base stations 24 and the corresponding allocation determination device 26. In this case, each of the plurality of base stations 24 outputs an allocation request to the corresponding allocation determination device 26 via the corresponding relay device 80. Then, in response to receiving the allocation request, the allocation determination device 26 generates allocation information and returns the generated allocation information to the base station 24 that output the allocation request via the corresponding relay device 80.
[0116] (Solution Solver 70 Using the SB Algorithm) Next, the solution solver 70 that executes the SB algorithm will be described.
[0117] As a premise for the description of the solution solver 70, first, the Ising problem and the QUBO problem will be described.
[0118] As an example of a device used to solve the Ising problem, an Ising machine can be mentioned. The Ising machine calculates the energy of the ground state of the Ising model. So far, the Ising model has mainly been used as a model of ferromagnetic materials and phase transition phenomena. However, in recent years, the use of the Ising model as a model for solving the QUBO problem has been increasing. Equation (1) shows the energy of the Ising model. [Number]
[0119] s i and s j represent spins. A spin is a binary variable that takes either a value of +1 or -1. s i represents the i-th spin. s jrepresents the j-th spin. i and j are integers greater than or equal to 1 and less than or equal to N. N represents the number of spins and is an integer greater than or equal to 2. h i represents the local magnetic field acting on the i-th spin. J is a matrix of coupling coefficients representing the force acting between two spins. J is a real symmetric matrix with diagonal elements equal to 0. J ij represents the element in the i-th row and j-th column of J. That is, J ij is the coupling coefficient representing the force acting between the i-th spin and the j-th spin.
[0120] The Ising machine uses the energy E represented by Equation (1) Ising as the objective function and calculates the solution that minimizes the energy E Ising as much as possible. The solution (s1, s2, ···, s Ising ) of the Ising model when the energy E N reaches the minimum value is called the optimal solution. However, the solution of the Ising model may be an approximate solution that is not the optimal solution but is close to the minimum value of the energy E Ising . That is, the Ising problem may be a problem of calculating not only the optimal solution but also an approximate solution.
[0121] Also, the QUBO problem uses a quadratic function of binary variables that take either 0 or 1 as the objective function. Binary variables that take either 0 or 1 are transformed into s i by using the operation of (1 + s i ). That is, it can be said that the QUBO problem is equivalent to the Ising problem represented by Equation (1). Therefore, the QUBO problem can be transformed into the Ising problem and the solution can be calculated by the Ising machine.
[0122] In Patent Document 1 and Patent Document 2, the SB algorithm has been proposed as an algorithm for solving the QUBO problem. The SB algorithm can use an Ising model to quickly solve large-scale QUBO problems by a digital computer. The SB algorithm can also quickly solve large-scale QUBO problems by an electronic circuit such as a CPU (Central Processing Unit), a microprocessor, a GPU (Graphics Processing Unit), an FPGA (Field-Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or a combination of these circuits.
[0123] Next, the SB algorithm will be described.
[0124] The SB algorithm uses variables x i and variable y i respectively corresponding to N elements. The variable x i is sometimes called the first variable, and the variable y i is sometimes called the second variable. In the SB algorithm, each of the N elements represents a virtual particle. The N elements correspond to the N spins of the Ising problem. Therefore, the N elements correspond to the N binary variables of the QUBO problem. The variables x i and variable y i are both continuous variables represented by real numbers. The variable x i represents the position of the i-th particle among the N particles. The variable y i represents the momentum of the i-th particle. N is an integer of 2 or more. i represents an integer from 1 to N and represents an index that specifies each of the N elements.
[0125] The SB algorithm numerically solves the following system of ordinary differential equations of Equation (2) for the variables x i and variable y i respectively.
Equation
[0126] H is the Hamiltonian of the following formula (3).
Number
[0127] The coefficient D is a predetermined constant and corresponds to detuning. The coefficient p(t) corresponds to the pumping amplitude and its value monotonically increases according to the number of updates during the calculation of the SB algorithm. t is a variable representing time. The initial value of the coefficient p(t) may be set to 0. The coefficient K is a predetermined constant and corresponds to the positive Kerr coefficient. Note that the coefficient K may be 0.
[0128] f i represents an external force and is represented by the following formula (4).
Number
[0129] z in formula (4) i is the formula obtained by partially differentiating the formula inside the small parentheses in formula (3) with respect to the variable x i . The formula inside the small parentheses in formula (3) corresponds to the energy E Ising of the Ising model.
[0130] c is a coefficient. c may be, for example, a constant predetermined before the calculation is executed. Also, α(t) is a coefficient that increases together with p(t).
[0131] And the SB algorithm calculates the value of the spin s i based on the sign of the variable x i after increasing the value of p(t) from the initial value (for example, 0) to a predetermined value. The SB algorithm, for example, sets sgn(x i ) = 1 when x i > 0, and x iWhen <0, the sign function sgn(x i ) = -1 is used to calculate the value of the spin s i .
[0132] The SB algorithm uses the symplectic Euler method to solve the differential equations given by equations (2), (3), and (4).
[0133] Here, when using the symplectic Euler method, the differential equations given by equations (2), (3), and (4) are rewritten as discrete recurrence relations as shown in equation (5) or equation (6).
Number
Number
[0134] t represents time. Δt represents the unit time (time step, time increment).
[0135] When executing the SB algorithm, an electronic circuit such as a digital computer or FPGA, based on the algorithm of equation (5) or equation (6), sequentially updates the N variables x i and the variable y i from the initial time at each unit time, and alternately updates the variable x i and the variable y i . Then, the electronic circuit such as a digital computer or FPGA binarizes the values of the N variables x i at the end time using the sign function and outputs the values of the N spins.
[0136] Note that, in order to show the correspondence with differential equations, Equations (5) and (6) are expressed using the time t and the unit time Δt. However, when the symplectic Euler method is executed on an electronic circuit such as a digital computer or an FPGA, the algorithms for computing Equations (5) and (6) do not necessarily need to include the time t and the unit time Δt as explicit parameters. For example, when the unit time Δt is set to 1, the algorithms for computing Equations (5) and (6) do not necessarily need to include the unit time Δt. For example, when the time t is not included as an explicit parameter, the algorithms for computing Equations (5) and (6) treat x i (t + Δt) as the updated value of x i (t). That is, the algorithms for computing Equations (5) and (6) execute the process using "t" as a parameter for identifying the variable before update and "t + Δt" as a parameter for identifying the variable after update.
[0137] FIG. 20 is a diagram showing the functional configuration of a solving device 70 that executes the SB algorithm.
[0138] As shown in FIG. 20, the solving device 70 includes, as functional components, an input unit 112, an update unit 114, and an output unit 116.
[0139] The input unit 112 receives, from an external device, information for defining the objective function of the QUBO problem (e.g., N, J, h) and information representing coefficients necessary for executing the SB algorithm (e.g., D, c, Δt, T, p(t), α(t)).
[0140] Note that T represents the end time. In the present embodiment, the input unit 112 receives T representing the end time from the setting unit 56.
[0141] The update unit 114 uses the SB algorithm to sequentially update, for each of a plurality of elements in which the first variable (x i ) and the second variable (y i ) are associated, the first variable (xi ) and the second variable (y i ) are alternately updated.
[0142] The output unit 116 outputs a solution to the QUBO problem based on each first variable (x i ) of a plurality of elements at the end time (t = T). For example, for each of the plurality of elements at the end time, the output unit 116 calculates the value of a binary variable obtained by binarizing the first variable (x i ) with a preset threshold value. Then, the output unit 116 outputs the calculated values of the plurality of binary variables as the solution to the QUBO problem.
[0143] Here, the plurality of elements correspond to the plurality of binary variables of the QUBO problem. Also, each of the first variable (x i ) and the second variable (y i ) is represented by a real number.
[0144] And in the update process per unit time, the update unit 114 updates the first variable (x i ) for each of the plurality of elements based on the second variable (y i ). Also, in the update process per unit time, the update unit 114 updates the second variable (y i ) for each of the plurality of elements based on the first variable (x i ).
[0145] For example, in the update process per unit time, after updating the first variable (x i ) for each of the plurality of elements, the update unit 114 updates the second variable (y i ). Instead of this, in the update process per unit time, after updating the second variable (y i ) for each of the plurality of elements, the update unit 114 may update the first variable (x i ).
[0146] FIG. 21 is a flowchart showing a first example of the processing flow of the update unit 114. The update unit 114 executes the processing in the flow shown in FIG. 21, for example.
[0147] First, in S101, the update unit 114 sets parameters for solving the QUBO problem. Specifically, the update unit 114 sets a matrix J including N×N coupling coefficients and an array h including local magnetic field coefficients representing N local magnetic fields. Further, the update unit 114 sets a coefficient D, a coefficient c, a Δt representing a unit time, a T representing an end time, a function p(t), and a function α(t). p(t) and α(t) are increasing functions that are 0 at t = initial time (e.g., 0) and 1 at t = end time (T). The update unit 114 sets J and h according to the information received from the input unit 112. The update unit 114 may set D, c, Δt, p(t), and α(t) according to the values received from the input unit 112, or may set values that are predetermined and cannot be changed. In this embodiment, T is a value determined according to the second time set from the setting unit 56 and is changed every time the QUBO problem is executed.
[0148] Subsequently, in S102, the update unit 114 initializes variables. Specifically, the update unit 114 initializes a variable t representing time to the initial time (e.g., 0). Further, the update unit 114 substitutes the initial values received from the user, predetermined fixed values, or random numbers into each of the N first variables (x1(t) to x N (t)) and each of the N second variables (y1(t) to y N (t)).
[0149] Subsequently, the update unit 114 repeats the loop process between S103 and S114 until t becomes greater than T. In one loop process, the update unit 114 calculates the N first variables (x1(t + Δt) to x N (t + Δt)) at the target time (t + Δt) based on the N first variables (x1(t) to x N (t)) at the immediately previous time (t) and the N second variables (y1(t) to y N (t)) at the immediately previous time (t). Also, in one loop process, the update unit 114 calculates the N second variables (y1(t + Δt) to y N(t + Δt)) based on N first variables (x1(t + Δt) to x N (t + Δt)) and N second variables (y1(t) to y N (t)) at the previous time (t).
[0150] Note that the previous time (t) is the time Δt units before the target time (t + Δt). That is, the update unit 114 repeats the loop process between S103 and S114 to sequentially update N first variables (x1(t) to x N (t)) and N second variables (y1(t) to y N (t)) from the initial time (t = 0) to the end time (t = T) at every unit time (Δt).
[0151] Subsequently, the update unit 114 repeats the loop process between S104 and S106 while incrementing i by 1 from i = 1 to i = N. i is an integer from 1 to N and represents an index of the element to be processed among the N elements. Each of the N elements has a first variable (x i (t)) and a second variable (y i (t)) associated with it. In the loop process between S104 and S106, the update unit 114 executes the process on the i-th element among the N elements as the target element.
[0152] In S105, the update unit 114 calculates the first variable (x i (t + Δt)) of the target element at the target time (t + Δt) by adding a value obtained by multiplying the first variable (x i (t)) of the target element at the previous time (t) by the second variable (y i (t)) of the target element at the previous time (t), a predetermined constant (D), and the unit time (Δt). Specifically, the update unit 114 calculates Equation (7).
Equation
[0153] That is, for each of the N elements, the update unit 114 calculates the first variable (x i (t + Δt)) of the target element at the target time (t + Δt) based on the first variable (x i (t)) of the target element at the immediately preceding time (t) and the second variable (y i (t)) of the target element at the immediately preceding time (t).
[0154] When the update unit 114 executes the loop process between S104 and S106 N times, the process proceeds to S107.
[0155] Subsequently, the update unit 114 repeats the loop process between S107 and S112 while incrementing i by 1 from i = 1 to i = N.
[0156] In S108, the update unit 114 calculates an update value (z N (t + Δt)) based on the first variables (x1(t + Δt) to x i (t + Δt)) of each of the N elements at the target time (t + Δt) and an action coefficient predetermined by a QUBO problem for each combination of the target element and each of the N elements. The action coefficient is a coupling coefficient included in J and a local magnetic field coefficient included in h. Specifically, the update unit 114 calculates Equation (8).
Equation
[0157] Subsequently, in S109, the update unit 114 calculates an external force (f i (t + Δt)) by multiplying the update value (z i (t + Δt)) by the coefficients (c) and -1. Specifically, the update unit 114 calculates Equation (9).
Equation
[0158] Subsequently, in S110, the update unit 114 multiplies the value determined based on p(t + Δt), which is a function that increases over time, by the first variable (x1(t + Δt)) at the target time (t + Δt) of the target element to calculate the time evolution value (g i (t + Δt)). Specifically, the update unit 114 calculates Equation (10).
Equation
[0159] Subsequently, in S111, the update unit 114 adds the value obtained by multiplying the second variable (y i (t + Δ)) at the target time (t + Δt) of the target element by the unit time (Δt) to the sum of the second variable (y i (t)) at the immediately preceding time (t) of the target element, the time evolution value (g i (t + Δt)), and the external force (f i (t + Δt)). Specifically, the update unit 114 calculates Equation (11).
Equation
[0160] The update unit 114 updates the second variable (y i (t + Δt)) at the target time (t + Δt) for each of the N elements based on the N first variables (x1(t + Δt) to x N (t + Δt)) at the target time (t + Δt) and the second variable (y i (t)) at the immediately preceding time (t) of the target element by executing the loop process between S107 and S112 as described above N times.
[0161] When the update unit 114 executes the loop process between S107 and S112 N times, the process proceeds to S113.
[0162] In S113, the update unit 114 adds the unit time (Δt) to each of the immediately preceding time (t) and the target time (t + Δt) to update the immediately preceding time (t) and the target time (t + Δt). In S114, the update unit 114 repeats the processes from S104 to S113 until t exceeds the end time (T). Then, when t becomes greater than the end time (T), the update unit 114 ends this flow.
[0163] Then, for each of the N elements, the output unit 116 calculates the value of the corresponding spin according to the sign of the first variable (x i (T)) at the end time (t = T). For example, when the sign of the first variable (x i (T)) at the end time (t = T) is negative, the output unit 116 sets the corresponding spin to -1, and when it is positive, the output unit 116 sets the corresponding spin to +1. Then, the output unit 116 outputs the calculated values of the plurality of spins, or the values obtained by converting the calculated values of the plurality of spins into binary variables, as the solution to the QUBO problem.
[0164] By executing the processes of S101 to S114 above, the update unit 114 executes operations according to the SB algorithm to calculate the N first variables (x1(t) to x N (t)) and the N second variables (y1(t) to y N (t)) at the end time (t = T).
[0165] FIG. 22 is a flowchart showing a second example of the processing flow of the update unit 114. When the update unit 114 solves the QUBO problem using the SB algorithm, instead of the flow shown in FIG. 21, the processing may be executed according to the flow shown in FIG. 22.
[0166] First, in S201 and S202, the update unit 114 executes the same processes as S101 and S102 of the first example shown in FIG. 21.
[0167] Subsequently, the update unit 114 repeats the loop process between S203 and S214 until t becomes greater than T. In one loop process, the update unit 114 calculates N second variables (y1(t + Δt) ~ y N (t + Δt)) at the target time (t + Δt) based on N first variables (x1(t) ~ x N (t)) at the immediately preceding time (t) and N second variables (y1(t) ~ y N (t)) at the immediately preceding time (t). Also, in one loop process, the update unit 114 calculates N first variables (x1(t + Δt) ~ x N (t + Δt)) at the target time (t + Δt) based on N first variables (x1(t) ~ x N (t)) at the immediately preceding time (t) and N second variables (y1(t + Δt) ~ y N (t + Δt)) at the target time (t + Δt).
[0168] Subsequently, the update unit 114 repeats the loop process between S204 and S209 while incrementing i by 1 from i = 1 to i = N. In the loop process between S204 and S209, the update unit 114 executes processing with the i-th element among the N elements as the target element.
[0169] In S205, the update unit 114 calculates an update value (z N (t)) based on the first variables (x1(t) ~ x i (t)) at the immediately preceding time (t) for each of the N elements, and the action coefficient predetermined by the QUBO problem for each pair of the target element and each of the N elements. Specifically, the update unit 114 calculates Equation (12).
Equation
[0170] Subsequently, in S206, the update unit 114 multiplies the update value (z i (t)) by the coefficient (c) and -1 to obtain an external force (f i(t)) is calculated. Specifically, the update unit 114 calculates Equation (13).
Number
[0171] Subsequently, in S207, the update unit 114 multiplies the first variable (x1(t)) at the immediately preceding time (t) of the target element by a value determined based on p(t), which is a function that increases over time, to calculate the time evolution value (g i (t)). Specifically, the update unit 114 calculates Equation (14).
Number
[0172] Subsequently, in S208, the update unit 114 adds the second variable (y i (t + Δ)) at the target time (t + Δt) of the target element to the second variable (y i (t)) at the immediately preceding time (t) of the target element, multiplies the result by the time evolution value (g i (t)) and the external force (f i (t)), multiplies the sum by the unit time (Δt), and then adds the product to calculate the value. Specifically, the update unit 114 calculates Equation (15).
Number
[0173] The update unit 114 executes the loop process between S204 and S209 as described above N times, and for each of the N elements, updates the second variable (y i (t + Δt)) at the target time (t + Δt) based on the N first variables (x1(t) to x N (t)) at the immediately preceding time (t) and the second variable (y i (t)) at the immediately preceding time (t) of the target element.
[0174] When the update unit 114 executes the loop process between S204 and S209 N times, the process proceeds to S210.
[0175] Subsequently, the update unit 114 repeats the loop process between S210 and S212 while incrementing i by 1 from i = 1 to i = N.
[0176] In S211, the update unit 114 calculates the first variable (x i (t + Δt)) of the target element at the target time (t + Δt) by adding a value obtained by multiplying the second variable (y i (t + Δt)) of the target element at the target time (t + Δt), a predetermined constant (D), and the unit time (Δt) to the first variable (x i (t)) of the target element at the immediately preceding time (t). Specifically, the update unit 114 calculates Equation (16).
Equation
[0177] That is, for each of the N elements, the update unit 114 updates the first variable (x i (t + Δt)) of the target element at the target time (t + Δt) based on the first variable (x i (t)) of the target element at the immediately preceding time (t) and the second variable (y i (t)) of the target element at the immediately preceding time (t).
[0178] When the update unit 114 executes the loop process between S210 and S212 N times, the process proceeds to S213.
[0179] In S213, the update unit 114 adds the unit time (Δt) to each of the immediately preceding time (t) and the target time (t + Δt) to update the immediately preceding time (t) and the target time (t + Δt). In S214, the update unit 114 repeats the process from S210 to S213 until t exceeds the end time (T). Then, when t becomes greater than the end time (T), the update unit 114 ends this flow.
[0180] Then, for each of the N elements, the output unit 116 calculates the value of the corresponding spin according to the sign of the first variable x i (T)) at the end time (t = T). For example, when the sign of the first variable x i (T)) at the end time (t = T) is negative, the output unit 116 sets the corresponding spin to -1, and when it is positive, the output unit 116 sets the corresponding spin to +1. Then, the output unit 116 outputs the calculated values of the plurality of spins, or the values obtained by converting the calculated values of the plurality of spins into binary variables, as the solution to the QUBO problem.
[0181] By executing the processes of S201 to S214 above, the update unit 114 executes operations according to the SB algorithm to calculate the N first variables x1(t) to x N (t)) and the N second variables y1(t) to y N (t)) at the end time (t = T).
[0182] (Hardware Configuration) FIG. 23 is a diagram showing an example of the hardware configuration of the control device 34. The control device 34 is realized by, for example, a computer having a hardware configuration as shown in FIG. 23. The control device 34 includes a CPU 301, a RAM (Random Access Memory) 302, a ROM (Read Only Memory) 303, a storage device 304, and a communication interface device 305. And these each part is connected by the bus.
[0183] The CPU 301 is a processor that executes arithmetic processing, control processing, etc. according to a program. The CPU 301 uses a predetermined area of the RAM 302 as a work area and executes various processes in cooperation with programs stored in the ROM 303, the storage device 304, etc.
[0184] The RAM 302 is a memory such as SDRAM (Synchronous Dynamic Random Access Memory). The RAM 302 functions as a working area for the CPU 301. The ROM 303 is a memory that stores programs and various information in a non-rewritable manner.
[0185] The storage device 304 is a device that writes and reads data to and from a semiconductor storage medium such as a flash memory, or a storage medium that can be magnetically or optically recorded. The storage device 304 writes and reads data to and from the storage medium according to the control from the CPU 301. The communication interface device 305 communicates with external devices via a network according to the control from the CPU 301.
[0186] A program executed on a computer causes the computer to function as a control device 34 that controls the communication device 32. This program is expanded and executed on the RAM 302 by the CPU 301 (processor).
[0187] Also, a program executed on a computer is a file in an installable or executable format, and is provided by being recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk, a CD-R, or a DVD (Digital Versatile Disk).
[0188] Alternatively, this program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, this program may be configured to be provided or distributed via a network such as the Internet. Also, the program executed by the control device 34 may be configured to be provided by being pre-embedded in the ROM 303 or the like.
[0189] Although some embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalent scope thereof.
Explanation of Reference Numerals
[0190] 10 Communication system 20 Terminal device 22 Core network 24 Base station 26 Allocation determination device 32 Communication device 34 Control device 52 Request acquisition unit 54 Allocation determination unit 56 Setting unit 62 Formulation unit 64 Calculation unit 66 Allocation information output unit 70 Solving device 80 Relay device 112 Input unit 114 Update unit 116 Output unit
Claims
1. A wireless communication system capable of changing the subcarrier spacing, wherein the wireless communication system comprises: a communication device that wirelessly communicates with each of a plurality of terminal devices; a control device that controls wireless communication in the plurality of terminal devices and the communication device; an allocation determination device that generates allocation information indicating which communication block among a plurality of communication blocks specified by a position in the frequency direction and a position in the time direction is to be used for wireless communication with at least one of the plurality of terminal devices; and the wireless communication system further comprises: wherein the control device: determines an allocation time for executing an allocation process of allocating any one of the plurality of communication blocks to at least one of the plurality of terminal devices; outputs an allocation request including information indicating at least one of the plurality of terminal devices, reference information regarding communication of at least one of the plurality of terminal devices, and information regarding the allocation time, to the allocation determination device; wherein the allocation determination device outputs the allocation information regarding at least one of the plurality of terminal devices to the control device by a reply time before the allocation time based on the reference information; and the control device executes the allocation process before the allocation time based on the allocation information. Wireless communication system.
2. wherein the allocation determination device has a higher probability of outputting an approximate solution closer to the optimal solution as the calculation time is longer. The wireless communication system according to claim 1.
3. wherein the control device determines the allocation time according to an allowable delay time of wireless communication of at least one of the plurality of terminal devices corresponding to the allocation information. The wireless communication system according to claim 1.
4. Each of the plurality of communication blocks is a resource element composed of one subcarrier and one OFDM symbol. The wireless communication system according to any one of claims 1 to 3.
5. The control device Among the assigned range including a predetermined subcarrier and a predetermined number of OFDM symbols after the assigned time, the assignment request further including information indicating an assignable communication block which is a part of the communication blocks excluding the assigned communication blocks already assigned to the plurality of terminal devices is output to the assignment determination device. The wireless communication system according to any one of claims 1 to 4.
6. The wireless communication system can change the subcarrier interval in units of resource blocks composed of a predetermined subcarrier and a predetermined number of OFDM symbols, The assignment determination device generates the assignment information further indicating the subcarrier interval of each of one or more resource blocks included in the assignment range, The control device wirelessly communicates each of the one or more resource blocks included in the assignment range with the plurality of terminal devices and the communication device at the subcarrier interval indicated by the assignment information. The wireless communication system according to claim 5.
7. The assignment determination device generates the assignment information further indicating at least one of the quadrature modulation method, the coding rate, and the transmission power for each of the plurality of communication blocks, The control device wirelessly communicates with the plurality of terminal devices and the communication device according to the quadrature modulation method, the transmission power, and the coding rate indicated by the assignment information. The wireless communication system according to any one of claims 1 to 6.
8. The communication device wirelessly communicates with each of the plurality of terminal devices using the Massive MIMO (multiple-input and multiple-output) method, The allocation determination device generates allocation information further indicating a propagation channel matrix in the MIMO system for each of the plurality of communication blocks. The control device causes wireless communication between the plurality of terminal devices and the communication device by radio waves represented by the propagation channel matrix in each of the plurality of communication blocks. The wireless communication system according to any one of claims 1 to 7.
9. The reference information includes an allowable delay time for wireless communication of at least one of the plurality of terminal devices. The allocation determination device allocates a terminal device with a short allowable delay time to a communication block in which wireless communication is completed at a time earlier than that of a terminal device with a long allowable delay time. The wireless communication system according to any one of claims 1 to 8.
10. The allocation determination device generates the allocation information so as to increase the number of terminal devices capable of wireless communication within the allowable delay time among at least one of the plurality of terminal devices. The wireless communication system according to any one of claims 1 to 9.
11. The reference information includes communication quality of data transmitted and received in the past in at least one of the plurality of terminal devices. The allocation determination device allocates a target device with high communication quality to a higher coding rate or an orthogonal modulation method with a higher number of levels than a target device with low communication quality. The wireless communication system according to claim 7.
12. The allocation determination device includes a plurality of machine learning models that input information indicating at least one of the plurality of terminal devices, information indicating the plurality of communication blocks, and the reference information and output the allocation information. Each of the plurality of machine learning models has a calculation time different from others from inputting information to outputting the allocation information. When receiving the allocation request, the allocation decision device causes the allocation information to be generated using a machine learning model among the plurality of machine learning models that can output the allocation information by the reply time. The wireless communication system according to any one of claims 1 to 11.
13. The allocation decision device a formulation unit that generates the objective function in a QUBO (Quadratic unconstrained binary optimization) problem having a quadratic function including a plurality of binary variables as the objective function; a solution calculation unit that calculates a solution to the QUBO problem using a solving device that solves the QUBO problem; an allocation information output unit that generates the allocation information based on the solution to the QUBO problem and outputs the generated allocation information; a setting unit; and has Each of at least some of the plurality of binary variables included in the objective function corresponds to any one of the plurality of communication blocks and corresponds to at least one of the plurality of terminal devices, and represents whether the corresponding terminal device is allocated to the corresponding communication block. The setting unit sets a parameter regarding the calculation time in the solving device based on the allocation time. The wireless communication system according to any one of claims 1 to 11.
14. The solving device an update unit that sequentially updates the first variable and the second variable alternately for each unit time from the start time to the end time for each of the plurality of elements to which the first variable and the second variable are associated; an output unit that outputs a solution to the QUBO problem based on the first variable of each of the plurality of elements at the end time; and includes The plurality of elements correspond to the plurality of binary variables. Each of the first variable and the second variable is represented by a real number. In the update process for each unit time, the update unit For each of the plurality of elements, update the first variable based on the second variable, For each of the plurality of elements, update the second variable based on the first variable, The output unit For each of the plurality of elements at the end time, calculate the value of a binary variable obtained by binarizing the first variable with a preset threshold value, Output the calculated values of the plurality of binary variables as the solution to the QUBO problem, The setting unit Set the end time based on the allocation time The wireless communication system according to claim 13.
15. The allocation determination device sets a parameter related to the calculation time in the allocation determination device based on the allocation time so that the allocation information can be output by the reply time, and generates the allocation information The wireless communication system according to any one of claims 1 to 11.
16. The allocation determination device sets a processing time capable of outputting the allocation information by the reply time based on the allocation time, and generates the allocation information The wireless communication system according to any one of claims 1 to 11.
17. A control device for controlling wireless communication for a plurality of terminal devices and communication devices provided in a wireless communication system capable of changing a subcarrier interval, The wireless communication system An allocation determination device that generates allocation information indicating which communication block among a plurality of communication blocks specified by a position in the frequency direction and a position in the time direction is used for wireless communication with at least one of the plurality of terminal devices, Comprising The control device Determine an allocation time for executing an allocation process of allocating any one of the plurality of communication blocks to at least one of the plurality of terminal devices, Output an allocation request including information indicating at least one of the plurality of terminal devices, reference information regarding communication of at least one of the plurality of terminal devices, and information regarding the allocation time to the allocation determination device. Based on the reference information, the allocation determination device outputs the allocation information regarding at least one of the plurality of terminal devices to the control device by a reply time before the allocation time. The control device executes the allocation process before the allocation time based on the allocation information. Control device.
18. A program for causing an information processing device to function as a control device for controlling wireless communication with a plurality of terminal devices and a communication device provided in a wireless communication system capable of changing a subcarrier interval, The wireless communication system includes An allocation determination device that generates allocation information indicating which communication block among a plurality of communication blocks specified by a position in the frequency direction and a position in the time direction is used for wireless communication with at least one of the plurality of terminal devices, and includes The control device Determines an allocation time for executing an allocation process of allocating any one of the plurality of communication blocks to at least one of the plurality of terminal devices, Outputs an allocation request including information indicating at least one of the plurality of terminal devices, reference information regarding communication of at least one of the plurality of terminal devices, and information regarding the allocation time to the allocation determination device, Based on the reference information, the allocation determination device outputs the allocation information regarding at least one of the plurality of terminal devices to the control device by a reply time before the allocation time. The control device executes the allocation process before the allocation time based on the allocation information. Program.
Citation Information
Patent Citations
Communication system
JP2019009588A
Computer, calculation program, recording medium, and calculation method
JP2019145010A
Computer
JP2020046887A
Control device, control method, and program
JP2022017679A
Resource allocation techniques for optimized multi-user closed-loop control over 5g wireless networks
US20210329653A1