Разверните сигнал

В этом примере показано, как использовать блок Unwrap, чтобы развернуть массив 3 на 2 на 3, который имеет разрыв.

У каждого 3 2 система координат сигнала есть разрыв. В первой системе координат существует разрыв между вторым и третьим элементом, больше, чем допуск$\pi$ набора в параметрах блоков. Во второй системе координат разрыв между вторым и третьим элементом меньше$\pi$, и в третьей системе координат, разрыв равен$\pi$. Поскольку мы ожидаем, что блок перенесет сигналы с разрывами, больше, чем допуск, разворачивая сигнал не влияет на вторую или третью систему координат.

Откройте модель Simulink.

model = "ex_unwrap";
open_system(model);
frame1 = [0 0; 2*(pi)/3 0; -2*(pi)/3 0];
frame2 = [2*pi 0; 8*pi/3 0; 9.5*pi/3 0];
frame3 = [4*pi 0; 13*pi/3 0; 16*pi/3 0];
signal = cat(3,frame1,frame2,frame3)
signal(:,:,1) =

         0         0
    2.0944         0
   -2.0944         0


signal(:,:,2) =

    6.2832         0
    8.3776         0
    9.9484         0


signal(:,:,3) =

   12.5664         0
   13.6136         0
   16.7552         0

Tolerance параметр блока Unwrap устанавливается на$\pi$. Блок поэтому разворачивает разрывы, которые больше, чем$\pi$.

Запустите модель.

output = sim(model);

Смотрите что выход, output.unwrapped_signal не имеет первого разрыва, но другие два остаются.

output.unwrapped_output
ans =

         0         0
    2.0944         0
    4.1888         0
    6.2832         0
    8.3776         0
    9.9484         0
   12.5664         0
   13.6136         0
   16.7552         0

Смотрите также

Блоки