⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convolve.c

📁 su 的源代码库
💻 C
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include "par.h"#include "Reflect/reflpsvsh.h"/******************************************************************************	Subroutine to convolve reflectivity array with a wavelet to 			produce a seismogram******************************************************************************/void convolve_wavelet (int wavelet_type, int nx, int nt, float dt, float fpeak, 	float **wfield) /******************************************************************************Input:wavelet_type	=1 for a spike		=2 for Tong Fei's Ricker wavelet		=3 for Larner's Ricker wavelet		=4 for Akima waveletnx		number of horizontal samples (traces)nt		number of vertical samples (samples/trace)dt		time sampling intervalfpeak		frequency peak for Ricker or Akima waveletswfield		array[nx][nt] of reflectivitiesOutputwfield		array[nx][nt] of seismic traces ******************************************************************************/{	int ix,it;			/* loop counters */	float *wavelet;			/* wavelet array */		float *temp;			/* scratch array */	/* allocate working space */	wavelet=alloc1float(nt);	temp=alloc1float(nt);	/* compute wavelet */	if (wavelet_type==1) {		spike_wavelet (nt, 1, wavelet);	} else if (wavelet_type==2) {		ricker1_wavelet (nt, dt, fpeak, wavelet);	} else if (wavelet_type==3) {		ricker2_wavelet (nt/2, dt, 1./fpeak, 1., 0., wavelet);	} else if (wavelet_type==4) {		akb_wavelet (nt, dt, fpeak, wavelet);	} else err ("wavelet_type has to be 1,2,3 or 4");			/* loop over traces to convolve with wavelet */	for (ix=0; ix<nx; ix++) {		/* save input reflectivity trace */		for (it=0; it<nt; it++) temp[it]=wfield[ix][it];			/* convolve with wavelet */		conv (nt, 0, temp, nt, 0, wavelet, nt, 0, wfield[ix]);	}	/* free allocated space */	free1float(temp);	free1float(wavelet);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -