Short message communication method and device based on block sparse vector code

Through block sparse vector code and loop block orthogonal matching tracking algorithm, the decoding reliability and spectrum efficiency of short message communication are improved by using block structure information, and the decoding reliability and spectrum efficiency of existing sparse encoding in short packet transmission is solved. The problem of low results enables more efficient short packet transmission.

CN119109555AActive Publication Date: 2024-12-10DONGGUAN UNIV OF TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411285673.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2024-12-10
Estimated Expiration
2044-09-13

AI Technical Summary

Technical Problem

The existing sparse regression codes and sparse vector codes have low decoding reliability and spectrum efficiency in short packet transmission, and the structured information between non-zero elements is not fully utilized, making it difficult to ensure sufficient under finite block length conditions. Reliability and spectrum efficiency.

Method used

Using block sparse vector code, the information bits are converted into block sparse vectors through preset mapping strategies, and pseudo-random expansion is performed. The decoding accuracy and spectrum efficiency are improved by using block structure information, and the circular block orthogonal matching tracking algorithm is used to accurately identify non-zero Block index and value.

Benefits of technology

It improves the decoding reliability and spectrum efficiency of short message communication, reduces transmission delay and decoding complexity, and significantly improves the efficiency and accuracy of short packet transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109555A_ABST
    Figure CN119109555A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of coding communication, and discloses a short message communication method and device based on a block sparse vector code, and the method comprises the steps: a data transmitting end obtains a mapped block sparse vector according to an information bit to be transmitted and a preset mapping strategy; according to the method, the block sparse vector is subjected to pseudo-random extension and mapped to the time-frequency resource to obtain the time-frequency information to be transmitted, so that the dimension of the transmitted block sparse signal is reduced, the spectrum efficiency of a communication system is improved, the decoding process at a data receiving end is more accurate, and the decoding reliability is improved. The data receiving end determines a block sparse vector and a channel gain according to the received time-frequency information; based on a cyclic block orthogonal matching pursuit algorithm, an index and a value of a non-zero block are obtained by using a block sparse vector and a channel gain, inverse operation is performed to obtain a to-be-transmitted information bit, the improved algorithm can significantly improve the non-zero block support detection precision, and the decoding accuracy and reliability are further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of coding communication, and in particular to a method and device for short message communication based on block sparse vector codes. Background Art

[0002] Ultra-reliable low-latency communication (URLLC) is a key service category in 5G and 6G mobile communication systems, designed to support latency-sensitive applications such as autonomous driving, drones, industrial IoT, etc. These applications usually need to transmit control information or monitoring information with a small amount of data, and have extremely high requirements for transmission delay and reliability.

[0003] The current wireless transmission mode mainly maximizes data throughput by transmitting long data packets, which is difficult to adapt to the short data packet transmission requirements of URLLC. Traditional coding technologies such as LDPC codes and polar codes perform poorly in short data packet transmission because they cannot ensure sufficient reliability and spectrum efficiency under limited block length conditions.

[0004] Sparse coding technology is a solution to enhance the reliability of short message transmission. For example, sparse recursive codes construct codewords by using sparse linear combinations of Gaussian random dictionary matrices and achieve low error rates through maximum likelihood decoders. However, such coding methods are still limited in short packet transmission. Another method is sparse vector codes, which improve reliability by transmitting randomly propagated sparse vectors in the time-frequency domain. Similarly, sparse vector codes are still not very effective in improving transmission rate and spectral efficiency. Increasing the length of the sparse vector or the number of non-zero elements may lead to increased decoding complexity or increased transmission delay.

[0005] The biggest drawback of the related technology is that sparse regression codes and sparse vector codes only use random sparse mapping patterns in the encoding process, and do not fully utilize the structured information between non-zero elements, resulting in low decoding reliability and spectrum efficiency. Summary of the invention

[0006] In view of this, the present invention provides a method and device for short message communication based on block sparse vector codes to solve the problem of how to improve decoding reliability and spectrum efficiency.

[0007] In a first aspect, the present invention provides a method for short message communication based on block sparse vector code, which is applied to a data sending end, and the method comprises:

[0008] Obtaining a mapped block sparse vector according to a preset mapping strategy based on the information bits to be transmitted;

[0009] Pseudo-randomly expanding the block sparse vector;

[0010] The expanded block sparse vector is mapped to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

[0011] The embodiment of the present invention converts information bits to be transmitted into block sparse vectors through a predefined mapping strategy. Compared with the random sparse mapping in the related art, the embodiment uses the position structure information between non-zero elements to reduce the dimension of the transmitted block sparse signal, thereby improving the spectrum efficiency of the communication system. The block sparse vector is expanded through a pseudo-random sequence. Compared with the situation where multiple coding parameters need to be adjusted simultaneously when using sparse recurrent codes, the non-zero elements in the block sparse vector code scheme of the present invention are pseudo-randomly expanded in the form of blocks instead of randomly expanding the non-zero elements one by one, providing additional block structure information, which can make the decoding process at the data receiving end more accurate, thereby improving the decoding reliability.

[0012] In an optional implementation manner, obtaining a mapped block sparse vector according to a preset mapping strategy based on the information bits to be transmitted specifically includes:

[0013] Dividing the information bits to be transmitted into first information bits and second information bits based on the length of the information to be transmitted;

[0014] The first information bit is subjected to block sparse mapping to obtain a non-zero block index used to indicate a specific position of a non-zero block;

[0015] The second information bit is subjected to a preset modulation mapping to obtain a non-zero block value;

[0016] The non-zero block value and the non-zero block index together constitute the block sparse vector.

[0017] In an embodiment of the present invention, the information bits to be transmitted are divided into first information bits and second information bits. The first information bits obtain the index of the non-zero block through block sparse mapping, and the second information bits become the value of the non-zero block through a preset modulation method, thereby utilizing the characteristics of the block sparse vector to facilitate more accurate decoding at the subsequent decoding end.

[0018] In an optional implementation, the pseudo-randomly expanding the block sparse vector specifically includes:

[0019] Obtaining the number of non-zero blocks, the support set of the non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the values ​​of the non-zero blocks in the block sparse vector;

[0020] Based on a pseudo-random expansion algorithm, the block sparse vector is pseudo-randomly expanded using the value of the non-zero block, the number of the non-zero blocks, the support set of the non-zero block, and the sub-codebook matrix corresponding to the non-zero block;

[0021] The pseudo-random expansion algorithm is expressed by the following formula:

[0022]

[0023] in, is the kth non-zero block element of the block sparse vector s, B k is the support set of the kth non-zero block, is the sub-codebook matrix corresponding to the kth non-zero block, x is the block sparse vector after pseudo-random expansion, and K is the number of non-zero blocks.

[0024] The embodiment of the present invention obtains the number of non-zero blocks, the support set of non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the value of the non-zero blocks to ensure that all necessary information is available before pseudo-random expansion. Using the pseudo-random expansion algorithm, the block sparse vector is expanded through the value of the non-zero block, the number of non-zero blocks, the support set of the non-zero blocks, and the sub-codebook matrix corresponding to the non-zero block. Compared with the random expansion method of non-zero elements one by one, additional block structure information is provided to ensure that the decoding algorithm of the block sparse vector code is more accurate, and the number of orders of magnitude is reduced, the computational complexity is reduced, thereby reducing the transmission delay, and further ensuring the transmission efficiency of short packets.

[0025] In a second aspect, the present invention provides a method for short message communication based on block sparse vector code, which is applied to a data sending end, and the method comprises:

[0026] Obtaining the time and frequency information sent by the data sending end;

[0027] Determine a block sparse vector and a channel gain according to the received time-frequency information;

[0028] Based on a cyclic block orthogonal matching pursuit algorithm, the block sparse vector and the channel gain are used to obtain the index of the non-zero block and the value of the non-zero block;

[0029] An information bit inverse operation is performed on the index of the non-zero block and the value of the non-zero block to obtain the information bit of the data sending end.

[0030] The embodiment of the present invention derives the block sparse vector and channel gain information through the received time-frequency information, providing a data basis for the subsequent acquisition of non-zero block indexes and values. The core idea of ​​the cyclic block orthogonal matching pursuit algorithm is to make the non-zero blocks in the block sparse vector exactly located on a uniformly distributed non-zero block by cyclically shifting the columns, and then use block orthogonal matching pursuit to update the non-zero block support set to accurately identify the index and corresponding value of the non-zero block. Compared with the decoding process of the block orthogonal matching pursuit algorithm in the related art, the improved algorithm of this embodiment can significantly improve the accuracy of non-zero block support detection, and further improve the accuracy and reliability of decoding.

[0031] In an optional implementation, the obtaining the index of the non-zero block and the value of the non-zero block by using the block sparse vector and the channel gain based on the cyclic block orthogonal matching pursuit algorithm specifically includes:

[0032] Initializing the residual of the block sparse vector to a received signal, initializing the non-zero block candidate set to an empty set, initializing the combination index set to an empty set, and initializing the number of combinations to zero; wherein the received signal represents a signal determined by the block sparse vector and the channel gain;

[0033] Performing column cyclic shift l times on the codebook matrix of the block sparse vector, and obtaining a new measurement matrix each time; wherein after each shift, calculating the correlation value between the lth block of the measurement matrix and the received signal;

[0034] Obtaining a first target correlation value of the correlation value set after the l-th column cyclic shift; wherein the first target correlation value represents a maximum value in the correlation value set;

[0035] Determine a first target index corresponding to the block according to the first target correlation value;

[0036] Adding the first target index determined after the l-th column cyclic shift to the non-zero block candidate set, and removing the repeated indexes in the non-zero block candidate set corresponding to the previous l-1-th column cyclic shift;

[0037] According to the index in the non-zero block candidate set after the current iteration update, all candidate combinations between the index in the non-zero block candidate set in all iterations before the current iteration update;

[0038] Adding the candidate combination to the combination index set, and calculating the number of candidate combinations for identifying each candidate combination;

[0039] Using the updated non-zero block candidate set to update the residual, so as to be used as a new received signal during the l+1th column cyclic shift;

[0040] For each candidate combination, calculate the correlation value corresponding to the candidate combination;

[0041] Obtaining a set of correlation values ​​corresponding to the candidate combination, and determining a second target correlation value from the set; wherein the second target correlation value represents a maximum value in the set of correlation values ​​corresponding to the candidate combination;

[0042] Determine a second target index according to the second target correlation value; wherein the second target index represents the index of the non-zero block;

[0043] A non-zero support set is determined according to the second target index, and a value of the non-zero block is determined by the non-zero support set.

[0044] The embodiment of the present invention utilizes the non-zero block structured distribution prior information provided by the coding part sent by the transmitting end, and cyclically shifts the columns of the measurement matrix so that the non-zero blocks in the received signal are located exactly on a uniformly distributed non-zero block, thereby performing a high-precision cyclic block orthogonal matching pursuit algorithm to accurately identify the non-zero block index, thereby effectively improving the reliability of decoding at the data receiving end.

[0045] In an optional implementation, the received signal is determined by the following formula:

[0046] y=φΠ l Π -l s+w;

[0047]

[0048] Where y represents the received signal, φ represents the measurement matrix corresponding to the channel gain, s represents the block sparse vector, represents the mean value is 0, and the covariance matrix is ​​σ 2 I M The complex additive white Gaussian noise vector, σ 2 represents the noise variance, I M represents the M×M-dimensional identity matrix; Π -l s represents the cyclic shift of the sparse vector s downward l times, φΠ l It means that the columns of the measurement matrix φ are cyclically shifted to the right l times, and Π represents the permutation matrix.

[0049] In the embodiment of the present invention, by modifying the equivalent formula of the optimization problem of non-zero block search, the sparse vector is cyclically shifted downward by l times, and at the same time, the columns of the measurement matrix are cyclically shifted right by l times, and the final modified formula of the received signal is obtained, so that at least one non-zero block in the sparse vector can be just aligned to a uniformly distributed non-zero block in the measurement matrix, thereby facilitating the cyclic block orthogonal matching pursuit algorithm to efficiently find the non-zero elements in the sparse vector.

[0050] In a third aspect, the present invention provides a device for short message communication based on block sparse vector code, which is applied to a data sending end, and the device comprises:

[0051] An encoding module, used for obtaining a mapped block sparse vector according to a preset mapping strategy based on information bits to be transmitted;

[0052] A pseudo-random expansion module, used for performing pseudo-random expansion on the block sparse vector;

[0053] The time-frequency resource mapping module is used to map the expanded block sparse vector to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

[0054] In a fourth aspect, the present invention provides a device for short message communication based on block sparse vector code, which is applied to a data receiving end, and the device comprises:

[0055] A time-frequency information acquisition module, used to acquire the time-frequency information sent by the data sending end;

[0056] A time-frequency information analysis module, used to determine a block sparse vector and a channel gain according to the received time-frequency information;

[0057] A matching pursuit algorithm calculation module, used for obtaining the index of a non-zero block and the value of a non-zero block by using the block sparse vector and the channel gain based on a cyclic block orthogonal matching pursuit algorithm;

[0058] The decoding module is used to perform information bit inverse operation on the index of the non-zero block and the value of the non-zero block to obtain the information bit of the data sending end.

[0059] In a fifth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the method for short message communication based on block sparse vector codes of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0060] In a sixth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for short message communication based on block sparse vector codes of the above-mentioned first aspect or any corresponding embodiment thereof.

[0061] In a seventh aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the method for short message communication based on block sparse vector codes according to the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0063] Figure 1 is a flow chart of a method for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0064] Figure 2 is a flow chart of another method for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0065] Figure 3 is a schematic diagram of a sparse mapping process of a block sparse vector code according to a method for short message communication based on a block sparse vector code according to an embodiment of the present invention;

[0066] Figure 4 is a schematic diagram of encoding of a block sparse vector code according to a method for short message communication based on a block sparse vector code according to an embodiment of the present invention;

[0067] Figure 5 is a flow chart of another method for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0068] Figure 6 is a flow chart of another method for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0069] Figure 7 is a schematic diagram of block error rate performance analysis of a method for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0070] Figure 8 is a structural block diagram of a device for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0071] Fig. 9 is a structural block diagram of a device for short message communication based on block sparse vector codes according to an embodiment of the present invention;

[0072] Fig.10 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0073] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0074] Ultra-reliable low-latency communication (URLLC) is an important service category of the fifth-generation (5G) and sixth-generation (6G) mobile communication systems, designed to support latency-sensitive applications such as autonomous driving, drones, industrial IoT, and remote sensing control. Application scenarios usually transmit data with small amounts of information, such as sensing information (temperature, humidity, gas density) or control information (start / stop, accelerate / decelerate, open / close).

[0075] However, these application scenarios have strict requirements on latency and reliability, such as requiring end-to-end latency to be as low as 25 milliseconds and block error rate (BLER) to reach 10-5-10-7 milliseconds. Since these control information or monitoring information plays a vital role in the safety of life and property, it is necessary to ensure that the data packets carrying them can be transmitted to the terminal or base station in a timely and accurate manner.

[0076] The existing wireless transmission mode mainly maximizes data throughput by transmitting long data packets, but it is difficult to adapt to the short data packet transmission scenario of URLLC.

[0077] On the one hand, in order to ensure reliability, a large amount of resources need to be allocated to signaling, retransmission and error checking, which leads to high transmission delay and low spectrum efficiency. On the other hand, under the limitation of limited block length, the sparsity of low-density parity check (LDPC) codes will be affected, and polar codes cannot fully polarize the channel, resulting in significant loss of coding gain.

[0078] In the related technical field, researchers explored the potential of sparse coding in enhancing the reliability of short message transmission and proposed some joint sparse coding and modulation techniques for low-rate short data packet transmission, namely sparse regression codes and sparse vector codes.

[0079] (1) Sparse recurrent codes: Sparse recurrent codes are a joint coding and modulation technique that has been widely studied in recent years. Unlike traditional coded modulation techniques, sparse recurrent codes construct codewords by using sparse linear combinations of columns of Gaussian random dictionary matrices. During the encoding process, sparse recurrent codes map the transmitted information bits to high-dimensional sparse vectors, and decoding recovers the indices of a small number of non-zero elements from low-dimensional measurements. Since the transmission power is concentrated on the non-zero elements, the decoding algorithm can accurately detect non-zero data under low signal-to-noise ratio (SNR) conditions. When using a maximum likelihood (ML) decoder, sparse recurrent codes can achieve arbitrarily low error rates at a rate lower than the channel capacity when the code length tends to infinity. Nevertheless, the approximate message passing algorithm of sparse recurrent codes performs poorly on small-sized codebook matrices, limiting its performance in short packet transmission.

[0080] (2) Sparse vector code: Information bits are encoded into non-zero indexes of sparse vectors and the randomly propagated sparse vectors are transmitted in the time-frequency domain. The receiver uses the multipath matching pursuit algorithm to identify the non-zero index of the received signal and achieve decoding. Compared with traditional channel coding technology, sparse vector codes have higher reliability in short packet transmission.

[0081] Although relevant technicians have made some progress in enhancing the reliability of short message transmission by utilizing the characteristics of sparse coding, sparse regression codes and sparse vector codes still have the following defects:

[0082] First, the defect of sparse recursive code is that due to the block characteristics of its codebook matrix, multiple coding parameters need to be adjusted simultaneously to achieve a smooth bit rate, which is more difficult in actual hardware operation.

[0083] Second, the defects of sparse vector codes. Most sparse vector code schemes focus on improving reliability and reducing transmission delay, and are suitable for low-rate communication scenarios. Increasing the length of the sparse vector or the number of non-zero elements can improve the transmission rate and spectrum efficiency, but the former will increase the decoding complexity and the latter will increase the transmission delay. The code length of sparse vector codes increases exponentially with the number of transmitted bits, resulting in an excessively large codebook matrix when there are many transmitted bits, huge decoding calculation overhead, and increased transmission delay.

[0084] Third, both of them have defects. Sparse recursive codes and sparse vector codes only use random sparse mapping patterns to map transmission bits into sparse vectors, and do not fully utilize the structured information between non-zero elements. The decoding reliability and spectrum efficiency still need to be improved.

[0085] According to an embodiment of the present invention, a method embodiment of short message communication based on block sparse vector code is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0086] In this embodiment, a short message communication method based on block sparse vector code is provided, which is applied to a data sending end. Figure 1 is a flow chart of a method for short message communication based on block sparse vector code according to an embodiment of the present invention, such as Figure 1 As shown, the process includes the following steps:

[0087] Step S101, obtaining a mapped block sparse vector according to information bits to be transmitted according to a preset mapping strategy.

[0088] The method provided in the embodiment of the present invention is applied to a data transmitting end, for example, a certain vehicle networking terminal, wherein the information bits to be transmitted are data to be transmitted, for example, voice data, image data, etc.

[0089] Step S102: pseudo-randomly expand the block sparse vector.

[0090] In the embodiment of the present invention, the number of non-zero blocks, the support set of non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the value of the non-zero blocks in the block sparse vector are first obtained. Then, based on the pseudo-random expansion algorithm, the block sparse vector is pseudo-randomly expanded using the value of the non-zero blocks, the number of non-zero blocks, the support set of non-zero blocks, and the sub-codebook matrix corresponding to the non-zero blocks.

[0091] It should be noted that the pseudo-random expansion algorithm expands a smaller vector into a larger vector. In this process, the algorithm will perform some transformation operations on the original vector, and the final result is the required expanded vector.

[0092] In the related art, sparse recursive codes and sparse vector codes only use random sparse mapping modes to map transmission bits to sparse vectors, and do not fully utilize the structured information between non-zero elements, so their decoding reliability and spectrum efficiency are still low. Although the pseudo-random expansion algorithm in this embodiment seems to be randomly generated in name, it is actually obtained in a regular way in the form of blocks. When a block vector sequence is input to the pseudo-random expansion algorithm, the output result will be a brand new block digital sequence, and the distribution characteristics have a certain similarity with the original digital sequence, which is not completely random. Therefore, this pseudo-random expansion in the form of blocks provides additional block structure information to ensure that the block sparse vector code decoding algorithm achieves higher accuracy.

[0093] Step S103: Map the expanded block sparse vector to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

[0094] It should be noted that time-frequency resources are the basic resource units used to transmit information in wireless communications, and are composed of two dimensions: time and frequency. The time dimension represents the time period occupied by data transmission, and the frequency dimension represents the frequency bandwidth occupied by data transmission. According to actual communication requirements, channel conditions, and transmission targets, different methods can be used for mapping to achieve the best transmission effect. For example, group mapping, frequency hopping mapping, etc. can be mapped in the case of pseudo-random extension vectors. This embodiment is only used as an example for illustration, but is not limited to this.

[0095] The embodiment of the present invention converts the information bits to be transmitted into block sparse vectors through a predefined mapping strategy. Compared with the random sparse mapping in the related art, the embodiment uses the position structure information between non-zero elements to reduce the dimension of the transmitted block sparse signal, thereby improving the spectrum efficiency of the communication system. The block sparse vector is expanded through a pseudo-random sequence. Compared with the situation where multiple coding parameters need to be adjusted simultaneously when using sparse recurrent codes, the non-zero elements in the block sparse vector code scheme of the present invention are pseudo-randomly expanded in the form of blocks instead of randomly expanding the non-zero elements one by one, providing additional block structure information, which can make the decoding process at the data receiving end more accurate, thereby improving the decoding reliability of the data receiving end.

[0096] In an optional embodiment, if Figure 2 As shown, step S101 specifically includes:

[0097] Step S1011, dividing the information bits to be transmitted into first information bits and second information bits based on the length of the information to be transmitted;

[0098] Step S1012, obtaining a non-zero block index for indicating a specific position of a non-zero block by performing block sparse mapping on the first information bit;

[0099] Step S1013, performing preset modulation mapping on the second information bit to obtain a non-zero block value;

[0100] The non-zero block value and the non-zero block index together constitute the block sparse vector.

[0101] It can be understood that in most cases of actual communication scenarios, since the number of information bits to be transmitted is large, this embodiment can divide the information bits to be transmitted into first information bits and second information bits according to the length of the information to be transmitted. The first information bit is an index indicating the position of the non-zero block, and the second information bit is the value of the non-zero block.

[0102] In practical applications, when the number of information bits to be transmitted is small, they can be encoded directly without dividing them into two parts. This embodiment can also divide the information bits to be transmitted into multiple parts, each of which can be regarded as an independent message and encoded separately, thereby making the encoding process more flexible and different encoding methods can be selected for encoding according to actual conditions.

[0103] Specifically, after the first information bit is divided, it can be subjected to block sparse mapping to obtain a non-zero block index used to indicate the specific position of the non-zero block. In other words, the first information bit can be mapped into a set of digital sequences through a pre-set mapping rule, and this digital sequence represents the position of the non-zero block. The second information bit can be subjected to a preset modulation mapping to obtain the value of the non-zero block. The preset modulation mapping mentioned in this embodiment refers to a certain preset modulation method, such as BPSK, 16QAM modulation method, etc. By modulating the second information bit, it can be converted into a series of discrete symbols, and these symbols constitute the value of the non-zero block. Finally, the value of the non-zero block and the non-zero block index together constitute a block sparse vector.

[0104] It should be noted that the word "common" mentioned here means that these two parts constitute the entire block sparse vector, and neither is indispensable.

[0105] For example, see Figure 3 , Figure 3Figure 1 is a schematic diagram of the sparse mapping process of a block sparse vector code. If the number of bits to be transmitted is 3 bits (e.g., "101"), the 3-bit information is mapped into a block sparse vector of length N. The block sparse vector is divided into (B) blocks. The length of each block is L. k (k=1, 2, ...K). In a block sparse vector, the total number of non-zero elements depends on the length of each block and the number of blocks. The total number of non-zero elements D is expressed by the following formula:

[0106]

[0107] In order to facilitate subsequent analysis in the embodiment of the present invention, if the block length of each non-zero block is equal, and the block length of each non-zero block is L, L is greater than 1. Then the total number of non-zero elements D1 in this embodiment is expressed by the following formula:

[0108] Dl=KL (2)

[0109] The sparse mapping process of the block sparse vector code is equivalent to placing K non-zero blocks with a block length of L in N positions.

[0110] exist Figure 3 In the case of K = 2, L = 2, the number of placements of non-zero elements is expressed by the following formula:

[0111]

[0112] The result of this formula is 10, from Figure 3 It can be fully reflected in , if the 3-bit information is 101, the first 8 types can already cover the mapping methods required for the 3-bit information, so the placement methods corresponding to the 9th and 10th types are redundant mapping methods. In the actual process, as the number of bits increases, the placement methods will also increase in sequence. Finally, the placement method that maps 101 to non-zero elements is the sixth type.

[0113] For example, refer to Figure 4 , Figure 4 The block sparse vector code is a coding diagram. The transmitted b-bit information is divided into two parts, of which the bI-bit information is encoded to the non-zero block index after block sparse mapping, and the remaining bS-bit information is mapped to KL non-zero values ​​after QAM modulation. The block sparse vector is mapped to the time-frequency resource for transmission after pseudo-random expansion. For example, if there is a bit information of "1011001", then according to the length, the first 3 bits "101" are used as the first information bit, and according to Figure 3 The index indicating the position of the non-zero block is obtained in the manner shown, that is, the 2nd, 3rd, 5th, and 6th blocks of the block sparse vector code, and then the value of the "1001" bit can be filled into the above four index positions through QAM modulation to obtain a complete block sparse vector code.

[0114] In an embodiment of the present invention, the information bits to be transmitted are divided into first information bits and second information bits. The first information bits obtain the index of the non-zero block through block sparse mapping, and the second information bits become the value of the non-zero block through a preset modulation method, thereby utilizing the characteristics of the block sparse vector to facilitate more accurate decoding at the subsequent decoding end.

[0115] In an optional embodiment, if Figure 5 As shown, step S102 specifically includes:

[0116] Step S1021, obtaining the number of non-zero blocks, the support set of the non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the values ​​of the non-zero blocks in the block sparse vector;

[0117] Step S1022, based on a pseudo-random expansion algorithm, using the value of the non-zero block, the number of non-zero blocks, the support set of the non-zero block, and the sub-codebook matrix corresponding to the non-zero block, the block sparse vector is pseudo-randomly expanded;

[0118] It should be noted that the block sparse vector code solution can be directly extended to a multi-user large-scale multi-transmit and multi-receive system. This embodiment takes a single-transmit and single-receive system as an example to illustrate the pseudo-random expansion process.

[0119] The pseudo-random expansion algorithm is expressed by the following formula:

[0120]

[0121] in, is the kth non-zero block element of the block sparse vector s, B k is the support set of the kth non-zero block, is the subcodebook matrix corresponding to the kth non-zero block, x is the block sparse vector after pseudo-random expansion, K is the number of non-zero blocks, and,

