Разверните фазовые углы в векторе, добавив кратные ±2π

Я работаю с Modelica и ищу функцию для "разворачивания" фазовых углов в векторе путем добавления кратных ±2π. Кто-нибудь может иметь идею или подсказку, чтобы сделать такой алгоритм под Modelica?

Я понимаю Matlab-подобную реализацию этого:

%Unwrap the signal xw(n) 
xu = xw; 
for i=2:length(xw) 
difference = xw(i)-xw(i-1); 
if difference > pi 
xu(i:end) = xu(i:end) - 2*pi; 
elseif difference < -pi 
xu(i:end) = xu(i:end) + 2*pi; 
end 

Я бы предпочел делать это "непрерывно" в непрерывном домене, но не на выборочном пакете сигналов, как во фрагменте кода...

Если у вас есть идеи по реализации Modelica, я был бы очень признателен.

Спасибо. Питер

1 ответ

Зависит от использования. Может быть, это поможет взглянуть на функцию Modelica.Math.atan3 В противном случае описать ваш вариант использования. HTH Тони

Другие вопросы по тегам