📄 psdecon3
字号:
#! /bin/sh#set -xdemo=decon3deconparams=deconparams3fold=8space=3 # 3 null traces between panelstpow=1 # gain power before examining autocorrelations # tpow=2 would often be better for field data###PURPOSE#### We use the same data described in the first demo. But here# we illustrate how to set up a series of tests to determine the# optimal gap for prediction error filtering.# First make the synthetic data for the deconvolution demo.######START OF MODEL######I=${CWPROOT}/includeL=${CWPROOT}/libmake./traces |suaddhead ns=512 |sushw key=dt a=4000 |suaddnoise sn=200 |suconv filter=1152,-384,-904,288,174,-34,-12 >modeldatarm traces######END OF MODEL####### Plot the modelsupswigp <modeldata title="Model Data: 64ms reverbs" \ label1="Time (sec)" label2="Trace" >${demo}.1.eps# Plot the autocorrelation with gainsugain <modeldata tpow=$tpow |suacor nt=31 |supswigp title="Autocorrelation (with gain)" \ label1="Time (sec)" label2="Trace" >${demo}.2.eps#!# Determine range of decon parameters (use milliseconds to run loop)gapmin=40 gapmax=40lenmin=100 lenmax=180gapincrement=0 gapexpand=1lenincrement=10 lenexpand=1tmin=0.5 tmax=2.0 # auto-corr windowf1=8 f2=12 f3=95 f4=100 # bandpass frequency cornerspanelnumber=0 # test panel number### Determine ns, and dt from data (for sunull)nt=`sugethw ns <modeldata | sed 1q | sed 's/.*ns=//'`dt=`sugethw dt <modeldata | sed 1q | sed 's/.*dt=//'`### Convert dt to seconds from header value in microsecondsdt=`bc -l <<-END scale=3 $dt / 1000000END`# Loop over deconvolution parameters>deconpanel # zero output files# zeroth panel is w/o deconcp modeldata deconpanelsunull ntr=$space nt=$nt dt=$dt >>deconpanelecho "Test minlag maxlag tmin tmax" >$deconparamsgap=$gapminlen=$lenminwhile [ $gap -le $gapmax -a $len -le $lenmax ]do panelnumber=`expr $panelnumber + 1` minlag=`bc -l <<-END scale=5; $gap / 1000 END` maxlag=`bc -l <<-END scale=5; $minlag + $len / 1000 END` sugain <modeldata tpow=$tpow | supef minlag=$minlag maxlag=$maxlag mincorr=$tmin maxcorr=$tmax | sufilter f=$f1,$f2,$f3,$f4 >>deconpanel sunull ntr=$space nt=$nt dt=$dt >>deconpanel echo "$panelnumber $minlag $maxlag $tmin $tmax" >>$deconparams gap=`bc <<-END scale=5 $gap*$gapexpand + $gapincrement END` len=`bc -l <<-END scale=5 $len*$lenexpand + $lenincrement END`doneecho "The parameter values are recorded in $deconparams"### Plot deconvolution test panelsf2=0d2=`bc -l <<-END scale=5 1/($fold + $space)END`### Additional display gaining and plot### Some might like tpow=1 pbal=1 instead of gpow=.5, etc.sugain <deconpanel gpow=.5 |supswigp f2=$f2 d2=$d2 title="Deconvolution Test" \ label1="Time (s)" label2="Deconvolution Test Number" >${demo}.3.epsecho echo "Output PostScript files:"echo -n " "for i in ${demo}.*.epsdo echo -n "$i "doneechoecho "You may view these with your PostScript Previewer"exit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -