當前位置:編程學習大全網 - 源碼下載 - 瀏陽源代碼網站

瀏陽源代碼網站

function [WT,FreqBins,Scales]=CWT_Morlet(Sig,WinLen,nLevel)

使用Morlet函數的%連續小波變換

%Sig:信號

% WinLen:scale參數為a=1時小波函數的長度(默認為10)。

%nLevel:頻率軸劃分間隔段(默認為1024)

%

%WT:返回的小波變換計算結果

%FreqBins:返回頻率軸劃分的結果(歸壹化頻率,最大頻率為0.5)

%Scales:返回頻率軸分度值對應的刻度分度值(頻率0.5對應的刻度為1)。

如果(nargin==0),

錯誤('至少需要1個參數!');

結束;

if(NAR gin & lt;3),

nLevel = 1024;

結束

if(NAR gin & lt;2),

WinLen = 10;

結束

Sig = Hilbert(real(Sig));%計算信號的分析信號

SigLen =長度(Sig);%獲取信號的長度

fmax = 0.5%設置最高分析頻率

fmin = 0.005%設置最小分析頻率

freq bins = log space(log 10(fmin),log10(fmax),nLevel);%將頻率軸置於分析範圍等。

%對數坐標劃分

標度= fmax *個(大小(頻率箱))。/freq bins;%計算響應的比例參數。

OMG 0 = WinLen/6;

WT =零(nLevel,SigLen);%分配計算結果的存儲單位

wait=waitbar(0,'正在計算,請稍候');

對於m=1:nLevel,

waitbar(m/nLevel,wait);

a =刻度(米);%提取比例參數

t =-round(a * WinLen):1:round(a * WinLen);

mor1=pi^(-1/4)*exp(1i*2*pi*0.5*t/a).*exp(-t.^2/2/(2*omg0*a)^2);

%計算當前尺度下的小波函數。

temp=conv(Sig,mor 1)/sqrt(a);%計算信號和小波函數的卷積

WT(m,)= temp(round(a * WinLen)+1:length(temp)-round(a * WinLen));

結束;

關閉(等待);

WT = WT/WinLen;

示例:

功能跟蹤

SampFreq = 50

t = 0:0.02:12-0.02;

sig =zeros(長度(t),1);

SIG(round(end/2)-50)= 1;SIG(round(end/2))=-1;

WinLen = 10;

[WT,FreqBins,Scales] = CWT_Morlet(sig,WinLen,512);

FreqBins = FreqBins * SampFreq

clf

set(gcf,' Position ',[200 100 300 220]);

set(gcf,' Color ',' w ');

pcolor(FreqBins,t,ABS(WT)');

colormap jet

陰影interp

彩條;

xlabel('頻率/赫茲');

ylabel(“時間/秒”);

2.制作各種模型B和Y,參觀瀏陽河模型廠。質量很好,價格也不錯。∩網上輸入瀏陽河模型妳會發現2011-5-1019:24:27。

  • 上一篇:Java學習有哪些重點和難點
  • 下一篇:求壹個C++程序,可以去掉某目錄下所有C++頭文件和源文件中的註釋行。
  • copyright 2024編程學習大全網