天天看点

matlab小波分析时频谱图 声音时频信号处理

1、内容简介

616-可以交流、咨询、答疑

2、内容说明

简单地说,任何信号(当然要满足一定的数学条件),都可以通过傅立叶变换而分解成一个直流分量(也就是一个常数)和若干个(一般是无穷多个)正弦信号的和。

每个正弦分量都有自己的频率和幅值;

这样,以频率值作横轴,以幅值作纵轴,

把上述若干个正弦信号的幅值画在其所对应的频率上,就做出了信号的幅频分布图,也就是所谓频谱图 。

3、仿真分析

clear

clc

close all

[x2,fs]=audioread('玻璃碎片碰撞6s.wav');

wavename='cmor3-3';

totalscal=64; %totalscal是对信号进行小波变换时所用尺度序列的长度(通常需要预先设定好)

Fc=centfrq(wavename); % 小波的中心频率  测得Fc = 

c=2*Fc*totalscal;    % 测得

scals=c./(1:totalscal);

f=scal2frq(scals,wavename,1/fs); % 将尺度转换为频率   频率在0-500Hz取1024<span style="font-family: Arial, Helvetica, sans-serif;">个点</span>

coefs = cwt(x2,scals,wavename); % 求连续小波系数

t=0:1/fs:size(x2)/fs;

figure

imagesc(t,f,(abs(coefs)));

set(gca,'YDir','normal')

colorbar;

xlabel('时间 t/s');

ylabel('频率 f/Hz');

title('后围小波时频图');

matlab小波分析时频谱图 声音时频信号处理

继续阅读