[0122] In addition, it is worth noting that if a sparse vector code scheme is adopted, the number of information bits that can be encoded on non-zero indexes is expressed by the following formula:

[0123]

[0124] According to the theory of compressed sensing, the number of measurements required by the block sparse vector code scheme to accurately recover the block K sparse signal with a block length of L from the low-dimensional measurements is expressed by the following formula:

[0125]

[0126] Where M represents the number of measurements required for the block sparse vector code, N represents the length of the block sparse vector in the block sparse vector code scheme, and CBCS Represents a constant related to the correlation of the measurement matrix in the sparse vector code scheme.

[0127] Different from the embodiment of the present invention, in the related art, when the sparse vector length and the total number of non-zero elements are the same, the number of measurement values ​​required by the sparse vector code scheme is expressed by the following formula:

[0128]

[0129] Among them, M SVC N represents the number of measurements required for Sparse Vector Coding (SVC). SVC represents the length of the sparse vector in the sparse vector code scheme, C CS Represents a constant related to the correlation of the measurement matrix in the sparse vector code scheme.

[0130] It can be clearly seen that the non-zero elements in the block sparse vector code scheme are randomly extended in the form of blocks. The block random extension method provides additional block structure information, which is helpful for designing a high-precision block sparse vector code decoding algorithm. In addition, the number of measurements calculated according to equations (6) and (7) is compared. The number of measurements required for accurate recovery of the block sparse vector code scheme is reduced by L times in magnitude compared to the sparse vector code scheme. In short packet data transmission, the number of measurements is equal to the frequency resources used for transmission (i.e., the number of subcarriers). The fewer the number of subcarriers, the shorter the transmission delay, otherwise vice versa. Therefore, the number of information bits that can be encoded by the block sparse vector code is less than that of the sparse vector code, and its transmission delay is much lower than that of the sparse vector code.

[0131] The embodiment of the present invention obtains the number of non-zero blocks, the support set of non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the value of the non-zero blocks to ensure that all necessary information is available before pseudo-random expansion. Using the pseudo-random expansion algorithm, the block sparse vector is expanded through the value of the non-zero block, the number of non-zero blocks, the support set of the non-zero blocks, and the sub-codebook matrix corresponding to the non-zero block. Compared with the random expansion method of non-zero elements one by one, additional block structure information is provided to ensure that the decoding algorithm of the block sparse vector code is more accurate, and the number of orders of magnitude is reduced, the computational complexity is reduced, thereby reducing the transmission delay, and further ensuring the transmission efficiency of short packets.

[0132] In this embodiment, a short message communication method based on block sparse vector code is provided, which is applied to a data receiving end. Figure 6 is a flow chart of a method for short message communication based on block sparse vector code according to an embodiment of the present invention, such as Figure 6 As shown, the process includes the following steps:

[0133] Step S601, obtaining time-frequency information sent by a data sending end.

[0134] It should be noted that in a communication system, the receiving end needs to obtain the time-frequency information (time and frequency information) sent by the sending end, including the time domain and frequency domain characteristics of the signal. The two are the basis of decoding and determine how the receiving end processes the received signal.

[0135] Step S602: determine a block sparse vector and a channel gain according to the received time-frequency information.

[0136] It can be understood that, based on the time-frequency information obtained in step S601, the receiving end can determine the block sparsity vector (i.e., the data vector of the block sparsity characteristic, including the index of the non-zero block and the value of the non-zero element) and the channel gain (i.e., the attenuation or amplification information of the signal during the channel transmission process) for subsequent signal processing algorithm for decoding.

[0137] Step S603 : Based on a cyclic block orthogonal matching pursuit algorithm, the block sparse vector and the channel gain are used to obtain the index of the non-zero block and the value of the non-zero block.

[0138] It is understandable that the receiving end uses the cyclic block orthogonal matching pursuit algorithm to process the block sparse vector and channel gain. The core principle of the cyclic block orthogonal matching pursuit algorithm is to determine the position (index) of the non-zero block and the specific value of the non-zero block by cyclically shifting the columns of the measurement matrix. The purpose is to accurately detect which blocks contain valid information (non-zero blocks) through subsequent inverse operations and determine the values ​​of the non-zero blocks.

[0139] Step S604: perform information bit inverse operation on the index of the non-zero block and the value of the non-zero block to obtain information bits of the data sending end.

[0140] It can be understood that the original data information is restored by processing the index and value of the non-zero block through inverse operation. That is, through the reverse operation, the index of the non-zero block and the value of the non-zero block are demodulated in the same way (such as BPSK, 16QAM modulation mode) and converted into the final bit stream information, thereby obtaining the complete information to be transmitted.

[0141] The embodiment of the present invention derives the block sparse vector and channel gain information through the received time-frequency information, providing a data basis for the subsequent acquisition of non-zero block indexes and values. The core idea of ​​the cyclic block orthogonal matching pursuit algorithm is to make the non-zero blocks in the block sparse vector exactly located on a uniformly distributed non-zero block by cyclically shifting the columns, and then use block orthogonal matching pursuit to update the non-zero block support set to accurately identify the index and corresponding value of the non-zero block. Compared with the decoding process of the block orthogonal matching pursuit algorithm in the related art, the improved algorithm of this embodiment can significantly improve the accuracy of non-zero block support detection, and further improve the accuracy and reliability of decoding.

[0142] In an optional implementation, step S603 specifically includes:

[0143] S6031, initializing the residual of the block sparse vector to a received signal, initializing the non-zero block candidate set to an empty set, initializing the combination index set to an empty set, and initializing the number of combinations to zero; wherein the received signal represents a signal determined by the block sparse vector and the channel gain;

[0144] Specifically, the received signal is determined by the following formula:

[0145] y=φΠ l Π -l s+w; (8)

[0146]

[0147] Where y represents the received signal, φ represents the measurement matrix corresponding to the channel gain, s represents the block sparse vector, represents the mean value is 0, and the covariance matrix is ​​σ 2 I M The complex additive white Gaussian noise vector, σ 2 represents the noise variance, I M represents the M×M-dimensional identity matrix; Π -l s represents the cyclic shift of the sparse vector s downward l times, φΠ l It means that the columns of the measurement matrix φ are cyclically shifted to the right l times, and Π represents the permutation matrix.

[0148] It can be understood that at the data receiving end, the signal input and output relationship of the block sparse vector code scheme is expressed by the following formula:

[0149] y=diag(h)Gs+w=Φs+w(10)

[0150] Where y represents the received signal, h=[h1,h2,…,h M ] H represents the channel gain, s represents the sparse vector after block sparse mapping, which contains K non-zero blocks, each block has a length of L, Indicates that the mean is 0 and the covariance matrix is ​​σ 2 I M The complex additive white Gaussian noise vector, σ 2 is the noise variance, I M Represents the M×M-dimensional identity matrix.

[0151] If B=N / L is an integer (i.e., a sparse vector has a length of N, which can be divided into B blocks, where the length of each block is L), then the decoding problem of the block sparse vector code can be described as recovering the correct non-zero block support of the sparse vector s and its corresponding value from the received signal y. The above formula (10) is equivalent to the non-zero block search optimization problem expressed by the following formula:

[0152] min||y-Φs s || st.|S|=KL| (11)

[0153] in, represents the non-zero support of s, and is the support of the kth non-zero block of s.

[0154] Therefore, according to the cyclic shift property of matrix-vector operations, equations (8) and (9) provided in this embodiment are obtained by modifying equation (10), which is also equivalent to the non-zero block search optimization problem of equation (11).

[0155] In the embodiment of the present invention, by modifying the equivalent formula of the optimization problem of non-zero block search, the sparse vector is cyclically shifted downward by l times, and at the same time, the columns of the measurement matrix are cyclically shifted right by l times, and the final modified formula of the received signal is obtained, so that at least one non-zero block in the sparse vector can be just aligned to a uniformly distributed non-zero block in the measurement matrix, thereby facilitating the cyclic block orthogonal matching pursuit algorithm to efficiently find the non-zero elements in the sparse vector.

[0156] S6032, performing column cyclic shift l times on the codebook matrix of the block sparse vector, and obtaining a new measurement matrix each time by each shift; wherein after each shift, calculating the correlation value between the lth block of the measurement matrix and the received signal;

[0157] S6033, obtaining a first target correlation value of the correlation value set after the l-th column cyclic shift; wherein the first target correlation value represents the maximum value in the correlation value set;

[0158] S6034, determining a first target index corresponding to the block according to the first target correlation value;

[0159] S6035, adding the first target index determined after the l-th column cyclic shift to the non-zero block candidate set, and removing the repeated indexes in the non-zero block candidate set corresponding to the previous l-1-th column cyclic shift;

[0160] S6036, all candidate combinations between the indexes in the non-zero block candidate set after the current iterative update and the indexes in the non-zero block candidate set in all iterations before the current iterative update;

[0161] S6037, adding the candidate combination to the combination index set, and calculating the number of candidate combinations for identifying each candidate combination;

[0162] S6038, using the updated non-zero block candidate set to update the residual, so as to be used as a new received signal during the l+1th column cyclic shift;

[0163] S6039, for each candidate combination, calculating a correlation value corresponding to the candidate combination;

[0164] S60310, obtaining a set of correlation values ​​corresponding to the candidate combination, and determining a second target correlation value from the set; wherein the second target correlation value represents a maximum value in the set of correlation values ​​corresponding to the candidate combination;

[0165] S60311, determining a second target index according to the second target correlation value; wherein the second target index represents an index of a non-zero block;

[0166] S60312, and determine a non-zero support set according to the second target index, and determine the value of the non-zero block through the non-zero support set.

[0167] It should be noted that the block orthogonal matching pursuit algorithm in the related art needs to know both the non-zero block size and the non-zero block distribution information. If the algorithm is directly used to recover the block sparse vector in the block sparse vector code, the accuracy of non-zero block support detection will be significantly reduced. In order to solve this problem, the specific implementation method of the cyclic block orthogonal matching pursuit algorithm given in this embodiment is used to ensure the accurate detection of non-zero block support in the block sparse vector code solution.

[0168] The cyclic block orthogonal matching pursuit algorithm provided in this embodiment is optimized and improved on the framework of the block orthogonal matching pursuit algorithm, so some of its operations are similar to the block orthogonal matching pursuit algorithm. The difference is that the cyclic block orthogonal matching pursuit algorithm needs to cyclically shift the columns of the measurement matrix in each iteration. Then, the block correlation between the shifted measurement matrix and the residual is calculated, and the index corresponding to the maximum block correlation value calculated by each cyclic shift is saved in the candidate block support set. After K iterations, the optimal K blocks are selected from all candidate block support sets as the non-zero blocks that are finally recovered.

[0169] In other words, the core idea of ​​the cyclic block orthogonal matching pursuit algorithm is to cyclically shift the columns of the measurement matrix so that the non-zero blocks in the received signal are exactly located on a uniformly distributed non-zero block. By utilizing the non-zero block structured distribution prior information provided by the coding part, a high-precision cyclic block orthogonal matching pursuit algorithm is performed to accurately identify the non-zero block index to recover the information bits carried on the non-zero block index.

[0170] For example, the indices of non-zero blocks and estimated values ​​of non-zero elements can be obtained by using the cyclic block orthogonal matching pursuit algorithm, and b can be restored according to the estimated non-zero block indices. I information bit (i.e., the first information bit), and demodulating the non-zero estimate can restore b S The entire cyclic block orthogonal matching pursuit algorithm from step S6031 to step S60312 can be implemented by computer program code, and the implementation logic of the code is as follows:

[0171] Input: received signal y; measurement matrix Φ; number of non-zero blocks K; non-zero block length L.

[0172] When the number of iterations k is less than the number of non-zero blocks K, the following loop steps are performed:

[0173] Step A1: Initialization: residual r (0) =y; non-zero block candidate set Combined Index Set Number of combinations

[0174] Step A2: Circular shift the codebook matrix by l columns to obtain For the l-th cyclic shift, calculate the correlation between the l-th block of the measurement matrix and the received signal:

[0175] Where Φ represents the measurement matrix, Π l represents the permutation matrix obtained by cyclically shifting the columns of the identity matrix l times, represents the matrix obtained by cyclically shifting the columns of the measurement matrix Φ to the right l times;

[0176] and represents the submatrix consisting of the (q-1)L+1th to qLth columns of the matrix Φ, Represents the conjugate transpose of this submatrix.

[0177] Step A3: Find the index corresponding to the maximum value:

[0178] in, Indicates from Find the maximum value in the , and the index corresponding to the maximum value is For example, The largest value in but

[0179] Step A4: Update candidate support set: here represents the candidate support set of the kth iteration, ∪ represents the union operation, such as {1, 2}U{3, 5} = {1, 2, 3, 5}.

[0180] Step A5: Remove The same elements in:

[0181] Here, uniq(a) means removing repeated elements in a. For example, if a={1, 2, 2, 2, 3}, then uniq(a)={1, 2, 3}.

[0182] Step A6: Calculation Number of block indices in:

[0183] in, Represents the number of index blocks used to identify candidate support sets.

[0184] Step A7: Calculate all combinations of the index in the candidate support set of the current iteration and the index in the candidate support set of the previous k-1 iterations, and store them in set J (k) : Among them, Comb(·) represents taking index combinations.

[0185] For example, in the first iteration In the second iteration but and The combination between Total Combination, then

[0186] Step A8: Calculate the total number of combinations:

[0187] Step A9: Update residuals: in

