A lossy data compression and decompression method and system thereof

By reducing the data rate of the baseband signal during data compression and decompression and decompression, and decompression factor into overhead bits of the compressed signal, the problems of energy threshold requirements and additional transmission overhead in the prior art are solved, and efficient data transmission and decompression accuracy is achieved.

CN112134568BActive Publication Date: 2025-04-25EYECOM TELECOMM (GUANGZHOU) LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010969848.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-15
Publication Date
2025-04-25
Estimated Expiration
2040-09-15

AI Technical Summary

Technical Problem

In the prior art, there are problems with energy threshold requirements, misjudgment in determining shift factor and additional transmission overhead in the data compression and decompression process.

Method used

By processing the baseband signal, the data rate of the effective bandwidth of the transmission signal is reduced. The transmitting end and the receiving end unify the packet length. The shift factor of each packet is decomposed into the overhead bits of the compressed signal for transmission, and no additional transmission is required. At the same time, use synchronous encoding to replace the continuous, consistent numbered cut-off codes to ensure the synchronization accuracy of the decompression process.

Benefits of technology

The shift factor is transmitted without additional overhead, reducing the amount of data transmission, and ensuring the accuracy of the compression process through synchronous encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112134568B_ABST
    Figure CN112134568B_ABST
Patent Text Reader

Abstract

The present invention proposes a lossy data compression and decompression method and system thereof, firstly, the fixed-point IQ data are grouped, the maximum absolute value is determined respectively, then the maximum value is compared with the maximum power at the calibration full scale, the compression ratio k corresponding to each group is determined, and then the I data and Q data of each group of IQ data are shifted and truncated respectively, the compression is completed, and the compressed data is obtained; decompression is performed according to the group length H and the compression ratio k; the truncated code is encoded, and synchronous coding is generated at the same time; when continuous truncated codes with the same number appear in the link of the truncated code, the synchronous coding is used to replace part of the truncated codes in the continuous truncated codes with the same number; the truncated codes are stored in the overhead bits of each group of compressed data. The present invention reduces the overhead, increases the transmission efficiency, and increases the accuracy of synchronization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of mobile communications, and in particular relates to a lossy data compression and decompression method and a system thereof. Background Art

[0002] With the rapid development of mobile communication technology, the demand for signal transmission bandwidth is increasing, and technologies such as carrier aggregation will also increase the amount of data transmitted between the baseband processing unit and the radio frequency remote unit. This puts higher requirements on the optical fiber transmission capacity. In the current communication system dominated by optical fiber transmission, the application of optical modules with a transmission rate of 10Gb / s has become popular. In 5G applications, even 40G or 100G optical modules are needed to meet the increasing application needs.

[0003] Among the existing technologies, there are the following:

[0004] The technology recorded in the existing document 1CN201010267555.4 “Lossy data compression method and digital communication system based on lossy data compression” is as follows: firstly, the baseband signal is processed by extraction to reduce the data rate of the effective bandwidth of the transmitted signal, thereby reducing the amount of transmitted data;

[0005] The technology recorded in the existing document 2CN201210298915.6 “Data compression transmission and decompression method and device”: when compressing data, the sending end and the receiving end unify the packet length N, and the shift factor of each packet is decomposed into the overhead bits of the group of compressed signals for transmission, without the need for additional transmission;

[0006] The technology recorded in the existing document 3201811005196.8 "A data compression and decompression method": In order to facilitate data recovery at the decompression end, if there are consecutive shift information codes with the same number in the link, a synchronization code is generated every other code, so that the receiving end can identify the synchronization position based on the synchronization code.

[0007] However, the above prior art has the following disadvantages:

[0008] Regarding the prior art document 1: it is necessary to count the energy of the data, and then determine the marker bit according to the threshold range for truncation processing, and the marker bit is transmitted with the control word of the CPRI frame. This method requires an additional energy threshold, and the marker bit is not transmitted with the data, which requires additional pairing work. In the present invention, only the value with the largest absolute value in the packet block is used to determine the shift mode, and the shift factor is transmitted with the reorganized compressed signal;

[0009] For existing file 2: After determining the shift factor, the grouped data is shifted and then quantized. This method does not consider the absolute value of the data when determining the shift factor, but only compares the data after the sign bit is removed. This can easily lead to misjudgment of the size of negative numbers and loss of large signal precision. For example, a 4-bit binary signed number, 1000 represents 8, but in the algorithm of this document, after removing the sign, it is 000. In this case, this data is not used as the standard for quantization, but the remaining data in the group is used to determine the shift factor;

