С учетом двух сигналов: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. Теперь, я дал синусоидальный сигнал:
x3 = A3*cos(2*pi*f3*t + Phi3);
x4 = A3*cos(2*pi*f3*t + Phi3) + A4*cos(2*pi*f4*t + Phi4);
Что абс()/угол() этих сигналов уступить?
комплексной огибающей х2 определяется по формуле:
A1*exp(j*2*pi*(f1-f2)/2 t + Phi1) + A2*exp(j*2*pi*(f2-f1)/2 t + Phi2)
предполагая несущую частоту, которая находится между f1 и f2. Амплитуда, а также фаза комплексной огибающей должны быть несколько эквивалентны исходному сигналу. Теперь интересно, не так ли?
Косинус не является линейной функцией. Поэтому величина суммы косинусов не будет суммой величины косинусов. Также не будет фазы. Фаза не имеет особого смысла, так как ваши частоты различны (обратите внимание, что угол xi изменяется со временем!). Задача, которую вы пытаетесь решить, называется гармоническим извлечением (оценка A_i, f_i и Phi_i из выборочной суммы гармоник). Вы можете решить его с помощью анализа Фурье (DFT) или с высоким разрешением, таких как MUSIC или ESPRIT. Посмотрите на них. В любом случае, это не так просто, как взять угол (х), поверьте мне. – Florian
thx, Флориан! Могу ли я спросить вас об этом: вы говорите, что фаза не имеет смысла с разными частотами. Но можете ли вы рассказать мне о фазе x2, предполагая, что f1 = -f2? Это просто Phi1 + Phi2? –
Нет, что заставляет вас думать об этом? Фазы добавляют только при умножении сигналов, а не при их добавлении. – Florian