繁体   English   中英

Matlab:如何获取正弦信号的幅度和相位

[英]Matlab: How to obtain magnitude and phase of a sinusoidal signal

给定两个信号:

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。 现在,我得到一个正弦信号:

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

这些信号的abs()/ angle()将产生什么?

x2的复数包络由下式给出:

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

假设载波频率在f1和f2之间。 复包络的幅度和相位应在一定程度上等于原始信号。 现在我想知道,是吗?

编辑:我仍然不确定您到底需要什么,但是也许这种身份可能对我有帮助:

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

如果您需要估计(某些)参数A,f,Phi,请看一下离散时间傅立叶变换(DTFT)。 例如,此页面具有最小二乘正弦参数估计的数学运算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM