データx
は、自己回帰モデル(AR)モデルに入力されます。 ARモデルの出力は、SNR = 30dBでAdditive White Gaussian Noiseで破損しています。観測結果はnoisy_y
となります。Matlab:畳み込みとデコンボリューションの結果が奇妙
ARモデルの近似推定値があります(これらは最小2乗推定から得られます)。私は、h_hat
とデコンボリューションから得られた入力がどれくらい近くにあり、測定値が既知であるかを知りたいです。x
です。
- 混乱は、デコンボリューションに使用する変数です - クリーン
y
またはnoisy y
?
デコンボリューションすると、x_hat
になるはずです。デコンボリューションを行う正しい方法がnoisy_y
を使用しているか、またはノイズを追加する前にy
を使用しているかどうかはわかりません。私は次のコードを使用しました。
- 誰かが
x
とx_hat
をプロットするための正しい方法は何かに助けてください。
以下は、x
対x_hat
のプロットである。見ることができるように、これらは一致しません。私の理解は間違っていますか?助けてください。
コードである:
clear all
N = 200; %number of data points
a1=0.1650;
b1=-0.850;
h = [1 a1 b1]; %true coefficients
x = rand(1,N);
%%AR model
y = filter(1,h,x); %transmitted signal through AR channel
noisy_y = awgn(y,30,'measured');
hat_h= [1 0.133 0.653];
x_hat = filter(hat_h,1,noisy_y); %deconvolution
plot(1:50,x(1:50),'b');
hold on;
plot(1:50,x_hat(1:50),'-.rd');
ありがとうございますあなたの答え。私は4つの疑問を持っています。 (1)私は不安定な問題を認識していませんでした。 'h = [1、0.195、-0。95]; 'それで' abs(root(h))= 1.0770、 0.8820'これも不安定ですか?最初の値が1.0770> 1ならば、ルートが単位円の外にあると言いますか?(2)エラー計算: 'h_hat'と' x_hat'を使ってARモデルをシミュレートして 'y_hat'を生成します。推定値は 'noisy_y'を使って得られるので、平均二乗誤差は' y'と 'y_hat'の間で計算されるべきですか、' noisy_y'と 'y_hat'でしょうか? – SKM
(3)システムを見積もり、 'y_hat'を計算するためにデータシーケンスを訓練とテストに細分するべきですか? (4)入力パラメータとシステムパラメータが不明な場合、入力のパイロットシンボルの形で所望の信号/トレーニングシーケンスがありません。この場合、推定と 'y_hat'の計算はシーケンス全体を使って行われます(この質問に示されているように)? – SKM
(1) 'h = [1,0.195、-0.95]'も不安定です。長い 'x'シーケンスをプロットすると、特に明らかです。 'abs(roots(h))'の値が1より大きい場合、ルートは単位円の外にあります。 (2)おそらくあなたが比較で達成しようとしているものを正確に公開する別の質問としては良いでしょうが、おそらく同じようなものを比較するべきです(例えば、 'y'は' y_hat'と 'noisy_y'を' noisy_y_hat' ) – SleuthEye