Lempel-Ziv algorithm realization
Lempel-Ziv 复杂度程序
随着人们对非线性方法的分析越加深入,他们发现,虽然关联维度和最大李雅谱诺夫指数在分析脑电时具有一定的帮助,但是它们对数据的依赖性太强,对干扰和噪 声太敏感,而且要得到可靠的结果需要大量的数据,这对于高度不平稳的脑电波来说无疑是相当大的局限。科研人员迫切需要一种数据量少且具有一定抗干扰能力的 方法,这时LZ复杂度算法应运而生,它是一种表征时间序列里出现新模式的速率的方法。这个方法最先由Lempel和Ziv提出,因此取名为Lempel- Ziv复杂度。直到1987年,才由Kaspar和Schuster提出了该算法的计算机实现方法。
对于一个待求字符串S(S1,S2,…,Sn)以及另一个字符串Q(q1,q2,…,qn),SQ表示S和Q的级联,SQ=( S1,S2,…,Sn,q1,q2,…,qn)。令SQv是SQ减去最后一个字符所得字符串。判断Q是否是SQv的一个子串,如果Q是SQv的一个子串,说明Q中的字符是可从S复制的,这时把待求序列的下一个字符级联到Q。如果Q不是SQv的一个子串,则表示Q是插入字符。这时把Q级联到S,S=SQ,重新构造Q,重复以上过程直到Q取待求序列的最后一位结束。每次Q级联到S,表明出现一种新模式,用c表示一个字符串中新模式的数量。例如对于S=(10101010),应用上面的方法可以得到c(8)=3个新模式:1,0 ,101010。
具体的Matlab程序如下:
function BinaryData = DataBinarization( data )
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DataBinarization: 数据二值化处理
% AUTHOR : Andy Wu
% DATE: 2010/05/01
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MeanData = median(data);
[l,c] = size(data);
BinaryData(1:l,1:c) = '0';
for i=1:c
Tno = data(:,i) > MeanData(i) ;
BinaryData(Tno,i) = '1';
end
return;
function [lzc]=ComplexityCompute(x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 计算一维信号的复杂度
% x: the signal is vector
% lzc: the complexity of the signal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%模式初始值
c = 1;
%S Q SQ初始化
S = x(1);Q = [];SQ = [];
for i=2:length(x)
Q = strcat(Q,x(i));
SQ = strcat(S,Q);
SQv = SQ(1:length(SQ)-1);
if isempty(findstr(SQv,Q)) %如果Q不是SQv中的子串,说明Q是新出现的模式,执行c 加1操作
S = SQ;
Q = [];
c = c+1;
end
end
b = length(x)/log2(length(x));
lzc = c/b;
return;
Lempel-Ziv algorithm realization的更多相关文章
- suffix tree
文章出处:http://www.cnblogs.com/snowberg/archive/2011/10/21/2468588.html 3 What is a Suffix Tree Suf ...
- [IR] Dictionary Coding
[数据压缩]LZ77算法原理及实现 [数据压缩]LZ78算法原理及实现 Lempel–Ziv–Welch 年发表的论文<A Universal Algorithm for Sequential ...
- 变长编码表 ASCII代码等长编码
小结: 1.ASCII编码.GBK编码不是变长编码: 2.数据压缩: 示例: aabacdab → 00100110111010 → |0|0|10|0|110|111|0|10| → aabacda ...
- [No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)
1.7-ZIP简介 7-zip 是一款免费的压缩解压软件.ZIP格式的文件默认被苹果和微软支持,完全不需要额外安装其他软件就可以解压.但对于非US-ASCII编码的文件名和大于2GB的ZIP文件,可能 ...
- [iOS翻译]Cocoa编码规范
简介: 本文整理自Apple文档<Coding Guidelines for Cocoa>.这份文档原意是给Cocoa框架.插件及公共API开发者提供一些编码指导,实质上相当于Ap ...
- Regmap 框架:简化慢速IO接口优化性能【转】
1. 简介 Regmap 机制是在 Linux 3.1 加入进来的特性.主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器.其实这就是内核做的一次重构.Regma ...
- 7z文件格式及其源码linux/windows编译
7z文件格式及其源码的分析(二) 一. 准备工作: 1. 源码下载: 可以从官方中文主页下载:http://sparanoid.com/lab/7z/. 为了方便, 这里直接给出下载链接: http: ...
- 把大象装进冰箱的N种方法
作者:折剑头链接:https://www.zhihu.com/question/49214119/answer/115728034来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 【转】gif文件格式详解
1.概述 ~~~~~~~~ GIF(Graphics Interchange Format,图形交换格式)文件是由 CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 Comp ...
随机推荐
- bzoj1050[HAOI2006]旅行comf(枚举+贪心+并查集)
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...
- Django 2.0 学习(18):Django 缓存、信号和extra
Django 缓存.信号和extra Django 缓存 由于Django是动态网站,所以每次请求均会去数据库进行相应的操作,当程序访问量大时,耗时必然会显著增加.最简单的解决方法是:使用缓存,缓存将 ...
- BZOJ4070 [Apio2015]雅加达的摩天楼 【分块 + 最短路】
题目链接 BZOJ4070 题解 考虑暴力建图,将每个\(B_i\)向其能到的点连边,复杂度\(O(\sum \frac{n}{p_i})\),当\(p\)比较小时不适用 考虑优化建图,每个\(dog ...
- CVE-2017-16995 Ubuntu16.04本地提权漏洞复现
0x01 前言 该漏洞由Google project zero发现.据悉,该漏洞存在于带有 eBPF bpf(2)系统(CONFIG_BPF_SYSCALL)编译支持的Linux内核中,是一个内存任意 ...
- STL源码分析-rbtree
http://note.youdao.com/noteshare?id=4f8d16e565478b4e98bf2e56ce98a28e
- 数学:A^B的约数(因子)之和对MOD取模
POJ1845 首先把A写成唯一分解定理的形式 分解时让A对所有质数从小到大取模就好了 然后就有:A = p1^k1 * p2^k2 * p3^k3 *...* pn^kn 然后有: A^B = p1 ...
- Python学习笔记(五十)爬虫的自我修养(三)爬取漂亮妹纸图
import random import urllib from urllib import request import os ################################### ...
- select表单元素详解及下拉列表模拟实现
原文地址:→看过来 写在前面 select 是HTML表单元素中很常用的一个,其中很重要的几个属性常被忽略,但这几个属性却能帮助我们完成很多的功能,当然,select下拉列表默认样式很不友好,所以更多 ...
- My deep learning reading list
My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...
- linux的MySQL设为开机启动
linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务cp /usr/local/mysql5/share/mysql ...