В этом примере показано, как использовать блок Unwrap для разрыва массива 3 на 2 на 3, который имеет разрыв.
Каждая система координат 3 на 2 сигнала имеет разрыв. В первой системе координат существует разрыв между вторым и третьим элементами, больший, чем допуск набора в параметрах блоков. Во второй системе координат разрыв между вторым и третьим элементами меньше, чем, а в третьей системе координат разрыв равен. Поскольку мы ожидаем, что блок обернет сигналы с разрывами, большими, чем допуск, размотка сигнала не влияет на вторую или третью систему координат.
Откройте модель 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
The Tolerance
параметру блока Unwrap задано значение. Поэтому блок разворачивает разрывы, которые больше, чем.
Запустите модель.
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