CN110830938B - Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening - Google Patents

Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening Download PDF

Info

Publication number
CN110830938B
CN110830938B CN201910796635.XA CN201910796635A CN110830938B CN 110830938 B CN110830938 B CN 110830938B CN 201910796635 A CN201910796635 A CN 201910796635A CN 110830938 B CN110830938 B CN 110830938B
Authority
CN
China
Prior art keywords
rss
row
sub
hash
positioning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910796635.XA
Other languages
Chinese (zh)
Other versions
CN110830938A (en
Inventor
赵俭辉
钟姗杉
蔡波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201910796635.XA priority Critical patent/CN110830938B/en
Publication of CN110830938A publication Critical patent/CN110830938A/en
Application granted granted Critical
Publication of CN110830938B publication Critical patent/CN110830938B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Abstract

The invention relates to a method for quickly realizing fingerprint positioning screened by aiming at an indoor signal source deployment scheme. The method comprises the steps of firstly generating a sub-fingerprint library corresponding to a deployment scheme, calling a multi-core parallel nested Hash search multi-level acceleration method when the sub-fingerprint library is generated, then positioning all test point positions and determining a deployment scheme positioning error, calling the multi-core parallel nested Hash search and SIMD combined multi-level acceleration method in the positioning process, and finally screening all signal source deployment schemes to obtain an optimal scheme. The invention uses SIMD technology to realize multi-data parallel computation in the RSS distance computation process, thereby improving the positioning speed. The invention applies the multi-core or multi-GPU technology to process a plurality of reference points RSS and a plurality of test point positioning in parallel, thereby greatly improving the calculation speed. The invention uses the Hash search algorithm to solve the problem that the time is too long due to frequent search when the fingerprint database array subscript searches the signal source ID.

Description

Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening
Technical Field
The invention belongs to the technical field of computer application technology and indoor positioning, and mainly relates to a quick fingerprint positioning implementation method for screening indoor signal source deployment schemes by coupling SIMD (single instruction multiple data) instructions, multi-core or multi-GPU (graphic processing unit) parallelism and a Hash search algorithm.
Background
Currently, the global positioning system GPS has been applied to various aspects of people's lives. Although GPS is widely active in the outdoor world, when the GPS arrives indoors, signal attenuation of the GPS is very serious due to a complicated indoor environment and numerous obstacles, and accurate positioning is difficult, so that indoor positioning becomes a popular problem in research.
The indoor positioning technology can adopt various signals for positioning, such as WIFI positioning technology, Bluetooth positioning technology, infrared positioning technology, ZigBee positioning technology and the like. Taking the widely applied WIFI positioning technology as an example, currently, a plurality of WIFI devices are distributed indoors and used as wireless Access Points (APs). Each AP has a unique MAC address. Many mobile terminals, such as cell phones, tablets, etc., may scan for surrounding AP signals. After the mobile terminal collects the AP signals, the mobile terminal position is determined through a certain algorithm according to the MAC address corresponding to the AP and the AP signal strength.
Indoor positioning methods can be divided into four major categories: propagation models, area cells, fingerprinting, and polygon methods. Among them, the fingerprint method is most widely used. As the name implies, the fingerprint method relates the fingerprint to a certain position in a room according to the unique characteristics of the fingerprint of each person. A location receives or transmits a signal, and the characteristics of that signal can be used as a fingerprint for that location. Specifically, the fingerprint method is divided into an off-line library building stage and an on-line positioning stage. The off-line library building stage mainly comprises the following steps: the signal values received by each AP at a point are recorded at a reference point at a known specific location and these signal values will constitute a fingerprint of the reference point, which can be represented by RSS. The RSS of all reference points will constitute a fingerprint library. The on-line positioning stage mainly comprises: the RSS of the point is recorded at different test points by the mobile device, and the RSS closest to the test point is searched in a fingerprint database. The specific position of the test point can be deduced by the algorithm according to the position of the reference point corresponding to the nearest RSS.
In practical applications, it is often desirable to obtain a high accuracy position fix at a low cost. Thus, fingerprinting algorithms can be used to test the positioning error of different cost deployment scenarios. However, deployment scenarios are hundreds to thousands, and thus the corresponding need to run fingerprinting algorithms frequently. This can take a significant amount of time and delay the evaluation of the selection scheme progress. Based on the reasons, the invention provides a method for quickly realizing fingerprint positioning screened by aiming at an indoor signal source deployment scheme.
Because high-dimensional vector calculation is required in the online positioning stage of the fingerprint method, the method adopts the SIMD technology to carry out accelerated optimization. SIMD is an abbreviation of english singlelnstrument Multiple Data, and refers to a single instruction processing Multiple Data technology, which can simultaneously perform the same operation on Multiple Data, thereby achieving spatial parallelism. After the SIMD is applied to high-dimensional vector operation, the program can only operate numerical values of one dimension from the original one-time calculation instruction, and the two or four dimensions are improved.
The reference point and the test point RSS are collected and recorded in advance, and no operational relevance exists between data. Therefore, in screening the signal source deployment scheme, some operations may be performed in parallel, such as determining the deployment scheme positioning error for all test point positioning. The invention adopts the multi-core or multi-GPU parallel programming technology to realize parallel acceleration. The multi-core parallel programming technology refers to that the parallel threads in the program are handed over to a plurality of cores for processing, thereby improving the running speed of the program
In the test point positioning process, a search algorithm needs to be called, and the corresponding reference point ID is determined according to the serial number of the matched RSS, so that the position coordinate of the reference point is obtained. However, the time complexity of the common search algorithm, such as sequential search, binary search, etc., is high. Therefore, the invention adopts a Hash search algorithm and utilizes the idea of space time conversion to realize the search with the time complexity of O (1).
Disclosure of Invention
In view of the above technical problems, an object of the present invention is to provide a method for quickly implementing fingerprint positioning for screening an indoor signal source deployment scheme, so as to quickly evaluate and determine a final deployment scheme.
In order to achieve the purpose, the technical scheme of the invention is as follows:
step 1, generating a sub-fingerprint library corresponding to the deployment scheme, wherein a multi-core parallel nested hash search multi-level acceleration method is called when the sub-fingerprint library is generated.
And 2, positioning the positions of all the test points, determining the positioning error of the deployment scheme, and calling a multi-core parallel nested Hash search and SIMD combined multi-level acceleration method in the positioning process.
And 3, screening all the signal source deployment schemes to obtain an optimal scheme.
The step 1 of generating the sub-fingerprint library corresponding to each deployment scheme comprises the following sub-steps:
step 1.1 first collects relevant data and generates a total fingerprint database. And deploying n APs indoors as a selection range of a deployment scheme. Each AP has a unique ID. Then, these n AP locations are taken as test points and reference points. Wherein, collecting n AP signal values at each test point as RSS of the test pointtWriting (r)1,r2,…rn) A row vector form; collecting n AP signal values per reference point asRSS of the reference pointrWriting (R)1,R2,…Rn) And assembling into a total fingerprint library of size n x n. The total fingerprint library is specifically formed as follows:
Figure BDA0002181143470000021
step 1.2 determines a certain deployment scenario. And selecting m APs from the n APs as a deployment scheme (m is less than or equal to n), and recording the IDs of the m APs.
Step 1.3, aiming at the determined deployment scheme, utilizing multi-core or multi-GPU to parallelly and quickly traverse each row in the total fingerprint library and parallelly processing a plurality of RSSsrAnd obtaining the sub-fingerprint library corresponding to the deployment scheme. The following substeps are directed to an RSSrAnd (6) working.
Step 1.3.1 optimization of accelerated RSS using Hash lookup AlgorithmrAnd (6) processing. And searching corresponding m AP signal values according to the ID of the AP member in the deployment scheme. To accelerate the AP signal value RiAccording to ID and RSSrDetermining hash function hash (key) according to mapping relation of index i of corresponding element in the hash table, and constructing the hash table. And taking the ID value as a key value, and outputting an element subscript i corresponding to the ID by Hash (ID). Therefore, the ID can be directly substituted into the hash table, and the search with the time complexity of O (1) is realized.
Step 1.3.2 m R are found out in turn according to the previous stepiComposing reference points RSS under a deployment scenario in increasing order by subscript ir', write (R'1,R′2,…R′m) Row vector form.
Step 1.3.3 Total RSS'rAnd collecting the sub-fingerprint libraries with the size of n m. The sub-fingerprint library is specifically formed as follows:
Figure BDA0002181143470000031
wherein R'ijIndicating that the ith reference point received the signal value of the jth AP.
The step 2 of positioning the positions of all the test points and determining the positioning error of the deployment scheme comprises the following substeps:
and 2.1, traversing each test point by using multi-core parallel acceleration, and positioning the positions of a plurality of test points in parallel. The following substeps work for one test point.
Step 2.1.1 read test point RSSt
Step 2.1.2 optimization of accelerated RSS using Hash lookup AlgorithmtAnd (6) processing. RSS as with sub-fingerprint library buildingtM corresponding AP signal values in the deployment scenario need to be screened out. The procedure here is identical to steps 3.1.1, 3.1.2, and no redundant explanation is made. Finally constructing test point RSS 'under deployment scheme'tWrite (r'1,r′2,…r′m) Row vector form.
Step 2.1.3 traversing the sub-fingerprint database to obtain RSS'tAnd RSS 'per line in the Bank'rAnd performing distance calculation. Wherein the distance is denoted as distancerowAnd row is RSS'rThe row number in the sub-fingerprint library. The following substeps are for a line of RSS'rAnd RSS'tThe distance calculation work.
Step (1) accelerating RSS 'by SIMD'rAnd RSS'tAnd (5) calculating the distance. The distance calculation formula is specifically defined as
Figure BDA0002181143470000032
Figure BDA0002181143470000033
According to the AVX instruction set, three 256-bit general purpose registers x, y, z are utilized. Wherein the first two registers respectively store R 'with 4 subscripts being consecutive'iAnd r'i(R′iAnd r'iIs set to double, accounting for 64 bits), the third register stores the result with an initial stored value of 0. For RSS'rAnd RSS'tMiddle front
Figure BDA0002181143470000034
Elements of a dimension have sub-steps, where a sub-step is for a set of 4 consecutive dimensions of elementsAnd (6) working.
R from RSS'rAnd RSS'tElements of 4 consecutive dimensions are loaded into x, y, respectively.
② the data difference value of xy is calculated by using _ mm256_ sub _ pd and is stored in 256-bit register temp.
③ calculate the square value of temp using _ mm256_ mul _ pd and store the result in temp again.
And fourthly, calculating the sum of temp and z by using the _ mm256_ add _ pd, and storing the result in z.
And (2) dividing 256 bits of data in z into 4 pieces of 64-bit sub data, converting the sub data into double types, and adding to obtain a result 1.
And (3) if m is a multiple of 4, setting the result1 of the previous step as a distance value. Otherwise, the parts that are not to be evenly divided are computed in the normal way, resulting in result 2. Then the distance value is the sum of result1 and result 2.
Step 2.1.4 finding k nearest distance distances in the sub-fingerprint libraryrow
And 2.1.5, accelerating to search the corresponding reference point position according to the closest distance by utilizing a Hash search algorithm. Since the reference point location takes the AP location, the reference point location needs the ID of the taken AP to be determined. Therefore, it is necessary to sequentially traverse k distances in the previous steprowAnd according to the mapping relation between row and ID under the row number, finding out the corresponding ID to acquire the position information. And determining a hash function Hash (key) according to the mapping relation, and establishing a corresponding Hash table. Wherein, the row value under the row number is taken as the key value, and the Hash (row) outputs the ID corresponding to the row. Therefore, the row number row can be directly substituted into the hash table, and the search with the time complexity of O (1) is realized.
And 2.1.6, comprehensively calculating the position of the test point from the k reference point positions.
Step 2.1.7 calculates the error of the predicted position from the actual position. And stores the error in the error array rate.
And 2.2, adding and summing all elements in the error array rate, and averaging to obtain the average positioning error of the deployment scheme.
And 3, screening all the signal source deployment schemes by taking the average positioning error of the deployment schemes as an evaluation standard to obtain an optimal scheme.
The invention has the following advantages and positive effects:
(1) the invention uses SIMD technology to realize multi-data parallel computation in the RSS distance computation process, thereby improving the positioning speed.
(2) The invention applies the multi-core or multi-GPU technology to process a plurality of reference points RSS and a plurality of test point positioning in parallel, thereby greatly improving the calculation speed.
(3) The invention uses the Hash search algorithm to solve the problem that the time is too long due to frequent search when the fingerprint database array subscript searches the signal source ID.
(4) The invention adopts the multi-core or multi-GPU parallel programming technology at the thread level, adopts the Hash search algorithm to search quickly at the core code level in the thread, and adopts the SIMD technology to carry out multi-data parallel calculation, thereby realizing multi-level parallel and greatly improving the calculation speed.
Drawings
FIG. 1 is a scenario of a specific experiment of the present invention.
Fig. 2 is a flow chart of the algorithm of the present invention.
FIG. 3 is a schematic diagram of a hash lookup algorithm.
FIG. 4 is a logic acceleration diagram of the present invention.
Detailed Description
The invention is further described below with reference to the parking lot of fig. 1 as an example:
step 1, generating a sub-fingerprint library corresponding to the deployment scheme, wherein a multi-core parallel nested hash search multi-level acceleration method is called when the sub-fingerprint library is generated.
And 2, positioning the positions of all the test points, determining the positioning error of the deployment scheme, and calling a multi-core parallel nested Hash search and SIMD combined multi-level acceleration method in the positioning process.
And 3, screening all the signal source deployment schemes to obtain an optimal scheme.
The step 1 of generating the sub-fingerprint library corresponding to each deployment scheme comprises the following sub-steps:
step 1.1 first collects relevant data and generates a total fingerprint database. 107 APs are deployed indoors as a selection range of the deployment scheme. Each AP has a unique ID identification, where the ID range is 100-. Next, these n AP positions are taken as "test points" and "reference points". Wherein 107 AP signal values are collected at each test point as the RSS for that test pointtWriting (r)1,r2,…r107) A row vector form; 107 AP signal values are collected per reference point as RSS for that reference pointrWriting (R)1,R2,…R107) And are collected into a total fingerprint library of size 107 x 107. The total fingerprint library is specifically formed as follows:
Figure BDA0002181143470000051
wherein R isijIndicating that the ith reference point received the signal value of the jth AP.
Step 1.2 determines a certain deployment scenario (here a scenario consisting of 4 APs is randomly instantiated). Selecting 4 APs from 107 APs as a deployment scheme (4 is less than or equal to 107), and recording the IDs (100, 102, 213 and 212 respectively) of the 4 APs.
Step 1.3, aiming at the determined deployment scheme, traversing each row in the total fingerprint library by using multi-core parallel acceleration, and processing a plurality of RSSs in parallelr. In fig. 2, a statement # pragma omp parallel for scheduling (dynamic,20) is added to the for loop represented by the outermost layer of the first set of nested dashed boxes, which prompts the compiler to perform multi-thread parallel in the following for loop, wherein the thread task scheduling is in a dynamic manner, and the task allocation granularity of the thread is 20. The following substeps are directed to an RSSrAnd (6) working.
Step 1.3.1 optimization of accelerated RSS using Hash lookup AlgorithmrAnd (6) processing. And searching corresponding m AP signal values according to the ID of the AP member in the deployment scheme. To accelerate the AP signal value RiAccording to ID and RSSrDetermining hash function Hash (key) according to mapping relation of index i of corresponding element in the hash table, and constructing the HashTable (7). And taking the ID value as a key value, and outputting an element subscript i corresponding to the ID by Hash (ID). With reference to fig. 3, when Hash (100) is 1, Hash (102) is 3, Hash (212) is 106, and Hash (213) is 107, then R is taken as1,R3,R106,R107
Step 1.3.2 sequentially finding out 4 Rs according to the previous step1,R3,R106,R107Reference points RSS 'under deployment scenario are composed in increasing order of subscript'rWrite (R'1,R′2,R′3,R′4) Row vector form.
Step 1.3.3 Total RSS'rThe sub-fingerprint libraries with size 107 x 3 are assembled. The sub-fingerprint library is specifically formed as follows:
Figure BDA0002181143470000061
wherein R'ijIndicating that the ith reference point received the signal value of the jth AP.
The step 2 of positioning the positions of all the test points and determining the positioning error of the deployment scheme comprises the following substeps:
and 2.1, traversing each test point by using multi-core parallel acceleration, and predicting the positions of a plurality of test points in parallel. In combination with the second set of nested dashed boxes in fig. 2, a statement # pragma omp parallel for schedule (dynamic,1) is added to the for loop represented by the outermost dashed box, which prompts the compiler to perform multi-thread parallel in the following for loop, wherein the thread task scheduling is in a dynamic manner, and the task allocation granularity of the thread is 1. The following substeps work for one test point.
Step 2.1.1 read test point RSSt
Step 2.1.2 optimization of accelerated RSS using Hash lookup AlgorithmtAnd (6) processing. RSS as with sub-fingerprint library building t3 corresponding AP signal values in the deployment scenario need to be screened. The procedure here is identical to steps 3.1.1, 3.1.2, and no redundant explanation is made. Finally constructing test point RSS 'under deployment scheme'tWrite (r'1,r′2,r′3) Row vector form.
Step 2.1.3 traversing the sub-fingerprint database to obtain RSS'tRSS 'in library'rAnd (6) calculating the distance. Wherein the distance is denoted as distancerowAnd row is RSS'rThe row number in the sub-fingerprint library. The following substeps are for a line of RSS'rAnd RSS'tThe distance calculation work.
Step (1) accelerating RSS 'by SIMD'rAnd RSS'tAnd (5) calculating the distance. The distance calculation formula is specifically defined as
Figure BDA0002181143470000062
Figure BDA0002181143470000063
According to the AVX instruction set, three 256-bit general purpose registers x, y, z are utilized. Wherein the first two registers respectively store R 'with 4 subscripts being consecutive'iAnd r'i(R′iAnd r'iIs set to double, accounting for 64 bits), the third register stores the result with an initial stored value of 0. For RSS'rAnd RSS'tMiddle front
Figure BDA0002181143470000064
Elements of a dimension (i.e., the first 4 dimensions) have substeps in which the substeps work on a set of 4 consecutive dimensions of elements.
R for RSS'rAnd RSS'tAnd (4) loading 4 continuous-dimension elements to x and y respectively at one time.
② the data difference value of xy is calculated by using _ mm256_ sub _ pd and is stored in 256-bit register temp.
③ calculate the square value of temp using _ mm256_ mul _ pd and store the result in temp again.
And fourthly, calculating the sum of temp and z by using the _ mm256_ add _ pd, and storing the result in z.
And (2) dividing 256 bits of data in z into 4 pieces of 64-bit sub data, converting the sub data into double types, and adding to obtain a result 1.
Step (3) because the RSS 'is tested under the deployment scheme'rAnd reference point RSS'tAre all 4 dimensions and are multiples of 4, so the result1 of the previous step is set to a distance value.
Step 2.1.4 find out distances of 3 nearest distances in the sub-fingerprint databaserow
And 2.1.5, accelerating to search the corresponding reference point position according to the closest distance by utilizing a Hash search algorithm. Since the reference point location takes the AP location, the reference point location needs the ID of the taken AP to be determined. Therefore, it is necessary to sequentially traverse k distances in the previous steprowAnd according to the mapping relation between row and ID under the row number, finding out the corresponding ID to acquire the position information. And determining a hash function Hash (key) according to the mapping relation, and establishing a corresponding Hash table. Wherein, the row value under the row number is taken as the key value, and the Hash (row) outputs the ID corresponding to the row. In connection with fig. 3, for example, the reference point of the closest distance is located at line 1 in the sub-fingerprint library, then row equals 1, and thus Hash [1 ]]213, take the corresponding position with ID 213.
Step 2.1.6 from 3 reference point positions (x)1,y1),(x2,y2),(x3,y3) And the reference points are respectively calculated at the step and the test point RSS'rDistancerow1,distancerow2,distancerow3(i.e., the 3-nearest distance described above)row) And comprehensively calculating the position of the test point. Wherein the formula is calculated as follows:
Figure BDA0002181143470000071
Figure BDA0002181143470000072
step 2.1.7 calculates the error of the predicted position from the actual position. And stores the error in the error array rate.
And 2.2, adding and summing all elements in the error array rate, and averaging to obtain the average positioning error of the deployment scheme.
And 3, screening all the signal source deployment schemes by taking the average positioning error of the deployment schemes as an evaluation standard to obtain an optimal scheme.
The above embodiments are provided only for illustrating the present invention and not for limiting the present invention, and those skilled in the art can make various changes or modifications without departing from the spirit and scope of the present invention, and therefore all equivalent technical solutions are within the scope of the present invention.

Claims (1)

1. A fingerprint positioning fast realization method aiming at indoor signal source deployment scheme screening is characterized by comprising the following steps:
step 1, generating a sub-fingerprint library corresponding to a deployment scheme, wherein a multi-core parallel nested Hash search multi-level acceleration method is called when the sub-fingerprint library is generated; comprising the following substeps:
step 1.1, collecting related data and generating a total fingerprint database; deploying n APs indoors as a selection range of a deployment scheme; each AP has a unique ID; then, taking the n AP positions as a test point and a reference point; wherein, collecting n AP signal values at each test point as RSS of the test pointtWriting (r)1,r2,…rn) A row vector form; collecting n AP signal values per reference point as RSS of the reference pointrWriting (R)1,R2,…Rn) And assembling into a total fingerprint library with the size of n x n; the total fingerprint library is specifically formed as follows:
Figure FDA0002837990040000011
step 1.2 determining a certain deployment scenario; selecting m APs from the n APs as a deployment scheme, wherein m is less than or equal to n, and recording IDs of the m APs;
step 1.3, aiming at the determined deployment scheme, traversing each row in the total fingerprint library in parallel in an accelerated manner by utilizing multiple cores or multiple GPUs, and processing multiple rows in parallelAn RSSrObtaining a sub-fingerprint library corresponding to the deployment scheme; the following substeps are directed to an RSSrWorking;
step 1.3.1 optimization of accelerated RSS using Hash lookup AlgorithmrProcessing; searching corresponding m AP signal values according to the ID of the AP member in the deployment scheme; to accelerate the AP signal value RiAccording to ID and RSSrDetermining hash function Hash (key) according to the mapping relation of the subscript i of the corresponding element, and constructing a Hash table; wherein, the ID value is taken as a key value, and the output of Hash (ID) is an element subscript i corresponding to the ID; therefore, the ID can be directly substituted into the hash table, and the search of the time complexity O (1) is realized;
step 1.3.2 m R are found out in turn according to the previous stepiReference points RSS 'under deployment scenario are composed in increasing order by subscript i'rWrite (R'1,R′2,…R′m) A row vector form;
step 1.3.3 Total RSS'rGathering sub-fingerprint libraries with the size of n x m; the sub-fingerprint library is specifically formed as follows:
Figure FDA0002837990040000012
wherein R'i′jIndicating that the ith reference point receives the signal value of the jth AP;
step 2, positioning all test point positions and determining a deployment scheme positioning error, and calling a multi-core parallel nested Hash search and SIMD combined multi-level acceleration method in the positioning process; the method comprises the following substeps:
step 2.1, traversing each test point in parallel in an accelerated manner by utilizing multi-core parallel, and positioning the positions of a plurality of test points in parallel; the following substeps work for one test point;
step 2.1.1 read test point RSSt
Step 2.1.2 optimization of accelerated RSS using Hash lookup AlgorithmtProcessing; RSS as with sub-fingerprint library buildingtM corresponding AP signal values in a deployment scheme need to be screened out; the procedure here is as in step 1.3.1,1.3.2, no redundant explanation is carried out; finally constructing test point RSS 'under deployment scheme'tWrite (r'1,r′2,…r′m) A row vector form;
step 2.1.3 traversing the sub-fingerprint database to obtain RSS'tAnd RSS 'per line in the Bank'rCalculating the distance; wherein the distance is denoted as distancerowAnd row is RSS'rA row number in the sub-fingerprint library; the following substeps are for a line of RSS'rAnd RSS'tDistance calculation work;
step (1) accelerating RSS using SIMDr' and RSSt' distance calculation; the distance calculation formula is specifically defined as
Figure FDA0002837990040000021
According to the AVX instruction set, three 256-bit general purpose registers x, y, z are utilized; wherein the first two registers store R with 4 subscripts in succession respectivelyi' and ri′,Ri' and riThe data type of' is double, which occupies 64 bits, the third register stores the result, and the initial storage value is 0; for RSSr' and RSSt' middle front)
Figure FDA0002837990040000022
Elements of a dimension have the following sub-steps, where a sub-step works for a set of 4 consecutive dimensions of elements;
(ii) from RSSr' and RSSt' load 4 consecutive dimensions of elements to x, y, respectively;
calculating the data difference value of x and y by using a _ mm256_ sub _ pd, and storing the data difference value into a 256-bit register temp;
thirdly, calculating the square value of temp by using the _ mm256_ mul _ pd, and storing the result into the temp again;
fourthly, calculating the sum of temp and z by using the _ mm256_ add _ pd, and storing the result in z;
dividing 256 bits of data in z into 4 pieces of 64-bit-length subdata equally, converting the subdata into a double type, and adding the subdata to obtain a result 1;
if m is a multiple of 4, setting the result1 of the previous step as a distance value; otherwise, calculating the part which is not divided by the integer according to a common mode to obtain a result 2; then the distance value is the sum of result1 and result 2;
step 2.1.4 finding k nearest distance distances in the sub-fingerprint libraryrow
Step 2.1.5, accelerating to search the corresponding reference point position according to the nearest distance by utilizing a Hash search algorithm; the reference point position is determined by the ID of the AP, which is taken as the reference point position; therefore, it is necessary to sequentially traverse k distances in the previous steprowAccording to the mapping relation between row and ID under the row number, the corresponding ID is found out to obtain the position information; determining hash function Hash (key) according to the mapping relation, and establishing a corresponding Hash table; wherein, the row value under the row number is taken as a key value, and the ID corresponding to the row is output by Hash (row); therefore, the row number row can be directly substituted into the hash table, and the search of the time complexity O (1) is realized;
step 2.1.6, comprehensively calculating the position of a test point from the k reference point positions;
step 2.1.7 calculating the error between the predicted position and the actual position; and storing the error into an error array rate;
step 2.2, adding and summing all elements in the error array rate, and then averaging to obtain the average positioning error of the deployment scheme;
and 3, screening all the signal source deployment schemes to obtain an optimal scheme, specifically screening all the signal source deployment schemes by taking the average positioning error of the deployment schemes as an evaluation standard to obtain the optimal scheme.
CN201910796635.XA 2019-08-27 2019-08-27 Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening Active CN110830938B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910796635.XA CN110830938B (en) 2019-08-27 2019-08-27 Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910796635.XA CN110830938B (en) 2019-08-27 2019-08-27 Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening

Publications (2)

Publication Number Publication Date
CN110830938A CN110830938A (en) 2020-02-21
CN110830938B true CN110830938B (en) 2021-02-19

Family

ID=69547859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910796635.XA Active CN110830938B (en) 2019-08-27 2019-08-27 Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening

Country Status (1)

Country Link
CN (1) CN110830938B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202817A (en) * 2014-09-03 2014-12-10 创业软件股份有限公司 Multi-hotspot fingerprint map storage and matching method in large-scale indoor space

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116629B (en) * 2013-02-01 2016-04-20 腾讯科技(深圳)有限公司 A kind of matching process of audio content and system
WO2018010800A1 (en) * 2016-07-14 2018-01-18 Huawei Technologies Co., Ltd. General purpose data compression using simd engine
CN108834058B (en) * 2018-04-27 2020-10-30 武汉大学 Indoor positioning signal source optimized deployment method based on genetic and firework combined algorithm
CN110163061B (en) * 2018-11-14 2023-04-07 腾讯科技(深圳)有限公司 Method, apparatus, device and computer readable medium for extracting video fingerprint

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202817A (en) * 2014-09-03 2014-12-10 创业软件股份有限公司 Multi-hotspot fingerprint map storage and matching method in large-scale indoor space

Also Published As

Publication number Publication date
CN110830938A (en) 2020-02-21

Similar Documents

Publication Publication Date Title
US20230317165A1 (en) Global responder signal circuitry for memory arrays
US6868420B2 (en) Method for traversing quadtrees, octrees, and N-dimensional bi-trees
JP6816078B2 (en) Systems and methods for expandable multi-vehicle tasks
CN105159895A (en) Method and system for storing and inquiring data
JP2010033561A (en) Method and apparatus for partitioning and sorting data set on multiprocessor system
JP6418431B2 (en) Method for efficient one-to-one coupling
JP2019212243A (en) Learning identification device and learning identification method
JP2019212171A (en) Learning device and learning method
CN112906865A (en) Neural network architecture searching method and device, electronic equipment and storage medium
CN114781688A (en) Method, device, equipment and storage medium for identifying abnormal data of business expansion project
CN113821332A (en) Method, apparatus, device and medium for tuning efficiency of automatic machine learning system
CN105933858B (en) Radio positioner
CN110830938B (en) Fingerprint positioning quick implementation method for indoor signal source deployment scheme screening
CN109993338A (en) A kind of link prediction method and device
CN115221217A (en) Big data mining method and system applied to data pushing
JP2019160256A (en) Learning discrimination device and method for learning discrimination
JP2019160252A (en) Learning discrimination device and method for learning discrimination
KR20220099745A (en) A spatial decomposition-based tree indexing and query processing methods and apparatus for geospatial blockchain data retrieval
CN110147804B (en) Unbalanced data processing method, terminal and computer readable storage medium
CN113869596A (en) Task prediction processing method, device, product and medium
CN114374931A (en) Fingerprint positioning method based on measurement learning of neighbor component analysis
Opderbeck et al. The renewal model for program behavior
CN112364292B (en) Ransac-based dense target tracking method, ransac-based dense target tracking device, ransac-based dense target tracking equipment and medium
El Zein et al. From sparse matrix to optimal gpu cuda sparse matrix vector product implementation
CN113704565B (en) Learning type space-time index method, device and medium based on global interval error

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant