;+ ; FUNCTION: THM_EFI_FIX_FREQ_AND_PAHSE, E, freq=freq, ghf=ghf, dt=dt, axial=axial ; ; PURPOSE: A routine which integrates data to fix the gain and remove the ; phase shift due to resistive to capacitive crossover of the ; THEMIS preamps. ONLY USEFUL FOR BURST DATA. ; ; INPUT: ; data - REQUIRED. Data to be fixed. DEFAULT = SPIN PLANE ; ; KEYWORDS: ; axial - OPTIONAL. Changes freq and gh to AXIAL default values. ; freq - OPTIONAL. Crossover frequency in HZ. DEFAULT = SPIN PLANE ; Careful! Derived from Rsheath(Csheath+Cin) ; ghf - OPTIONAL. Gain at high frequency. DEFAULT = SPIN PLANE ; Csheath/(Csheath+Cin) ; dt - OPTIONAL. Time between samples (s). DEFAULT = 1/8192 ; ; CALLING: Esp = thm_efi_fix_freq_and_phase(Esp) or ; Eax = thm_efi_fix_freq_and_phase(Ex, /ax) ; ; OUTPUT: Data is integrated to remove gain/phase error from preamp RC ; crossover. ; ; NOTE ON DEFAULTS: Spin Plane: The front-end network, R=100k, C = 10pF is ; ignored. Instead, I fudge Csh = 14 pF and Cin = 11.5 pF to realize a close ; approximation of measured gain/phase (see Bonnell et al. paper). ; Axial: Same system. I use Csh = 4 pf, Cin = 13 pF to approximate. ; One could improve the calculation with 2 poles, but the location of Cin ; (before or after the input network) would need to be questioned. ; Rsh is assumed to be 20 MOhm ; ; BEHAVIOR: ; (1) USE /AX for AXIAL SIGNALS!!! ; (2) DATA AT BEGINNING OF AN ARRAY MAY NOT BE CORRECTED. ; Use large arrays if possible. The program relaxes by one ; e-fold every 3 ms. ; (3) Electric field is improved for all plasma conditions. However, ; PHASE/GAIN CORRECTION MAY NOT BE ENOUGH FOR ALL PLASMA CONDITIONS. ; (4) PROBES MUST BE IN SUNLIGHT! ; (5) ONLY USEFUL FOR BURST DATA! ; (6) BE SURE TO SET DT = 1/16384 FOR AC BURST!!! ; ; INITIAL VERSION: REE 08-08-26 ; MODIFICATION HISTORY: ; LASP, CU ; ;- function thm_efi_fix_freq_and_phase, E, freq=freq, ghf=ghf, dt=dt, axial=axial ; SPIN PLANE Csh = 14.0e-12 ; F (Fudged to account for missing RC network) Cin = 11.5e-12 ; F (Fudged to account for missing RC network) Rsh = 20.0e6 ; Ohm ; AXIAL IF keyword_set(axial) then BEGIN Csh = 4.0e-12 ; F Cin = 13.0e-12 ; F Rsh = 20.0e6 ; Ohm ENDIF ; SET DT, FREQ, AND GHF if not keyword_set(freq) then freq = 1.0/(2.0*!pi*Rsh*(Csh+Cin)) if not keyword_set(ghf) then ghf = Csh/(Csh+Cin) if not keyword_set(dt) then dt = 1.0/8192.0 ; CALCULATE FORWARD FILTER COEFFICIENTS a0 = (freq * dt * 5.5) < 1.d a1 = (1.d - a0) ; FORWARD FILTER PROVIDED FOR TESTING PURPOSE ;x = E ;for i=1l, n_elements(x)-1 do x[i] = E[i]*a0 + x[i-1]*a1 ;x = x+ghf*(E-x) ; ABOVE FILTER MIMICS GAIN/PHASE OF RC CROSSOVER ; REVERSE COEFFICIENTS cnst0 = 1.0-ghf + ghf/a0 x0 = 1.0/a0/cnst0 x1 = -a1/a0/cnst0 x2 = a1*ghf/a0/cnst0 ; REVERSE FILTER R = E ; RECONSTRUCTED SIGNAL for i=1l, n_elements(R)-1 do R(i) = E(i)*x0 + E(i-1)*x1 + R(i-1)*x2 ; ALL DONE return, R end