[0010] For existing file 3: It is necessary to transmit the compression factor and the flag bit of each compressed data additionally, which increases the compression overhead and the burden of compression, decompression and transmission. Summary of the invention

[0011] In view of the shortcomings of the above-mentioned prior art, the present invention proposes a lossy data compression and decompression method and system thereof, which processes the baseband signal through an extraction unit to reduce the data rate of the effective bandwidth of the transmission signal, thereby reducing the amount of transmitted data, and the transmitting end and the receiving end unify the packet length H, and the shift factor of each packet is decomposed into the overhead bits of the group of compressed signals for transmission, without the need for additional transmission; if shift information codes with the same consecutive numbers appear in the link of the truncation code, they are partially replaced by synchronization coding, so that the receiving end can identify the synchronization position according to the synchronization code, and the truncation code and the like are transmitted along with the compressed data, without the need for additional overhead.

[0012] The specific implementation contents of the present invention are as follows:

[0013] The present invention proposes a lossy data compression and decompression method, firstly, the fixed-point IQ data is grouped, the maximum absolute value of each group of IQ data after grouping is determined respectively, and then the maximum absolute value obtained is compared with the maximum power when the calibration full scale is performed to determine the compression ratio k corresponding to each group; according to the compression ratio k of each group, the I data and Q data of each group of IQ data are shifted and truncated respectively to complete the compression and obtain compressed data; the compressed data is decompressed according to the group length H and the compression ratio k; the compressed data includes three parts, namely: a sign bit at the highest bit, a data bit at the middle bit, and an overhead bit at the lowest bit;

[0014] Encode the truncated code and generate a synchronous code at the same time; when continuous truncated codes with the same number appear in the link of the truncated code, use the synchronous code to replace part of the truncated codes in the continuous truncated codes with the same number;

[0015] The bit truncation code is stored in the overhead bits of each group of compressed data.

[0016] In order to better implement the present invention, further, the specific steps of completing compression and obtaining compressed data are:

[0017] Step 1: Determine the input bit width M of each set of IQ data;

[0018] Step 2: Determine the compression ratio k;

[0019] Step 3: Determine the packet length H according to the input bit width M and the compression ratio k;

[0020] Step 4: Divide each group of IQ data into I data and Q data, and perform shifting and truncation on a group-by-group basis; the formula for generating the shift information is:

[0021]

[0022] Among them, i is the sequence number of the current group, data i The data in the current group;

[0023] Step 5: Determine the shift information bit width N, and then determine the truncation bit width bit_cut according to the compression ratio k, the input bit width M, and the shift information bit width N, and perform truncation; the shift information bit width N is the bit width of the overhead bit;

[0024] Step 6: Complete data compression.

[0025] In order to better implement the present invention, further, the encoding of the truncated code and the generation of the synchronous code include the following divisions: according to w calculated in step 4 i The difference between the bit width of the shift information is used to encode the truncation code:

[0026] When the difference is 0, the highest sign bit of the input data is truncated, the lower data bits are retained, and a code number 1 is encoded as the truncation code;

[0027] When the difference is 1, the bit 0 of the input data and the excess highest sign bit are truncated, and the second code is encoded as the truncation code;

[0028] When the difference is 2, bits 0 to 1 of the input data and the excess highest bit sign are truncated, and a third code is encoded as the truncation code;

[0029] When the difference is 3, bits 0 to 2 of the input data and the excess highest bit sign are truncated, and a number 4 code is encoded as the truncation code;

[0030] When the difference is 4, bits 0 to 3 of the input data and the excess highest sign bit are truncated, and code No. 5 is encoded as the truncation code;

[0031] When the difference is 5, bits 0 to 4 of the input data and the excess highest sign bit are truncated, and a code number 6 is encoded as the truncation code;

[0032] When the difference is 6, bits 0 to 5 of the input data and the excess highest sign bit are truncated, and code No. 7 is encoded as the truncation code;

[0033] When the difference is 7, bits 0 to 6 of the input data and the excess highest bit sign are truncated, and the eighth code is encoded as the truncation code;

[0034] At the same time, a synchronization code is encoded. When continuous truncated codes with the same number appear in the chain of truncated codes generated by the truncated codes corresponding to all the packet data, the synchronization code is used to replace part of the continuous truncated codes with the same number.

[0035] In order to better implement the present invention, further, in the process of using the synchronous code to replace part of the truncated codes in the consecutive truncated codes with the same number, for the consecutive truncated codes with the same number, every other truncated code is replaced with the synchronous code.

[0036] In order to better implement the present invention, further, when decompressing the compressed data, the bit0 in the input compressed data is extracted, that is, the overhead bit of the compressed data is extracted and used as the control bit of the decompression;

[0037] Set the IDLE state to out-of-step / idle state, set the PRE_FLAG_WAIT state to synchronization test state, and set the SUC_COMP_FLAG state to synchronization state;

[0038] When the synchronization code in the overhead bit is detected, the position of the current synchronization code is recorded and the PRE_FLAG_WAIT state is entered to test whether the synchronization state is normal;

[0039] When the synchronization code is detected again, if the synchronization state is tested to be abnormal, it jumps back to the IDLE state to resynchronize;

[0040] If the synchronization status is continuous synchronization, it is considered to be successful and jumps to the SUC_COMP_FLAG state;

[0041] If the number of abnormal synchronization states in consecutive tests after synchronization is successful reaches a preset threshold, the system will jump to the IDLE state and resynchronize.

[0042] In order to better implement the present invention, further, in the decompression process, the following processing definition is assigned to the truncation code in the control bit, i.e., the overhead bit, and the decompression processing is performed according to the processing definition corresponding to the truncation code:

[0043] No. 1 coding: fill the highest sign bit of the input compressed data;

[0044] Encoding No. 2: Fill bit 0 of the input compressed data with 0 and fill the highest sign bit;

[0045] No. 3 coding: fill bit0~bit1 of the input compressed data with 0 and fill the highest sign bit;

[0046] Code No. 4: Fill bit0 to bit2 of the input compressed data with 0 and fill the highest sign bit;

[0047] No. 5 coding: fill bits 0 to 3 of the input compressed data with 0 and fill the highest sign bit;

[0048] No. 6 coding: fill bit0 to bit4 of the input compressed data with 0 and fill the highest sign bit;

[0049] No. 7 coding: fill the bit0 to bit5 of the input compressed data with 0 and fill the highest sign bit;

[0050] No. 8 coding: fill bit0 to bit6 of the input compressed data with 0 and fill the highest sign bit;

[0051] Synchronous encoding: Restore the previous set of data control bits.

[0052] The present invention also proposes a lossy data compression and decompression system, the system comprising a transmitting end for compressing IQ data to generate compressed data and sending the compressed data, and a receiving end for receiving the compressed data and decompressing the compressed data;

[0053] The transmitting end includes an ADC unit, a DDC unit, an extraction unit, a data compression unit, and a CPRI framing unit connected in sequence;

[0054] The receiving end includes a CPRI deframing unit, a data decompression unit, an interpolation unit, a DUC unit, and a DAC unit connected in sequence;

[0055] The CPRI framing unit is connected to the CPRI deframing unit and is used for transmitting compressed data.

[0056] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0057] (1) The shift factor is transmitted along with the data, without any additional overhead, and synchronization coding is set to ensure the accuracy of synchronization during decompression and compression;

[0058] (2) When compressing data, the sending and receiving ends unify the packet length N, and the shift factor of each packet is decomposed into the overhead bits of the group of compressed signals for transmission, without the need for additional transmission;

[0059] (3) By processing the baseband signal through extraction, the data rate of the effective bandwidth of the transmitted signal is reduced, thereby reducing the amount of data transmitted. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 It is a schematic diagram before and after data compression;

[0061] Figure 2 Schematic diagram for replacement of synchronous coding;

[0062] Figure 3 It is a schematic diagram of the processing flow of data compression;

[0063] Figure 4 It is a schematic diagram of the synchronous signal processing flow at the receiving end;

[0064] Figure 5 Schematic diagram of the system structure of the present invention. DETAILED DESCRIPTION

[0065] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the technical solutions 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. It should be understood that the described embodiments are only part of the embodiments of the present invention, not all of the embodiments, and therefore should not be regarded as limiting the scope of protection. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technical personnel in this field without making creative work are within the scope of protection of the present invention.

[0066] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "disposed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0067] Embodiment 1:

[0068] This embodiment proposes a lossy data compression and decompression method, such as Figure 1 , Figure 3As shown, firstly, the fixed-point IQ data are grouped, and the maximum absolute value of each group of IQ data after grouping is determined respectively, and then the maximum absolute value obtained is compared with the maximum power at the full scale of calibration to determine the compression ratio k corresponding to each group; according to the compression ratio k of each group, the I data and Q data of each group of IQ data are shifted and truncated respectively to complete the compression and obtain compressed data; the compressed data is decompressed according to the group length H and the compression ratio k; the compressed data includes three parts, namely: the sign bit at the highest bit, the data bit at the middle bit, and the overhead bit at the lowest bit.

