天天看點

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小波分析時頻譜圖 聲音時頻信号處理

繼續閱讀