Patent ID: 7623767

Claim:
An apparatus for real time data compression applied for a data recorder, the apparatus comprising: a processing unit for performing a data compressing process; an interface unit connected to the processing unit through an interface, adapted to connect to a measuring device to receive measured analog signals from the measuring device, and further including a microprocessor; and an A/D converter converting the measured analog signals to a plurality of data points and transmitting the data points to the microprocessor, and the microprocessor transmitting the data points to the processing unit to be compressed; and a storing unit connected to the processing unit through data/address bus for storing the compressed data according to a data format; wherein the data compressing process performed by the processing unit comprises steps of: setting the first data point as a starting point X 0 ; sequentially examining the plurality of the data points to determine whether every present data point X i currently examined is in a predetermined tolerable error range, and a previous data point X i-1 is ignored if the present data point X i is in the predetermined tolerable error range; recording the previous data point X i-1 and the total amount of data points accumulated from the starting point X 0 to the previous data point X i-1 , and setting the previous data point X i-1 as a new starting point, when (a) the present data point X i exceeds the predetermined tolerable error range or (b) the amount of the ignored data points reaches to a first predetermined amount; wherein when the data points vary quickly during a period and the amount of the continuously examined data points is less than a second predetermined amount, the total amount of the data points that exceed their respective predetermined tolerable error ranges and the value of each of these data point are recorded; wherein the data format for the recorded data points has: a main region composed of multiple segments, wherein each segment has a predetermined length and stores the value of a presented recorded data point; and an amount of the data points calculated from a previous recorded data point to the present recorded data point; and a secondary region recording a start time that the data points are initially recorded, a sampling interval time and multiple blocks, wherein each block corresponds to several segments in the main region and includes a time value and a position value respectively representing a start time of the block and the start position of the block.