Commit f9de4c15 authored by thomas.forbriger's avatar thomas.forbriger Committed by thomas.forbriger
Browse files

proceeding

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.


SVN Path:     http://gpitrsvn.gpi.uni-karlsruhe.de/repos/TFSoftware/trunk
SVN Revision: 2293
SVN UUID:     67feda4a-a26e-11df-9d6e-31afc202ad0c
parent d5881e38
c this is <gresynoise.f>
c ----------------------------------------------------------------------------
c ($Id: gresynoise.f,v 1.14 2007-05-24 15:27:22 tforb Exp $)
c ($Id: gresynoise.f,v 1.15 2007-05-24 15:59:05 tforb Exp $)
c
c Copyright (c) 2007 by Thomas Forbriger (BFO Schiltach)
c
......@@ -51,7 +51,7 @@ c
&'GRESYNOISE V1.6 calculate noise seismograms')
character*(*) GRESYNOISE_CVS_ID
parameter(GRESYNOISE_CVS_ID=
&'$Id: gresynoise.f,v 1.14 2007-05-24 15:27:22 tforb Exp $')
&'$Id: gresynoise.f,v 1.15 2007-05-24 15:59:05 tforb Exp $')
c
c dimensions
integer maxtr, maxsetsamp, maxom, maxu, maxset, maxsamp
......@@ -189,6 +189,8 @@ c
print *,' displacement waveform in m'
print *,' '
call refmet_rcvinf
print *,' '
call gninfo
stop
endif
if (iargc().lt.3) stop 'ERROR: need more arguments'
......@@ -692,5 +694,110 @@ c phase slowness is given in s/m
96 stop 'ERROR: closing green file'
end
c----------------------------------------------------------------------
c
subroutine gninfo
c
print *,'What this program does:'
print *,'-----------------------'
print *,' '
print *,'This program calculates synthetic noise '
& ,'seismograms for H/V analyses. For this'
print *,'purpose it reads Fourier-Bessel expansion '
& ,'coefficients for the response to a'
print *,'vertical force or explosion from files '
& ,'produced by the program syg for'
print *,'vertical component and radial component '
& ,'displacement fields.'
print *,' '
print *,'The program can handle an almost arbitrarily '
& ,'large number of receivers.'
print *,'For each receiver it does the following:'
print *,' 1. The Fourier transform for vertical and '
& ,'radial component is calculated by'
print *,' evaluating the Bessel expansion for the '
& ,'given offset of the receiver.'
print *,' These are the Fourier coefficients of '
& ,'the impulse response of the'
print *,' subsurface to the defined source.'
print *,' 2. Unless option -i is used, a phase value '
& ,'from uniform random distribution'
print *,' (between 0 and 2*pi) is added to each '
& ,'Fourier phase. At each frequency'
print *,' the same phase factor is used for the '
& ,'vertical and radial component,'
print *,' equivalent to an identical time shift in '
& ,'both components. This is the'
print *,' step of producing a noise sequence.'
print *,' 3. If option -r is used, the amplitude of '
& ,'all Fourier coefficients together'
print *,' is scaled with a factor from a normal '
& ,'random distribution.'
print *,' 4. If option -e is used the amplitude of '
& ,'the signal is scaled by'
print *,' r to the power of exp, where r is the '
& ,'offset and exp is the argument to'
print *,' option -e.'
print *,' 5. The Fourier coefficients are added to '
& ,'the already existing Fourier'
print *,' coefficients. This is equivalent of '
& ,'simulating the signal at a single'
print *,' receivers that is exited by many sources '
& ,'at different offsets.'
print *,' 6. If more then one set is used, steps 2 to '
& ,'5 are repeated for the other'
print *,' sets.'
print *,' The number of Fourier coefficients produced '
& ,'this way and the frequency range'
print *,' and interval is defined by the sampling of '
& ,'the input files produced by syg.'
print *,' '
print *,'After stcking the singals for all offsets, '
& ,'the sets are transformed to the'
print *,'time domain and combined to a time series. '
& ,'The following steps are taken for'
print *,'the vertical and the radial component signal:'
print *,' 1. Fourier coefficients are zero-padded to '
& ,'the maximum number of samples'
print *,' that can be handled. This we the '
& ,'sampling interval of the time series'
print *,' will become smaller and samples will be '
& ,'smoothly interpolated. However'
print *,' the frequency range of non-zero signals '
& ,'is still defined by the input'
print *,' files. The frequency sampling of the '
& ,'input file on the other hand defines'
print *,' the length of the time series produced '
& ,'for each set.'
print *,' The number of samples in each set '
& ,'(interpolation, not length of time'
print *,' series) can be adjusted by option -m '
& ,'within reasonable ranges. Since the'
print *,' default is to use the maximum, the '
& ,'number can only be reduced.'
print *,' 2. The zero-padded Fourier coefficients are '
& ,'transformed to the time domain.'
print *,' 3. All sets are combined to one long time '
& ,'series. The are copied to one'
print *,' array, overlapping by the half of their '
& ,'length. The first series of the'
print *,' overlapping range is tapered by a '
& ,'squared cosine, while the second series'
print *,' is tapered by a suqared sine. Thus the '
& ,'mean amplitude remains stationary'
print *,' and each intermediate set effectively is '
& ,'hanning-tapered.'
print *,' This way (by using more than one set) '
& ,'the length of the output signal can'
print *,' be extended. If each set has duration T '
& ,'(defined by the frequency'
print *,' sampling of the input Fourier Bessel '
& ,'coefficients), then the total'
print *,' duration of the output is (N+1)*T/2, '
& ,'where N is the number of sets used.'
print *,' '
c
return
end
c
c ----- END OF gresynoise.f -----
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment