## normalized-spectrogram

version 1.2 (13.8 KB) by
Normalized spectrogram of a seismic acceleration

Updated Tue, 02 Apr 2019 23:37:00 +0000

From GitHub

# Normalized spectrogram

Normalized spectrogram of a seismic acceleration

Normalized spectrogram to seismic acceleration written in Matlab. The algorithm used is the following:

``````1. Baseline correction
2. Tuckey window is applied with r=5%.
3. FFT on window signal.
4. Spectrum is smoothed by 5 points halfwidth moving average.
5. Each element of spectrum is normalized by maximum spectral amplitude.
``````

## The function

The normalized spectrogram function is defined by:

`[matrix, matrix_t, matrix_f] = norm_spectrogram(t, acc)`

Where:

Variable Description
t Time of the seismic accelerogram
acc Acceleration (g) of the seismic accelerogram

This function returns a matrix in where columns refer to mean window time (matrix_t), rows are the frequency of the spectrogram (matrix_f) and the value of the matrix are the amplitude of the spectrogram from each time-window on each frequency.

To print matrix you should use:

`plot_norm_matrix(m, mt, mf, t, acc, regname)`

Where:

Variable Description
m Normalized matrix
mt Time array from matrix
mf Frequency array from matrix
t Time of the seismic data
acc Acceleration of seismic data
regname Name of the seismic data (plot title)

## Example

Lets suppose that a seismic registry is stored on data/CNV_APED_201604162359_N_100.txt, the file structure is like:

``````0.000000	-6.329500
0.010000	2.539600
0.020000	12.822900
0.030000	9.435300
0.040000	-5.397100
0.050000	-14.233900
...
``````

Then:

```% Load the data

% Set time and acceleration array
t = data(:, 1);
acc = data(:, 2) ./ 980; % Convert from cm/s2 to g```

After that we will use `norm_spectrogram` function

`[m, mt, mf] = norm_spectrogram(t, acc);`

Then plot:

`plot_norm_matrix(m, mt, mf, t, acc, 'APED 2016/04/16 23:59 N-S');`

Obtaining:

## Author

Pablo Pizarro R. | 2017 - 2019

### Cite As

Pablo P (2022). normalized-spectrogram (https://github.com/ppizarror/normalized-spectrogram/releases/tag/1.2), GitHub. Retrieved .

##### MATLAB Release Compatibility
Created with R2022a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux