Is there a code to get multiple velocity time histories equivalent to a single power spectrum?

1 view (last 30 days)
I am working on generating seimic noise numerically. I have a power spectrum (power spectral density). I want to generate velocity time histories compatible to the power spectrum. Is there any code for that?

Answers (1)

Maneet Kaur Bagga
Maneet Kaur Bagga on 16 Nov 2023
Hi Ankit,
As per my understanding, to generate velocity time histories compatible with a given power spectrum "Fourier Amplitude Spectrum Method" can be applied which involves the following steps:
  • Define the desired power spectral density (PSD) function or curve. Convert the PSD to a one-sided amplitude spectrum by taking the square root of the PSD values.
  • Generate a random phase spectrum with random phase angles between 0 and 2π for each frequency component.
  • Combine the amplitude and phase spectra to obtain the complex spectrum.
  • Perform an inverse Fourier transform on the complex spectrum to obtain the time-domain signal.
  • Apply appropriate scaling factors, to match desired units and amplitude.
For code reference please access the below File Exchange Link:
Hope this helps!

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!