メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

wrcoef

1 次元ウェーブレット係数からの単一分岐の再構成

    説明

    x = wrcoef(type,c,l,wname) は、wname で指定されたウェーブレットを使用して、1 次元信号のウェーブレット分解構造 [c,l] (詳細については、wavedec を参照) に基づいてタイプ type の係数ベクトルを再構成します。係数は最大の分解レベルで再構成されます。x の長さは、元の 1 次元信号の長さと等しくなります。

    x = wrcoef(type,c,l,LoR,HiR) は、再構成フィルター LoR および HiR を使用します。

    x = wrcoef(___,n) は、前述の構文のいずれかを使用して、レベル n の係数を再構成します。

    すべて折りたたむ

    1 次元信号を読み込みます。

    load sumsin
    s = sumsin;

    sym4 ウェーブレットを使用して、信号のレベル 5 ウェーブレット分解を実行します。

    [c,l] = wavedec(s,5,'sym4');

    ウェーブレット分解構造 [c,l] からレベル 5 の Approximation 係数を再構成します。

    a5 = wrcoef('a',c,l,'sym4');

    レベル 2 の Detail 係数を再構成します。

    d2 = wrcoef('d',c,l,'sym4',2);

    元の信号と再構成された係数をプロットします。

    subplot(3,1,1)
    plot(s)
    title('Original Signal')
    subplot(3,1,2)
    plot(a5)
    title('Reconstructed Approximation At Level 5')
    subplot(3,1,3)
    plot(d2)
    title('Reconstructed Details At Level 2')

    Figure contains 3 axes objects. Axes object 1 with title Original Signal contains an object of type line. Axes object 2 with title Reconstructed Approximation At Level 5 contains an object of type line. Axes object 3 with title Reconstructed Details At Level 2 contains an object of type line.

    この例では、信号の多重レベル 1 次元離散ウェーブレット分解から始めて、連続するスケールのウェーブレット部分空間とスケーリング部分空間への信号の投影を取得する方法を示します。これらの投影は、元の信号と同じ時間スケールで行われます。つまり、間引き離散ウェーブレット変換 (DWT) に基づく "多重解像度解析" (MRA) を取得できます。各投影を加算すると信号を復元できます。詳細については、Practical Introduction to Multiresolution Analysisを参照してください。

    信号を読み込んでプロットします。

    load noissin
    plot(noissin)
    title("Original Signal")

    Figure contains an axes object. The axes object with title Original Signal contains an object of type line.

    関数 wavedec を使用し、db4 ウェーブレットを使ってレベル 3 までの信号の離散ウェーブレット分解を取得します。

    level = 3;
    wv = "db4";
    [C,L] = wavedec(noissin,level,wv);

    MRA を保存するために行列を事前に割り当てます。行数は分解レベルより 1 つ多く、列数は信号の長さに等しくなります。

    mra = zeros(level+1,numel(noissin));

    関数 wrcoef を使用して、3 つのウェーブレット (Detail) 部分空間への信号の投影を取得します。次に、最終的なスケーリング (粗大、つまり Approximation) 部分空間への投影を取得します。

    for k=1:level
        mra(k,:) = wrcoef("d",C,L,wv,k);
    end
    mra(end,:) = wrcoef("a",C,L,wv,level);

    MRA の行の和が元の信号と等しいことを確認します。

    mraSum = sum(mra,1);
    max(abs(mraSum-noissin))
    ans = 
    1.6591e-12
    

    MRA をプロットします。

    tiledlayout(level+1,1)
    for k=1:level
        nexttile
        plot(mra(k,:))
        title("Projection Onto Detail Subspace "+num2str(k))
    end
    nexttile
    plot(mra(end,:))
    title("Projection Onto Approximation Subspace")

    Figure contains 4 axes objects. Axes object 1 with title Projection Onto Detail Subspace 1 contains an object of type line. Axes object 2 with title Projection Onto Detail Subspace 2 contains an object of type line. Axes object 3 with title Projection Onto Detail Subspace 3 contains an object of type line. Axes object 4 with title Projection Onto Approximation Subspace contains an object of type line.

    入力引数

    すべて折りたたむ

    再構成する係数。Approximation 係数は 'a'、Detail 係数は 'd' としてそれぞれ指定します。

    1 次元信号のウェーブレット分解。実数値のベクトルとして指定します。ベクトルにはウェーブレット係数が含まれます。各レベルの係数がブックキーピング ベクトル l に格納されます。wavedec を参照してください。

    データ型: double | single

    ブックキーピング ベクトル。正の整数のベクトルとして指定します。ブックキーピング ベクトルは、ウェーブレット分解 c の係数をレベルごとに解析するのに使用されます。wavedec を参照してください。

    データ型: double | single

    ウェーブレット分解構造 [c,l] の作成に使用するウェーブレットの解析。文字ベクトルまたは string スカラーとして指定します。wrcoef は、直交ウェーブレットまたは双直交ウェーブレットのみをサポートします。wfilters を参照してください。

    ウェーブレット再構成フィルター。偶数長の実数値ベクトルのペアとして指定します。LoR はローパス再構成フィルター、HiR はハイパス再構成フィルターです。LoRHiR の長さは等しくなければなりません。詳細については、wfilters を参照してください。

    係数レベル。非負の整数として指定します。type'a' のときは、n を 0 にすることができます。それ以外の場合、nn ≤ length(l)-2 を満たす厳密に正の整数です。n の既定値は length(l)-2 です。

    バージョン履歴

    R2006a より前に導入