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 ...
随机推荐
- 【JavaScript&jQuery】前端资源大全
综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html 前端知识结构 https://github.com/Jackson ...
- element-ui中单独引入Message组件的问题
import Message from './src/main.js'; export default Message; 由于Message组件并没有install 方法供Vue来操作的,是直接返回的 ...
- 洛谷 P2574 XOR的艺术
刚刚学了,线段树,一道线段树入门题试试水 下面是题面 题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个 ...
- Linux环境安装.NET运行环境
Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...
- 【BZOJ3166】ALO(主席树)
[BZOJ3166]ALO(主席树) 题面 权限题qwq 资磁洛谷 题解 用一个\(set\)求出左右侧比这个数大的第\(2\)个数, 然后用可持久化\(Trie\)算一下就好啦 #include&l ...
- Native Wifi API
原文链接地址:https://www.cnblogs.com/jackcin/p/3285357.html 在windows平台下,可以使用native wifi api来控制无线网卡,包括获取无线网 ...
- 用dom4j修改xml(增加修改节点)
用dom4j修改xml(增加修改节点) 博客分类: Java XMLJavaMyeclipseServlet 使用dom4j修改解析xml,xml文件的位置是配置在xml.properties文件中 ...
- 图像BMP格式介绍
1 图像BMP格式说明 BMP是一种与硬件设备无关的图像文件格式,使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大.BMP文件的图像深度可选 ...
- jetbrains phpstorm插件开发环境搭建
2018.04.14 重要更新: 使用 gradle 进行构建可以免去下面大部分步骤,使用 gradle 我们仅需下载安装 JDK.Idea. 使用 gradle 的方法是,新建 Project,然后 ...
- php 修改图片分辨率
<?php function resize_image($file, $w, $h, $crop=FALSE) { list($width, $height) = getimagesize($f ...