Huffman编码的Matlab实现--用于单导联ECG数据的压缩和解压缩
dataProcess.m ----主程序
norm2huff.m ----编码
huff2norm.m ----解码
(注意上面两个函数文件的末尾附有子函数)
Lead1.mat ----单导联数据
Original_6000_123.mat ----原始数据(12导联)
PS:除了打断点以外,Matlab的调试手段同VC6.0,即
F5快速调试至断点,F10单步运行,F11:Step in
%%%%%%%%%%%%%%%%%%%%%%%%%dataProcess.m
clear all, close all, clc; load Lead1.mat; data = Lead1; data = data + 150; % 预处理数据,将负转正 data = data(:)'; % 预处理,将列向量变行向量 % compress data fprintf('Compresing data ... ') [zipped,info] = norm2huff(data); fprintf('Done!/n') % decompress data fprintf('Decompressing data ... ') unzipped = huff2norm(zipped,info); fprintf('Done!/n') % test it isOK = isequal(data(:),unzipped(:)) whos data zipped unzipped
%%%%%%%%%%%%%%%%%%%%%%%%%norm2huff.m
function [zipped,info] = norm2huff(vector) % NORM2HUFF Huffman codification (encoder)编码器 % Detailed explanation goes here % vector as a row 行向量 vector = vector(:)'; % frequency 【①求各采样值出现的频率】 f = frequency(vector); % simbols presents in the vector are simbols = find(f~=0); % first value is 1 not 0!!!【②这些采样值中共有多少个不重复的非零值】 f = f(simbols); %【③各采样值的频率】 % sort using the frequency [f,sortindex] = sort(f); % f=f(sortindex) simbols = simbols(sortindex); % 【④频率值由小到大排序,为Huffman编码作准备】 len = length(simbols); % 求向量的长度 simbols_index = num2cell(1:len); % Convert numeric array to cell array codeword_tmp = cell(len,1); % Construct cell array: len * 1;数组初始值为空 【⑤codeword_tmp用于存储每个采样值的Huffman编码】 while length(f)>1, index1 = simbols_index{1}; index2 = simbols_index{2}; codeword_tmp(index1) = addnode(codeword_tmp(index1),0); codeword_tmp(index2) = addnode(codeword_tmp(index2),1); f = [sum(f(1:2)) f(3:end)]; simbols_index = [{[index1 index2]} simbols_index(3:end)]; % resort data in order to have the two nodes with lower frequency as first two [f,sortindex] = sort(f); simbols_index = simbols_index(sortindex); end % arrange cell array to have correspondance simbol <-> codeword %创建一个m*n的空矩阵,用于存储可能出现的值 codeword = cell(3000,1); codeword(simbols) = codeword_tmp; % calculate full string length【⑥计算采样序列对应的01串长】 len = 0; for index=1:length(vector), len = len+length(codeword{double(vector(index))+1}); end % create the full 01 sequence【⑦将采样序列转换为对应的01串】 string = repmat(0,1,len); pointer = 1; for index=1:length(vector), code = codeword{double(vector(index))+1}; len = length(code); string(pointer+(0:len-1)) = code; pointer = pointer+len; end % calculate if it is necessary to add padding zeros【⑧长度不能被8整除时在01串尾部补足数的0,使01串能表示为8*N的矩阵,值N即为压缩后的存储量】 len = length(string); pad = 8-mod(len,8); if pad>0, string = [string uint8(zeros(1,pad))]; end % now save only usefull codewords %【⑨只存储有用的码字】 codeword = codeword(simbols); codelen = zeros(size(codeword)); weights = 2.^(0:51); maxcodelen = 0; for index = 1:length(codeword), len = length(codeword{index}); if len>maxcodelen, maxcodelen = len; end if len>0, code = sum(weights(codeword{index}==1)); code = bitset(code,len+1); codeword{index} = code; codelen(index) = len; end end codeword = [codeword{:}]; % calculate zipped vector cols = length(string)/8; string = reshape(string,8,cols); weights = 2.^(0:7); zipped = weights*double(string); % store data into a sparse matrix huffcodes = sparse(1,1); % init sparse matrix for index = 1:numel(codeword), huffcodes(codeword(index),1) = simbols(index); end % create info structure【压缩解压缩信息表】 info.pad = pad;%【填充位】 info.huffcodes = huffcodes;%【Huffman编码】 info.ratio = cols./length(vector);%【压缩率】 info.length = length(vector);%【采样数据量】 info.maxcodelen = maxcodelen;%【编码最高位】 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function f = frequency(vector) %求向量内各字符出现的频率 f = histc(vector(:), 0:4999); f = f(:)'/sum(f); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function codeword_new = addnode(codeword_old,item) codeword_new = cell(size(codeword_old)); for index = 1:length(codeword_old), codeword_new{index} = [item codeword_old{index}]; end
%%%%%%%%%%%%%%%%%%%%%%%%%huff2norm.m
function vector = huff2norm(zipped,info) %HUFF2NORM Huffman codification (decoder)解码器 % For vectors, HUFF2NORM(X,INFO) returns a decoded vector from a Huffman coded version X % with code words given by INFO. % For matrices, X(:) is used as input. % % Input X must be of uint8 type, while the output is a uint8 array. % % For more details about how is INFO structured, see NORM2HUFF help. % % See also NORM2HUFF % create the 01 sequence len = length(zipped); % string = repmat(uint8(0),1,len.*8); string = repmat(0,1,len.*8); bitindex = 1:8; for index = 1:len, % string(bitindex+8.*(index-1)) = uint8(bitget(zipped(index),bitindex)); string(bitindex+8.*(index-1)) = bitget(zipped(index),bitindex); end % adjust string string = logical(string(:)'); % make a row of it len = length(string); string((len-info.pad+1):end) = []; % remove 0 padding len = length(string); % build output weights = 2.^(0:51); % vector = repmat(uint8(0),1,info.length); vector = repmat(0,1,info.length); vectorindex = 1; codeindex = 1; code = 0; for index = 1:len, code = bitset(code,codeindex,string(index)); codeindex = codeindex+1; byte = decode(bitset(code,codeindex),info); if byte>0, % a code has been found vector(vectorindex) = byte-1; codeindex = 1; code = 0; vectorindex = vectorindex+1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function byte = decode(code,info) byte = info.huffcodes(code);
%%%%%%%%%%%%%%%%%%%%%%%%%Lead1.mat
-1
-1
29
-1
29
29
-1
29
29
26
-1
29
29
26
22
-1
29
29
26
22
21
-1
29
29
26
22
21
22
-1
29
29
26
22
21
22
23
-1
29
29
26
22
21
22
23
23
-1
29
29
26
22
21
22
23
23
21
-1
29
29
26
22
21
22
23
23
21
22
-1
29
29
26
22
21
22
23
23
21
22
26
-1
29
29
26
22
21
22
23
23
21
22
26
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
54
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
54
49
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
54
49
50
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
54
49
50
42
-1
29
29
26
22
21
22
23
23
21
22
26
24
23
25
27
14
-4
9
41
43
39
41
48
59
24
-27
6
77
89
69
49
36
31
25
24
15
-10
-4
33
38
23
24
28
25
25
24
26
29
27
27
23
18
29
28
16
25
30
20
15
8
15
37
33
18
13
0
-3
9
11
3
6
30
27
-32
-105
-150
-125
-39
17
29
32
16
9
15
5
12
34
29
23
24
19
20
25
27
28
35
40
36
34
28
27
56
73
54
49
50
42
46
-1
29
29
26
22
Huffman编码的Matlab实现--用于单导联ECG数据的压缩和解压缩相关推荐
- 多分支融合网络用于12导联ECG图像心肌梗死筛查
Multi-branch fusion network for Myocardial infarction screening from 12-lead ECG images 1.摘要 背景与目的:心 ...
- 少导联或单导联脑电中去除肌电的方法
问题 脑电采集中不可避免的混入了肌电噪声,如何检测肌电并去除肌电同时最大程度保存脑电信号的完整. 指导思想 信号分解:我们假设噪声是叠加噪声,希望通过信号分解或者空间变换将脑电信号和肌电信号分开. 具 ...
- ESP32 单导联心电图心率变异性监测贴片:ProtoCentral Hearty Patch 详解
目录 导言 一.Hearty Patch 介绍 二.工作原理 三.设备特点 1. 精准度高 2. 穿戴舒适 3. 低功耗 4. 易用性 四.使用方法 五.应用案例 六.开发技巧 七.结语 导言 随着科 ...
- 基于小波变换的稳健的单导联心电图 (ECG) 描绘
小波这类算法真的天然地适合分析心电信号.脑电信号和肌电信号等生理信号,比绝大多数算法都要优秀,可解释性也足够强. 代码较为简单,用于检测ECG信号的QRS 复合波 #相关模块 from wavedel ...
- 基于哈夫曼编码对文件进行压缩和解压缩(详细讲解)
基于哈夫曼编码对文件进行压缩和解压缩(详细讲解) 本文对应c++代码实现链接 一.背景 利用特定的算法来压缩数据的工具,压缩后生成的文件称为压缩包.如果想使用其中的数据,就得用压缩软件对数据进行解压. ...
- 【毕业设计/matlab系列】基于ADPCM压缩标准的音频压缩和解压缩实现【含Matlab源码】
Date:2022.6.2 文章目录 代码获取方式 1.前言 2.算法原理 3.实现效果 4.核心matlab代码 代码获取方式 方式一:订阅付费专栏 <毕业设计代码进阶版>,可获取该付费 ...
- 详解LZ77字典编码压缩和解压缩流程(典型的压缩算法)
字典编码本质上是将在字典中出现过的字符串使用一个索引值代替,以此来达到压缩目的.基于字典的压缩算法有很多,LZ77和LZ78是最原始的两个算法,后者是前者的变体,原理基本上相似.本文对LZ77字典编码 ...
- 基于Huffman编码的压缩和解压缩小软件(附C++源码)
压缩前: 将pic.png拖到.exe文件上,可得到.zLzip压缩文件: 编码过程: 压缩过程: 将.zLzip压缩文件拖回可解压缩得到原文件: 顺便一提,当原文件内字符分布均衡时,其信息熵很低,压 ...
- MLBF网络:一种用于12导联心电图多类别心律失常分类的多导联分支融合网络
MLBF-Net: A Multi-Lead-Branch Fusion Network for Multi-Class Arrhythmia Classification Using 12-Lead ...
最新文章
- 三极管的耐压与hFE之间是什么关系?
- 使用axios时遇到的Request Method: OPTIONS请求,会同时发送两次请求问题
- python假设检验平均_Python|Excel|SPSS|R|Stata|Eviews统计数据假设检验T|F|卡方检验
- k40游戏增强版服务器维护中,Redmi K40 游戏增强版发布,第四台 K40 出现了
- 万象双环设计+原色双影像极致体验 华为P50标准版9月29日正式开售
- D1net阅闻:Google发布了能理解人类语言的云服务
- Python3批量转换文本文件编码
- Android在片段之间传递数据
- Kubernetes 架构与设计
- Protel99se基本教程 Protel 99SE从零开始学习教程视频教程
- 计算机三级——数据库技术
- GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读
- bat文件建文件夹时乱码及失败问题
- 计算机算法与程序框图,1.1算法与程序框图(3)(教学设计)
- MySQL锁与事务知识结构脑图
- V2X消息之SPAT消息解读
- html浅色_修改CSS样式实现网页灰色(没有颜色只有浅色黑白)的几个方法整理
- 定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。
- 指派问题——匈牙利法
- html模仿 商城 静态页面,HTML+CSS简单实现凡客商城静态网页