Method

advertisement
To:
File
5 July 2001
From:
Mike Janssen
Subject:
Wind determination from Doppler-shifted lines – a simple approach
Assumptions:
1. A limb-sounding spectrum is obtained at each tangent altitude with an ideal
(pencil) beam with a millimeter or submillimeter spectrometer.
2. The atmosphere traversed by the beam is in uniform motion at each altitude
sampled.
3. Each spectrum is measured with frequency resolution f and Gaussian noise
N Ts f t on each measurement ( N   is Gaussian distributed with  rms, Ts


is the spectrometer’s system temperature and t is the integration time).
4. The frequency resolution f is sufficient to resolve the line, and the spectrum
fully covers the line.
5. The frequency calibration of the spectrometer is ideal.
Question:
How well can the profile of wind velocity be determined along the line-of-sight?
Solution:
I have taken a simplistic approach to this problem which is certainly capable of
improvement. The following should be regarded as highly preliminary.
I assume the exact lineshape for the atmosphere is known and find the Doppler shift that
best fits simulated data at each altitude over a range of altitudes. The procedure is as
follows:
1. At each tangent altitude, generate an ensemble of noisy spectra

Tmeas  Tideal  N Ts
f t

for an atmosphere in uniform motion (e.g., velocity = 0 m/s).
2. Determine the best fit Doppler velocity V for each spectrum by a least-squares
minimization of the following expression over all the spectral points (n spectral
points)
n


Sum(f )   Tideal f i  f   Tmeas f i 
2
i1
where Tideal (f) is the known lineshape at rest and Tmeas is the simulated lineshape
measured for a Doppler shift of magnitude f . The equivalent velocity is V =
f / f  c .
3. Compute the rms deviation of the best-fit values of V This rms is a Monte Carlo
estimate of the uncertainty. I typically run many cases (1000 cases) at each
tangent altitude so that the estimate is well determined.
4. Repeat the above over a range of altitudes to establish the uncertainty profile.
The IDL subroutine used to perform this minimization is given below. A powerpoint file
showing wind uncertainty profiles for typical millimeter and submillimeter cases is
attached.
Two improvements are immediately obvious:
1. The frequency resolution should be improved to better capture the upper
atmospheric range:
2. More importantly, the estimate can be tightened by minimizing a least squares
sum weighted by the differential signal
dT 2 n
2
Sum(f )   ideal  Tideal  f i  f   Tnoisy f i 

 df 
 i1
This emphasizes the measurements that contribute to the result and should reduce
the net uncertainty in wind velocity determination.
Appendix: IDL Subroutine for determining the uncertainty in wind velocity Dvelrms
at a given tangent altitude:
PRO Windfit, H0, NCO, Tdsb, tau, Nave, Tfit, F, Dvelrms
;
; Fit wind velocity at H0 altitude [km], Tdsb [K] double
; sideband system temperature, tau [s] integration time
;
; NCO = 12, line is 12CO
; NCO = 13, line is 13CO
; Nave is the number of spectra in the data ensemble
; Tfit are three spectra shifted by 50 kHz
; F gives the spectrum frequencies (returned from
Spect_limb)
; Dvelrms is the estimated uncertainty of the velocity fit
;
Freq0_CO = 0.0D
IF (NCO EQ 12) THEN Freq0_CO = 576267.5305D ;Hz
IF (NCO EQ 13) THEN Freq0_CO = 550927.0000D ;Hz
;
; Calculate nominal limb-sounding spectrum Tb vs. F in CO
at
; tangent altitude H0
F2V = 3.e+8/Freq0_CO ; m/s/MHz
Spect_limb, Freq0_CO-10., 101, 0.2, 50, H0, 150., Tb, F
; Calculate spectrum for delta freq offset +/- 50 kHz
Tmeas = FLTARR(101)
Tfit = FLTARR(3, 101)
; Dvel is the vector of calculated Delta velocity fits to
the
; data ensemble
Dvel = FLTARR(Nave)
Tfit(0,*) = interpol(Tb, f, f-0.05)
Tfit(1,*) = Tb
Tfit(2,*) = interpol(Tb, f, f+0.05)
Sumsq = FLTARR(3)
FOR J=0,Nave-1 DO BEGIN
; Calculate noise vector for 200 kHz sampling in a 20 MHz
; Bandpass
DT = (2.*Tdsb/SQRT(200.e+3*tau))*randomn(seed, 101)
Tmeas = Tb + DT
FOR I=0,2 DO BEGIN
Sumsq(I) = SQRT(TOTAL((Tmeas - Tfit(I,*))^2))
ENDFOR
Dvel(J) = F2V*(sumsq(0)- sumsq(2))*0.025/
(sumsq(0)+sumsq(2)-2.*sumsq(1))
ENDFOR
;
Dvelrms = SQRT(TOTAL(Dvel^2)/Nave)
print, Dvelrms, 'm/s'
RETURN
END
Input parameters to Spect_limb are defined below:
PRO Spect_limb, Freqstart, Nf, Df, N, H0, H1, Ts,
;
; Spect_limb, 547000.0, 1300, 10., 50, 50., 150.,
; Calculate brightness temperature spectrum along
; tangent to atmosphere at altitude H0
; Freqstart = beginning frequency, MHz
; Nf = number of frequencies
; Df = frequency spacing
; 2*N = number of equal distance increments along
;
sight
; H1 = upper limit altitude for computations
; Ts = brightness temperature spectrum
; F = frequencies for spectrum
F
ts, f
line
line-of-
Download