本帖最后由 1393107100 于 2019-5-1 11:10 编辑

clear,clc

close all

%%%%%% 小波变换 %%%%%%%%%%%%%%%%

fs=1024;

t=1/fs:1/fs:1;

f1=100;f2=200;f3=300;

s=cos(2*pi*f1*t.*(t>=0&t<0.3))+2*cos(2*pi*f2*t.*(t>=0.3&t<0.8))+3*sin(2*pi*f3*t.*(t>=0.8&t<=1));

%s=cos(2*pi*f1*t);

figure(1);

plot(t,s,'b')

title('原始单频信号')

Y = awgn(s,6);%加高斯白噪声

subplot(412);

plot(t,Y,'r')

title('加信噪比为6的白噪声')

%%%%%%%%%%%%%%%%%小波时频图绘制 %%%%%%%%%%%%%%%%%%%%%

wavename='cmor4-4';    %%选用带宽参数和中心频率均为4 的复morlet小波

totalscal=256;          %尺度序列的长度,即scal的长度

fc=centfrq(wavename);%% 小波的中心频率

%%%%%%%%% 绘制时间域小波波形 %%%%%%%%%%%%%%%%%%%

cparam=2*fc*totalscal;%为得到合适的尺度所求出的参数

a=totalscal:-1:1;

scal=cparam./a;%得到各个尺度,以使转换得到频率序列为等差序列

coefs=cwt(Y,scal,wavename,1/fs);%求连续小波系数,小波系数coefs(系数是复数时要取模)

f=scal2frq(scal,wavename,1/fs);% 将尺度转换为频率.F = scal2frq(A,'wname',DELTA),该函数能将尺度转换为实际频率,其中A为尺度,wname为小波名称,DELTA为采样周期。

figure(2);

imagesc(t,f,abs(coefs)); %绘制色谱图

colormap(jet)

colorbar

xlabel('时间 t/s')

ylabel('频率 f/Hz')

title('小波时频图')

abs_coefs=abs(coefs).^2;%abs函数:数值的绝对值和复数的幅值,

bw=abs_coefs>=0.7*mean(mean(abs_coefs));%mean数组的均值.mean(A)如果A为矩阵,那么返回包含每列均值的行向量。

bw=bwlabel(bw);%在BW数组中,0代表黑背景,1代表白

for i=1:max(max(bw))

if length(find(bw==i))>1000

bw(find(bw==i))=-1;

end

end

bw=bwlabel(bw==-1);

figure(3)

imagesc (bw); title('脊线区域')

out=zeros(size(coefs));% 输出:大小为输入的矩阵大小,各元素的值为0

for i=1:max(max(bw))

out=out+local_maxima(abs_coefs,bw,i);%小波系数模局部极大值

end

out=out.*bw;

RIDGE=zeros(size(coefs));

for i=1:max(max(out))

[x,y]=find(out==i);

x=x(1:100:end);

if length(x)<3

break;

end

cs = spline(y(1:100:end),x);

%spline三次方样条数据插值

%pp = spline(x,y) 返回一个分段多项式结构体以用于 ppval 和样条实用工具 unmkpp

x_new=round(ppval(cs,y(1):y(end)));

x_new(find(x_new<=0))=1;

for i=1:length(x_new)

RIDGE(x_new(i),y(i))=1;

end

end

figure,imagesc (RIDGE);  title('脊线')

时频图.jpg

(22.45 KB, 下载次数: 2)

2019-5-1 11:10 上传

时频图

脊线.jpg

(14.9 KB, 下载次数: 0)

2019-5-1 11:08 上传

脊线图

matlab小波脊线,小波脊线提取,模极大值法。运行的结果不太对,代码有些地方我也没完全看懂...相关推荐

  1. 小波学习笔记——模极大值去噪

    模极大值去噪算法步骤: 1.对含噪信号进行尺度为,J=1,2,......,J的小波变换,并求出每个尺度上变换系数的模极大值. 2.从最大尺度开始,确定一个阈值T,把该尺度上模极大值小于T的极值点去掉 ...

  2. 小波包matlab,小波分析(第三讲)小波包二代小波Matlab工具使用

    <小波分析(第三讲)小波包二代小波Matlab工具使用>由会员分享,可在线阅读,更多相关<小波分析(第三讲)小波包二代小波Matlab工具使用(82页珍藏版)>请在人人文库网上 ...

  3. 【图像去噪】基于matlab快速跨尺度小波降噪泊松损坏图像去噪【含Matlab源码 1893期】

    ⛄一.图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程.噪声分类有三种:加性噪声,乘性噪声和量化噪声.我们用f(x,y)表示图 ...

  4. matlab中daubechie小波,[转载]小波滤波器

    滤波器组完美重构与小波快速算法. 前面的分析可以知道Vj相当于在j分辨率的逼近,Vj-1相当于j-1分辨率的逼近,这样Wj-1相当于两个分辨率逼近的差.在高分辨率下,我们可以用f在(2^j*t)的采样 ...

  5. 【小波变换基础知识+实战应用】Matlab中小波、小波包函数的分解,重构及区别等(持续更新)

    1.首先,小波变换的时候要注意一个问题,就是最高频率fmax为采样频率fs的1/2,即小波变换的初始频率.fmax=1/2fs=小波变换的初始频率 下面来举一个例子. 一个原始信号,经历的时间长度为2 ...

  6. gabor小波滤波器的在纹理提取、图像匹配上的作用

    1.作用:Gabor小波可以方便的提取图像在各个尺度和方向上的纹理信息,同时在一定程度上降低了图像中光照变化和噪声的影响. 其对光照不敏感的例子: 注意:其对图像的旋转也具有一定的适应性.其出现特征提 ...

  7. 【Matlab脑电信号】小波睡眠监测【含源码 595期】

    一.代码运行视频(哔哩哔哩) [Matlab脑电信号]小波睡眠监测[含源码 595期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 沈再阳.精通MATLAB ...

  8. 【图像融合】基于matlab低频融合策略小波图像融合【含Matlab源码 2319期】

    ⛄一.小波变换彩色图像融合简介 1 基于小波的图像融合 1.1 小波的分解和重构 小波变换是一种能够用来检测信号局部特征的数学工具.当然也可以将二维信号分解成不同分辨率的子带信号.由于图像为二维信号, ...

  9. ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络

    这学期的课程选择神经网络.最后的作业处理ECG信号,并利用神经网络识别. 1  ECG引进和阅读ECG信号 1)ECG介绍 详细ECG背景应用就不介绍了,大家能够參考百度 谷歌.仅仅是简单说下ECG的 ...

最新文章

  1. 根据输入的日期计算你活了多少天(新手)
  2. Mysql创建触发器实现不同表的插入、更新、删除操作
  3. 通用存储过程分页---(测试能用的请放心试用)
  4. 灰度图像--图像增强 Robert算子、Sobel算子
  5. 剑指Offer Ⅱ 001. 整数除法(力扣剑指Offer专项突击版——整数_1)
  6. linux系统安装文网卫士,360主机卫士 Linux 版本 安装
  7. 飞凌开发板 cramfs 镜像文件修改
  8. System.Net.Mail的属性与方法集锦
  9. Emacs配置文件(备份用)
  10. CODEVS 2102 石子归并 2
  11. 多年 iOS 开发经验总结
  12. 新东方 词根词缀 excel_14张图搞定高中英语词汇常见词缀词根!
  13. ubuntu大小写切换键的使用
  14. [RK3128][Android 6.0] 3G模块调试
  15. pandas已知数值怎么找位置_pandas.dataframe中根据条件获取元素所在的位置方法(索引)...
  16. matlab批量读取图像图片并批量处理图像(以伽马校正为例)以及批量保存图像
  17. time_expire时间过短,刷卡至少1分钟,其他5分钟
  18. 大战华为4年,香奈儿再次败诉!网友:你瞎还是我瞎?
  19. 外贸如何找客户邮箱?
  20. 拉格朗日四平方和定理

热门文章

  1. Java EE 6测试第二部分– Arquillian和ShrinkWrap简介
  2. 泄漏:Oracle WebLogic Server 12g
  3. 工业机器人打磨抛光编程员工资_一种工业机器人打磨抛光工作平台的制作方法...
  4. mysql在计算机管理中的路径怎么修改_称重软件中的数据修改怎么知晓?
  5. Pytorch机器学习/深度学习代码笔记
  6. ubuntu linux mac地址,Ubuntu下修改mac地址
  7. Java从键盘输入若干数_用java编程序:从键盘输入若干个整数,输出这些数中大于其平均值的数。...
  8. 基于RTP的QOS算法简介
  9. C语言函数库:动态库和静态库优缺点比较
  10. .net mvc actionresult 返回字符串_ASP.NET Core中的Action的返回值类型