Home Search Reference Manuals Return
Program FTRANS is a general program for translating variables between time- and frequency-domain, in both Fourier series and Fourier transform. Program FTRANS can also filter a variable in frequency-domain in a user defined function "filter". The function "filter" contains the transfer function in the frequency-domain, and shall be written in complex format. Input data controlling the function in the filter is given in the input data command HIN.
Program FTRANS must not pass all steps below, the user can choose from which item FTRANS shall start and stop the calculation. The selection of starting point is made in the command TYPE_INFIL. The selection of stop point is made automatically, depending on results requested by the user. Request of results are made in the commands INTPFI, FOURFI, FSERFI, FILTFI and RESFIL,
Input data are read in free format, valid separators between the input values are <space>, <comma>, <tab>, <equal sign> or <carriage return>. The commands can be written both in lower and upper case letters. The operation of the program is controlled by the commands described below; some of the commands also need arguments.
DX | = | Equidistant step between the interpolated points in the X-axis |
EOF | = | Command which terminates further input data reading |
IDENT# | = | Three ident lines |
INFIL | = | File containing the input variable |
FORMIN | = | Format in which file INFIL shall be read |
INTPFI | = | Output file for the interpolated and scaled input variable |
FOURFI | = | File for writing the Fourier transform to |
FSERFI | = | File for writing the Fourier series to |
FILTFI | = | File for writing the filtered Fourier transform to |
NOTE | = | Commentary line |
RESFIL | = | Output file for the filtered output variable |
FORMF | = | Format in which file INTPFI, FOURFI, FSERFI, FILTFI and RESFIL shall be written |
XSTART | = | Shift the X-axle of the input variable |
SKALAX | = | Scale the X-axis of the input variable |
IEXP | = | Extrapolation of the input variable, in order to avoid end distortions |
YSTART | = | Shift the Y-axle of the input variable |
SKALAY | = | Scale the Y-axis of the input variable |
TYPE_FILT | = | Select type of filtering |
TYPE_INTERP | = | Select type of interpolation |
TYPE_INFIL | = | Select starting point in the program |
WRITE_FOUR | = | Defines how to write the spectra on the output file |
HFUNC | = | Choose filter |
HIN | = | Input data vector for the filter in HFUNC |
'(A,A)' = reads column 1 & 2 '(A,X,A)' = reads column 1 & 3 '(A,X,X,A)' = reads column 1 & 4 '(A,X,X,X,A)' = reads column 1 & 5 '(A,X,X,X,X,A)' = reads column 1 & 6 '(A,X,X,X,X,X,A)' = reads column 1 & 7 '(A,X,X,X,X,X,X,A)'= reads column 1 & 8If TYPE_INFIL=FOUR* or FILT* FORMIN can be given the value CMPLX or SNGL. FORMIN= CMPLX implies that column 1 & 2 is read as a complex X-variable and column 3 & 4 is read as a complex Y-variable. FORMIN= SNGL implies that column 1 is read as the imaginary part of the complex X-variable and column 2 is read as the real part of the complex Y-variable. Maybe it seems unlogical to let the first column be the imaginary part of the X-variable, but the angular frequency in frequency domain has normally the real part equal to zero.
FOUR | = | The complex transfer function in the filter is used as it is. |
PSD | = | The complex transfer function in the filter is multiplied by its complex conjugate before filtering. |
LINEAR | = | Linear interpolation. |
SPLINE | = | Spline interpolation. |
TIME_HIST | = | Start the program at 1) above. Begin with reading a time-history variable from file INFIL. |
TIME_HIST_INTPL | = | Start the program at 4) above. Begin with reading an interpolated (equidistant) time-history variable from file INFIL. |
FOUR_TRANS | = | Start the program at 10) above. Begin with reading a Fourier transformed variable from file INFIL. |
FOUR_SERIE | = | Start the program at 10) above. Begin with reading a Fourier series from file INFIL. |
FILT_FOUR_TRANS | = | Start the program at 12) above. Begin with reading a Fourier transformed variable from file INFIL. |
FILT_FOUR_SERIE | = | Start the program at 12) above. Begin with reading a Fourier series from file INFIL. |
ROUND | = | Writes the spectra from 0 [rad/s] up to max. positive angular frequency, the spectra then continues from max. negative angular frequency up to 0 again. |
STRAIGHT | = | Writes the spectra from max. negative angular frequency up to max. positive angular frequency via 0(zero). |
POSITIVE | = | Writes only the positive frequencies from 0(zero) up to max. positive angular frequency. |
BUTTERWORTH_HIGH | Butterworth high pass filter |
BUTTERWORTH_LOW | Butterworth low pass filter |
DERIV | Derivation of input variable |
FTRAPEZOID | Create a filter with trapezoidal shape |
INTEG | Integration of input variable |
HFILT | High pass filter |
LFILT | Low pass filter |
KLIPP | An ideal infinitely steep band-pass filter |
IKLIPP | An ideal infinitely steep band-inhibiting filter |
ISOL | Theoretical filter according to ISO 2631 for lateral accelerations |
ISOV | Theoretical filter according to ISO 2631 for vertical accelerations |
ISOL5 | Filter according to ISO 2631,draft 5, lateral accelerations |
ISOV5 | Filter according to ISO 2631,draft 5, vertical accelerations |
LSTRIX | Filter for generating the lateral errors due to designed track alignment |
IMAUZ | Restores track alignment from a MAUZIN recording car |
IPLASSER | Restores track alignment from Plasser&Theurer or Matisa |
HIN(1) | = | K0 | = | Max. inverted factor where the transfer function shall be cut off. |
HIN(2) | = | K1 | = | Inverted factor which shall be used when the transfer function exceeds 1/K0. |
HIN(3) | = | WLONG | = | Limit for long waves. Waves longer than WLONG are attenuated. |
HIN(4) | = | KLONG | = | Max. inverted amplifying factor for waves between LCAR and WLONG. |
HIN(5) | = | WSHORT | = | Limit for short waves. Waves shorter than WSHORT will be amplified by the factor 1/KSHORT. |
HIN(6) | = | KSHORT | = | Inverted amplifying factor for waves shorter than WSHORT. |
HIN(7) | = | LCAR | = | Distance between axle #1 and #8. The distance is used for the definition of long waves, where the factor 1/KLONG should be used. |
HIN(8) | = | SIGN | = | Overall amplifying factor. Can also be used for changing the sign of the MAUZIN registration. |
HIN(9) | = | AWHEL0 | = | Distance to the measuring axle. The distance shall be given relative to a reference point on the measuring car. The reference point can be any point on the measuring car, but it must be the common reference point for all axles. |
HIN(10) | = | NWHELS | = | Number of counter axles to the measuring axle. |
HIN(11:*) | = | AWHEL | = | Longitudinal distances to all counter axles. |
HIN(1) = .5 (1/times) HIN(2) = .5 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 10. (m) HIN(8) = 1. (units) HIN(9) = 0. (m) HIN(10)= 2 (st) HIN(11)= 5. (m) HIN(12)= -5. (m)MAUZIN car, lateral irregularities, B-end leading:
HIN(1) = .5 (1/times) HIN(2) = .5 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 10. (m) HIN(8) = -1. (units) HIN(9) = 0. (m) HIN(10)= 2 (st) HIN(11)= 5. (m) HIN(12)= -5. (m)MAUZIN car, vertical irregularities, A-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 13.4(m) HIN(8) = -1. (units) HIN(9) = 0.675 (m) HIN(10)= 8 HIN(11)= 6.710 (m) HIN(12)= 4.210 (m) HIN(13)= 2.075 (m) HIN(14)= 0.675 (m) HIN(15)= -0.675 (m) HIN(16)= -2.075 (m) HIN(17)= -4.210 (m) HIN(18)= -6.710 (m)MAUZIN car, vertical irregularities, B-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 13.4(m) HIN(8) = -1. (units) HIN(9) = -0.675 (m) HIN(10)= 8 HIN(11)= 6.710 (m) HIN(12)= 4.210 (m) HIN(13)= 2.075 (m) HIN(14)= 0.675 (m) HIN(15)= -0.675 (m) HIN(16)= -2.075 (m) HIN(17)= -4.210 (m) HIN(18)= -6.710 (m)MAUZIN car, cant irregularities, A-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .1 (1/times) HIN(5) = 3 (m) HIN(6) = 1 (1/times) HIN(7) = 13.4 (m) HIN(8) = 1.375 (units) HIN(9) = 2.075 (m) HIN(10)= 1 HIN(11)= -0.675 (m)MAUZIN car, cant irregularities, B-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .1 (1/times) HIN(5) = 3 (m) HIN(6) = 1 (1/times) HIN(7) = 13.4 (m) HIN(8) = 1.375 (units) HIN(9) = 0.675 (m) HIN(10)= 1 HIN(11)= -2.075 (m)Plasser&Theurer car, cant irregularities, A-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3 (m) HIN(6) = 1 (1/times) HIN(7) = 10. (m) HIN(8) = -1. HIN(9) = -3.5 (m) HIN(10)= 1 HIN(11)= 0. (m)Plasser&Theurer car, cant irregularities, B-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 10. (m) HIN(8) = -1. HIN(9) = 0. (m) HIN(10)= 1 HIN(11)= 3.5 (m)
HIN(1) | = | K0 | = | Max. inverted factor where the transfer function shall be cut off. |
HIN(2) | = | K1 | = | Inverted factor which shall be used when the transfer function exceeds 1/K0. |
HIN(3) | = | WLONG | = | Limit for long waves. Waves longer than WLONG are attenuated. |
HIN(4) | = | KLONG | = | Max. inverted amplifying factor for waves between LCAR and WLONG. |
HIN(5) | = | WSHORT | = | Limit for short waves. Waves shorter than WSHORT will be amplified by the factor 1/KSHORT. |
HIN(6) | = | KSHORT | = | Inverted amplifying factor for waves shorter than WSHORT. |
HIN(7) | = | LCAR | = | Distance between first and last axle. The distance is used for the definition of long waves, where the factor 1/KLONG should be used. |
HIN(8) | = | SIGN | = | Overall amplifying factor. Can also be used for changing the sign of the MAUZIN registration. |
HIN(9) | = | AWHEL0 | = | Distance to the measuring axle. The distance shall be given relative to a reference point on the measuring car. The reference point can be any point on the measuring car, but it must be the common reference point for all axles. |
HIN(10) | = | NWHELS | = | Number of counter axles to the measuring axle. In filter IPLASSER NWHELS must be equal to 2. |
HIN(11:12) | = | AWHEL | = | Longitudinal distances to the counter axles. |
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1 (1/times) HIN(7) = 20. (m) HIN(8) = 1. (units) HIN(9) = 0. (m) HIN(10)= 2 (st) HIN(11)= -10.(m) HIN(12)= 10.(m)Plasser&Theurer car, lateral irregularities, B-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 20. (m) HIN(8) = -1. (units) HIN(9) = 0. (m) HIN(10)= 2 (st) HIN(11)=-10. (m) HIN(12)= 10. (m)Plasser&Theurer car, vertical irregularities, A-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 10. (m) HIN(8) = -1. (units) HIN(9) = -3.5 (m) HIN(10)= 2 HIN(11)= -5. (m) HIN(12)= 0. (m)Plasser&Theurer car, vertical irregularities, B-end leading:
HIN(1) = .25 (1/times) HIN(2) = .25 (1/times) HIN(3) = 400 (m) or track length/3. HIN(4) = .04 (1/times) HIN(5) = 3. (m) HIN(6) = 1. (1/times) HIN(7) = 10. (m) HIN(8) = -1. (units) HIN(9) = 3.5 (m) HIN(10)= 2 HIN(11)= 5. (m) HIN(12)= 0. (m)
Following example: Master.ftransf can be used as a master file:
## ## Input data for program FTRANS ## IDENT1= Low-pass filtering of a variable in program FTRANS ## ## Input reading phase ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## INFIL= ucat/icos_l5d2.cmplx # Input data file FORMIN= '(A,A)' # Format when reading input data file FORMF = '(1P2E15.6,5X,2E15.6)' # Format when writing output data file SKALAX= 1. XSTART= 0. # Scale and shift the X-axle SKALAY= 1. YSTART= 0. # Scale and shift the Y-axle DX = 0.2 # Equidistant steps in X-axle IEXP= 0 # Elongation of the input variable TYPE_INFIL= TIME_HIST # Type of input data file #TYPE_INFIL= TIME_HIST_INTPL #TYPE_INFIL= FOUR_TRANS #TYPE_INFIL= FILT_FOUR_TRANS ## ## Interpolation phase ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## TYPE_INTERP= LINEAR INTPFI= ucat/icos_l5d2.cmplx ## ## Fourier transformation and Fourier series phase ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## FOURFI= ucat/fcos_l5d2.cmplx FSERFI= ucat/Acos_l5d2.cmplx ## ## Filtering phase ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## TYPE_FILT= FOUR # HFUNC= LFILT HIN= 1, -1.25663706, # low pass filter 1:st order # #HFUNC= LFILT HIN= 2, -1.25663706, -1.25663706, # low pass filter 2:d order # -1.25663706, +1.25663706, # #HFUNC= HFILT HIN= 1, -1.25663706, # high pass filter 1:st order # #HFUNC= HFILT HIN= 2, +1.25663706, +1.25663706, # high pass filter 2:d order # +1.25663706, -1.25663706, # FILTFI= ucat/Fcos_l5d2.cmplx ## ## Output of filtered time history ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## RESFIL= ucat/rcos_l5d2.cmplx EOF