Paste a vibration or shock profile: a screenshot, a table from Excel or a PDF, or a sentence from a spec. Profile Magic works out what kind of profile it is, plots it, and tells you the acceleration, velocity, displacement and force it takes to run. Everything happens in this page; nothing is uploaded.
Paste a profile
OCR engine loads on the first screenshotPaste a screenshot or table
Press Ctrl+V anywhere on the page, or drop a file here
Ready: press Ctrl+V
What it found
Edit the profile axes, levels and breakpoints
What it takes
Force and shaker fit
Type a unit after a number (2 kg, 15 lb) or leave it off to use the selected units.Moving mass
Check against a shaker (optional, from its datasheet)
Source table
Image Click to add a column split · click a split to remove it
Table low confidence: check these
Cells are editable and the profile is re-read as you type. Click a row number or column letter to leave it out. On a screenshot, click the image to add or remove a column split. OCR runs in this page with Tesseract 5 compiled to WebAssembly.
How it works recognition, formulas and settings
Recognizing the profile
A pulse shape name means classical shock; "sine on random" or tone rows mean sine on random; SRS or Q= means SRS; G²/Hz, PSD, ASD or grms mean random; inch or mm displacement, DA or sweep mean sine. Without those words, levels all at or below 1 are read as PSD, levels of 100 G or more (or 10 G past 3 kHz) as SRS, and anything else as sine G peak. ±dB/oct slope rows are resolved to breakpoints (10·log for PSD, 20·log for sine and SRS). Numbers after UN, MIL-STD, Method, Table, Section and similar are ignored. A table with a level column per axis (X, Y, Z, Axial, Lateral…) is read as one profile per axis. If the reading is wrong, change the type, how the source is read, or the level column under What it found.
Random
gRMS is the exact area under the log-log breakpoints. Peak acceleration is 3σ (3 × gRMS). Peak velocity is 3·√∫ PSD·g²/(2πf)² df and displacement 6·√∫ PSD·g²/(2πf)⁴ df peak-to-peak (3σ). Force is checked as rms force against the random rating. A grms level with a range and no breakpoints is treated as a flat PSD.
Sine
The maximum over the sweep of G, velocity G·g/(2πf) and peak-to-peak displacement 2·G·g/(2πf)². Amplitude is interpolated log-log between breakpoints, so a crossover from constant displacement to constant G is kept exact. Dwell and burst use the single frequency. Force is peak force against the sine rating.
Classical shock
Velocity change ΔV is 2AT/π (half-sine), AT/2 (sawtooth), 0.9AT (trapezoid) or AT (square). With symmetric rectangular compensation pulses at level p, peak velocity is ΔV/2 and stroke is estimated as ΔV²/(8pA) + ΔV·T/4. This is an estimate; confirm with the controller's shock pre-test.
SRS
The drive is a wavelet synthesis: one wavelet per frequency on a base-2 grid (1/6 octave by default), each A·sin(2πfτ/N)·sin(2πfτ), overlapping with the high frequencies first. Amplitudes are iterated until the maximax SRS of the summed waveform (Smallwood filter, the profile's Q, 10 if not given) matches the spec. Peak acceleration, velocity and displacement are read off the summed drive. A controller's own synthesis will differ somewhat.
Sine on random
Peak acceleration, velocity and displacement add the random 3σ values to the sum of the tone maxima (conservative). Force is the rms of the random plus the tones (peak/√2).
Force and fit
Moving mass is test article + fixture + armature, and force = moving mass × grms (random) or × peak G (sine, shock, SRS). Allowable = rating × (1 − margin). Bars are green under 95% of allowable, amber to 100% and red above. g = 386.09 in/s² per G.
Requirements are estimates for planning. Confirm against the test specification and the controller's pre-test before running hardware.