[0188] Step A10: For each Calculate the correlation value: in

[0189] Step A11: Find The index corresponding to the maximum value:

[0190]

[0191] When k is equal to or greater than K, the above iterative cycle process is terminated after executing step A11. The non-zero support set here is used to represent the values ​​of non-zero elements.

[0192] The embodiment of the present invention utilizes the non-zero block structured distribution prior information provided by the coding part sent by the transmitting end, and cyclically shifts the columns of the measurement matrix so that the non-zero blocks in the received signal are located exactly on a uniformly distributed non-zero block, thereby performing a high-precision cyclic block orthogonal matching pursuit algorithm to accurately identify the non-zero block index, thereby effectively improving the reliability of decoding at the data receiving end.

[0193] The embodiment of the present invention provides a method for short message communication based on block sparse vector code, which has more advantages in transmission reliability and transmission delay than the classic polar code scheme and sparse vector coding scheme. Figure 7 ,The block error rate performance of different schemes is compared under different modulation orders.

[0194] The specific settings are as follows: the non-zero block length is (L=3), the number of non-zero blocks is (K=2), so the total number of non-zero elements in the sparse vector code and constellation rotation sparse vector code schemes is (KL=6). Under BPSK modulation, the number of transmitted bits is (b=47), and under 16QAM modulation, the number of transmitted bits is (b=59).

[0195] pass Figure 7 By comparing the experimental data in , it is clear that the block error rate performance of the block sparse vector code scheme is better than that of the constellation rotation sparse vector code scheme and the sparse vector code scheme under all modulation orders. For example, when the target block error rate is 1×10 -4When , the signal-to-noise ratio required by the block sparse vector code scheme using BPSK modulation is about 2dB lower than that of the sparse vector code scheme, and about 1.5dB lower than that of the constellation rotation sparse vector code scheme; the signal-to-noise ratio required by the block sparse vector code scheme using 16QAM modulation is about 1.7dB lower than that of the constellation rotation sparse vector code scheme.

[0196] Therefore, according to this experimental data, it can be shown that under the same spectrum efficiency and transmission delay, the block sparse vector code scheme has higher reliability than the sparse vector code scheme and the constellation rotation sparse vector code scheme.

[0197] In this embodiment, a device for short message communication based on block sparse vector code is also provided, which is used to implement the above embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0198] This embodiment provides a short message communication device based on block sparse vector code, such as Figure 8 As shown, including:

[0199] The encoding module 801 is used to obtain a mapped block sparse vector according to a preset mapping strategy based on information bits to be transmitted;

[0200] A pseudo-random expansion module 802, configured to perform pseudo-random expansion on the block sparse vector;

[0201] The time-frequency resource mapping module 803 is used to map the expanded block sparse vector to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

[0202] In an optional embodiment, the encoding module 801 is specifically used to: divide the information bits to be transmitted into first information bits and second information bits based on the length of the information to be transmitted; obtain a non-zero block index for indicating the specific position of the non-zero block after block sparse mapping of the first information bits; obtain the value of the non-zero block after preset modulation mapping of the second information bits; wherein the value of the non-zero block and the non-zero block index together constitute the block sparse vector.

[0203] In an optional implementation, the pseudo-random expansion module 802 is specifically used to: obtain the number of non-zero blocks, the support set of the non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the value of the non-zero blocks in the block sparse vector; based on the pseudo-random expansion algorithm, use the value of the non-zero blocks, the number of non-zero blocks, the support set of the non-zero blocks, and the sub-codebook matrix corresponding to the non-zero blocks to pseudo-randomly expand the block sparse vector;

[0204] The pseudo-random expansion algorithm is expressed by the following formula:

[0205]

[0206] in, is the kth non-zero block element of the block sparse vector s, B k is the support set of the kth non-zero block, is the sub-codebook matrix corresponding to the kth non-zero block, x is the block sparse vector after pseudo-random expansion, and K is the number of non-zero blocks.

[0207] This embodiment provides a short message communication device based on block sparse vector code, such as Fig. 9 As shown, including:

[0208] The time-frequency information acquisition module 901 is used to acquire the time-frequency information sent by the data sending end;

[0209] A time-frequency information analysis module 902, configured to determine a block sparse vector and a channel gain according to the received time-frequency information;

[0210] A matching pursuit algorithm calculation module 903, configured to obtain the index of a non-zero block and the value of a non-zero block by using the block sparse vector and the channel gain based on a cyclic block orthogonal matching pursuit algorithm;

[0211] The decoding module 904 is used to perform information bit inverse operation on the index of the non-zero block and the value of the non-zero block to obtain the information bit of the data sending end.

[0212] In an optional implementation, the matching pursuit algorithm calculation module 903 is specifically used to: initialize the residual of the block sparse vector to the received signal, initialize the non-zero block candidate set to an empty set, initialize the combination index set to an empty set, and initialize the number of combinations to zero; wherein the received signal represents a signal determined by the block sparse vector and the channel gain; perform a column cyclic shift l times on the codebook matrix of the block sparse vector, and obtain a new measurement matrix each time; wherein after each shift, calculate the correlation value between the lth block of the measurement matrix and the received signal; obtain the first target correlation value of the correlation value set after the lth column cyclic shift; wherein the first target correlation value represents the maximum value in the correlation value set; determine the first target index corresponding to the block according to the first target correlation value; add the first target index determined after the lth column cyclic shift to the non-zero block candidate set, and remove the non-zero block candidate corresponding to the previous l-1th column cyclic shift. Repeated indexes in the set; all candidate combinations between the indexes in the non-zero block candidate set after the current iteration update and the indexes in the non-zero block candidate set in all iterations before the current iteration update; adding the candidate combination to the combination index set, and calculating the number of candidate combinations to identify each candidate combination; using the updated non-zero block candidate set to update the residual for use as a new received signal during the l+1th column cyclic shift; for each candidate combination, calculating the correlation value corresponding to the candidate combination; obtaining the correlation value set corresponding to the candidate combination, and determining a second target correlation value from the set; wherein the second target correlation value represents the maximum value in the correlation value set corresponding to the candidate combination; determining a second target index according to the second target correlation value; wherein the second target index represents the index of the non-zero block; and determining a non-zero support set according to the second target index, and determining the value of the non-zero block through the non-zero support set.

[0213] In an optional implementation, the received signal is determined by the following formula:

[0214] y=φΠ l Π -l s+w;

[0215]

[0216] Where y represents the received signal, φ represents the measurement matrix corresponding to the channel gain, s represents the block sparse vector, represents the mean value is 0, and the covariance matrix is ​​σ 2 I M The complex additive white Gaussian noise vector, σ 2 represents the noise variance, I M represents the M×M-dimensional identity matrix; Π -l s represents the cyclic shift of the sparse vector s downward l times, φΠ lIt means that the columns of the measurement matrix φ are cyclically shifted to the right l times, and Π represents the permutation matrix.

