June 30, 2009
This is a fast method for the solution of parabolic PDE’s, relying on the FFT implementation of the Fourier Transform to speed things up. Here it’s applied to an acoustic/seismic problem, following the development of Kuperman/Jackson in “Imaging of Complex Media with Acoustic and Seismic Waves”. Consider first the Helmholtz equation for a point source at r’,z’:

where G is the Green’s function, K the wavenumber (function of the frequency omega and sound speed c). Assuming azimuthal symmetry, G may be expressed as a product of two functions:

and similarly K, now a product of (constant) K0 and index of refraction n. Substituting into the Helmholtz equation gives two PDE’s:

The first PDE has Bessel functions as solutions; taking the assymptotic outgoing Hankel function solution and substituting it into the second, with the narrow angle approximation (second derivative of psi with respect to r much smaller than first derivative wrt r), one finds for the second (parabolic) PDE:

where chi is the fourier transform of psi. Assuming the variation of n is insignificant, in the wave-space domain the PDE and solution are:

Finally, the inverse FT gives the field as a function of depth (Delta r = r-r0, r0 the boundary value):

The following is a little hack in octave, to demonstrate the solution method:
function [Psi,s]=test_ssa(N,Dr,P0,n,K0)
% to test split step algo on parabolic PDE:
%
% \frac{\partial^2 \psi}{\partial r^2}
% +2iK0\frac{\partial \psi}{\partial r}
% +K0^2(n^2-1)\psi = 0
%
% K0*n^2 = (const.) wave number
% N=marching steps in field
% P0=boundary field data
% Dr=field step size
% wjb 0609
%initialize
m=length(P0); Psi=zeros(N,m); Psi(1,:)=P0;
%Nyquist thm, s (wave space) range
s=fftshift(-m/2:m/2-1)./Dr;
for k=2:N
Psi(k,:)=exp((i*K0/2)*(n^2-1)*Dr).*ifft(exp(-(i*Dr*s.^2)./(2*K0)).*fft(Psi(k-1,:)));
end

Leave a Comment » |
GPGPU, algorithms, audio, numerical methods | Tagged: acoustic, bessel function, green's function, octave, seismic, split step algorithm |
Permalink
Posted by bbrouwer
March 26, 2009
Attached is the PCB schematic for an audio amp based around national’s overture series. I designed and built this to suit a B&O beogram purchased when I had v. little coinage. The pad layout was created under circad, on a little old laptap running windmills 95. I was at a conference in Monterrey CA at the time (2004), and the bucolic scenery was too much to resist; I mostly sat on the beach drinking it all in, knocking this design together. There was a neat record shop which appeared to be the last bastion of the counterculture popular in Monterrey during the sixties. I picked up several LP’s including rare garage rock and was regaled by the owner’s tales of hearing Dylan back in the day.
I sampled out the 56W overture model from national; if you’re not familiar with this, engineers etc can get free samples from manufacturers, try it sometime. I also included a phono stage based around the LM833, to perform the RIAA equalization. This is of course necessary since the freq response of LP playback is not flat, so as to counteract deleterious mechanical issues. You could of course forgo this stage for a rather weird aural experience.
All you need to know is contained in the National tech note on the LM833 and overture, including supporting discrete components. I also include in the circuit a mixer/balance IC and notch filter for 50Hz. Thankfully I didn’t need to utilize the latter, the hum left when I eliminated all the ground loops; don’t forget to tie the ground of your LP to the amp & connect voltages to the right rails. The speaker(s) I built from pine to suit, which has a lower resonance than a hardwood like oak and to my mind the sound is richer, more mellow. The speakers (bose) and cross overs were bought online from allelectronics.com for pennies.
In the works 2009 is a tube amp…
main board PCB art
Leave a Comment » |
audio, design, electronic engineering, music | Tagged: audio amplifier, bang and olufsen, bose, loudspeaker, national semiconductor, phono, RIAA, vinyl |
Permalink
Posted by bbrouwer