Sunteți pe pagina 1din 9

Broadband data processing with Matlab

Background
Broadband instruments are velocity sensors, which record data over a large range of frequencies (typically tens of Hz to around 0.01 Hz or lower . !arly observatories would typically consist of multiple instruments sensitive to various frequency bands to replicate a broadband overall response. Because different !arth processes e"cite energy at various frequencies, understanding and broadening the response spectrum of instruments allows for observing more phenomena. #odern digital broadband data of high quality has been continuously recording globally since around 1$%0. &here are roughly 1'0 permanent broadband observatories associated with the ()(* +lobal *eismographic ,etwor- (+*, and a number more in various other global and regional networ-s. &he &ransportable .rray arm of the !arthscope/0*.rray consists of 100 broadband stations rolling across the 0*. and the 2le"ible .rray arm also consists of about 100/targeted stations operating with the &ransportable .rray. ()(* 3.**4.5 also continuously supports on the order of '00 additional broadband seismic stations operating in temporary e"periments throughout the world, typically deployed for wee-s to years. Broadband seismographs have the advantage of high sensitivity over a large range of possible frequencies and a large enough dynamic range to record weasignals from distant earthqua-es to relatively strong signals from e"ceptionally large and or nearby earthqua-es or other sources. &o reduce the effect of local or regional bac-ground 6noise7 caused by local vibration sources, wind, or temperature variations, sensors are carefully installed in environmentally isolated and quiet locations. #any permanent observatories are built into the sides of mountains at high cost and in other remote locations to isolate them from noise sources, and many +*, sensors are deployed in boreholes at depths of 100 m or deeper. &his wor-sheet is part of a zip file porritt8broadband8processing8matlab.zip which also contains folders for data (with subdirectories of data for each e"ercise , functions which were created to facilitate this e"ercise, and the mat&aup tool-it.

Objectives
By the end of this session students should be able to9 2eel comfortable manipulating time series data in a processing environment (#atlab Be able to convert data from the raw format in digital counts to true ground motion 2ilter seismograms for analysis within various frequency bands

(solate ground motion from teleseismic earthqua-es :isualize anthropogenic sources of noise on records 0nderstand the full spectrum of data returned by broadband instruments

Preprocessing
(note9 in the following sections, italics imply commands at a terminal or #atlab command prompt. 0ni";5inu";#atlab are case/sensitive so you should use all lowercase in the functions below. &o get started, copy the #atlab functions from9 porritt8broadband8processing8matlab;functions to your path with the command at a linu";uni" terminal9 cp porritt_broadband_processing_matlab/functions/*m /home/USERNAME/work &he data is in the very commonly used *.4 (for *eismic .nalysis 4ode data format. &here are prepared *.4 data files in the directories9 porritt_broadband_processing_matlab/data/e ercise_! <ur first tas- is to read the data and convert it to true ground motion. &he data file is in e"ercise81. <pen #atlab by typing matlab from a terminal 0. )ead the data into #atlab9 "header#data$ % load_sac&'porritt_broadband_processing_matlab/data/e ercise_(/)*+,*,*+.,SA/012 1. )emove the mean9 dd%rmean&data12 =. )emove a linear trend9 ee%rtrend&dd12 >. .pply a 10? cosine taper (to remove edge effects 9 dd%cos_taper&ee12 1. 3artially remove the instrument response (to ma-e the response even more broadband 9 3el%transfer&dd#header,npts#(/header,delta# 'porritt_broadband_processing_matlab/data/e ercise_(/)*+,*-,*+.,p40#, 55(#(612 '. :isualize the resulting seismogram by plotting9 plot&3el1 (n the event that load8sc does not wor-, readsac will return the npts variable as header(>' and delta as header(1 . 2ull information on both load8sac and readsac can be access by typing help load_sac or help readsac, &he H!53 command will also give information about the parameters for the other functions used in this e"ercise. &he seismogram should now be in true ground velocity in m;s (depending on the pole/zero response file . Be careful with this as different poles and zeros files and different programs could transform the data to nm;s or cm;s. @ou should always as-, 6Aoes the amplitude loo- reasonableB7 2or e"ample, teleseismic body wave

(e.g, 3 or * amplitudes are typically on the order of tens of microns per second near 1 Hz. Chat are the main differences between the original data brought in and the final velocity dataB Integration and Differentiation Chile most seismic data is recorded as velocity, there are also uses for acceleration or displacement data. (ntegrating velocity to displacement or differentiating to acceleration can be an unstable process (integration amplifies long/period noise, while differentiation amplifies short/period noise . .n easy way to implement integration is by transforming into the frequency domain to obtain a spectrum, dividing this spectrum by =i f, and then transforming bac- to the time domain (where f is the frequency . Aifferentiation is done in a similar fashion, but with multiplication by =i f instead of division. &o compute acceleration from velocity, we differentiate9 acc % fre7_differentiate&3el# (/header,delta12 &o compute displacement from velocity, we integrate9 dis % fre7_integrate&3el# (/header,delta12 3lot the seismograms. Aoes anything loo- ine"plicableB Chat differences do you see between the displacement and acceleration responsesB &ypically the integration to displacement can lead to large long period signals due to division by small numbers at the long period end. &his can be filtered out (for e"ample with a high/pass filter above 0.00= Hz 9 filt_dis % hp_bu_co&dis# ,558# (/header,delta# 9# 812 ,ow replot filt8dis and you should see a seismogram without the energy at frequencies below 0.00= Hz. Long Period Seismograms <ne of the main advantages to using a broadband instrument is the high sensitivity to long period signals (signals at periods of 10s of seconds and longer . &his is great for visualizing teleseismic earthqua-es because the !arth acts as a low pass filter for signals traveling long distances (e.g., 1000Ds of -m . 5arger earthqua-es also have lower corner frequencies (they generate more long period energy at the source , and higher frequencies attenuate more rapidly than longer periods. 2inally, surface waves spread out only in =/dimensions (across the surface of the !arth , while body waves spread out into the >/d interior. &hese factors mean that for large earthqua-es and;or distances, long/period surface waves will typically be the largest signals, particularly for shallow earthqua-es (which preferentially e"cite surface waves over body waves . &o analyze a long period record from an e"ample teleseism, grab the data from9

porritt_broadband_processing_matlab/data/e ercise_8 2iles with 65H!7 record motion in an east/west direction. 2iles with 65H,7 record motion in a north/south direction and files with 65HE7 record motion in vertical up/ down direction. 3reprocess the data as in e"ercise 1 (you can use the script preprocess8waveform8data.m to do this quic-ly for all three components so you have velocity seismograms in the vertical, north/south, and east/west directions. &he source and instrumentation information about the event is already in the *.4 headers. 2or e"ample, to see the source latitude, longitude, and azimuth stored in the vertical record (if loaded into #atlab with load8sac with header variable named vertical8header type9 "3ertical_header,e3la# 3ertical_header,e3lo#3ertical_header,a4$ (f the data were imported into #atlab with readsac the synta" is 9 "3ertical_header&8(1# 3ertical_header&881# 3ertical_header&8:1$ .s discussed earlier, )ayleigh waves principally show up on vertical and radial components, while 5ove waves principally appear on the transverse component. )otating seismograms to obtain these horizontal component orientations is a fairly simple procedure and can be performed with the following function9 "radial#trans3erse$ % rotate_to_gcp&east_data# north_data#east_header,a412 &he function has multiple uses to account for east and north components not being at true north and true east or to return the angle rotated through (see the help documentation for more information . ,ow plot the vertical, radial, and transverse components. How many phases could you pic-B Ao you see separation between the large amplitude long period )ayleigh waves and long period 5ove wavesB .re there differences in the 3 and * arrivals on the different componentsB !"pected travel times for various phases can be computed with the &au3 tool-it. (tDs a Fava code written by 3hillip 4rotwell at the 0niversity of *outh 4arolina and is widely used. (nstallation and usage can be found at the end of this tutorial. &he broadband signal is probably still pretty messy due to the higher frequency seismic waves interacting with the structural comple"ities of the !arth. &his signal can be substantially removed through a low/pass filter, e.g., one with a high corner at =0 seconds (1;(.0' Hz , 1 poles, and = passes (or zero phased 9 filt_4 % lp_bu_co&3ertical# ,56# (/3ertical_header,delta# 9# 812 filt_r % lp_bu_co&radial# ,56# (/east_header,delta# 9# 812 filt_t % lp_bu_co&trans3erse# ,56# (/north_header,delta# 9# 812 ,ow replot the data and see if the phases appear more clearly. (f they donDt, try refiltering. &his can be tric-y, so e"plore the filter parameters and zoom level to

get a better understanding of what the data can loo- li-e. &o e"amine what signal was filtered out above, you can, for e"ample, perform a high pass filter at = Hz instead9 filt_4 % hp_bu_co&3ertical# 8# (/3ertical_header,delta# 9# 812 filt_r % hp_bu_co&radial# 8# (/east_header,delta# 9# 812 filt_t % hp_bu_co&trans3erse# 8# (/north_header,delta# 9# 812 &his high pass filter during the passage of large amplitude surface waves technique was what recently led to the discovery of dynamically triggered local seismic events. nthropogenic noise 4areful seismologists can recognize noise based on human effects by understanding e"pected mean signal levels at various stations during various times. Aata in porritt_broadband_processing_matlab/data/e ercise_;/*-S,*-,*+.,SA/ consist of high sample rate data from 1 am &uesday to noon on &uesday. 5oad and plot the data. @ou should observe a clear ramping up of amplitude as the day begins. &his is made clearer by high pass filtering to emphasize high/ frequency local noise9 filt%hp_bu_co&3el# 8# (/header,delta# 9# 812 )eplotting of the high/passed data should show the similar trend and may show some transient events, which loo- at first li-e very small local earthqua-es, but are probably Fust vehicles passing the site. Spectral nal!sis 6*pectral7 or 6spectrum7 are Fust cool ways of saying 6signal displayed as a function of frequency7. &he previous e"ercises have used the 2ourier transform to manipulate data in the spectral domain and subsequently inverse transform bac- to the time domain. !"amining spectral characteristics of signals can reveal everything from bac-ground noise to small/scale heterogeneous earth structure. ,o data files were specifically prepared for this e"ercise, so Fust grab your favorite waveform of the ones that weDve used so far. &he fundamental measurement of a single channel is the power spectrum. &his is essentially the energy in the signal as a function of frequency, divided by the length of the signal. (t is similar to the amplitude spectrum computed earlier, but it typically contains a scale factor to map the raw signal to power as a function of frequency (so that integrating the power spectrum across all frequencies will give the same power as integrating the corresponding time series across its full time e"tent . #atlab has several internal power spectral density (3*A estimation functions in the digital signal processing toolbo" (e.g., from the relatively primitive welch, to the advanced pmtm . ( donDt li-e how it chooses to brea- up the given waveform, so my simple function to calculate a single power spectrum is9 pp % power_spectrum&3el#header&(112 4ommonly we present a seismic power spectrum in terms of acceleration (this is

because the natural bac-ground noise of the !arth including the ocean microseism, is 6flattest7 in this form . &herefore, after the preprocessing, differentiate to obtain an acceleration time series and then compute the power spectrum9 acc % fre7_differentiate&3el#(/header,delta12 app%power_spectrum&acc#header,delta12 &he output of power8spectrum is a function of frequency so we can ma-e the companion array of frequency for plotting9 fre7 % 4eros&(#length&app112 for <%(=length&app1 fre7&<1 % < / &header,delta * header,npts1 end ,ow we can plot9 semilog &fre7#app1 ( never li-e these plots as the high frequency component has too many data points. &herefore we can smooth9 smooth_app % smooth_(d_arra>&app#6512 and replot with semilog". Chat do you observeB Chere are the highs and the lowsB 4an you see the primary and secondary ocean microseisms around 1G and % seconds, respectivelyB (n order to compute a more robust power spectral density, one common method (CelchDs method is to brea- up the original waveform into several overlapping waveforms, compute, average, and smooth. &his gives a trade/off between ma"imum period you can analyze versus robustness of the analysis. . cleverer method (multitaper, or pmtm in the signal toolbo" utilizes a clever sequence of windowed versions of the time series that produce statistically independent estimates of the power spectrum that can be averaged into an optimal estimate. . set of three closely spaced/sensors is an ideal situation for studying coherence and cross correlation. &hese functions are similar in formulation and computation, but give independent useful information. &he most meaningful results will come from two separate stations recording during the same time period. (t may be worthwhile to compare station . with station B during a noisy window and again the same stations during a teleseismic earthqua-e. &he coherence function is essentially a measure from 0 to 1 of how similar two signals are in the frequency domain (technically, how stationary their phase characteristics are . #atlabDs internal digital signal processing toolbo" function, mscohere, should wor- fine if you have the toolbo". However, ( wrote a similar method using a welchDs averaging you can call as9 coher % coherence&3el(#3el8# (/data(,delta# (/data8,delta12 &o plot it, compute the frequency array coher as above and then use the semilog" command again. Chere is the coherence highB ChyB Chere is the

coherence lowB ChyB &he cross correlation function is one of the most widely used functions used in seismology and in signal processing generally. (t is used to compute ambient noise greens functions, differential moveout times of earthqua-e arrivals, locations of tremors, etc. &he function (Dve prepared computes the frequency dependent cross correlation, does an inverse 2ourier transform, and rearranges the output to give the cross correlation amplitude as a function of lag time. (Dve also added an option to normalize the amplitude of the correlation. &o compute the cross correlation and return for a lag time of H/'000, '000I seconds use9 cor % cross_correlate&3el(# 3el8# (/data(,delta# (/data8,delta# 6555$2 3lotting "cor from H/'000, '000I will show the delay time required for a signal to travel from record1 to record=. Chat is the delay time between the stationsB 4an you use this to estimate the seismic velocity beneath the stationsB "auP toolkit &au3 is fairly widely used and openly available. . matlab interface written by Jin 5i at the 0niversity of Cashington is available at9 http9;;www.ess.washington.edu;*!(*;2#(;mat&aup.htm &here are instructions to download and install it, but all you will have to do is linto it. (Dve put all the necessary sources in the zip file. 4opy them to a location (Dll call 6above8dir7 but youDll have to replace that laterK 2rom there the code has a simple tree you can use to install. 2irst open matlab and use9 edit classpath,t t &his opens up the classpath.t"t file in the #atlab editor for you to edit. (n the last line add9 6above8dir7;mat&aup;lib;mat&aup.Far &hen use this command9 path&path#0abo3e_dir/mat?aup01 sa3epath to have all the e"ecutable matlab functions wor-ing. &he interactive gui is called9 taup (n the distance bo", enter the distance in degrees (possibly stored in the sac header and depth of the event in the depth bo". @ou can choose various 1d velocity models, but the default iasp$1 is o-. Hit the calculate button to find out the timing and various other parameters for various arrivals discussed before. &he 3ath tab shows a radially symmetric earth model and the various travel time braches calculated. 3lay around with various models, distances, and depths. <r Fust input the distance and depths, which pertain to the event to calculate e"pected arrival times for your seismograms. Plotting e#pected phase arrivals

(Dve created a plotting command to help in visualizing the results from taup. (ts synta" is9 plot_phases&time# amplitude# origin_time# model_name# depth# phase# distance1 4hec- the help documentation and use this to visualize arrivals for the data for e"ercise =. 2eel free to edit the script to ma-e the plots easier to view. $orward Model with %enerali&ed 'a! "heor! ( D) *+,D(n the inverse methods tutorial the general problem formalization was introduced9 dL+m and a tomographic method to solve it using least squares is e"plored. However, this can also be approached as a forward problem. +iven -nowledge of the physics to create + and reasonable estimates of the source and structural models, synthetic data can be computed mathematically. +eneralized )ay &heory (+)& can be used to create forward models of seismic data. &his method appro"imates waveforms as a series of seismic rays which are added together and the superimposed arrivals create the overall synthetic waveform. By comparing the synthetic +)& data and recorded actual data it becomes more conceptually clear which wiggles on the record come from which seismic phase arrivals. &his method is also useful if you have a good model of the seismic source or the velocity structure. @ou can then compute using what you -now, perturb what you donDt -now, and see how closely the synthetics match the recorded data. &o get started we need a structural matri"9 model_params % "5# 9# (@# 862 8,9# ;,6# ;,A# 9,6# 8,5# 8,:# 8,B# ;,;$ &his has three rows with parameters for each layer. &he first row contains the depth, the second contains the shear velocity, and the third contains the density. ,e"t we need to -now the parameters of the earthqua-e9 source_params % "((# :;,8#(,B6*(5C89# ,86# ;85,:# ;8;# (B5# A5$ &hese parameters are depth (-m , distance (-m , #0 (erg , rise8time (seconds , bac-8azimuth, stri-e, ra-e, dip. &he current function only computes the tangential component because it is the most simple having only *H energy e"pressed. 4all the function with9 s>nth % DR?_calculator&model_params#source_params12 ,ow you can plot with9 plot&s>nth&=#(1#s>nth&=#8112 &o see how this might be useful, load the file b-st.ascii with the command9 bks_data % load&'bkst,ascii012 .nd plot this with the synthetic9 plot&s>nth&=#(1#s>nth&=#81#0b0#bks_data&=#(1#bks_data&=#81#0k012 .ssuming the source parameters are as given above, alter the velocity model, model8params, and recompute synthetics until you have a reasonable match. &he comments are fairly sparse, but the various plots which have been

commented out in +)&8calculator.m may help show the formulation of the synthetics and they will show the various rays computed in isolation. ,ow try altering the source parameters. Chat happens when you change the source depth (must stay in layer = B Chat happens when you change the distanceB How would this alter estimated seismic hazard from this eventB

S-ar putea să vă placă și