[0069] Take the actual design situation as an example:

[0070] The data width is 14 bits, which becomes 10 bits after compression. The group length is 4. The steps are as follows:

[0071] Step 1: Determine the input bit width M=14;

[0072] Step 2: Determine the compression ratio k=14:10;

[0073] Step 3: Determine the packet length H=4;

[0074] Step 4: Divide each group of IQ data into I data and Q data, and perform shift and truncation on a group-by-group basis; calculate the shift information w i as follows:

[0075]

[0076] For example, four 14-bit binary signed numbers are:

[0077] 11 1010 1101 0110 (corresponding to decimal -1322)

[0078] 00 0110 1001 1011 (corresponding to decimal 1691)

[0079] 11 1101 1011 0100 (corresponding to decimal -588)

[0080] 00 0101 0010 1001 (corresponding to decimal 1321);

[0081] Shift information w i If it is 2, it means removing the 2-bit sign bit: 1010 1101 0110 0110 1001 1011 1101 1011 0100 0101 0010 1001;

[0086] Step 5: Determine the shift information bit width N, and then determine the truncation bit width bit_cut according to the compression ratio k, the input bit width M, and the shift information bit width N, and perform truncation; the shift information bit width N is the bit width of the overhead bit;

[0087] Set the shift information bit width N to 1, because it needs to be compressed to 10 bits, then get the truncation bit width bit_cut:

[0088] bit_cut=MM / k+N

[0089] =14-14 / (14 / 10)+1;

[0090] =5

[0091] Because the 2-bit sign bit has been removed, it is also necessary to remove 3 bits of input data, so the input data from bit0 to bit2 is truncated; the data after truncation is: 1010 1101 1 0110 1001 1 1101 1011 0 0101 0010 1;

[0096] Then add the overhead bits for the additional shift encoding: 1010 1101 10 0110 1001 11 1101 1011 01 0101 0010 10;

[0101] Step 6: Complete data compression.

[0102] Working principle: Note: The compression ratio k can be determined according to the requirements of the compression processing, such as 2:1, 3:2, etc. The highest bit in the compressed data is still the sign bit, followed by the data bit part of the compressed data, and the tail is the overhead bit, such as shift information, so that the decompression end can correctly decompress after receiving the compressed data. Assuming that the input bit width M of the data to be compressed is 12, the compression ratio k = 14:10, then the bit width of the compressed data is 10. If the overhead bit is 1 bit, the highest bit of the compressed data is the sign bit, the following 8 bits are the compressed data bits, and the lowest 1 bit is the overhead bit;

[0103] This compression module design uses the method of truncating the effective data to compress, which is lossy compression. When the effective bit width of the data is less than the bit width after compression, the high-order sign bit is truncated. When the effective bit width of the data is greater than the bit width after compression, in order to ensure the linearity of the data, only one sign bit in the data is retained, and then the redundant low-order data bits are truncated by rounding. The lowest bit is retained in the output data. The schematic diagram of data compression from 14 bits to 10 bits is shown in Figure 1 As shown. The key to this design is to group the data, then find the maximum absolute value of each group of data, and determine the maximum bit width required to represent the maximum value, then truncate the data separately, and store the truncation code in the overhead bits of the regrouped data, thereby saving overhead and increasing efficiency. At the same time, the truncation code is encoded and stored in the overhead bits, and the shift factor of each group is decomposed into the overhead bits of the group of compressed signals for transmission, without the need for additional transmission. Synchronous coding is set to replace the truncation code to ensure the accuracy of synchronization.

[0104] Embodiment 2:

[0105] In this embodiment, based on the above-mentioned embodiment 1, in order to better realize the present invention, further, the encoding of the truncated code and the generation of the synchronous code include the following divisions: according to w calculated in step 4 i The difference between the bit width of the shift information is used to encode the truncation code:

[0106] When the difference is 0, the highest sign bit of the input data is truncated, the lower data bits are retained, and a code number 1 is encoded as the truncation code;

[0107] When the difference is 1, the bit 0 of the input data and the excess highest sign bit are truncated, and the second code is encoded as the truncation code;

[0108] When the difference is 2, bits 0 to 1 of the input data and the excess highest bit sign are truncated, and a third code is encoded as the truncation code;

[0109] When the difference is 3, bits 0 to 2 of the input data and the excess highest bit sign are truncated, and a number 4 code is encoded as the truncation code;

[0110] When the difference is 4, bits 0 to 3 of the input data and the excess highest sign bit are truncated, and code No. 5 is encoded as the truncation code;

[0111] When the difference is 5, bits 0 to 4 of the input data and the excess highest sign bit are truncated, and a code number 6 is encoded as the truncation code;

[0112] When the difference is 6, bits 0 to 5 of the input data and the excess highest sign bit are truncated, and code No. 7 is encoded as the truncation code;

[0113] When the difference is 7, bits 0 to 6 of the input data and the excess highest bit sign are truncated, and the eighth code is encoded as the truncation code;

[0114] At the same time, the synchronous code is encoded, and when continuous truncated codes with the same number appear in the chain of truncated codes generated by the truncated codes corresponding to all the packet data, the synchronous code is used to replace part of the continuous truncated codes with the same number. The details are shown in Table 1 below:

[0115] coding illustrate 4'b0000 No. 1 coding, truncate the high-order sign bit of the input data and retain the low-order data bit 4'b0010 Code No. 2, truncates input data bit 0 and extra high-order sign bits 4'b0100 Code No. 3, truncates input data bit0~bit1 and extra high-order sign bits 4'b0110 Code No. 4, truncates input data bit0~bit2 and extra high-order sign bits 4'b1000 Code 5, truncates input data bits 0 to 3 and extra high-order sign bits 4'b1010 Code 6, truncates input data bits 0 to 4 and extra high-order sign bits 4'b1100 Code No. 7, truncates input data bits 0 to 5 and extra high-order sign bits 4'b1110 Number 8 encoding, truncating input data bit 0 to bit 6 and extra high-order sign bits 4’b1111 Synchronous encoding, used to synchronize data when the decompression end recovers data

[0116] Table 1

[0117] The other parts of this embodiment are the same as those of the above-mentioned embodiment 1, and thus will not be described in detail.

[0118] Embodiment 3:

[0119] This embodiment is based on any one of the above embodiments 1-2. Figure 2 As shown, in order to better implement the present invention, further, in the process of using the synchronization code to replace part of the truncated codes in the continuous truncated codes with the same number, for the continuous truncated codes with the same number, every other truncated code is replaced with the synchronization code. The synchronization code here is a special code. If there are continuous codes with the same number in the link, a synchronization code is generated for every other code. Figure 2 As shown, a 4'b1111 is inserted between three 4'b1010s, and every other one of the four connected 4'b0110s becomes a 4'b1111; in this way, the receiving end can identify the synchronization position according to the synchronization code.

[0120] The other parts of this embodiment are the same as any of the above embodiments 1-2, so they are not repeated here.

[0121] Embodiment 4:

[0122] This embodiment is based on any one of the above embodiments 1-3. Figure 4 As shown, in order to better implement the present invention, further, when decompressing the compressed data, the bit0 in the input compressed data is extracted, that is, the overhead bit of the compressed data is extracted and used as the control bit of the decompression;

[0123] The decompression module extracts bit 0 from the input data as a control bit, and the remaining bits are signal bits. The signal processing flow at the receiving end is as follows: Figure 4As shown, the IDLE state is the out-of-step / idle state. When the synchronization code is detected, the current position is recorded, and the state machine jumps into the synchronization test state (PRE_FLAG_WAIT). When the synchronization code is detected again, if the state is abnormal, it jumps back to IDLE for resynchronization. If the synchronization is continuous, it is considered to be successful, and the state machine jumps to the synchronization state (SUC_COMP_FLAG). If the number of consecutive detections of synchronization anomalies reaches the threshold after successful synchronization, it jumps back to IDLE for resynchronization.

[0124] Working principle:

[0125] The other parts of this embodiment are the same as any one of the above embodiments 1-3, so they are not repeated here.

[0126] Embodiment 5:

[0127] This embodiment is based on any one of the above embodiments 1-4, and in order to better implement the present invention, further, in the decompression process, the truncation code in the control bit, i.e., the overhead bit, is assigned the following processing definition, and the decompression processing is performed according to the processing definition corresponding to the truncation code:

[0128] No. 1 coding: fill the highest sign bit of the input compressed data;

[0129] Encoding No. 2: Fill bit 0 of the input compressed data with 0 and fill the highest sign bit;

[0130] No. 3 coding: fill bit0~bit1 of the input compressed data with 0 and fill the highest sign bit;

[0131] Code No. 4: Fill bit0 to bit2 of the input compressed data with 0 and fill the highest sign bit;

[0132] No. 5 coding: fill bits 0 to 3 of the input compressed data with 0 and fill the highest sign bit;

[0133] No. 6 coding: fill bit0 to bit4 of the input compressed data with 0 and fill the highest sign bit;

[0134] No. 7 coding: fill the bit0 to bit5 of the input compressed data with 0 and fill the highest sign bit;

[0135] No. 8 coding: fill bit0 to bit6 of the input compressed data with 0 and fill the highest sign bit;

[0136] Synchronous coding: restore the previous set of data control bits. See Table 2 for details:

[0137] coding illustrate 4'b0000 Code No. 1, fill the high-order sign bit of the input data 4'b0010 The second encoding fills the input data bit0 with 0 and the other high-order sign bits with 4'b0100 No. 3 encoding, fill the input data bit0~bit1 with 0, and fill the other high-order sign bits with 4'b0110 Code No. 4, fill the input data bit0~bit2 with 0, and fill the other high-order sign bits with 4'b1000 Code 5: fill input data bit0 to bit3 with 0, and other high-order sign bits with 4'b1010 Code VI: fill input data bit0 to bit4 with 0, and other high-order sign bits with 4'b1100 Code No. 7, fill the input data bit0~bit5 with 0, and fill the other high-order sign bits with 4'b1110 Encoding No. 8, fill the input data bit0~bit6 with 0, and fill the other high-order sign bits with 4’b1111 Synchronous encoding, restore the previous set of data control bits

[0138] Table 2

[0139] After data synchronization is completed, the lowest bit is extracted from every four data as a group to form a control bit code, and the data is filled and output according to Table 2.

[0140] Taking the previous data as an example, the compression control code extracted after synchronization is 4'b0110. From Table 2, we can see that we need to fill 0 for bit0 to bit2 of the input data and fill the other high-order sign bits. The decompressed data is:

[0141] 11 1010 1101 1000 (corresponding to decimal -1320)

[0142] 00 0110 1001 1000 (corresponding to decimal 1688)

[0143] 11 1101 1011 0000 (corresponding to decimal -591)

[0144] 00 0101 0010 1000 (corresponding to decimal 1320).

[0145] The other parts of this embodiment are the same as any one of the above embodiments 1-4, so they are not repeated here.

[0146] Embodiment 6:

[0147] This embodiment also proposes a lossy data compression and decompression system, such as Figure 5 As shown, the system includes a transmitting end for compressing IQ data to generate compressed data and sending the compressed data, and a receiving end for receiving the compressed data and decompressing the compressed data;

[0148] The transmitting end includes an ADC unit, a DDC unit, an extraction unit, a data compression unit, and a CPRI framing unit connected in sequence;

[0149] The receiving end includes a CPRI deframing unit, a data decompression unit, an interpolation unit, a DUC unit, and a DAC unit connected in sequence;

[0150] The CPRI framing unit is connected to the CPRI deframing unit and is used for transmitting compressed data.

[0151] Working principle: By eliminating redundant information in IQ data, the expenditure caused by useless information transmission is reduced. The data compression and decompression algorithm described in this paper is implemented based on FPGA hardware, and the IQ compression and decompression structure system is proposed according to the characteristics of programmable logic devices.

[0152] The data received by the antenna at the transmitting end is converted to digital and then down-converted to baseband. Then, filtering and extraction operations are performed according to the bandwidth occupied by the valid data to reduce the data transmission rate. The data compression module further compresses the transmission bits of the IQ data, and after the CRPI framing unit frames it according to the CPRI protocol, it is transmitted to the CRPI deframing unit through optical fiber;

[0153] The receiving end performs CRPI deframing on the data transmitted by the optical fiber, decompresses the data, interpolates, up-converts the data, performs digital-to-analog conversion, and then sends it out through the antenna for signal coverage.

[0154] The other parts of this embodiment are the same as any one of the above embodiments 1-5, so they are not repeated here.

[0155] The above description is only a preferred embodiment of the present invention and does not limit the present invention in any form. Any simple modification or equivalent change made to the above embodiment based on the technical essence of the present invention shall fall within the protection scope of the present invention.

Claims

1. A lossy data compression and decompression method, firstly, grouping fixed-point IQ data, determining the maximum absolute value of each group of IQ data after grouping, and then comparing the obtained maximum absolute value with the maximum power at the full scale of calibration to determine the compression ratio k corresponding to each group; according to the compression ratio k of each group, shifting and truncating the I data and Q data of each group of IQ data respectively to complete the compression and obtain compressed data; decompressing the compressed data according to the group length H and the compression ratio k; characterized in that, The compressed data includes three parts, namely: a sign bit at the highest position, a data bit at the middle position, and an overhead bit at the lowest position; Encode the truncated code and generate a synchronous code at the same time; when continuous truncated codes with the same number appear in the link of the truncated code, use the synchronous code to replace part of the truncated codes in the continuous truncated codes with the same number; The bit truncation code is stored in the overhead bits of each group of compressed data; The specific steps of completing compression and obtaining compressed data are as follows: Step 1: Determine the input bit width M of each set of IQ data; Step 2: Determine the compression ratio k; Step 3: Determine the packet length H according to the input bit width M and the compression ratio k; Step 4: Divide each group of IQ data into I data and Q data, and perform shifting and truncation on a group-by-group basis; the formula for generating the shift information is: ; in, i is the sequence number of the current group, data i The data in the current group; Step 5: Determine the shift information bit width N, and then determine the truncation bit width bit_cut according to the compression ratio k, the input bit width M, and the shift information bit width N, and perform truncation; the shift information bit width N is the bit width of the overhead bit; Step 6: Complete data compression; The encoding of the truncated code and the generation of the synchronous code include the following divisions: w i The difference between the bit width of the shift information is used to encode the truncation code: When the difference is 0, the highest sign bit of the input data is truncated, the lower data bits are retained, and a code number 1 is encoded as the truncation code; When the difference is 1, the bit 0 of the input data and the excess highest sign bit are truncated, and the second code is encoded as the truncation code; When the difference is 2, the bit0~bit1 of the input data and the extra highest sign bit are truncated, and the third code is encoded as the truncation code; When the difference is 3, bits 0 to 2 of the input data and the excess highest sign bit are truncated, and a number 4 code is encoded as the truncation code; When the difference is 4, bits 0 to 3 of the input data and the extra highest sign bit are truncated, and code No. 5 is encoded as the truncation code; When the difference is 5, bits 0 to 4 of the input data and the excess highest bit sign are truncated, and code 6 is encoded as the truncation code; When the difference is 6, bits 0 to 5 of the input data and the excess highest sign bit are truncated, and code No. 7 is encoded as the truncation code; When the difference is 7, bits 0 to 6 of the input data and the excess highest bit sign are truncated, and the eighth code is encoded as the truncation code; At the same time, a synchronization code is encoded, and when continuous truncated codes with the same number appear in the chain of truncated codes generated by the truncated codes corresponding to all the packet data, a part of the continuous truncated codes with the same number is replaced by the synchronization code; During the decompression process, the following processing definition is assigned to the truncation code in the control bit, i.e., the overhead bit, and the decompression process is performed according to the processing definition corresponding to the truncation code: No. 1 coding: fill the highest sign bit of the input compressed data; Encoding No. 2: Fill bit 0 of the input compressed data with 0 and fill the highest sign bit; No. 3 coding: fill bit0~bit1 of the input compressed data with 0 and fill the highest sign bit; Encoding No. 4: Fill bit0~bit2 of the input compressed data with 0 and fill the highest sign bit; No. 5 encoding: fill bit0~bit3 of the input compressed data with 0 and fill the highest sign bit; No. 6 coding: fill bit0~bit4 of the input compressed data with 0 and fill the highest sign bit; No. 7 coding: fill the bit0~bit5 of the input compressed data with 0 and fill the highest sign bit; No. 8 encoding: fill bit0~bit6 of the input compressed data with 0 and fill the highest sign bit; Synchronous encoding: Restore the previous set of data control bits.

2. A lossy data compression and decompression method as claimed in claim 1, characterized in that: In the process of using the synchronous code to replace part of the truncated codes in the continuous truncated codes with the same number, for the continuous truncated codes with the same number, every other truncated code is replaced by the synchronous code.

3. A lossy data compression and decompression method as claimed in claim 2, characterized in that: When decompressing compressed data, the bit0 in the input compressed data is extracted, that is, the overhead bit of the compressed data is extracted and used as the control bit of the decompression; Set the IDLE state to out-of-step / idle state, set the PRE_FLAG_WAIT state to synchronization test state, and set the SUC_COMP_FLAG state to synchronization state; When the synchronization code in the overhead bit is detected, the position of the current synchronization code is recorded and the PRE_FLAG_WAIT state is entered to test whether the synchronization state is normal; When the synchronization code is detected again, if the synchronization state is tested to be abnormal, it jumps back to the IDLE state to resynchronize; If the synchronization status is continuous synchronization, it is considered to be successful and jumps to the SUC_COMP_FLAG state; If the number of abnormal synchronization states in consecutive tests after synchronization is successful reaches a preset threshold, the system will jump to the IDLE state and resynchronize.

