Is there a code to get multiple velocity time histories equivalent to a single power spectrum?
Show older comments
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
on 16 Nov 2023
0 votes
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 Spectral Measurements 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!