METHODS FOR TARGET POSITION ESTIMATION BASED ON DISTRIBUTED RECONFIGURABLE INTELLIGENT SURFACE (RIS) TRANSMISSIVE ARRAYS
20260012228 ยท 2026-01-08
Assignee
Inventors
- Dan WANG (Chongqing, CN)
- Xin XU (Chongqing, CN)
- Fatang CHEN (Chongqing, CN)
- Huahua WANG (Chongqing, CN)
- Fang LEI (Chongqing, CN)
Cpc classification
G01S5/0273
PHYSICS
International classification
Abstract
A method for target position estimation based on a distributed reconfigurable intelligent surface (RIS) transmissive array is provide, including: configuring distributed RISs as an RIS transmissive array, wherein the distributed RISs include two RIS transmissive array surfaces, a target source and receiving radio frequency (RF) chains are respectively disposed on two sides of the RIS transmissive array, the receiving RF chains are connected to receiving antennas, and the target source emits a pilot signal into space; transmitting the pilot signal through the RIS transmissive array to the receiving RF chains to obtain a received signal; determining an azimuth angle and an elevation angle of the target source relative to each of the two RIS transmissive array surfaces by processing the received signal; and constructing two rays respectively passing through centers of the two RIS transmissive array surfaces based on the azimuth angles and the elevation angles of the target source relative to the two RIS transmissive array surfaces, determining a median of a shortest distance between the two rays, and determining a position of the median as a position of the target source.
Claims
1. A method for target position estimation based on a distributed reconfigurable intelligent surface (RIS) transmissive array, comprising: configuring distributed RISs as an RIS transmissive array, wherein the distributed RISs include two RIS transmissive array surfaces, a target source and receiving radio frequency (RF) chains are respectively disposed on two sides of the RIS transmissive array, the receiving RF chains are connected to receiving antennas, and the target source emits a pilot signal into space; transmitting the pilot signal through the RIS transmissive array to the receiving RF chains to obtain a received signal; determining an azimuth angle and an elevation angle of the target source relative to each of the two RIS transmissive array surfaces by processing the received signal; and constructing two rays respectively passing through centers of the two RIS transmissive array surfaces based on the azimuth angles and the elevation angles of the target source relative to the two RIS transmissive array surfaces, determining a median of a shortest distance between the two rays, and determining a position of the median as a position of the target source; the method further comprising: constructing a distributed RIS transmissive array-assisted positioning system, including: arranging the two RIS transmissive array surfaces side-by-side to form the RIS transmissive array, wherein each of the two RIS transmissive array surfaces is connected to a receiving antenna RF, the two receiving antennas RF and the target source are respectively located on the two sides of the RIS transmissive array, each of the two RIS transmissive array surfaces includes M array elements, and a position of an i-th array element is expressed as:
q.sub.i=[x.sub.i,y.sub.i,z.sub.i].sup.T,x.sub.i,y.sub.iR.sup.3,z.sub.i>0,i=1,2, . . . ,M,[x.sub.i,y.sub.i,z.sub.i]T=r.sub.i[cos.sub.i sin.sub.i0].sup.T where q.sub.i denotes the position of the i-th array element, i denotes an index of the array element, M denotes a count of array elements in each RIS transmissive array surface, R.sup.3 denotes a set of real numbers in three dimensions, [x.sub.i, y.sub.i, z.sub.i] denote coordinates, r.sub.i denotes a distance between the i-th array element and the center of the RIS transmissive array surface, .sub.i denotes an azimuth angle between a line connecting the i-th array element and an origin and a positive direction of an X axis, T denotes a transpose operation; a position vector of the target source is expressed as:
2. (canceled)
3. The method of claim 1, wherein after the pilot signal emitted by the target source is transmitted through a wireless channel, an output signal of the receiving antenna is expressed as:
4. The method of claim 3, wherein the intermediate variable G() is expressed as: G()=[g.sub.0() . . . g.sub.M1()], where an i-th element g.sub.i() related to the elevation angle is expressed as:
5. The method of claim 3, wherein the determining an azimuth angle and an elevation angle of the target source relative to each of the two RIS transmissive array surfaces by processing the received signal includes: obtaining an optimization function for the elevation angle based on the expression of the output signal of the receiving antenna, and obtaining an estimated value of the elevation angle by performing a grid search over a range of 0 to 90 for the elevation angle, wherein the optimization function for the elevation angle is expressed as:
6. The method of claim 5, wherein a process of constructing the optimization function for the azimuth angle includes: building a maximum likelihood estimation model, letting =(p)e.sup.j to obtain an MLE of the channel gain and an MLE of the position of the target source, expressed as:
7. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The present disclosure is further described through exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
DETAILED DESCRIPTION
[0015] In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant disclosure. Obviously, drawings described below are only some examples or embodiments of the present disclosure.
[0016] Those skilled in the art, without further creative efforts, may apply the present disclosure to other similar scenarios according to these drawings. Unless obviously obtained from the context or the context illustrates otherwise, the same numeral in the drawings refers to the same structure or operation.
[0017] It will be understood that the terms system, engine, unit, module, and/or block used herein are one way to distinguish different components, elements, parts, sections, or assemblies of different levels in ascending order. However, the terms may be displaced by other expressions if they may achieve the same purpose.
[0018] The singular forms a, an, and the may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The term and/or, as used herein, is merely a way of describing the associative relationship of an associated object, indicating that three relationships can exist, e.g., A and/or B, which may be represented as: An alone, both A and B, and B alone. Generally, the terms include and/or comprise, when used in this disclosure, specify the presence of integers, devices, behaviors, stated features, steps, elements, operations, and/or components, but do not exclude the presence or addition of one or more other integers, devices, behaviors, features, steps, elements, operations, components, and/or groups thereof.
[0019] The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in an inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
[0020]
[0021] In some embodiments, as shown in
[0022] A RIS transmissive array refers to a transmissive functional structure composed of Reconfigurable Intelligent Surfaces (RISs). Through a large number of programmable electromagnetic elements in the array, the RIS transmissive array regulates a phase, an amplitude, or a polarization state of an incident wireless signal (e.g., an RF signals, a millimeter wave, etc.) and then allows the signal to transmit from one side of the array to the other side instead of being reflected back to the original direction. In some embodiments, the RIS transmissive array may include electromagnetic regulation array elements, an array substrate, or the like.
[0023] The distributed RIS transmissive array refers to a system in which a plurality of RIS transmissive array surfaces (usually 2 or more) are deployed in a distributed manner to work collaboratively. In some embodiments, the distributed RIS transmissive array may be configured with two RIS transmissive array surfaces (a first RIS transmissive array surface and a second RIS transmissive array surface as shown in
[0024] A three-dimensional coordinate system (x, y, z) is constructed with a center (O1 and O2 as shown in
[0025] The target source refers to a device that needs to be positioned and is capable of emitting a pilot signal. In some embodiments, the target source actively emits the pilot signal with a known characteristic (e.g., an RF signal with a specific frequency and a modulation mode). The pilot signal carries a characteristic (e.g., a fixed sequence) that may be identified by a receiving RF chain, so that the receiving RF chain extracts angle information.
[0026] In some embodiments, the target source p may emit a signal, which is transmitted through the RIS transmissive array to the receiving antenna RF to obtain a received signal. The target source p may include a user in a communication system.
[0027] In some embodiments, the position of the target source p may be expressed as =[x, y, z].sup.T, where x, y, z denotes coordinates, x, yR.sup.3, and z>0. O.sub.1 and O.sub.2 denote the center of the first RIS transmissive array surface and the center of the second RIS transmissive array surface respectively. The Euclidean distances from the target source to the center of the first RIS transmissive array surface and the center of the second RIS transmissive array surface are d.sub.1 and d.sub.2, respectively, and d. A receiving antenna RF is arranged below each RIS transmissive array surface, which is ( is a wavelength of the pilot signal) away from the RIS transmissive array surface. Output signals of the first receiving antenna RF1 and the second receiving antenna RF2 are y.sub.t.sub.
[0028] In some embodiments, each of the two RIS transmissive array surfaces includes M array elements, and each array element has a size of A=aa (in general, an area of each array element is set to .sup.2/4)). A position of an i-th array element in each RIS transmissive array surface is expressed as q.sub.i=[x.sub.i, y.sub.i, z.sub.i].sup.T, x.sub.i, y.sub.i, E R.sup.3, z.sub.i>0, i=1,2, . . . , M, wherein M is a positive integer denoting a total count of array elements, r.sub.i denotes a distance from the i-th array element in the RIS transmissive array surface to the center of the RIS transmissive array surface. The azimuth angle .sub.i denotes an angle between a line connecting the i-th array element in each RIS transmissive array surface to the origin and the positive direction of the X axis. .sub.1 and .sub.1 denote an azimuth angle and an elevation angle of the target source relative to the first RIS transmissive array surface, respectively. .sub.2 and .sub.2 denote and an azimuth angle and an elevation angle of the target source relative to the second RIS transmissive array surface, respectively. .sub.1 and .sub.2 are collectively referred to as .sub.g, .sub.g,
Hereinafter, .sub.1 and .sub.2 may not be distinguished in subsequent expressions, .sub.g may be abbreviated as . .sub.1 and .sub.2 are collectively referred to as .sub.g, .sub.g[0,2](g=1,2). Hereinafter, .sub.1 and .sub.2 may not be distinguished in subsequent expressions, .sub.g may be abbreviated as . The azimuth angle refers to an angle between the positive direction of the X axis and a projection of the line connecting the target source to the center of the RIS transmissive array surface on an xoy plane. The elevation angle refers to an angle between a positive direction of a Z axis and the line connecting the target source to the center of the array surface. and may be referred to as Angle of Arrivals (AoAs).
[0029] Merely by way of example, a wave vector c.sub.g(.sub.g, .sub.g) of the signal arriving at each RIS transmissive array surface may be determined by Equation (2):
where c.sub.g (.sub.g, .sub.g) denotes the wave vector of the pilot signal arriving at a g-th RIS transmissive array surface, denotes the wavelength of the pilot signal. .sub.g denotes the elevation angle formed by the pilot signal and the g-th RIS transmissive array surface, and .sub.g is abbreviated as . .sub.g denotes the azimuth angle formed by the pilot signal and the g-th RIS transmissive array surface, and .sub.g is abbreviated as .
[0030] After transformation, a position vector of the target source is expressed by the wave vector using Equation (3):
where p denotes the position vector of the target source, d.sub.g denotes the Euclidean distance from the target source to the center of the g-th RIS transmissive array surface. When the RIS transmissive array surfaces are not distinguished in subsequent expressions, d.sub.g will be abbreviated as .
[0031] In the distributed RIS transmissive array-assisted positioning system constructed in the embodiments of the present disclosure, it is default that there is no mutual influence between the two receiving antennas connected to the two RIS transmissive array surfaces.
[0032]
[0033] The computing device 200 may be a general-purpose computer or a special-purpose computer, both of which may be configured to implement the method for target position estimation based on the distributed RIS transmissive array of the present disclosure. For convenience, only one computer is shown in
[0034] For example, the computing device 200 may include a communication port 250 that is connected to and/or from a network for data communication. The computing device 200 may also include one or more processors 220 for executing program instructions. Exemplary computer platforms may include an internal communication bus 210, different types of program and data storage devices (e.g., a disk 270, a Read-Only Memory (ROM) 230, or a Random Access Memory (RAM) 240), and various data files processed and/or transmitted by the computer. The exemplary computer platforms also include program instructions stored in the ROM 230, RAM 240, and/or other forms of non-transitory storage media and executed by the processor 220. The methods and/or processes of the present disclosure may be implemented in the form of program instructions. The computing device 200 may also include an Input/Output (I/O) interface 260 that supports input/output between the computer and other components. The computing device 200 may receive programs and data through network communication.
[0035] For illustrative purposes only, only one CPU and/or processor is described in the computing device 200. However, it should be noted that the computing device 200 in the present disclosure may include a plurality of CPUs and/or processors. Therefore, the operations and/or the methods described in the present disclosure as being implemented by one CPU and/or processor may also be implemented jointly or independently by the plurality of CPUs and/or processors. For example, if in the present disclosure, the CPU and/or processor of the computing device 200 executes operation A and operation B, it should be understood that operation A and operation B may also be executed jointly or independently by two different CPUs and/or processors in the computing device 200 (e.g., a first processor executes operation A, a second processor executes operation B, or the first and second processors jointly execute operations A and B).
[0036]
[0037] In 310, the processor configures distributed RISs as an RIS transmissive array, wherein the distributed RISs include two RIS transmissive array surfaces. A target source and receiving radio frequency (RF) chains are respectively disposed on two sides of the RIS transmissive array. The receiving RF chains are connected to receiving antennas, and the target source emits a pilot signal into space.
[0038] The distributed RISs refer to a distributed array system composed of a plurality of independent RIS transmissive array surfaces. The plurality of independent RIS transmissive array surfaces are deployed in a scattered manner (e.g., side by side, at a certain distance, etc.) in space according to a certain layout, and realize the regulation of wireless signal transmission, reflection, or beamforming through collaborative work, thereby enhancing communication performance or improving positioning accuracy.
[0039] In some embodiments, the distributed RISs include two RIS transmissive array surfaces. Each of the two RIS transmissive array surfaces corresponds to an independent receiving RF chain to separately process the signal transmitted by the RIS transmissive array surface and avoid signal crosstalk.
[0040] The receiving RF chain refers to a circuit module connecting the receiving antenna and a signal processing unit. In some embodiments, the receiving RF chain is responsible for converting an RF signal output by the RIS transmissive array into a processable baseband signal, completing signal processing such as signal amplification, filtering, frequency conversion, and providing raw data for subsequent angle estimation and positioning calculation. In some embodiments, the receiving RF chain may include a receiving antenna, a low-noise amplifier, a filter, or the like.
[0041] In some embodiments, the target source and the receiving RF chains are respectively disposed on two sides of the RIS transmissive array, the receiving RF chains are connected to the receiving antennas, and the target source emits the pilot signal into space. The pilot signal is transmitted to the receiving RF chain through the RIS transmissive array, and the processor obtains a received signal. More descriptions regarding the target source, the receiving antenna and the RIS transmissive array may be found in
[0042] In 320, the processor transmits the pilot signal through the RIS transmissive array to the receiving RF chains to obtain the received signal.
[0043] In some embodiments, the processor performs signal modeling on the pilot signal transmitted by the target source. For example, assuming the modeled signal is a narrow-band signal, the pilot signal S.sub.t emitted by the target source at a time point t is transmitted to a receiver connected to a single antenna through lens on the RIS, and E{|s.sub.t|.sup.2}=E.sub.s, t=1,2, . . . , T, E.sub.s denotes an average power of the pilot signal, T denotes a count of time points. There are M array elements on each RIS transmissive array surface. At the time point t, the phase of the array element may be expressed as .sub.t=diag(u.sub.t,0, . . . , u.sub.t,M-1), where the absolute value of the phase of an i-th array element at the time point t is equal to 1, that is: |u.sub.t,i|=1, i=0,1, . . . , M1.
[0044] In some embodiments, at the time point t, an output signal of the receiving antenna y.sub.t (also referred to as the received signal y.sub.t) may be determined by Equation (4):
where e denotes a base of a natural logarithm, j denotes an imaginary unit, denotes a signal phase, and .sub.offset denotes a global phase offset. In some embodiments, lack of phase synchronization between an emitter and the receiver and other influences may lead to a phase offset. g.sub.ant denotes a fixed and known channel gain from the RIS transmissive array surface to the receiving antenna, g.sub.ant,
denotes a set of M1 dimensional complex numbers. .sub.t denotes an RIS array element phase at the time point t. (p) denotes an amplitude vector of the wireless channel between the RIS transmissive array surface and the target source at the time point t, (p)0.sub.M, 0.sub.M denotes an MM dimensional zero matrix. b(p) denotes a phase vector of the channel, b(p)
, [b(p)].sub.i, denotes a phase vector of the i-th array element channel. .Math. denotes a Euclidean distance calculation operation, p denotes the position of the target source, q.sub.i denotes a position of the i-th array element in the RIS transmissive array surface. S.sub.t denotes the pilot signal transmitted by the target signal source. n.sub.t denotes a noise at the time point t, which is an additive white Gaussian noise with a mean value of zero and a variance of N.sub.0/2 (assumed to be independent and identically distributed), N.sub.0 denotes a power spectral density of the noise. b(p)=[b(p)].sub.i denotes that the phase vector of the channel is obtained by summing the phase vector of each array element channel in the RIS transmissive array surface.
[0045] In some embodiments, to further simplify Equation (4), the processor introduces a new variable, and sets the signal vector as s=[s.sub.1, s.sub.2, . . . , s.sub.T].sup.T. The product of the array element phase and the channel gain at the time point t is expressed as: .sub.t=.sub.tg.sub.ant, the set consisting of .sub.t denoted by W, W,
denotes the set of MT dimensional complex numbers. W=[.sub.1, .sub.2, . . . , .sub.T], t=1,2, . . . , T, T denotes the count of time points, the noise vector n=[n.sub.1, n.sub.2, . . . , n.sub.T].sup.T, and the received signal vector y=[y.sub.1, y.sub.2, . . . , y.sub.T].sup.T.
[0046] In some embodiments, the processor combines the output signal of the receiving antenna to simplifies Equation (4) as follows:
where y denotes the output signal of the receiving antenna, e denotes the base of the natural logarithm, j denotes the imaginary unit, .sub.offseet denotes the global phase offset, denotes the wavelength of the pilot signal, d denotes the Euclidean distance from the target source to the center of one of the RIS transmissive array surfaces. .sub.t denotes the product of the array element phase and the channel gain at the time point t, W denotes the set composed of .sub.t, T denotes the count of time points. (p) denotes the amplitude vector of the wireless channel between the RIS transmissive array surface and the target source, (p)0.sub.M. b(p) denotes the phase vector of the channel, b(p). diag(s) denotes a diagonal matrix operation, and denotes a dot product. In some embodiments, the processor sets s.sub.t={square root over (E.sub.s)}, .sub.t, where E.sub.s denotes the average power of the pilot signal.
[0047] In some embodiments, the processor constructs a channel model to obtain the output signal after passing through the channel model.
[0048]
[0049] As shown in
[0050] In some embodiments, the channel constructed by the processor takes into account changes of an amplitude and a phase of the received signal on RIS array elements, which is close to real positioning scenarios. The amplitude depends on a position of the RIS array element relative to the target source (equivalent to a user). The phase depends on a distance from the signal to each RIS array element. The determination of the array element phase needs to consider a wavefront curvature. The phase vector of an i-th array element channel [b(p)].sub.i may be determined by Equation (6):
where pq.sub.i denotes a Euclidean distance from the target source to the i-th array element in each RIS transmissive array surface. .Math. denotes the Euclidean distance calculation operation. q.sub.i denotes the position of the i-th array element in each RIS transmissive array. In some embodiments, when calculating the position coordinates of each RIS transmissive array surface relative to the target source, respectively, the processor establishes a coordinate system with the center of the currently calculated RIS transmissive array surface as the coordinate center. That is to say, the Euclidean distance from the target source to the center of the current RIS transmissive array surface is expressed as dp (as shown in
[0051] In some embodiments, when d>>q.sub.i, i, Equation (7) may be expressed as:
where .Math. denotes the Euclidean distance calculation operation, denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface, denotes the azimuth angle formed by the pilot signal and each RIS transmissive array surface. .sub.i denotes the azimuth angle between the line connecting the i-th array element of each RIS transmissive array surface to the center of the RIS transmissive array surface and the positive direction of the X axis. It may be observed from the Equation (7) that the final result has no relation to the distance from the target source to the RIS transmissive array surface.
[0052] In some embodiments, an amplitude vector of the channel model may be determined by Equation (9):
where [(p)].sub.i.sup.2 denotes the amplitude vector of the channel model, X.sub.i and Y.sub.i denote value sets of x and y respectively, a denotes a size of the array element, and let a=/2 for convenience.
[0053] In some embodiments, after the pilot signal emitted by the target source is transmitted through the channel, the output signal of the receiving antenna may be determined by Equation (10):
where y denotes the output signal of the receiving antenna, y is also referred to as the received signal. E.sub.s denotes the average power of the pilot signal, and denotes an intermediate variable. =(p)e.sup.j, where (p) denotes an amplitude vector of the wireless channel between each RIS transmissive array surface and the target source, e denotes the base of the natural logarithm, j denotes an imaginary unit. denotes a signal phase,
denotes the wavelength of the pilot signal, d denotes the Euclidean distance from the target source to the center of each RIS transmissive array surfaces, .sub.offset denotes a global phase offset. .sub.t denotes a product of an array element phase and a channel gain at the time point t. W denotes a set composed of .sub.t, T denotes a count of time points, T denotes a transpose operation. denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface, G() denotes an intermediate variable related to the elevation angle , denotes the azimuth angle formed by the pilot signal and each RIS transmissive array surface, n denotes a noise vector.
[0054] In 330, the processor determines an azimuth angle and an elevation angle of the target source relative to each of the two RIS transmissive array surfaces by processing the received signal.
[0055] The azimuth angle refers to an angle between a projection of a line connecting the target source to the center of the RIS transmissive array surface on a horizontal plane (the xoy plane) and a preset reference direction (e.g., the positive direction of the X axis) in the plane. A value range of the azimuth angle is typically 0-360.
[0056] The elevation angle refers to an angle between a line connecting the target source to the center of the RIS transmissive array surface and a normal direction of the RIS transmissive array surface (e.g., the positive direction of the Z axis). A value range of the elevation angle is typically 0-90.
[0057] In some embodiments, the processor may perform a Fisher information analysis to design a phase of the RIS transmissive array surface.
[0058] When a noise portion of the output signal of the receiving antenna is ignored, the intermediate variable may be set as ={square root over (E.sub.s)}(p)e.sup.jW.sup.Tb(p), wherein an unknown parameter may be set as =[(p)p].sup.T.
[0059] In some embodiments, a Fisher Information Matrix (FIM) F() may be determined by Equation (11):
where denotes a portion of the output signal of the receiving antenna without considering noise, denotes the unknown parameter.
[0060] In some embodiments, the partial derivatives may be expressed as /(p)={square root over (E.sub.s)}e.sup.jW.sup.Tb(p), /={square root over (E.sub.s)}(p)je.sup.jW.sup.Tb(p), /p={square root over (E.sub.s)}(p)e.sup.jW.sup.TD(p), D(p), and D(p) may be determined by Equation (12):
where D(p) denotes a phase space change rate of the target source, p denotes a coordinate of the position of the target source. d denotes the Euclidean distance from the target source to the center of each RIS transmissive array surface. b(p) denotes the phase vector of the channel. An intermediate variable e.sub.i is introduced, e.sub.i=(q.sub.ip)/q.sub.ip, wherein q.sub.i denotes the position of the i-th array element in each RIS transmissive array surface, .Math. denotes the Euclidean distance calculation operation, and a set composed of e.sub.i is expressed as: Q=[e.sub.0, e.sub.1, . . . , e.sub.M1].
[0061] In some embodiments, F() denotes the Fisher information matrix of all unknown information. It is necessary to obtain an equivalent FIM information matrix F(p) related to a user position. F(p) may be determined by Equation (13):
where [F()].sub.1,1 denotes an element in a first row and a first column of the F() matrix. [F()].sub.3:5,3:5 denotes elements in rows 3 to 5 and columns 3 to 5 of the F() matrix. [F()].sub.3:5,1:2 denotes the elements in rows 3 to 5 and columns 1 to 2 of the F() matrix. [F()].sup.1.sub.1:2,1:2 denotes an inverse of the elements in rows 1 to 2 and columns 1 to 2 of the F() matrix. [F()].sub.1:2,3:5 denotes elements in rows 1 to 2 and columns 3 to 5 of the F() matrix. N.sub.0 denotes the power spectral density of the noise.
* denotes a complex conjugate. The product of the phase and the channel gain is .sub.t=.sub.tg.sub.ant, so W=[.sub.1, .sub.2, . . . , .sub.T]. b(p) is the phase vector of the channel. b.sup.H(p) denotes a conjugate transpose of the phase vector of the RIS transmissive array surface. (p) denotes the amplitude vector of the wireless channel between the RIS transmissive array surface and the target source.
[0062] The present disclosure uses a positioning error bound (PEB) to express positioning performance, which is compared with the performance of other positioning models. The PEB in meters may be determined by Equation (14):
where PEB denotes the positioning error bound, [F.sup.1()].sub.3:5,3:5 denotes an inverse of the elements in rows 3 to 5 and columns 3 to 5 of the F() matrix, trace denotes a trace operation, [F.sup.1(p)] denotes an inverse of the matrix.
[0063] In some embodiments, the PEB may be correlated with a Root Mean Square Error (RMSE) of an unbiased estimator {circumflex over (p)} through Inequality (15):
where {circumflex over (p)} denotes an estimated position of the target source, .Math. denotes the Euclidean distance calculation operation, p denotes an actual position of the target source set in the simulation, E{.Math.} denotes an expectation calculation.
[0064] The performance of the target source position estimation is closely related to the phase design of the RIS transmissive array surface. To eliminate the effect of a fixed known channel gain from the RIS array to a single receiving antenna, the processor designs .sub.t=.sub.ant{tilde over ()}.sub.t, where a fixed phase .sub.ant=diag(.sub.ant,0, . . . , .sub.ant,M1) {tilde over ()}.sub.diag({tilde over ()}.sub.t,0, {tilde over ()}.sub.t,1, . . . , {tilde over ()}.sub.t,M1)), and [g.sub.ant.sup.T.sub.ant].sub.i=|[g.sub.ant.sup.T].sub.i|, i. The phase of each array element of the RIS array at any time point is set separately. The phase of each array element at the time point t is: ({tilde over ()}.sub.t,i=exp(j.sub.t,i), wherein .sub.t,1u(0,2), u(0,2) denotes uniform distribution from 0 to 2.
[0065] In some embodiments, the processor estimates the elevation angles of the target source relative to the two RIS transmissive array surfaces respectively based on maximum likelihood estimation. Based on the estimated elevation angles , the processor obtains the azimuth angles R through maximum likelihood estimation, constructs a geometric relationship model, and determines a most likely position of the target source. That is to say, the processor estimates the position of the target source through a non-coplanar line geometric positioning manner.
[0066] In some embodiments, the phase vector b(p) of the channel contains information of the elevation angle and the azimuth angle . Therefore, Equation (10) is rewritten as:
where y denotes the output signal of the receiving antenna after channel transmission, E.sub.s denotes the average power of the pilot signal, denotes the intermediate variable introduced to simplify Equation (10). .sub.t denotes the product of the array element phase and the channel gain at the time point t. W denotes the set composed of .sub.t, T denotes the count of time points. and are the elevation angle and the azimuth angle formed by the signal and each RIS transmissive array surface, respectively. n denotes the noise vector. [b(,)].sub.i denotes a phase vector of the i-th element.
[0067] In some embodiments, the processor may simplify the phase vector by ignoring the amplitude change of the pilot signal. The phase vector for the i-th element may be determined by Equation (17):
where [b(, )].sub.i denotes the phase vector of the i-th element. denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface. denotes the azimuth angle formed by the pilot signal and each RIS transmissive array surface. denotes the wavelength of the pilot signal. .sub.i denotes an azimuth angle of the RIS array element. r.sub.i denotes a distance from the i-th array element in the RIS transmissive array surface to the center of the RIS transmissive array surface.
[0068] In some embodiments, the processor re-expresses the above Equation (17) using a Bessel expansion equation as follows:
where J.sub.n(.Math.) denotes an n-th order Bessel function, and n typically takes a value of 2. denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface. denotes the azimuth angle formed by the pilot signal and each RIS transmissive array surface. denotes the wavelength of the pilot signal. .sub.i denotes the azimuth angle of the i-th array element in each RIS transmissive array surface. r.sub.i denotes the distance from the i-th array element in the RIS transmissive array surface to the center of the RIS transmissive array surface.
[0069] In some embodiments, by ignoring the case where |n|>N (as n increases, |J.sub.n(.Math.)| tends towards zero), the processor may obtain Equation (19):
where |J.sub.n(.Math.)| denotes the n-th order Bessel function. N denotes a value beyond which the function decays to zero. denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface. denotes the azimuth angle formed by the pilot signal and each RIS transmissive array surface. denotes the wavelength of the pilot signal. .sub.i denotes the azimuth angle of the i-th array element in each RIS transmissive array surface. r.sub.i denotes the distance from the i-th array element in each RIS transmissive array surface to the center of the RIS transmissive array surface.
[0070] In some embodiments, the intermediate variable G() is expressed as: G()=[g.sub.0() . . . g.sub.M1()], wherein the expression of the i-th element g.sub.i() related to the elevation angle is:
where g.sub.i() denotes the i-th element of the intermediate variable G() related to the elevation angle , i denotes an index of the array element, M denotes a count of array elements in each RIS transmissive array surface, J.sub.n(.Math.) denotes the n-th order Bessel function, with n=2. j denotes the imaginary unit. denotes the elevation angle formed by the pilot signal and each RIS transmissive array surface. denotes the wavelength of the pilot signal. .sub.i denotes an angle between the line connecting the i-th array element in each RIS transmissive array surface to the origin and the positive direction of the X axis. r.sub.i denotes the distance from the i-th array element in each RIS transmissive array surface to the center of the RIS transmissive array surface.
[0071] In some embodiments, the phase vector may be expressed as:
Let G()=[g.sub.0() . . . g.sub.M1()], then:
[0072] In some embodiments, the processor expresses the elevation angle and the azimuth angle separately, and rewrites Equation (16) to obtain Equation (23):
where y denotes the output signal of the receiving antenna after channel transmission.
[0073] In some embodiments, the processor obtains an optimization function for the elevation angle based on the expression of the output signal of the receiving antenna, obtains an estimated value of the elevation angle by performing a grid search over a range of 0 to 90 for the elevation angle , and introduces an intermediate variable , where ={square root over (E.sub.s)}h(), denotes the intermediate variable used to simplify the equation, and =e.sup.j. {circumflex over ()}() may be determined by Equation (24):
[0074] In some embodiments, the optimization function for the elevation angle is expressed as:
where y denotes the output signal of the receiving antenna, {circumflex over ()} denotes the estimated value of the elevation angle , .Math. denotes the Euclidean distance calculation operation, {circumflex over ()}() denotes an estimated value represented as a function of the elevation angle . G()=[g.sub.0() . . . g.sub.M1()], G*() denotes a complex conjugate of G(), W* denotes a complex conjugate of W.
[0075] In some embodiments, the processor may determine elevation angles .sub.1 and .sub.2 of the target source relative to the two RIS transmissive array surfaces, respectively. .sub.1 denotes an elevation angle of the target source relative to the first RIS transmissive array surface, and 2 denotes an elevation angle of the target source to the second RIS transmissive array surface.
[0076] In some embodiments, the processor substitutes the estimated value of the elevation angle into the transformed expression of the output signal of the receiving antenna, obtains an optimization function for the azimuth angle , and obtains an estimated value of the azimuth angle by performing a grid search over a range of 0 to 360 for the azimuth angle , wherein the optimization function for the azimuth angle is expressed as:
where y denotes the output signal of the receiving antenna, referred to as the received signal for short. {circumflex over ()} denotes the estimated value of the azimuth angle , {circumflex over ()}() denotes a maximum likelihood estimation (MILE) of with respect to the azimuth angle .
[0077] In some embodiments, the processor may determine azimuth angles .sub.1 and .sub.2 of the target source relative to the two RIS transmissive array surfaces, respectively. 1 denotes an azimuth angle of the target source relative to the first RIS transmissive array surface, and 2 denotes an azimuth angle of the target source relative to the second RIS transmissive array surface.
[0078] In some embodiments, the processor may construct the optimization function for solving the azimuth angle through the following operations.
[0079] The processor builds a maximum likelihood estimation model, let =(p)e.sup.j to obtain an MLE of the channel gain and an MLE of the position of the target source, expressed as:
where {circumflex over ()} denotes the MLE of the channel gain, {circumflex over (p)} denotes the MLE of the position of the target source.
[0080] In some embodiments, the processor solves for an MLE {circumflex over ()}(p) of {circumflex over ()} with respect to the position p of the target source based on the MLE of the channel gain. In some embodiments, {circumflex over ()}(p) may be determined by Equation (28):
where W* denotes the complex conjugate of W. y denotes the output signal of the receiving antenna after channel transmission. b.sup.H(p) denotes the conjugate transpose of b(p).
[0081] For simplicity, let s.sub.t={square root over (E.sub.s)}, t.
[0082] In some embodiments, the processor substitutes the estimated value {circumflex over ()} to obtain the estimated value {circumflex over (p)}:
where {circumflex over (p)} denotes the MLE of the position of the target source, .Math. denotes the Euclidean distance calculation operation,
denotes an orthogonal projection operator on L, L=W.sup.Tb(p) denotes a product between a channel phase gain matrix and the phase vector of the channel.
[0083] In some embodiments, the processor substitutes G.sup.T({circumflex over ()})h() for b(p) in Equation (28) based on the MLE {circumflex over ()}(p) of {circumflex over ()} with respect to the position of the target source p, where b(p)=G.sup.T(({circumflex over ()})h(), to obtain the MLE {circumflex over ()}() of {circumflex over ()} with respect to the azimuth angle . In some embodiments, {circumflex over ()}() may be determined by Equation (30):
where {circumflex over ()}() denotes the MILE of with respect to the azimuth angle , G.sup.T({circumflex over ()}) denotes a transpose of G({circumflex over ()}).
[0084] In 340, the processor constructs two rays respectively passing through the centers of the two RIS transmissive array surfaces based on the azimuth angles and the elevation angles of the target source relative to the two RIS transmissive array surfaces, and determines a median of a shortest distance between the two rays.
[0085] In some embodiments, a position of the median is determined as the position of the target source.
[0086] In some embodiments, the processor may respectively obtain a first ray l.sub.1 and a second ray l.sub.2 that pass through the centers of the RIS transmissive array surfaces and have azimuth angles R and elevation angles corresponding to those of the target source, based on the azimuth angles R and elevation angles of the target source relative to the first and second RIS transmissive array surfaces respectively.
[0087] For the first RIS transmissive array surface, the processor respectively obtains the first ray l.sub.1 that passes through the center of the first RIS transmissive array surface and has an azimuth angle and an elevation angle corresponding to the azimuth angle and elevation angle of the target source relative to the first RIS transmissive array surface, based on the azimuth angle and elevation angle of the target source relative to the first RIS transmissive array surface.
[0088] For the second RIS transmissive array surface, the processor respectively obtains the second ray l.sub.2 that passes through the center of the second RIS transmissive array surface and has an azimuth angle and an elevation angle corresponding to the azimuth angle and elevation angle of the target source relative to the second RIS transmissive array surface, based on the azimuth angle and elevation angle of the target source relative to the second RIS transmissive array surface.
[0089] Merely by way of example, the first ray l.sub.1 and the second ray l.sub.2 may be determined by Equation (31):
where l.sub.1 denotes the first ray that passes through the center of the first RIS transmissive array, l.sub.2 denotes the second ray that passes through the center of the second RIS transmissive array. p.sub.1 denotes the coordinates of a point through which the first ray passes, p.sub.2 denotes the coordinates of a point through which the second ray passes. denotes a slope of the first ray, T denotes a slope of the second ray. .sub.1 denotes a direction vector of the first ray, .sub.2 denotes a direction vector of the second ray. [x.sub.1, y.sub.1, z.sub.1].sup.T denote position coordinates of any point on the first ray, [x.sub.2, y.sub.2, z.sub.2] denote position coordinates of any point on the second ray. T denotes a transpose operation. .sub.1 denotes the elevation angle of the first ray, .sub.1 denotes the azimuth angle of the first ray, .sub.2 denotes the elevation angle of the second ray, .sub.2 denotes the azimuth angle of the second ray.
[0090] In some embodiments, the processor may obtain a vector perpendicular to both the first ray l.sub.1 and the second ray l.sub.2. Merely by way of example, the vector perpendicular to both the first ray l.sub.1 and the second ray l.sub.2 may be determined by Equation (34):
where denotes the vector perpendicular to both the first ray l.sub.1 and the second ray l.sub.2., .sub.1 denotes the direction vector of the first ray, .sub.2 denotes the direction vector of the second ray.
[0091] In some embodiments, the processor translates the second ray l.sub.2 along the vector to form a plane a, and obtains an intersection point t.sub.1 between the first ray l.sub.1 and the plane a. The intersection point t.sub.1 is a point on the first ray l.sub.1 closest to the second ray l.sub.2. Merely by way of example, the intersection point t.sub.1 may be determined by Equation (35):
where p.sub.1 denotes the coordinates of the point through which the first ray l.sub.1 passes, p.sub.2 denotes the coordinates of the point through which the second ray l.sub.2 passes, .sub.2 denotes a vector perpendicular to the plane a formed by the second ray l.sub.2.
[0092] In some embodiments, the processor translates the second ray l.sub.2 along the vector perpendicular to the first ray l.sub.1 and the second ray l.sub.2 to form a plane b. The plane b contains the point p.sub.1 and is perpendicular to .sub.1=.sub.1. The intersection point between the second ray l.sub.2 and the plane a is the point t.sub.2 on the second ray l.sub.2 closest to the first ray l.sub.1. Merely by way of example, the intersection point t.sub.2 may be determined by Equation (36):
where .sub.1 denotes a vector perpendicular to the plane b formed by the first ray l.sub.1.
[0093] In some embodiments, the processor may connect the intersection point t.sub.1 between the ray l.sub.1 and the plane a with the intersection point t.sub.2 between the second ray l.sub.2 and the plane a, and determine the center position of the line segment connecting the two intersection points as the position of the target source.
[0094] In some embodiments, MATLAB software may be used for result simulation. Simulation parameters may include the following.
[0095] In the distributed array model, the centers of the two RIS transmissive array surfaces are set as [0 0 0].sup.T and [0 3 0].sup.T, respectively. A receiving antenna is placed behind each RIS transmissive array surface, located at [0 0].sup.T and [0 3].sup.T directly below the transmissive array surfaces. The signal operating frequency is 28 GHz, the signal source transmission power is set to 1 mW, the power spectral density of noise is set to 174 dBm/Hz, and the receiver noise figure is 8 dB. The bandwidth is set to 1 MHz to facilitate positioning based on 0.2 ms of observations. Prior information of a user position is modeled using a Gaussian probability density function (p)=(p; m.sub.p, .sub.p), wherein .sub.p=.sup.2I.sub.3. The prior information is used in the design of RIS phases and is not involved in the positioning process and PEB calculation. N=5 is used for extended position estimation. To eliminate the influence of the count of array elements on positioning performance, a single RIS transmissive array surface may have 5050 array elements in the position estimation process, and each of the two array surfaces in the distributed array model has 3535 array elements. To reduce errors caused by the randomness of a single simulation, the RMSE value for each position in the simulation is obtained by averaging results of 200 Monte Carlo trials.
[0096]
[0097] In some embodiments, as shown in
[0098] In some embodiments, a plurality of distributed RIS transmissive arrays may be disposed on the surface of a building in a smart factory. The smart factory is equipped with an Automated Guided Vehicle (AGV) and includes a processor. The processor is in communication connection with the RIS transmissive arrays and the AGV. In some embodiments of the present disclosure, the method for target position estimation based on the distributed RIS transmissive array is executed by the processor.
[0099] In some embodiments, a miniature signal transmitter is installed on the AGV. The miniature signal transmitter may serve as the target source.
[0100] In some embodiments, the method for target position estimation based on a distributed RIS transmissive array further includes: determining a current path of the AGV based on the position of the target source, updating a movement parameter of the AGV based on a relationship between the current path of the AGV and a preset path, and controlling the AGV to move to an end position of the preset path based on an updated movement parameter.
[0101] In some embodiments, the plurality of distributed RIS transmissive arrays may be disposed on a wall or ceiling of the smart factory. In some embodiments, the plurality of distributed RIS transmissive arrays may also be disposed on surfaces of other buildings.
[0102] In some embodiments, the processor may take the AGV equipped with the miniature signal transmitter as the target source.
[0103] The position of the target source refers to coordinates of a device to be positioned in three-dimensional space. In some embodiments, the processor may take the position of the AGV as the position of the target source.
[0104] In some embodiments, the processor may connect a plurality of positions of the AGV over a period of time to form the current path of the AGV.
[0105] The preset path refers to a pre-planned movement route that reaches the end position at a specific time. For example, in the smart factory, the preset path may be automatically generated based on a destination of the AGV.
[0106] The movement parameter of the AGV refers to a quantitative indicator describing a movement state of the AGV. In some embodiments, the movement parameter of the AGV may include a linear velocity, an angular velocity, an acceleration, a position coordinate, or the like.
[0107] In some embodiments, the processor may update the movement parameter of the AGV in various ways based on the relationship between the current path of the AGV and the preset path.
[0108] For example, in response to an offset value of the current path of the AGV relative to the preset path being less than an offset threshold, the processor does not update the movement parameter of the AGV. In response to the offset value of the current path of the AGV relative to the preset path being greater than the offset threshold, the processor updates the movement parameter of the AGV by querying a preset table based on the offset value. The preset table includes a plurality of corresponding relationships between offset values and updated movement parameters. The preset table may be constructed by a technician based on historical data. The offset threshold may be preset by the technician based on experience.
[0109] In some embodiments, the processor controls the AGV to move to the end position of the preset path based on the updated movement parameters.
[0110] In some embodiments of the present disclosure, by installing the plurality of distributed RIS transmissive arrays on the surfaces of buildings in the smart factory, signal transmission problems caused by building occlusion can be effectively avoided, the position information of the target source on the AGV can be accurately captured and transmitted to the processor, which greatly improves the positioning accuracy of the AGV, thereby providing a reliable basis for positioning-based path planning, movement parameter update, and precise control. This approach ensures that the AGV can move to the end position along the preset path more stably and efficiently, thus significantly optimizing the automated operation efficiency of the smart factory.
[0111] In some embodiments, the processor may be further configured to determine activation times of the plurality of distributed RIS transmissive arrays based on installation positions of the plurality of distributed RIS transmissive arrays, a plurality of preset paths of the AGV, and obstacle information of the smart factory; and control the activation of one or more of the plurality of distributed RIS transmissive arrays based on the activation times.
[0112] The installation positions of the plurality of distributed RIS transmissive arrays refer to locations at which the plurality of distributed RIS transmissive arrays are installed in the smart factory. The installation positions of the plurality of distributed RIS transmissive arrays may be preset by the technician based on experience.
[0113] The obstacle information of the smart factory refers to information about obstacles in the smart factory that may affect signal transmission. For example, the obstacle information includes walls, devices that may cause interference, or the like. In some embodiments, the obstacle information may be preset by the technician. For example, the obstacle information is input by the technician.
[0114] When the AGV is not operating, or the AGV is moving but there are no obstacles or the AGV has not moved to an area with obstacles, the plurality of distributed RIS transmissive arrays may enter a dormant state, switch to a low-power mode, or be turned off to reduce energy consumption. The activation time refers to a time at which the plurality of distributed RIS transmissive arrays are activated to work.
[0115] In some embodiments, the processor may determine the activation times of the plurality of distributed RIS transmissive arrays through an energy-saving model based on the installation positions of the plurality of distributed RIS transmissive arrays, the plurality of preset paths of the AGV, and the obstacle information of the smart factory.
[0116] The energy-saving model refers to a model configured to determine the activation times. In some embodiments, the energy-saving model may be a machine learning model. For example, the energy-saving model includes a neural network (NN), a custom model structure, or the like, or any combination thereof.
[0117] In some embodiments, an input of the energy-saving model may include the installation positions of the plurality of distributed RIS transmissive arrays, the plurality of preset paths of the AGV, and the obstacle information of the smart factory. An output of the energy-saving model may be the activation time of each distributed RIS transmissive array.
[0118] In some embodiments, the plurality of preset paths of the AGV may include preset paths for the AGV to reach different destinations at different time points. For example, the plurality of preset paths of the AGV may be that the AGV reaches destination A at time point 1, destination B at time point 2, destination C at time point 3, and so on.
[0119] In some embodiments, the energy-saving model may be obtained through training based on first training samples with first labels. In some embodiments, the first training samples may include sample installation positions of a plurality of sample distributed RIS transmissive arrays, a plurality of sample preset paths of a sample AGV, and sample obstacle information of a sample smart factory. The first labels are the actual activation times of the plurality of sample distributed RIS transmissive arrays.
[0120] In some embodiments, the first training samples and the first labels may be determined based on preferred historical data of the sample AGV. The preferred historical data refers to historical data where an AGV path correction frequency is less than a correction threshold and a count of AGV stagnation/failure events is less than a failure count threshold. The correction threshold and the failure count threshold may be preset by the technician based on experience. The preferred historical data may be obtained through annotation by the technician.
[0121] The AGV path correction frequency refers to a count of times the processor updates the movement parameter of the AGV. The AGV stagnation/failure events refer to stagnation or failure events of the AGV caused by poor communication, positioning failure, or path problems. In some embodiments, the AGV path correction frequency and AGV stagnation/failure events may be directly obtained by the processor based on the preferred historical data. For example, the AGV path correction frequency and AGV stagnation/failure events are determined through statistics based on the preferred historical data.
[0122] For example, the processor may take historical installation positions of the plurality of distributed RIS transmissive arrays, the plurality of historical preset paths of the AGV, and historical obstacle information of the smart factory in the preferred historical data as the first training samples, and take the actual historical activation times of the distributed RIS transmissive arrays as the first labels.
[0123] In some embodiments, the processor may perform training through various manners based on the training samples and the labels. For example, the processor performs training based on a gradient descent manner. Merely by way of example, the processor may input a plurality of labeled training samples into an initial energy-saving model, construct a loss function based on the labels and results of the initial energy-saving model, and iteratively update parameters of the initial energy-saving model based on the loss function. When the loss function of the initial energy-saving model meets a preset condition, the model training is completed, and the trained energy-saving model is obtained. The preset condition may be that the loss function converges, a count of iterations reaches a threshold, or the like.
[0124] In some embodiments, the processor may control activation of one or more of the plurality of distributed RIS transmissive arrays based on the activation time of each distributed RIS transmissive array.
[0125] In some embodiments of the present disclosure, by determining the activation times based on the installation positions of the plurality of distributed RIS transmissive arrays, the plurality of preset paths of the AGV, and the obstacle information of the smart factory, and controlling the activation of the arrays accordingly, the distributed RIS transmissive arrays can be put into the dormant state, enter the low-power mode, or even be turned off in a timely manner when the AGV is not operating, or the AGV is moving but has not encountered obstacles or entered an area with obstacles. Thereby, energy waste caused by continuous operation of the arrays in scenarios where they are not needed is avoided, significantly reducing the overall energy consumption of the system. Meanwhile, the positioning performance of the AGV when precise positioning is required remains unaffected. This approach ensures the efficient and accurate operation of AGV in the smart factory while achieving rational energy utilization and optimization of system operational costs.
[0126] One or more embodiments of the present disclosure further provides a non-transitory computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the method for target position estimation based on the distributed RIS transmissive array as described in any one of the above embodiments.
[0127] The drawings used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in an inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
[0128] The descriptions of the system and its modules in the embodiments of the present disclosure are only for convenience of description and are not limited to the scope of the enumerated embodiments. It may be possible to make any combination of modules or form a sub-system to connect with other modules without departing from the principles of the system.
[0129] It should be noted that the above descriptions are merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure.
[0130] The particular features, structures, or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
[0131] Aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a unit, module, or system. The above hardware or software can be referred to as data block, module, engine, unit, component, or system, etc. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0132] The computer storage medium may be any computer-readable medium that may communicate, propagate, or transmit a program for use by connecting to an instruction execution system, device, or equipment. The program code located on the computer storage medium may be propagated through any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0133] The computer program code required for the operations of each part of the present disclosure may be written in any one or more programming languages. The program code may be run entirely on the user's computer, run as an independent software package on the user's computer, run partially on the user's computer and partially on a remote computer, or run entirely on the remote computer or processing device. In the latter case, the remote computer may be connected to the user's computer through any form of network, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, through the Internet), or in a cloud computing environment, or used as a service such as Software as a Service (SaaS).
[0134] Finally, it should be understood that the embodiments described in the present disclosure are only used to illustrate the principles of the embodiments of the present disclosure. Other variations may also fall within the scope of the present disclosure. Therefore, as an example and not a limitation, alternative configurations of the embodiments of the present disclosure may be regarded as consistent with the teachings of the present disclosure. Accordingly, the embodiments of the present disclosure are not limited to the embodiments introduced and described in the present disclosure explicitly.