4. A lossy data compression and decompression system, characterized in that: It includes a transmitting end for compressing IQ data to generate compressed data and transmitting it, and a receiving end for receiving the compressed data and decompressing the compressed data; the transmitting end is used to first group the fixed-point IQ data, respectively determine the maximum absolute value of each group of IQ data after grouping, and then compare the obtained maximum absolute value with the maximum power at the calibration full scale to determine the compression ratio k corresponding to each group; according to the compression ratio k of each group, respectively shift and truncate the I data and Q data of each group of IQ data to complete the compression and obtain the compressed data; The receiving end is used to decompress the compressed data according to the packet length H and the compression ratio k; The transmitting end includes an ADC unit, a DDC unit, an extraction unit, a data compression unit, and a CPRI framing unit connected in sequence; The receiving end includes a CPRI deframing unit, a data decompression unit, an interpolation unit, a DUC unit, and a DAC unit connected in sequence; The CPRI framing unit is connected to the CPRI deframing unit for transmitting compressed data; The compressed data includes three parts, namely: a sign bit at the highest position, a data bit at the middle position, and an overhead bit at the lowest position; the truncated code is encoded and a synchronization code is generated at the same time; when continuous truncated codes with the same number appear in the link of the truncated code, the synchronization code is used to replace part of the continuous truncated codes with the same number; the truncated code is stored in the overhead bit of each group of compressed data; The specific steps of completing compression and obtaining compressed data are as follows: Step 1: Determine the input bit width M of each set of IQ data; Step 2: Determine the compression ratio k; Step 3: Determine the packet length H according to the input bit width M and the compression ratio k; Step 4: Divide each group of IQ data into I data and Q data, and perform shifting and truncation on a group-by-group basis; the formula for generating the shift information is: ; in, i is the sequence number of the current group, data i The data in the current group; Step 5: Determine the shift information bit width N, and then determine the truncation bit width bit_cut according to the compression ratio k, the input bit width M, and the shift information bit width N, and perform truncation; the shift information bit width N is the bit width of the overhead bit; Step 6: Complete data compression; The encoding of the truncated code and the generation of the synchronous code include the following divisions: w i The difference between the bit width of the shift information is used to encode the truncation code: When the difference is 0, the highest sign bit of the input data is truncated, the lower data bits are retained, and a code number 1 is encoded as the truncation code; When the difference is 1, the bit 0 of the input data and the excess highest sign bit are truncated, and the second code is encoded as the truncation code; When the difference is 2, the bit0~bit1 of the input data and the extra highest sign bit are truncated, and the third code is encoded as the truncation code; When the difference is 3, bits 0 to 2 of the input data and the excess highest sign bit are truncated, and a number 4 code is encoded as the truncation code; When the difference is 4, bits 0 to 3 of the input data and the extra highest sign bit are truncated, and code No. 5 is encoded as the truncation code; When the difference is 5, bits 0 to 4 of the input data and the excess highest bit sign are truncated, and code 6 is encoded as the truncation code; When the difference is 6, bits 0 to 5 of the input data and the excess highest sign bit are truncated, and code No. 7 is encoded as the truncation code; When the difference is 7, bits 0 to 6 of the input data and the excess highest bit sign are truncated, and the eighth code is encoded as the truncation code; At the same time, a synchronization code is encoded, and when continuous truncated codes with the same number appear in the chain of truncated codes generated by the truncated codes corresponding to all the packet data, a part of the continuous truncated codes with the same number is replaced by the synchronization code; During the decompression process, the following processing definition is assigned to the truncation code in the control bit, i.e., the overhead bit, and the decompression process is performed according to the processing definition corresponding to the truncation code: No. 1 coding: fill the highest sign bit of the input compressed data; Encoding No. 2: Fill bit 0 of the input compressed data with 0 and fill the highest sign bit; No. 3 coding: fill bit0~bit1 of the input compressed data with 0 and fill the highest sign bit; Encoding No. 4: Fill bit0~bit2 of the input compressed data with 0 and fill the highest sign bit; No. 5 encoding: fill bit0~bit3 of the input compressed data with 0 and fill the highest sign bit; No. 6 coding: fill bit0~bit4 of the input compressed data with 0 and fill the highest sign bit; No. 7 coding: fill the bit0~bit5 of the input compressed data with 0 and fill the highest sign bit; No. 8 encoding: fill bit0~bit6 of the input compressed data with 0 and fill the highest sign bit; Synchronous encoding: Restore the previous set of data control bits.

Citation Information

Patent Citations

  • Data compression transmitting and decompression method and apparatus

    CN103634273A

  • Lossy data compression method and lossy data compression-based digital communication system

    CN101945431A