Vraag:
Gaussische waveletgeneratie met een bepaalde frequentie
Amartya
2016-02-05 13:13:08 UTC
view on stackexchange narkive permalink

Hoe kan ik een Gaussische wavelet (tijddomein) genereren met een bepaalde centrale frequentie.

Ik bedoel, als ik de Fourier-transformatie neem, dan zou het spectrum rond die gegeven centrale frequentie moeten zijn in plaats van nul. De piek van het spectrum is bijvoorbeeld 20 Hz en de zijlobben worden bijna nul rond de $ 20 \ pm 10 $.

Ik heb een paar coderingsoefeningen gedaan die ik heb geprobeerd en die hier zijn. Link

Wavelets zijn zeker relevant voor aardwetenschappen, maar ik vermoed dat u op http://dsp.stackexchange.com/ betere antwoorden op deze specifieke vraag kunt krijgen.
Drie antwoorden:
kwinkunks
2016-02-05 17:05:18 UTC
view on stackexchange narkive permalink

Als ik de vraag begrijp, denk ik niet dat je kunt doen wat je wilt doen. Het spectrum van een Gaussische tijdreeks moet frequenties tot DC bevatten, dwz zeer lage frequenties (Python-code van scipy.org):

Spectrum of Gaussian

Een wavelet waarvan het spectrum een Gaussiaans is, wordt een Ricker-wavelet of soms een Mexican Hat-wavelet genoemd. Ik gebruik deze wavelet vaak om gegevens van seismische reflectie te modelleren. Het heeft een centrale frequentie en is bandbeperkt. Als zodanig oscilleert de wavelet rond een amplitude van nul - hij heeft geen DC-component:

Ricker wavelet

Bedankt voor uw antwoord @kwinkunks. Mijn doel was om het te gebruiken voor het schatten van de verzwakking (https://www.eoas.ubc.ca/research/cdsst/Tad_home/GPY001542.pdf; eqn. 18,19). Ik ben geneigd Gaussiaans te gebruiken omdat ik kunststoffen heb met een Gaussiaanse bron, ten tweede is de selectie van het analysevenster iets eenvoudiger. Is er een open source-code voor Q-schatting van seismisch?
Die auteurs verwijzen naar de Ricker-wavelet, die een Gauss-spectrum heeft. Ik ken geen software met die functie ingebouwd, vrees ik.
Antonio
2016-02-16 19:34:42 UTC
view on stackexchange narkive permalink

Amartya,

Misschien zal dit helpen verduidelijken:

Convolutie in het tijdsdomein is gelijk aan vermenigvuldiging in het frequentiedomein. Dit is hoe we eenvoudige convolutionele seismogrammen bouwen.

s (t) = w (t) * r (t) => S (f) = W (f) .R (f)

enter image description here

Wat u echter probeert te doen, is vrijwel precies het tegenovergestelde. Een sinusoïde in het tijdsdomein is een piek in het frequentiedomein. En wat je probeert te doen is een gaussiaan "convolueren" met deze piek, allemaal in het frequentiedomein. Maar andersom geldt dezelfde regel: convolutie in het frequentiedomein is gelijk aan vermenigvuldiging in het tijdsdomein.

S (f) = W (f) * R (f) => s (t) = w (t) .r (t)

enter image description here

Om een ​​wavelet (in de tijd) te krijgen waarvan de Fourier-transformatie een Gaussiaanse gecentreerd op een bepaalde frequentie, moet je een sinusoïde van die bepaalde frequentie vermenigvuldigen met een Gauss-venster (in de tijd). Deze "Gaussiaans maal een sinusoïde" wordt een Morlet-wavelet genoemd (of Gabor-wavelet in EE).

  nt = 500; % Aantal samples in uw waveletdt = 0,001; % Sample rate in timet = dt * ((1: nt) -ceil (nt / 2)) '; % Tijdvector voor wavelet symmetrisch rond nulpunt = cos (2 * pi * fdom. * T + fase); % Sinusoïde van gewenste frequentie en phasewin = exp (- (1 * t * fdom). ^ 2); % Gaussiaans venster geschikt voor dominante frequentiegolf = win. * Sinusoïde; % Final Morlet wavelet  

Ik hoop dat dit helpt,
Antonio

Antonio
2016-02-16 19:38:06 UTC
view on stackexchange narkive permalink

(Sorry voor de dubbele post, ik heb een afbeeldingslimiet)

Ook, aangezien je dat Gaussiaanse venster (in de tijd) magerder en magerder maakt (door die "1" in de vensterfunctie te veranderen), je maakt de Gauss in het frequentiedomein breder en breder, volgens het Fourier-onzekerheidsprincipe.

enter image description here

Ten slotte wilde ik wijs erop dat een Ricker-wavelet geen Gauss-amplitudespectrum heeft. Het is dichtbij, maar niet helemaal. Het Ricker-amplitudespectrum is enigszins scheef. En het lijkt erop dat ze Ricker-wavelets gebruiken in de door jou geciteerde paper.

enter image description here

Oké, nu ben ik klaar. Veel succes!
Antonio



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...