The standard operations of convolution and cross correlation may be performed with suconv and suxcor, respectively. The filter may be supplied as a vector input on the commandline, or as a file containing a single trace in SU format. In addition to taking the input as a single trace, it is possible to supply a panel of filters, each to be used trace by trace on a panel of SU data.
An example of correlating a vibroseis sweep may be seen by creating vibroseis-like data, with suvibro, suplane and suconv. To make ``vibroseis'' suplane data
% suvibro > junk.vib.su % suplane | suconv sufile=junk.vib.su > plane.vib.su
Because surange tells us that
% surange < junk.vib.su 1 traces: tracl=1 ns=2500 dt=4000 sfs=10 sfe=60 slen=10000 styp=1
there are 2500 samples on the vibroseis sweep, we can do the following correlation
% suxcor < plane.vib.su sufile=junk.vib.su | suwind itmin=2500 itmax=2563 | sushw key=delrt a=0.0 > data.su (this line is broken to make it fit on the page here, the real command is typed on a single line)The value of itmin=sweeplength and itmax=sweeplength+nsout where nsout is the number of samples expected in the output. The final step using sushw is to set the trace delay to 0. Choosing itmin=sweeplength will ensure that the data start at the correct value. Choosing nsout=sweeplength-nsin, where nsin is the number of samples in the input, will yield the correct number of samples to keep.