主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

cwt

连続1次元ウェーブレット変换

旧バージョンのcwtの详细については,cwtを参照してください。旧バージョンは非推奨になりました。

説明

wt=类(xは、xの連続ウェーブレット変換 (CWT)を返します。入力xは実数値または复素数値のベクトルか単一変数の一定间隔でサンプリングされる时间表で,少なくとも4つのサンプルを含まなければなりません.CWTは,対称性パラメーター(ガンマ)が3に等しく时间 - 帯域积が60に等しい解析莫尔斯ウェーブレットを使用して得られます。cwtで使用されるオクターブあたりの音の数は10です。最小スケールと最大スケールは、ウェーブレットの周波数と時間におけるエネルギーの広がりに基づいて自動的に決まります。xが実数値の場合,wtは各行が1つのスケールに対応する2次元行列です。wtの列サイズはxの长さと等しくなります。xが複素数値の場合,wtは 3.次元行列です。1.ページ目が正のスケール (解析的な部分または反時計回りの成分) の CWTで、2.ページ目が負のスケール (反解析的な部分または時計回りの成分) の CWTになります。

关节cwtではL1正規化を使用します。L1正規化では,振幅の等しい振動成分がスケールの異なるデータ内にある場合,そのような振動成分はCWTで等しい大きさをもちます。L1正規化を使用すると信号の表現の精度が高くなります。CWTの L1ノルムおよび2つの複素指数の連続ウェーブレット変換を参照してください。

wt=类(xwnameは、wnameで指定された解析ウェーブレットを使用して CWTを計算します。wnameの有効なオプションは、“莫尔斯”“爱”、および“碰撞”で、それぞれ 莫尔斯、莫雷特(ガボール)、碰撞のウェーブレットを示します。wnameを指定しない場合、wnameは既定で“莫尔斯”になります。

(wtf]=cwt(<年代pan class="argument_placeholder">___FS.では,サンプリング周波数FS.を赫兹単位で正のスカラーとして指定します。cwtは、FS.を使用してスケールから周波数への変換を決定し、周波数fを赫兹単位で返します。サンプリング周波数を指定しない场合,cwtfをサンプルあたりのサイクル数で返します。入力xが複素数の場合、wtの両方のページにスケールから周波数への変換が適用されます。xが时间表の场合はFS.は指定できません。FS.はの时间表RowTimesから决定されます。

(wt]=cwt(<年代pan class="argument_placeholder">___tsでは,サンプリング周期tsを正の期间スカラーとして指定します。期间は、年、日、時間、分、または秒で指定できます。cwtは、tsを使用してスケールから周期への変換を計算し、期間をで返します。における 期间の配列の書式プロパティはtsと同じになります。入力xが複素数の場合、wtの両方のページにスケールから周期への変換が適用されます。xが时间表の场合はtsは指定できません。tsは、“周期限制”の名前と値のペアを設定したときに 时间表の 划船次数から決定されます。

(wtf细胞色素氧化酶]=cwt(<年代pan class="argument_placeholder">___,财政司司长)は、CWTのエッジの影響が顕著になる円錐状影響圏细胞色素氧化酶を返します。CWTの円錐状影響圏の単位は赫兹です。入力xが複素数の場合、wtの両方のページに円錐状影響圏が適用されます。

(wt细胞色素氧化酶]=cwt(<年代pan class="argument_placeholder">___ts)は、CWTのエッジの影響が顕著になる円錐状影響圏细胞色素氧化酶を返します。CWTの円錐状影響圏の単位は周期です。入力xが複素数の場合、wtの両方のページに円錐状影響圏が適用されます。

(<年代pan class="argument_placeholder">___]=cwt(<年代pan class="argument_placeholder">___,名称,值は1つ以上のペアの引数名称,值で指定された追加オプションを使用して CWTを返します。

(<年代pan class="argument_placeholder">___细胞色素氧化酶FB.]=cwt(<年代pan class="argument_placeholder">___)は、CWTで使用されるフィルター バンクを返します。cwtfilterbankを参照してください。

(<年代pan class="argument_placeholder">___FB.缩放CFS]=cwt(<年代pan class="argument_placeholder">___)は、解析ウェーブレットが“莫尔斯”または“爱”の場合にスケーリング係数を返します。スケーリング係数は 碰撞ウェーブレットではサポートされていません。

出力引数なしで<年代pan id="d123e2369" itemprop="syntax">cwt(<年代pan class="argument_placeholder">___)を使用すると、CWTのスカログラムがプロットされます。スカログラムは、時間と周波数の関数としてプロットされた CWTの絶対値です。対数スケールで周波数がプロットされます。エッジの影響が顕著になる円錐状影響圏もプロットされます。白い破線の外側のグレーの領域がエッジの影響が顕著になる領域です。入力信号が複素数値の場合、正 (反時計回り) と負 (時計回り) の成分が別々のスカログラムにプロットされます。

サンプリング周波数またはサンプリング周期を指定しない場合,周波数はサンプルあたりのサイクル数としてプロットされます。サンプリング周波数を指定した場合,周波数の単位は赫兹です。サンプリング周期を指定した場合は、スカログラムが時間と周期の関数としてプロットされます。入力信号が timetable の場合は、スカログラムが時間と周波数の関数として Hz 単位でプロットされ、RowTimes が時間軸の基底として使用されます。

スカログラムの点の时间,周波数,および振幅を表示するには,图の座标轴のツールバーでデータヒントを有效にし,スカログラムで目的の点をクリックします。

メモ

cwtは,プロットの前に現在の图をクリアします(clf)。スカログラムをサブプロットにプロットするには,プロット関数を使用します。CWTのスカログラムのサブプロットへのプロットを参照してください。

すべて折りたたむ

既定値を使用して,音声サンプルの连続ウェーブレット変换を取得します。

加载<年代pan style="color:#A020F0">mtlb;w = cwt (mtlb);

既定の莫尔斯ウェーブレットの代わりに撞ウェーブレットを使用して,音声サンプルの連続ウェーブレット変換を求めます。

加载<年代pan style="color:#A020F0">mtlb连续油管(mtlb,<年代pan style="color:#A020F0">“碰撞”,FS)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

既定の莫尔斯ウェーブレットを使用して,CWTから得られた结果を比较します。

连续油管(mtlb,Fs)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

阪神淡路大震災のデータの CWTを取得します。このデータは、オーストラリアのホバートにあるタスマニア大学の地震計で 1995年 1.月 16日 20:56:51(格林尼治标准时间)から 51分間にわたって記録された測定値 (垂直加速度、纳米/平方秒)です。サンプリング周波数は 1赫兹です。

加载<年代pan style="color:#A020F0">科比

地震データをプロットします。

阴谋(1:元素个数(科比)。/ 60,科比)包含(<年代pan style="color:#A020F0">“分钟”)伊拉贝尔(<年代pan style="color:#A020F0">'纳米/秒^ 2')网格<年代pan style="color:#A020F0">在…上头衔(<年代pan style="color:#A020F0">“神户地震数据”)

图中包含一个轴。标题为神户地震数据的轴包含一个line类型的对象。

化学废物处理周波数、および円錐状影響圏を求めます。

[重量,F,COI] = CWT(神户,1);

円錐状影響圏を含むデータをプロットします。

类(科比,1)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

サンプリング周波数の代わりにサンプリング周期を指定して、化学废物处理期間、および円錐状影響圏を求めます。

[wt,周期,coi]=cwt(神户,分钟(1/60));

周波数の代わりにサンプリング周期入力を指定して,同じデータを表示します。

类(科比、分钟(1/60))

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

32周波数が赫兹と64 Hzの振幅が異なる2つの複素指数を作成します。データは1000 Hzでサンプリングされます。2つの複素指数の時間のサポートは互いに素です。

FS = 1E3;t = 0时:1 / FS:1;。Z = EXP(1I * 2 * PI * 32 * T)*(T> = 0.1&T <0.3)+ 2 * EXP(-1i * 2 * PI * 64 * T)*(T> 0.7)。

标准偏差0.05の复素数のホワイトガウスノイズを付加します。

wgnNoise = 0.05 /√(2)* randn(大小(t)) + 1 * 0.05 /√(2)* randn(大小(t));z = z + wgnNoise;

莫尔斯ウェーブレットを使用して,CWTを求めてプロットします。

类(z, Fs)

图中包含2个轴。标题为“幅值标量图正分量(逆时针旋转)”的轴1包含3个对象类型为图像、线、区域。轴2的标题为负分量(顺时针旋转)包含3个对象类型的图像,线,区域。

カラーバーの复素指数成分の大きさは,スケールが异なっていても基本的にそれらの振幅になることに注意してください。これはL1正规化による直接的な结果です。これは,このスクリプトを実行し,データカーソルで各サブプロットを调べると确认できます。

この例では,信号の振動成分の振幅が対応するウェーブレット係数の振幅と一致することを示します。

時間のサポートが互いに素である2つの正弦波で構成される信号を作成します。一方の正弦波は周波数が32赫兹で振幅は1です。もう一方の正弦波は周波数が64 Hzで振幅は2です。この信号を1000 Hzで1秒間サンプリングします。信号をプロットします。

frq1=32;amp1=1;frq2=64;amp2=2;Fs=1e3;t=0:1/Fs:1;x=amp1*sin(2*pi*frq1*t)。*(t>=0.1&t<0.3)+amp2*sin(2*pi*frq2*t)。*(t>0.6&t<0.9);绘制(t,x)网格<年代pan style="color:#A020F0">在…上包含(<年代pan style="color:#A020F0">'时间(秒)')伊拉贝尔(<年代pan style="color:#A020F0">“振幅”)头衔(<年代pan style="color:#A020F0">“信号”)

图中包含一个坐标轴。标题为Signal的轴包含一个类型为line的对象。

信号に適用できるCWTフィルターバンクを作成します。信号の成分の周波数がわかっているため,フィルターバンクの周波数範囲をそれらの周波数を含む狭い範囲に設定します。範囲を確認するには,フィルターバンクの振幅周波数応答をプロットします。

fb=cwtfilterbank(<年代pan style="color:#A020F0">“SignalLength”,numel(X),<年代pan style="color:#A020F0">“采样频率”,FS,<年代pan style="color:#0000FF">...“FrequencyLimits”[20 100]);图freqz(FB)

图中包含一个轴。标题为CWT过滤器组的轴包含24个line类型的对象。

cwtとフィルター バンクを使用して信号のスカログラムをプロットします。

图cwt(x,<年代pan style="color:#A020F0">“过滤器银行”,fb)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

このスクリプトを実行し,データカーソルを使用してウェーブレット係数の振幅が正弦波成分の振幅と基本的に等しいことを確認します。

この例では、複数の時系列の CWTを行う場合の計算効率を CWTフィルター バンクを使用して高める方法を示します。

1995年の阪神淡路大震災の発生時に記録された地震計データを読み込みます。このデータは、オーストラリアのホバートにあるタスマニア大学の地震計で 1995年 1.月 16日 20:56:51(格林尼治标准时间)から 51分間にわたって 1.秒間隔で記録された測定値 (垂直加速度、纳米/平方秒)です。データに適用できる CWTフィルター バンクを作成します。

加载<年代pan style="color:#A020F0">科比fb=cwtfilterbank(<年代pan style="color:#A020F0">“SignalLength”,努梅尔(神户),<年代pan style="color:#A020F0">“采样频率”,1);

关节cwtを使用してデータの CWTを 250回実行します。これに要した経過時間を表示します。

num=250;tic;<年代pan style="color:#0000FF">为了k=1:num cfs=cwt(神户);<年代pan style="color:#0000FF">结束toc
运行时间为6.551628秒。

次に、フィルター バンクのオブジェクト関数wtを使用してデータのCWTを実行します。フィルターバンクを使用した方が速いことを确认します。

抽搐;<年代pan style="color:#0000FF">为了K =1:num CFS = wt(fb,科比);<年代pan style="color:#0000FF">结束toc
运行时间为3.782376秒。

この例では,MEXファイルを生成し,生成されたCUDAコードを使用して连続ウェーブレット変换(CWT)を実行する方法について说明します。

まず,CUDA対応GPUとNVCCコンパイラがあることを確認します。GPU环境のチェックおよびアプリの设定(GPU编码器)を参照して、適切な構成があることを確認してください。

GPU编码器構成オブジェクトを作成します。

cfg = coder.gpuConfig (<年代pan style="color:#A020F0">墨西哥人的);

1000赫兹で 100,000 サンプルの信号を生成します。この信号は、時間のサポートが互いに素である 2.つの余弦波で構成されています。

t = 0:措施:(1 e5 * 0.001) -0.001;x = cos(2 *π* 32 * t)。*(t > 10 & t<=50)+cos(2*pi*64*t)*(t >= 60 & t < 90)+<年代pan style="color:#0000FF">...0.2*randn(尺寸(t));

単精度を使用するように信号をキャストします。GPU計算は、ほとんどの場合、単精度で実行するほうが効率が高くなります。ただし、英伟达GPUが倍精度をサポートしている場合、倍精度のコードを生成することもできます。

x =单(x);

GPU-MEXファイルとコード生成レポートを生成します。墨西哥ファイルの生成を許可するには、次の 3.つの入力パラメーターのプロパティ (クラス、サイズ、実数/複素数) を指定しなければなりません。

  • coder.typeof(单(0),[1 1E5])は,実数の仅有一个的値を含む長さ 100,000 の行ベクトルを指定します。

  • coder.typeof( 'C',[1个INF])は、任意の長さの文字配列を指定します。

  • coder.typeof (0)は,実数の双重的値を指定します。

编码基因<年代pan style="color:#A020F0">cwt-配置cfgarg游戏{coder.typeof(single(0),[11e5]),coder.typeof('c',[1inf]),coder.typeof(0)}-报告
代码生成成功:要查看报告,打开('codegen/mex/cwt/html/report.mldatx')。

报告フラグはオプションです。-报告を使用すると、コード生成レポートが生成されます。レポートの<年代tr在…上g class="emphasis bold">[概要]タブに、<年代tr在…上g class="emphasis bold">(GPUコードメトリクス]リンクが表示され,ここで,生成されたCUDAカーネルの数,割り当てられたメモリ量などの詳細情報が提供されます。

データに対して 墨西哥ファイルを実行し、スカログラムをプロットします。プロットが 2.つの互いに素な余弦波と一致することを確認します。

[cfs,f]=cwt_-mex(x,<年代pan style="color:#A020F0">“莫尔斯”1 e3);图片(<年代pan style="color:#A020F0">“扩展数据”T<年代pan style="color:#A020F0">“YData”f<年代pan style="color:#A020F0">“CData”,abs(cfs),<年代pan style="color:#A020F0">“CDataMapping”,<年代pan style="color:#A020F0">“缩放”)set(gca,<年代pan style="color:#A020F0">“YScale”,<年代pan style="color:#A020F0">“日志”)轴心<年代pan style="color:#A020F0">紧包含(<年代pan style="color:#A020F0">“秒”)伊拉贝尔(<年代pan style="color:#A020F0">“赫兹”)头衔(<年代pan style="color:#A020F0">“双音信号的CWT”)

_mexを付けずに上記の CWTコマンドを実行します。MATLABと GPU-MEXのスカログラムが同一であることを確認します。

[cfs2,f2]=cwt(x,<年代pan style="color:#A020F0">“莫尔斯”1 e3);马克斯(abs (cfs2 (:) cfs (:)))
ANS =单6.7583e-07

この例では,出力引数なしでプロットを取得した場合のCWTの既定の周波数軸ラベルを変更する方法を示します。

周波数が32赫兹と64赫兹の2つの正弦波を作成します。データは1000赫兹でサンプリングされます0.2つの正弦波の时间のサポートは互いに素です。标准偏差0.05のホワイトガウスノイズを付加します。既定の莫尔斯ウェーブレットを使用して,CWTを求めてプロットします。

FS = 1E3;t = 0时:1 / FS:1;X = COS(2 * PI * 32 * T)*(T> = 0.1&T <0.3)+ SIN(2 * PI * 64 * T)*(T> 0.7)。wgnNoise = 0.05 * randn(大小(T));X = X + wgnNoise;英担(X,1000)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

CWTの周波数は対数であるため,プロットでは対数の周波数轴が使用されます.MATLABの対数轴の単位は10のべき乘です。cwtfreqboundsを使用すると,特定の信号长,サンプリング周波数,およびウェーブレットについて,ウェーブレットバンドパスの最小周波数と最大周波数を特定できます。

[minf, maxf] = cwtfreqbounds(元素个数(x), 1000);

MATLABの既定の設定により,最小周波数から最大周波数までの間の10のべき乗であると100の位置に周波数の目盛りがあることがわかります。周波数軸の目盛りを増やす場合は,最小周波数から最大周波数までの間の対数的に等間隔である一連の周波数を以下を使用して求めることができます。

numfreq=10;freq=logspace(log10(minf)、log10(maxf)、numfreq);

次に、以下を使用して、現在の座標軸のハンドルを取得し、周波数軸の目盛りとラベルを置き換えます。

甘氨胆酸AX =;斧子。YTickLabelMode =<年代pan style="color:#A020F0">“汽车”;AX.YTick =频率;

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

CWTでは、周波数が 2.のべき乗で計算されます。2.のべき乗の周波数の目盛りと目盛ラベルを作成するには、以下を実行します。

newplot;cwt(x,1000);AX=gca;freq=2.^(round(log2(minf)):round(log2(maxf));AX.YTickLabelMode=<年代pan style="color:#A020F0">“汽车”;AX.YTick =频率;

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

この例では,プロットする各レベルの最大絶対値でスカログラムの値をスケーリングする方法を示します。

信号を読み込み、既定のスカログラムを表示します。カラーマップを粉红色(240)に変更します。

加载<年代pan style="color:#A020F0">noisdoppCWT(noisdopp)颜色表(粉红色(240))

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

信号の CWTを実行し、ウェーブレット係数と周波数を求めます。

[cfs,frq]=cwt(noisdopp);

各周波数 (レベル) の係数の最大値を効率的に見つけるには、最初に係数の絶対値を転置します。各レベルの最小値を求めます。それぞれのレベルについて、そのレベルの最小値を減算します。

TMP1 = ABS(CFS);T1 =尺寸(tmp1,2);TMP1 = TMP1' ;MINV =分钟(TMP1);TMP1 =(TMP1-MINV(一(1,T 1),:));

tmp1の各レベルの最大値を求めます。それぞれのレベルについて,そのレベルの最大値で各値を除算します。结果をカラーマップの色の数で乘算します。ゼロのエントリをすべて1に设定します。结果を転置します。

maxv = max (tmp1);maxvArray = maxv ((t1),:);indx = maxvArray <每股收益;tmp1 = 240 * (tmp1. / maxvArray);tmp2 = 1 +修复(tmp1);tmp2 (indx) = 1;tmp2 = tmp2 ';

结果を表示します。スカログラムの値が各レベルの最大绝対値でスケーリングされます。周波数が线形スケールで表示されます。

t = 0:长度(noisdopp) 1;pcolor (t frq tmp2);阴影<年代pan style="color:#A020F0">内页ylabel (<年代pan style="color:#A020F0">“频率”)头衔(<年代pan style="color:#A020F0">“按级别缩放的比例图”)彩色地图(粉红色(240))

图中包含一个坐标轴。与缩放按级别标题尺度图轴包含类型的表面的对象。

この例では、莫尔斯ウェーブレットの時間-帯域積<年代pan class="inlineequation"> P 2 が大きくなるとウェーブレットの包絡線下部の振動が増えることを示します。<年代pan class="inlineequation"> P 2 が大きくなると,ウェーブレットの周波数が狭まります。

2つのフィルターバンクを作成します0.1つ目のフィルターバンクのTimeBandwidthの値は既定の60です。2つ目のフィルター バンクのTimeBandwidthの値は10です。SignalLengthはどちらのフィルター バンクも 4096サンプルです。

sigLen = 4096;fb60 = cwtfilterbank (<年代pan style="color:#A020F0">“SignalLength”,sigLen);fb10=cwtfilterbank(<年代pan style="color:#A020F0">“SignalLength”sigLen,<年代pan style="color:#A020F0">“TimeBandwidth”,10);

フィルター バンクの時間領域のウェーブレットを求めます。

[psi60 t] =小波(fb60);[psi10 ~] =小波(fb10);

关节尺度を使用して各フィルター バンクのマザー ウェーブレットを検出します。

sca60 =尺度(fb60);sca10 =尺度(fb10);[~, idx60] = min (abs (sca60-1));[~, idx10] = min (abs (sca10-1));m60 = psi60 (idx60:);m10 = psi10 (idx10:);

FB60フィルター バンクの方が時間-帯域積が大きいため、m60ウェーブレットの方がm10ウェーブレットよりも包絡線の下の振動が多いことを確認します。

次要情节(2,1,1)情节(t, abs (m60))网格<年代pan style="color:#A020F0">在…上抓住<年代pan style="color:#A020F0">在…上图(t,real(m60))图(t,imag(m60))xlim([-30])图例(<年代pan style="color:#A020F0">“abs (m60)”,<年代pan style="color:#A020F0">“真实的(m60)”,<年代pan style="color:#A020F0">'IMAG(M60)')头衔(<年代pan style="color:#A020F0">“时间带宽=60”)子图(2,1,2)图(t,abs(m10))网格<年代pan style="color:#A020F0">在…上抓住<年代pan style="color:#A020F0">在…上图(t,real(m10))图(t,imag(m10)) xlim([-30 30])<年代pan style="color:#A020F0">“abs (m10)”,<年代pan style="color:#A020F0">'真实(m10)',<年代pan style="color:#A020F0">‘imag(m10)’)头衔(<年代pan style="color:#A020F0">“TimeBandwidth = 10”)

图中包含2个轴。轴1与标题TimeBandwidth = 60包含一个类型线的3个对象。这些对象表示ABS(M60),实(M60),IMAG(M60)。轴2与标题TimeBandwidth = 10包含一个类型线的3个对象。这些对象表示ABS(M10),实(M10),IMAG(M10)。

m60m10の振幅周波数応答のピークを揃えます。m60ウェーブレットの周波数応答がm10ウェーブレットの周波数応答よりも狭いことを确认します。

cf60=中心频率(fb60);cf10=中心频率(fb10);m60cFreq=cf60(idx60);m10cFreq=cf10(idx10);频移=2*pi*(m60cFreq-m10cFreq);x10=m10.*exp(1j*freqShift*(-sigLen/2:sigLen/2-1));图表([abs(fft(m60)).“abs(fft(x10))”)网格<年代pan style="color:#A020F0">在…上传奇(<年代pan style="color:#A020F0">“时间带宽=60”,<年代pan style="color:#A020F0">“时间 - 带宽= 10”)头衔(<年代pan style="color:#A020F0">“幅频响应”)

图中包含一个轴。具有标题幅值频率响应的轴包含2个line类型的对象。这些对象表示时间带宽=60,时间带宽=10。

この例では,CWTのスカログラムを图のサブプロットにプロットする方法を示します。

音声サンプルを読み込みます。データは7418 Hzでサンプリングされます。CWTの既定のスカログラムをプロットします。

加载<年代pan style="color:#A020F0">mtlb连续油管(mtlb,Fs)

图中包含一个坐标轴。与标题震级尺度图轴包含类型的图像,线,面的3个对象。

信号の連続ウェーブレット変換とCWTの周波数を求めます。

[cfs, frq] = cwt (mtlb Fs);

关节cwtにより、時間と周波数の座標軸がスカログラムで設定されます。サンプル時間を表すベクトルを作成します。

tms=(0:numel(mtlb)-1)/Fs;

新しい图で元の信号を上のサブプロットにプロットし,スカログラムを下のサブプロットにプロットします。対数スケールで周波数をプロットします。

图子批次(2,1,1)图(tms,mtlb)轴<年代pan style="color:#A020F0">紧头衔(<年代pan style="color:#A020F0">“信号量图”)xlabel(<年代pan style="color:#A020F0">“时间(s)”)伊拉贝尔(<年代pan style="color:#A020F0">“振幅”)副区(2,1,2)面(TMS,FRQ,ABS(CFS))轴<年代pan style="color:#A020F0">紧阴影<年代pan style="color:#A020F0">平包含(<年代pan style="color:#A020F0">“时间(s)”)伊拉贝尔(<年代pan style="color:#A020F0">'频率(Hz)')set(gca,<年代pan style="color:#A020F0">“yscale”,<年代pan style="color:#A020F0">“日志”)

图中包含2个轴。标题为信号和标量图的轴1包含一个类型为line的对象。axis 2包含一个类型为surface的对象。

入力引数

すべて折りたたむ

入力信号。実数値または複素数値のベクトルか単一変数の一定間隔でサンプリングされる 时间表として指定します。入力xは少なくとも 4.つのサンプルをもたなければなりません。

关节cwtは GPU配列入力も受け入れます。詳細は、GPUでの MATLAB関数の実行(并行计算工具箱)を参照してください。

データ型:仅有一个的|双重的
複素数のサポート:あり

CWTの計算に使用する解析ウェーブレット。“莫尔斯”“爱”,または“碰撞”として指定します。これらの文字ベクトルは,それぞれ莫尔斯的Morlet(ガボール),および凹凸の解析ウェーブレットを示します。

既定では,対称性パラメーター(<年代pan class="inlineequation"> γ. ) が 3.に等しく時間-帯域積が 60に等しい 莫尔斯ウェーブレットが使用されます。

サンプリング周波数(Hz単位)。正のスカラーとして指定します。FS.を指定する场合,tsは指定できません。

データ型:仅有一个的|双重的

サンプリング周期(期間とも呼ばれます)。スカラーの时间として指定します。有効な duration は、小时分钟、およびです。カレンダー期間は使用できません。tsを指定する场合,FS.は指定できません。

例:wt = cwt (x,小时(12))

データ型:期间

名前と値のペアの引数

オプションの引数名称,值のコンマ区切りペアを指定します。名称は引数名で、价值は対応する値です。名称は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“扩展信号”,错误は、信号が拡張されないことを示します。

入力信号を反射で対称的に拡張するオプション。“扩展信号”符合事实的または错误的のいずれかで構成されるコンマ区切りのペアとして指定します。信号を対称的に拡張すると境界の影響を軽減できます。符合事实的を指定した場合、信号が拡張されます。错误的を指定した場合,信号は拡張されません。

CWTで使用する周波数の範囲。厳密に増加する正のエントリをもつ 2.要素ベクトルとして指定します。最初の要素は最も低いピーク通過帯域周波数を示し、ウェーブレットのピーク周波数 (赫兹単位) と 2.つの時間の標準偏差の積を信号長で除算した値以上でなければなりません。2.番目の要素は最も高いピーク通過帯域周波数を示し、ナイキスト周波数以下でなければなりません。最小周波数に対する最大周波数の比の基底 2.の対数は 1/内华达州以上でなければなりません。ここで 内华达州はオクターブあたりの音の数です。

許容される範囲外の周波数範囲を指定した場合、cwtでは有効な最小値と最大値まで範囲が切り詰められます。CWTの各種のパラメーター表現の周波数範囲を特定するには、cwtfreqboundsを使用します。複素数値の信号の場合、反解析的な部分には (-1)*弗利米特が使用されます。ここで弗利米特FrequencyLimitsで指定されたベクトルです。

例:'FrequencyLimits',[0.1 0.3]

データ型:双重的

CWTで使用する周期の範囲。厳密に増加する正のエントリをもつ2要素时间配列として指定します。最初の要素は2 *ts以上でなければなりません。ここでtsはサンプリング周期です。最大周期に対する最小周期の比の基底2の対数は-1 / NV以下でなければなりません。ここでNVはオクターブあたりの音の数です。最大周期は,ウェーブレットの2つの时间の标准偏差とウェーブレットのピーク周波数の积で信号长を除算した値を超えることはできません。

許容される範囲外の周期範囲を指定した場合,cwtでは有效な最小値と最大値まで范囲が切り诘められます。ウェーブレット変换の各种のパラメーター表现の周期范囲を求めるには,cwtfreqboundsを使用します。複素数値の信号の場合、反解析的な部分には (-1)*plimitsが使用されます。ここでplimitsPeriodLimitsで指定されたベクトルです。

例:“周期限制”,[秒(0.2)秒(1)]

データ型:期间

CWTに使用するオクターブあたりの音の数。“VoicesPerOctave”と4から48までの偶数の整数で構成されるコンマ区切りのペアとして指定します。指定したオクターブあたりの音の数を使用してCWTのスケールが離散化されます。ウェーブレットの周波数と時間のエネルギーの広がりは,最小スケールと最大スケールによって自動的に決まります。

莫尔斯ウェーブレットの时间 - 帯域积。“TimeBandwidth”と 3.より大きく 120以下のスカラーで構成されるコンマ区切りのペアとして指定します。対称性パラメーターのガンマ (<年代pan class="inlineequation"> γ. 3)はに固定されます。時間——帯域積が大きいウェーブレットほど,時間の広がりは大きくなり,周波数の広がりは狭くなります。莫尔斯ウェーブレットの時間の標準偏差は約√TimeBandwidth / 2)です.Morseウェーブレットの周波数の标准偏差は约1/2*sqrt(2/时间带宽)です。

“TimeBandwidth”を指定する场合,'WaveletParameters'は指定できません。対称性と時間-帯域積の両方を指定するには、代わりに'WaveletParameters'を使用します。

莫尔斯ウェーブレットの表记法では,TimeBandwidthはP<年代up>2です。

莫尔斯ウェーブレットの対称性と时间 - 帯域积。'WaveletParameters'とスカラーの 2.要素ベクトルで構成されるコンマ区切りのペアとして指定します。最初の要素は対称性<年代pan class="inlineequation"> γ. で1以上でなければなりません。2番目の要素は時間——帯域積で,<年代pan class="inlineequation"> γ. よりも厳密に大きくなければなりません。<年代pan class="inlineequation"> γ. に対する時間-帯域積の比が 40を超えることはできません。

γ. が 3.に等しい場合、莫尔斯ウェーブレットは周波数領域において完全に対称であり、歪度は 0です。<年代pan class="inlineequation"> γ. が 3.よりも大きい場合、歪度は正になります。<年代pan class="inlineequation"> γ. が3よりも小さい場合、歪度は負になります。

详细は,莫尔斯ウェーブレットを参照してください。

'WaveletParameters'を指定する场合,“TimeBandwidth”は指定できません。

オクターブの数。“NumOctaves”と正の整数で構成されるコンマ区切りのペアとして指定します。オクターブの数がLOG2(FMAX / FMIN)を超えることはできません。ここでfmaxFMINは CWTの周波数 (または周期) の最大値と最小値です。これらは、信号長、サンプリング周波数、およびウェーブレットで決まります。詳細は、cwtfreqboundsを参照してください。

名前と値のペア“NumOctaves”は非推奨であり、将来のリリースで削除される予定です。CWTの周波数または周期の範囲を変更するときは、名前と値のペア“FrequencyLimits”または“周期限制”を使用することを推奨します。“NumOctaves”“FrequencyLimits”または“周期限制”の両方の名前と値のペアを指定することはできません。

CWTの計算に使用するCWTフィルターバンク。CWTフィルターバンクオブジェクトとして指定します。名前と値のペア“过滤器银行”を使用する場合,他のオプションは指定できません。CWTの計算についてのすべてのオプションがFB.のプロパティで定義されます。

xが 时间表の場合、FB.のサンプリング周波数またはサンプリング周期はの时间表RowTimesで决まるサンプリング周波数またはサンプリング周期と一致していなければなりません。

例:wt=cwt(x,'FilterBank',fb)

出力引数

すべて折りたたむ

連続ウェーブレット変換。複素数値の行列として返されます。既定では,cwtは解析 莫尔斯(3,60)ウェーブレットを使用します。3.は対称性で、60は時間-帯域積です。cwtで使用されるオクターブあたりの音の数は10です。xが実数値の場合,wtは娜行Ñ列の行列になります.Naはスケールの数で,Nはxに含まれるサンプルの数です。xが複素数値の場合,wtは 3.次元行列です。1.ページ目が正のスケール (解析的な部分または反時計回りの成分) の CWTで、2.ページ目が負のスケール (反解析的な部分または時計回りの成分) の CWTになります。最小スケールと最大スケールは,ウェーブレットの周波数と時間におけるエネルギーの広がりに基づいて自動的に決まります。スケールが決定される方法の詳細については,アルゴリズムを参照してください。

データ型:仅有一个的|双重的

CWTの周波数。ベクトルとして返されます。サンプリング周波数FS.を指定した场合,fの単位は 赫兹です。FS.を指定しない場合、cwtfをサンプルあたりのサイクル数で返します。

周期。期间の配列として返されます。期间の形式はtsと同じになります。各行が周期に対応しています。

CWTの円錐状影響圏。実数の配列または 期间の配列のいずれかとして返されます。円錐状影響圏は、CWTでエッジの影響が現れる箇所を示します。サンプリング周波数FS.を指定した场合,円锥状影响圏の単位は赫兹です。スカラーの持续时间tsを指定した場合,円錐状影響圏の単位は周期です。エッジの影響により,円錐状影響圏の外側やそれと重なる領域は信頼性が低くなります。

详细は,边界效应和影响的锥を参照してください。

CWTで使用されるCWTフィルターバンク.CWTフィルターバンクオブジェクトとして返されます。cwtfilterbankを参照してください。

CWTのスケーリング係数。解析ウェーブレットが“莫尔斯”または“爱”の场合に実数値または复素数値のベクトルとして返されます。缩放CFSの长さは,入力xの长さと等しくなります。

スケーリング係数は 碰撞ウェーブレットではサポートされていません。

詳細

すべて折りたたむ

解析ウェーブレット

解析ウェーブレットは、負の周波数に対してはフーリエ変換がゼロになる複素数値のウェーブレットです。解析ウェーブレットは、CWTを使用して時間-周波数解析を行う場合に適しています。ウェーブレット係数は複素数値であるため、解析する信号の位相と振幅の情報を提供します。解析ウェーブレットは、実際の非定常信号の周波数成分が時間の関数に応じてどのように変化するかを調べるのに非常に適しています。

解析ウェーブレットは,ほぼ例外なく急減少関数に基づきます。<年代pan class="inlineequation"> ψ t が解析的な時間の急減少関数である場合、そのフーリエ変換<年代pan class="inlineequation"> ψ ω. は周波数の急減少関数であり、一部の区間<年代pan class="inlineequation"> α. < ω. < β (<年代pan class="inlineequation"> 0 < α. < β ) を除いて小さくなります。直交ウェーブレットと双直交ウェーブレットは、一般に時間のサポートがコンパクトになるように設計されています。時間のサポートがコンパクトなウェーブレットは、時間が急速に減少するウェーブレットに比べると、周波数のエネルギー集中度が比較的低くなります。直交ウェーブレットと双直交ウェーブレットのほとんどは、フーリエ領域において対称ではありません。

信号の结合时间 - 周波数表现を求めることが目的の场合は,cwtまたはcwtfilterbankを使用することをお勧めします。どちらの関数も次の解析ウェーブレットをサポートします。

  • 莫尔斯ウェーブレット ファミリ (既定)

  • 解析的な 莫雷特(ガボール) ウェーブレット

  • 碰撞

直交ウェーブレットまたは双直交ウェーブレットを使用して時間-周波数解析を実行する場合は、modwptをお勧めします。

時間-周波数解析にウェーブレットを使用する場合、通常はスケールを周波数または周期に変換して結果を解釈します。この変換はcwtおよびcwtfilterbankで実行されます。関連付けられている対応するスケールは、cwtのオプションの出力引数FB.尺度を使用して取得できます。

莫尔斯ウェーブレットの詳細については、莫尔斯ウェーブレットを参照してください。用途に适したウェーブレットを选択するためのガイダンスについては,ウェーブレットの選択を参照してください。

ヒント

  • 复数のCWTを実行する场合(为ループ内など),まずcwtfilterbankオブジェクトを作成してから、オブジェクト関数wtを使用するワークフローを推奨します。このワークフローにより,オーバーヘッドを最小限に抑え,パフォーマンスを最大限に向上することができます。复数の时系列でのCWTフィルターバンクの使用を参照してください。

アルゴリズム

すべて折りたたむ

最小スケール

最小スケールを特定するには、基底ウェーブレットのピーク周波数<年代pan class="inlineequation"> ω. x を求めます。莫尔斯ウェーブレットの場合,ウェーブレットの<年代pan class="inlineequation"> π ラジアンにおけるフーリエ変換がピーク周波数の 10% に等しくなるようにウェーブレットを膨張させます。最小スケールは最大周波数で発生します。

年代 0 ω. x π

結果として、最小スケールは (2,<年代pan class="inlineequation"> 年代 0 ) の最小値になります。莫尔斯ウェーブレットの場合、最小スケールは通常は<年代pan class="inlineequation"> 年代 0 です。莫雷特ウェーブレットの場合、最小スケールは通常は 2.です。

最大スケール

CWTの最小スケールと最大スケールは、どちらもウェーブレットの周波数と時間のエネルギーの広がりに基づいて自動的に決まります。最大スケールを特定するために、CWTは次のアルゴリズムを使用します。

莫尔斯ウェーブレットの時間の標準偏差<年代pan class="inlineequation"> σ. t は約<年代pan class="inlineequation"> P 2 2 です。ここで<年代pan class="inlineequation"> P 2 は時間——帯域積です。周波数の標準偏差<年代pan class="inlineequation"> σ. f は約<年代pan class="inlineequation"> 1 2 2 P 2 です。ウェーブレットを<年代pan class="inlineequation"> 年代 > 1 のいずれかでスケーリングすると、期間が<年代pan class="inlineequation"> 2 年代 σ. t N に変わり,ウェーブレットが入力の全長(Nサンプル)に等しくなるまで引き伸ばされます。このウェーブレットを変換したりラップなしでさらに引き伸ばしたりすることはできないため,最大スケールは<年代pan class="inlineequation"> f l o o r N 2 σ. t になります。

ウェーブレット変換のスケールは 2.のべき乗であり、<年代pan class="inlineequation"> 年代 0 2 1 N V j で示されます。内华达州はオクターブあたりの音の数で、Jの範囲は 0から最大スケールまでです。特定の小さいスケールについて、<年代pan class="inlineequation"> 年代 0 は次のようになります。

年代 0 2 1 N V j N 2 σ. t

log2に変換します。

j 日志 2 2 1 N V 日志 2 N 2 σ. t 年代 0

j N V 日志 2 N 2 σ. t 年代 0

したがって、最大スケールは次のようになります。

年代 0 2 1 N V f l o o r N V 日志 2 N 2 σ. t 年代 0

CWTの L1ノルム

CWTでは、積分形式ではエネルギーが維持されます。ただし、CWTを数値的に実装する場合はエネルギーが維持されません。この場合、使用する正規化に関係なく、CWTは正規直交変換ではありません。関数cwtではL1正規化を使用します。

ウェーブレット変換では,一般にウェーブレットのL2正規化が使用されます。L2ノルムでは,次のように1 / s (sは0より大きい)による信号の膨張が定義されます。

x t 年代 2 2 年代 x t 2 2

これにより、エネルギーは元のエネルギーの s倍になります。フーリエ変換に含まれる場合は、<年代pan class="inlineequation"> 1 年代 で乗算することで、高い周波数のピークの方が低い周波数のピークよりも縮小幅が大きくなるようにスケールに応じて異なる重みが生成されて適用されます。

多くの用途では,L1正規化の方が適しています。L1ノルムの定義には値の平方化はないため,維持する係数は<年代pan class="inlineequation"> 1 年代 ではなく1 / sです。L1正規化では,L2のように高周波数の振幅が縮小されるのではなく,すべての周波数の振幅が同じ値に正規化されます。そのため,L1ノルムを使用した方が信号の表現の精度が高くなります。2つの複素指数の連続ウェーブレット変換の例を参照してください。

互換性の考慮事項

すべて展開する

R2018a以降は非推奨

参照

[1] Lilly公司,J.M.,和S. C. Olhede。“广义莫尔斯小波作为小波分析的超家族。”IEEE TRANSACTIONS ON信号处理60,没有。11(2012年11月):6036-6041。https://doi.org/10.1109/TSP.2012.2210890。

[2] Lilly, j.m.和S.C. Olhede。解析小波的高阶性质《信号处理技术》第5期。1(2009年1月):146-160。https://doi.org/10.1109/TSP.2008.2007607。

[3] Lilly公司,J.M. jLab:一个数据分析包为MATLAB,版本1.6.2。2016年http://www.jmlilly.net/jmlsoft.html。

[4] Lilly,Jonathan M.“元素分析:在嘈杂的时间序列中分析时间局部化事件的基于小波的方法”,《皇家学会学报A:数学、物理和工程科学473》,第2200期(2017年4月30日):20160776。https://doi.org/10.1098/rspa.2016.0776.

拡张机能

参考

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

R2016bで導入