from rsf.proj import *
from math import pi
Flow('signal',None,
'''
math n1=10000 o1=0 d1=0.001 label1=Time unit1=s
output="50*sin(%g*x1+%g)+100*sin(%g*x1+%g)"
''' % (20*pi,pi*pi/5,80*pi,pi*pi/9))
Plot('signal',
'''
window max1=0.5 |
graph label2=Amplitude wanttitle=n min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=4
''')
Flow('spectrum','signal','spectra')
Plot('spectrum','window max1=50 | graph plotcol=5 label2=Amplitude wanttitle=n plotcol=1')
Result('signal','signal spectrum','OverUnderAniso')
Flow('subsample','signal','window j1=50 | pad n2=5 | transp | put n1=1000 o1=0 d1=0.01 n2=1')
Flow('interp','subsample',
'fft1 | pad n1=5001 | put fft_o1=0 fft_n1=10000 | fft1 inv=y | scale dscale=10')
Plot('interp',
'''
window max1=0.5 |
graph label2=Amplitude unit2= wanttitle=n min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=5 dash=1
''')
Plot('subsample','interp',
'''
window j1=50 | rtoc | math output="x1+I*input" |
graph symbol=o min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=1 symbolsz=10 wanttitle=n wantaxis=n
''')
Plot('signal2','signal interp subsample','Overlay')
Flow('spectrum2','interp','spectra')
Plot('spectrum2','window max1=50 | graph plotcol=5 label2=Amplitude unit2= wanttitle=n plotcol=1')
Result('signal2','signal2 spectrum2','OverUnderAniso')
Flow('sig1',None,'math n1=200 o1=0 d1=0.0005 output="sin(%g*x1)" ' % (20*pi))
Flow('sig2','sig1','math output="sin(%g*x1)" ' % (270*pi))
Flow('xsig','sig1','window j1=16 | rtoc | math output=x1')
Flow('sig3','sig1','window j1=16 | rtoc | math output="x1+I*input" ')
Flow('sig4','sig2','window j1=16 | rtoc | math output="x1+I*input" ')
Plot('sigs','sig1 sig2',
'cat axis=2 ${SOURCES[1]} | graph wanttitle=n dash=0,1 plotcol=4,1 min1=-0.002 max1=0.102 min2=-1.1 max2=1.1')
Plot('sig3','graph wanttitle=n symbol=o min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=5 symbolsz=10 ')
Plot('sig1','sigs sig3','Overlay')
Plot('xsig3','xsig sig3',
'''
cat axis=2 ${SOURCES[1]} | transp |
graph wanttitle=n min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=4 symbolsz=10
''')
Plot('ysig3','sig3',
'graph wanttitle=n symbol=o min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=4 symbolsz=10 ')
Plot('zero','sig1',
'math output=0 | graph wanttitle=n wantaxis=n min1=-0.002 max1=0.102 min2=-1.1 max2=1.1')
Plot('asig3','xsig3 ysig3 zero','Overlay')
Plot('xsig4','xsig sig4',
'''
cat axis=2 ${SOURCES[1]} | transp |
graph wanttitle=n min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=1 symbolsz=10
''')
Plot('ysig4','sig4',
'graph wanttitle=n symbol=o min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=1 symbolsz=10 ')
Plot('asig4','xsig4 ysig4 zero','Overlay')
Result('aliasing','sig1 asig3 asig4','OverUnderAniso')
Flow('rand1','xsig','real | noise rep=y type=n seed=2015 mean=0.05 range=0.05')
Flow('rand2','xsig','real | noise rep=y type=n seed=2016 mean=0.05 range=0.05')
Flow('csig1','rand1','rtoc')
Flow('rsig1','sig1 rand1',
'inttest1 coord=${SOURCES[1]} interp=lag nw=2 | cat axis=2 ${SOURCES[1]} order=2,1 | transp | dd type=complex | window')
Plot('rsig1','graph wanttitle=n symbol=o min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=4 symbolsz=10 ')
Flow('csig2','rand2','rtoc')
Flow('rsig2','sig2 rand2',
'inttest1 coord=${SOURCES[1]} interp=lag nw=2 | cat axis=2 ${SOURCES[1]} order=2,1 | transp | dd type=complex | window')
Plot('rsig2','graph wanttitle=n symbol=o min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=1 symbolsz=10 ')
Plot('rsig','sigs rsig1 rsig2','Overlay')
Plot('xsig1','csig1 rsig1',
'''
cat axis=2 ${SOURCES[1]} | transp |
graph wanttitle=n min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=4 symbolsz=10
''')
Plot('asig1','xsig1 rsig1 zero','Overlay')
Plot('xsig2','csig2 rsig2',
'''
cat axis=2 ${SOURCES[1]} | transp |
graph wanttitle=n min1=-0.002 max1=0.102 min2=-1.1 max2=1.1 plotcol=1 symbolsz=10
''')
Plot('asig2','xsig2 rsig2 zero','Overlay')
Result('randomized','rsig asig1 asig2','OverUnderAniso')
Flow('signal10','signal','window j1=10')
Flow('mask','signal10','noise rep=y type=n seed=2016 mean=0.5 | mask min=0.75 | transp')
Flow('rsignal10','mask signal10','dd type=float | window | mul ${SOURCES[1]}')
Flow('rspectrum','rsignal10','spectra')
Plot('rspectrum','window max1=50 | graph plotcol=5 label2=Amplitude wanttitle=n plotcol=1')
Flow('rinterp','rsignal10',
'fft1 | pad n1=5001 | put fft_o1=0 fft_n1=10000 | fft1 inv=y | scale dscale=10')
Plot('rinterp',
'''
window max1=0.5 |
graph label2=Amplitude unit2= wanttitle=n min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=5 dash=1
''')
Flow('rx','mask','dd type=float | math output=x2 | headerwindow mask=$SOURCE | window')
Flow('ry','rinterp rx','inttest1 coord=${SOURCES[1]} interp=lag nw=2')
Plot('rsubsample','rx ry',
'''
cmplx ${SOURCES[1]} |
graph symbol=o min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=1 symbolsz=10 wanttitle=n wantaxis=n
''')
Plot('rsignal','signal rinterp rsubsample','Overlay')
Flow('rspectrum2','rinterp','spectra')
Plot('rspectrum2','window max1=50 | graph plotcol=5 label2=Amplitude unit2= wanttitle=n plotcol=1')
Result('rsignal','rsignal rspectrum2','OverUnderAniso')
Flow('tinterp','rsignal10',
'''
fft1 | thr mode=hard thr=3000 |
pad n1=5001 | put fft_o1=0 fft_n1=10000 | fft1 inv=y | scale dscale=50
''')
Plot('tinterp',
'''
window max1=0.5 |
graph label2=Amplitude unit2= wanttitle=n min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=5 dash=1
''')
Flow('tspectrum','tinterp','spectra')
Plot('tspectrum','window max1=50 | graph plotcol=5 label2=Amplitude unit2= wanttitle=n plotcol=1')
Plot('tsignal','signal tinterp rsubsample','Overlay')
Result('tsignal','tsignal tspectrum','OverUnderAniso')
ncoeff = 2
Flow('xmax','rsignal10',
'''
fft1 | math output="abs(input)" | real |
max1 | window n1=%d | real
''' % ncoeff)
Flow('xmask','xmax rspectrum',
'''
math output=1 |
bin1 head=${SOURCES[0]} pattern=${SOURCES[1]} |
rtoc
''')
Flow('cinterp','rsignal10 xmask',
'''
fft1 | mul ${SOURCES[1]} |
pad n1=5001 | put fft_o1=0 fft_n1=10000 | fft1 inv=y | scale dscale=50
''')
Plot('cinterp',
'''
window max1=0.5 |
graph label2=Amplitude unit2= wanttitle=n min1=-0.01 max1=0.51 min2=-170 max2=170 plotcol=5 dash=1
''')
Flow('cspectrum','cinterp','spectra')
Plot('cspectrum','window max1=50 | graph plotcol=5 label2=Amplitude unit2= wanttitle=n plotcol=1')
Plot('csignal','signal cinterp rsubsample','Overlay')
Result('csignal','csignal cspectrum','OverUnderAniso')
End() |