[0217] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0218] The device for short message communication based on block sparse vector code in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0219] The embodiment of the present invention also provides a computer device having the above Figure 8 or Fig. 9 The device shown is for short message communication based on block sparse vector code.

[0220] See also Fig.10 , Fig.10 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Fig.10 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.10 A processor 10 is taken as an example.

[0221] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0222] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.

[0223] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0224] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0225] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0226] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0227] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0228] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the defined scope.

Claims

1. A short message communication method based on block sparse vector code, characterized in that: Applied to a data sending end, the method comprises: Obtaining a mapped block sparse vector according to a preset mapping strategy based on the information bits to be transmitted; Pseudo-randomly expanding the block sparse vector; The expanded block sparse vector is mapped to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

2. The method according to claim 1, characterized in that: The obtaining a mapped block sparse vector according to the information bits to be transmitted according to a preset mapping strategy specifically includes: Dividing the information bits to be transmitted into first information bits and second information bits based on the length of the information to be transmitted; The first information bit is subjected to block sparse mapping to obtain a non-zero block index used to indicate a specific position of a non-zero block; The second information bit is subjected to a preset modulation mapping to obtain a non-zero block value; The non-zero block value and the non-zero block index together constitute the block sparse vector.

3. The method according to claim 2, characterized in that The pseudo-randomly expanding the block sparse vector specifically includes: Obtaining the number of non-zero blocks, the support set of the non-zero blocks, the sub-codebook matrix corresponding to the non-zero blocks, and the values ​​of the non-zero blocks in the block sparse vector; Based on a pseudo-random expansion algorithm, the block sparse vector is pseudo-randomly expanded using the value of the non-zero block, the number of the non-zero blocks, the support set of the non-zero block, and the sub-codebook matrix corresponding to the non-zero block; The pseudo-random expansion algorithm is expressed by the following formula: in, is the kth non-zero block element of the block sparse vector s, B k is the support set of the kth non-zero block, is the sub-codebook matrix corresponding to the kth non-zero block, x is the block sparse vector after pseudo-random expansion, and K is the number of non-zero blocks.

4. A method for short message communication based on block sparse vector codes, characterized in that: Applied to a data receiving end, the method comprises: Obtaining the time and frequency information sent by the data sending end; Determine a block sparse vector and a channel gain according to the received time-frequency information; Based on a cyclic block orthogonal matching pursuit algorithm, the block sparse vector and the channel gain are used to obtain the index of the non-zero block and the value of the non-zero block; An information bit inverse operation is performed on the index of the non-zero block and the value of the non-zero block to obtain the information bit of the data sending end.

5. The method according to claim 4, characterized in that The method of obtaining the index of the non-zero block and the value of the non-zero block by using the block sparse vector and the channel gain based on the cyclic block orthogonal matching pursuit algorithm specifically includes: Initializing the residual of the block sparse vector to a received signal, initializing the non-zero block candidate set to an empty set, initializing the combination index set to an empty set, and initializing the number of combinations to zero; wherein the received signal represents a signal determined by the block sparse vector and the channel gain; Performing column cyclic shift l times on the codebook matrix of the block sparse vector, and obtaining a new measurement matrix each time; wherein after each shift, calculating the correlation value between the lth block of the measurement matrix and the received signal; Obtaining a first target correlation value of the correlation value set after the l-th column cyclic shift; wherein the first target correlation value represents a maximum value in the correlation value set; Determine a first target index corresponding to the block according to the first target correlation value; Adding the first target index determined after the l-th column cyclic shift to the non-zero block candidate set, and removing the repeated indexes in the non-zero block candidate set corresponding to the previous l-1-th column cyclic shift; According to the index in the non-zero block candidate set after the current iteration update, all candidate combinations between the index in the non-zero block candidate set in all iterations before the current iteration update; Adding the candidate combination to the combination index set, and calculating the number of candidate combinations for identifying each candidate combination; Using the updated non-zero block candidate set to update the residual, so as to be used as a new received signal during the l+1th column cyclic shift; For each candidate combination, calculate the correlation value corresponding to the candidate combination; Obtaining a set of correlation values ​​corresponding to the candidate combination, and determining a second target correlation value from the set; wherein the second target correlation value represents a maximum value in the set of correlation values ​​corresponding to the candidate combination; Determine a second target index according to the second target correlation value; wherein the second target index represents the index of the non-zero block; A non-zero support set is determined according to the second target index, and a value of the non-zero block is determined by the non-zero support set.

6. The method according to claim 5, characterized in that The received signal is determined by the following formula: y=φΠ l P -l s+w; Where y represents the received signal, φ represents the measurement matrix corresponding to the channel gain, s represents the block sparse vector, represents the mean value is 0, and the covariance matrix is ​​σ 2 I M The complex additive white Gaussian noise vector, σ 2 represents the noise variance, I M represents the M×M-dimensional identity matrix; Π -l s represents the cyclic shift of the sparse vector s downward l times, φΠ l It means that the columns of the measurement matrix φ are cyclically shifted to the right l times, and Π represents the permutation matrix.

7. A device for short message communication based on block sparse vector code, characterized in that: Applied to a data transmitting end, the device comprises: An encoding module, used for obtaining a mapped block sparse vector according to a preset mapping strategy based on information bits to be transmitted; A pseudo-random expansion module, used for performing pseudo-random expansion on the block sparse vector; The time-frequency resource mapping module is used to map the expanded block sparse vector to the time-frequency resource to obtain the time-frequency information to be transmitted, so as to transmit the time-frequency information to the receiving end.

8. A device for short message communication based on block sparse vector code, characterized in that: Applied to a data receiving end, the device comprises: A time-frequency information acquisition module, used to acquire the time-frequency information sent by the data sending end; A time-frequency information analysis module, used to determine a block sparse vector and a channel gain according to the received time-frequency information; A matching pursuit algorithm calculation module, used for obtaining the index of a non-zero block and the value of a non-zero block by using the block sparse vector and the channel gain based on a cyclic block orthogonal matching pursuit algorithm; The decoding module is used to perform information bit inverse operation on the index of the non-zero block and the value of the non-zero block to obtain the information bit of the data sending end.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method for short message communication based on block sparse vector codes as described in any one of claims 1-3 or 4-6 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for short message communication based on block sparse vector codes as described in any one of claims 1-3 or 4-6.

11. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the method for short message communication based on block sparse vector code according to any one of claims 1 to 3 or 4 to 6.

Citation Information

Patent Citations

  • Sparse interleave division multiple access method

    CN106788893A

  • High-performance large-scale MIMO downlink transmission channel estimation method

    CN109257309A

  • Multi-user sparse vector coding transmission method for large-scale machine type communication

    CN115834320A

  • KR20200064504A

  • KR20200070130A