This set of MATLAB programs loads signals acquired from sonomicrometers and processes it. The raw data are distances between ultrasound crystals attached to a beating heart. The data is provided by Doctor Marc Dickstein, Data: dist - matrix of distances between points. Input file has array of numbers, 16x15 numbers per one time sample delimited by new line character. The files have usually names TX10?.out. Data is loaded bu function dLoadData and rearanged into matrix with dimensions (k*h)*h, where k is number of time samples, h=15 . Every submatrix d = dist( (t-1)*h +(1:h), 1:h ) represents matrix of distances between h points, so that d(i,j) = distance between i-th and j-th point. Diagonal elements are thus zero, and the matrix is not symetric due to the noise. The signals contain ordinary white noise and sudden shifts, signal increases suddenly and after a period suddenly reverts to its old trajectory. Program dShiftEliminate tries to solve this problem. dBatch.m - batch procedures , unimportant dDistanc.m - Calculates matrix of distances between points dErrorF.m - Error function and its gradients dExtract.m - extracts one time sequence for two points, from matrix of distances dLevMarq.m - old version of minimization procedure dLoadDat.m - loads data and reshapes dMinimiz.m - MAIN minimization of error procedure dMinLin.m - linear minimization, unimportant dMinold.m - old minimization, unimportant dPlane.m - gets one square 2D matrix from time sequence of distances (3D) dRandPoi.m - gives random starting points dShiftEl.m - atempts to eliminate sudden shifts of signal dShiftRe.m - recursive version od the Shift Elimination, unimportant dSpikeEl.m - eliminates prominent spike noise from data dTeta.m - calculates matrix of data validity (good data=high value, bad data=low value) dTriac.m - rectified and thresholded signal