Testing to Shock Response Spectrum (SRS) specifications is usually performed using complex oscillating waveforms. This is also true for analytical simulation in the time domain.
There are several reasons for this.
Complex oscillating pulses can typically meet both the positive and negative SRS for a given axis.
Complex oscillating pulses can be generated in the lab using a shaker table, impact method, or explosives as appropriate for the given specification.
The specification itself may have been derived from a complex oscillating pulse.
Nevertheless, there is an occasional need to generate a half-sine pulse for a given SRS specification.
Here is a set of Matlab scripts for accomplishing this:
The main script is halfsine_synth.m. The remaining scripts are supporting functions.
There are three disadvantages to using a half-sine pulse for test or analysis.
Over-testing will occur at certain natural frequencies.
The half-sine pulse has a one-sided input which causes a one-sided response for higher natural frequency oscillators. Thus, the half-sine pulse must be applied in each direction of each axis.
Also, a pure half-sine pulse produces a net velocity change and a displacement “ski slope” effect.
The Matlab scripts have an optional wavelet reconstruction function to synthesize an approximate half-sine pulse with zero net velocity and zero net displacement while still meeting the SRS specification within reasonable tolerance bands.
– Tom Irvine