www.gusucode.com > signal 案例源码程序 matlab代码 > signal/EditDistanceBetweenChirpAndSinusoidWithOutliersExample.m
%% Edit Distance Between Chirp and Sinusoid with Outliers % Generate two real signals: a chirp and a sinusoid. Add a clearly outlying % section to each signal. %% x = cos(2*pi*(3*(1:1000)/1000).^2); y = cos(2*pi*9*(1:399)/400); x(400:410) = 7; y(100:115) = 7; %% % Warp the signals so that the edit distance between them is smallest. % Specify a tolerance of 0.1. Plot the aligned signals, both before and % after the warping, and output the distance between them. tol = 0.1; edr(x,y,tol) %% % Change the sinusoid frequency to twice its initial value. Repeat the % computation. y = cos(2*pi*18*(1:399)/400); y(100:115) = 7; edr(x,y,tol); %% % Add an imaginary part to each signal. Restore the initial sinusoid % frequency. Align the signals by minimizing the sum of squared Euclidean % distances. x = exp(2i*pi*(3*(1:1000)/1000).^2); y = exp(2i*pi*9*(1:399)/400); x(400:405) = 5+3j; x(405:410) = 7; y(100:107) = 3j; y(108:115) = 7-3j; edr(x,y,tol,'squared');