MATLAB のニューラル ネットワークを使用して、信号のウェーブレット変換の出力のトレーニングに取り組んでいます。そこで、ウェーブレット変換に3
レイヤーウェーブ フィルターを使用することにしました。db4
要素の配列を使用し、240
ウェーブレット変換後に配列を取得しましたl
l = [36;36;65;123;240]
ここで、ニューラル ネットワークをトレーニングする必要があるため、長さのウェーブレット変換を36, 36, 65, 123
240 要素の配列にリサンプリングする必要があります。
それで私がしたことは、信号のウェーブレット変換をしたことです。各ウェーブレット変換を240
ポイントにリサンプリングしてから、ウェーブレットを36, 36, 65, 123
それぞれポイントにリサンプリングしました。のエラーが発生しました20.2668
。エラーを減らすために何ができますか?
次のコマンドを使用して、MATLAB を使用してリサンプリングしました。
[c1, l] = wavedec(signal, 3, 'db4');
c1a = c1(1:l(1));
c1a = resample(c1a, length(signal), length(c1a));
c1b = c1(1+l(1):l(1)+l(2));
c1b = resample(c1b, length(signal), length(c1b));
c1c = c1(1+l(1)+l(2):l(1)+l(2)+l(3));
c1c = resample(c1c, length(signal), length(c1c));
c1d = c1(1+l(1)+l(2)+l(3):l(1)+l(2)+l(3)+l(4));
c1d = resample(c1d, length(signal), length(c1d));
c2a = resample(c1a, l(1), length(c1a));
c2b = resample(c1b, l(2), length(c1b));
c2c = resample(c1c, l(3), length(c1c));
c2d = resample(c1d, l(4), length(c1d));
X = waverec([c2a; c2b; c2c; c2d], l, 'db4');
err = norm(X-signal)
現在、エラー err は次のように報告されています
err = 20.26688
このエラーを減らすにはどうすればよいですか? 助けてください :)
リサンプリングとオリジナルの両方の後のウェーブレット変換のデータ プロットは次のとおりです。