求一维序列的信息熵(香浓熵)的
matlab
程序实例
对于一个二维信号,比如灰度图像,灰度值的范围是
0-255
,因此只要根据像素灰度值
(0-255)
出现的概率,就可以计算出信息熵。
但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的,不会是
(0-255)
这么确定,如果进行域值变换,使其转换到一个整数范围的话,就会丢失数据,请高手指点,怎么计算。
比如数字信号是
x(n),n=1~N
(1)先用Hist
函数对x(n)
的赋值范围进行分块,比如赋值范围在
0~10
的对应第
一块,10~20
的第二块,以此类推。这之前需要对
x(n)
做一些归一化处理
(2)统计每一块的数据个数,并求出相应的概率
(3)用信息熵公式求解
以上求解方法获得的虽然是近似的信息熵,但是一般认为,这么做是没有问题的
求一维序列的信息熵的
matlab
程序代码如下:(已写成调用的函数形式)
测试程序:
fs=12000;
N=12000;
T=1/fs;
t=(0:N-1)*T;
ff=104;
sig=0.5*(1+sin(2*pi*ff*t)).*sin(2* ...


雷达卡




京公网安备 11010802022788号







