2017-02-18 14 views
0

考えると2つの信号を入手する方法:Matlabの:正弦波信号の振幅と位相

x1 = A1*exp(j*2*pi*f1*t + Phi1); 
x2 = A1*exp(j*2*pi*f1*t + Phi1) + A2*exp(j*2*pi*f2*t + Phi2); 

MATLABは大きさと位相を計算することができるはずです。

abs(x1) = A1; 
angle(x1) = Phi1; 

abs(x2) = A1+A2; 
angle(x2) = Phi1+Phi2; 

これは正しいですか?私は本当にx2についてはわかりません。 ABS()/角度()これらの信号のが得られます何

x3 = A3*cos(2*pi*f3*t + Phi3); 
x4 = A3*cos(2*pi*f3*t + Phi3) + A4*cos(2*pi*f4*t + Phi4); 

: は今、私は、正弦波信号を与えられたのですか?

X2の複素包絡線は次式で与えられる:F1とF2との間にあるキャリア周波数を仮定

A1*exp(j*2*pi*(f1-f2)/2 t + Phi1) + A2*exp(j*2*pi*(f2-f1)/2 t + Phi2) 

。 複雑な包絡線の振幅と位相は、元の信号といくらか等しくなければなりません。今は不思議ですね。

+0

余弦は線形関数ではありません。したがって、余弦の合計の大きさは、余弦の大きさの合計ではありません。また、フェーズはありません。位相は実際にはあまり意味がありません。周波数が異なるからです(xiの角度は時間とともに変化します)。あなたが解決しようとしている問題は、ハーモニック検索と呼ばれます(ハーモニクスのサンプリングされた和からA_i、f_iおよびPhi_iの推定値)。フーリエ解析(DFT)や、MUSICやESPRITなどの高分解能アルゴリズムを使用して解析できます。それらを見てください。とにかく、それは角度(x)を取るように簡単ではない、私を信じる。 – Florian

+0

thx、Florian!私はあなたにもこれを尋ねることができますか?相は異なる周波数では意味をなさないと言います。しかし、f1 = -f2と仮定すると、x2の位相を教えてください。それはちょうどPhi1 + Phi2ですか? –

+0

いいえ、どう思いますか?フェーズは信号を乗算するときにのみ加算され、加算するときには加算されません。 – Florian

答えて

0

編集:私はまだあなたが必要な正確に何かわからないが、おそらくこのIDは私が役立つかもしれない:

cos(a) = [exp(j*a) + exp(-j*a) ]/2 

あなたが取る、パラメータA、F、ファイ(の一部)を推定する必要がある場合離散時間フーリエ変換(DTFT)を見てください。たとえば、このページの数値はleast squares sinusoidal parameter estimationです。

+0

Thx Giorgos!私は自分の質問を編集した、私はそれがはっきりしていないと思う。 –

+0

私は自分の答えを更新しました!あなたのx2の例はちょっと間違っています:-) –

+0

また、angle(x1)=(2 * pi * f * t + Phi1)modulo 2 * piではなく、Phi1 –

関連する問題