[英]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.