1. Trang chủ
  2. » Ngoại Ngữ

Investigation of TDLAS measurements in a scramjet engine

116 375 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 116
Dung lượng 10,1 MB

Nội dung

UNIVERSITY OF CINCINNATI Date: 21-May-2010 I, Dominic L Barone , hereby submit this original work as part of the requirements for the degree of: Master of Science in Aerospace Engineering It is entitled: Investigation of TDLAS Measurements in a Scramjet Engine Student Signature: Dominic L Barone This work and its defense approved by: Committee Chair: 6/14/2010 San-Mou Jeng, PhD San-Mou Jeng, PhD 755 Investigation of TDLAS Measurements in a Scramjet Engine A thesis submitted to the Graduate School of the University of Cincinnati in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in the Department of Aerospace Engineering of the College of Engineering by Dominic L Barone B.S University of Cincinnati, June 2008 May 21, 2010 Abstract An investigation of the viability of tunable diode laser absorption spectroscopy for use as a flow measurement device in a scramjet engine was completed First, the effects on TDLAS measurements across a temperature jump that is common in scramjet combustor flow-paths was studied using a flat flame burner designed with four independently fueled quadrants Rigorous thermocouple mapping of the burner was performed and a discussion of multithermocouple radiation correction techniques is presented The fundamental mass capture measurements (temperature, water number density, pressure, and velocity) were then made in the isolator section of a direct-connect scramjet engine and compared to a scramjet performance analysis code Post-combustion measurements (temperature and water number density) were measured in the exhaust section of the model engine The results of the measurements and an in-depth discussion of analysis routines used in the processing of raw absorption measurements is presented Acknowledgements This work was funded through the Air Force Research Laboratory and the Dayton Area Graduate Studies Institutes Student-Faculty Fellowship Program This work was conducted at the facilities of the Aerospace Sciences Branch of the Air Force Research Laboratorys Propulsion Directorate (AFRL/RZAS) The input my advisors, Dr Mike Brown, Dr Skip Williams and Dr Jeff Donbar at the Air Force Research Labs and Dr San-Mou Jeng at the University of Cincinnati has been invaluable in this work and my education I am extremely grateful to all of the RZAS branch, especially Mr Bill Terry, Dr Mark Gruber and all of the Research Cell 22 team for all of their support Finally, I would like to thank my parents, family and friends for supporting me in all of my endeavors, whatever they may be; I wouldn’t be where I am today without them Contents Nomenclature vii Introduction 1.1 Problem Statement 1.2 Scope 1.3 Objectives 1.4 Approach Absorption Spectroscopy 2.1 Properties of the Water Molecule 2.2 Beer-Lambert Law 10 2.3 The Line Shape Function 11 2.4 Etalons 13 TDLAS System & Analysis 15 3.1 TDLAS System 15 3.2 Data Processing 18 3.2.1 Raw Signal 18 3.2.2 Frequency Determination 18 Absorption Measurement 19 3.3.1 19 3.3 Direct Area Integration i 3.3.2 3.4 3.5 Line Fitting 22 TDLAS Measurements 24 3.4.1 Two Line Thermometry 24 3.4.2 Boltzmann Plot Analysis 26 3.4.3 Velocity Measurement 27 3.4.4 Pressure 28 Averaging 29 Flat Flame Burner Experiment 31 4.1 Flat Flame Quadrant Burner 32 4.2 Thermocouple Measurements 33 4.2.1 Thermocouple Heat Loss 33 4.2.2 Multi-Thermocouple Radiation Correction 34 4.2.3 Methodology 40 4.3 Thermocouple Results 43 4.4 TDLAS Setup 44 4.5 TDLAS Results 47 Research Cell 22 5.1 5.2 51 Isolator Measurements 52 5.1.1 Experimental Setup 53 5.1.2 Temperature and Density 54 5.1.3 Pressure 55 5.1.4 Velocity 60 Combustor Measurements 61 5.2.1 Experimental Setup 61 5.2.2 Combustor Results 64 5.2.3 Signal Quality and Averaging 66 ii Conclusions 74 6.1 Summary 74 6.2 Future Work 75 A Spectroscopic Constants 80 B MATLAB Programs 81 B.1 Shell Script 81 B.2 Main Program 85 B.3 Functions 91 B.3.1 Frequency Determination 91 B.3.2 Absorbance Calculation 94 B.3.3 Voigt Fitting 95 B.3.4 Direct Integration Routine 100 B.3.5 Area Calculation 102 B.3.6 Boltzmann Plot Calculations 103 iii List of Figures 1.1 Transmission of radiation through the atmosphere 2.1 Vibrational degrees of freedom for water 2.2 Harmonic oscillator model 2.3 NIR Absorbance of water 2.4 Beer’s Law 10 2.5 The Voigt lineshape 13 3.1 TDLAS System 16 3.2 Frequency determination 20 3.3 Signal processing 21 3.4 Area calculation methods 23 3.5 Two line thermometry 25 3.6 Boltzmann plot 27 3.7 Velocity measurement 28 4.1 Quadrant flat flame burner 32 4.2 Nusselt number model effects on radiation correction 37 4.3 Nusselt number model comparison 38 4.4 Emissivity Determination 39 4.5 Thermocouple measurement setup for mapping the quadrant burner 41 iv 4.6 Thermocouple point map 42 4.7 Radiation correction using extrapolation of two and three points 44 4.8 Thermocouple temperature map of the quadrant burner 45 4.9 TDLAS setup for the quadrant burner 46 4.10 TDLAS flat flame burner setup 47 4.11 Quadrant burner TDLAS results 48 4.12 TDLAS and thermocouple comparison 49 5.1 Research Cell 22 schematic 52 5.2 RC-22 isolator experimental setup 54 5.3 Isolator temperature-density map 56 5.4 QPERF Comparison 56 5.5 Isolator pressure fluctuation 59 5.6 Isolator Mach number 60 5.7 RC-22 combustor experimental setup 62 5.8 Exhaust measurements 65 5.9 BW Voigt fit 70 5.10 BQ Voigt fit 70 5.11 BQ Direct Integration 71 5.12 BQ Averaging 71 5.13 BW direct integration 72 5.14 Direct integration with equal averaging over 10 points, Run BW φ = 0.3 − 0.1 72 5.15 Averaging Comparison v 73 List of Tables 4.1 Operating Conditions 43 5.1 Isolator Temperature Results 57 5.2 Isolator H2 O Density Results 57 5.3 Isolator Pressure Results 58 A.1 Constants used for TDLAS analysis 80 vi [T(n) D(n) TE(n) DE(n) r(n)] = TDLASboltz(A(n,:),sA,pkid,spectrafp,pathlength,BOLTZPLOT); % Display results if DISPTEMP fprintf(' '); fprintf('T: %.1f',T(n)); fprintf(', TE: %.1f%%, rˆ2: %f',TE(n)/T(n)*100,r(n).ˆ2); fprintf('\n'); end if DISPDENS fprintf(' '); fprintf('D: %.3e',D(n)); fprintf(', DE: %.1f%%',DE(n)/D(n)*100); fprintf('\n'); end end %% Temperature vs Time plot if TEMPPLOT sfigure(TEMPPLOT); cla plot(T(1:n),'.r') end %% SNR Plot if SNRPLOT sfigure(SNRPLOT) for i=1:size(SNR,2) if isreal(SNR(n,i)) plot(n,SNR(n,i),'.','color',colororder(i,:)); end end end %% T−D Plot if TDPLOT sfigure(TDPLOT); cla plot(D(1:n),T(1:n),'k.') drawnow end %% Lorentz and Gauss Widths if FWHMPLOT sfigure(FWHMPLOT); cla for i=1:n; npks = length(TDLdata(i,1).pkid); plot(i,TDLdata(i,1).fitParams(npks*3+1),'.b'); plot(i,TDLdata(i,1).fitParams(npks*4+1),'.','color',[0 0]); end drawnow end 89 %% Update Waitbar t(n) = toc; % save program time waitbar((n−start)/(stop−start)) % Update Waitbar % Check for Cancel button press if getappdata(h,'canceling') cancelled = 1; fprintf(' ! TDLASanalyze stopped by user\n') end %% Save Data if (mod(n,SAVEINT) == | | n == stop | | cancelled ) && SAVEDATA fprintf(' > Saving Data [%s]\n',savefile); save(savefile,'TDLdata','T','D','TE','DE','r','A','n','strip','freq','pkid','range' end %% Break Loop if cancelled if cancelled break end end % End Point Iteration delete(h); % Close waitbar drawnow; % Update screen fprintf(' > Done!\n'); 90 B.3 B.3.1 Functions Frequency Determination function [freq] = TDLASetalon( DATA, fmt , line, ETAPLOT) %TDLASETALON calculated the TDLAS frequency axis given etalon data % Detailed explanation goes here %% Options switch line case fcenter = 7185.597; % Peaks used to fit absolute frequency axis edgebuffer = 200; % Ignore Edge Data when determining absolute frequency axis case fcenter = 7161.410; % Peaks used to fit absolute frequency axis edgebuffer = 100; % Ignore Edge Data when determining absolute frequency axis case fcenter = 7181.155; % Peaks used to fit absolute frequency axis edgebuffer = 150; % Ignore Edge Data when determining absolute frequency axis end etadata = mean(DATA(:,fmt.etachan,:),3); % Find local maxima [ pks, id ] = TDLASpeaks(etadata,'stencil'); % Check for "double" peak reporting idcheck = find(diff(id) ≤ 3); if ¬isempty(idcheck) for z=length(idcheck):−1:1 pks = pks(1:length(pks)=idcheck(z)+1); id = id(1:length(id)=idcheck(z)+1); end end c = 299792458; % Speed of light v = 2*10ˆ9/100; % Frequency between etalon peaks [2 GHz−cm] N = 1:length(id); % Number of peaks M = 1:length(etadata); % Number of frequency points n2f = v*N/c; % Frequecy calculation % Interpolation Fitting relfreq = real(interp1(id(:),n2f(:),M,'cubic')); if isempty(fmt.subchan) usechan = fmt.chan(1); else usechan = fmt.subchan(1); 91 end % Calculate Abosulute Frequency Axis meandata = mean(DATA(:,usechan,:),3); meandata = meandata−min(meandata); meanref = mean(DATA(:,fmt.refchan,:),3); meanref = meanref*max(meandata)/max(meanref); meanabsorb = −log(meandata./meanref); [abspks, absid ] = TDLASpeaks(meanabsorb(edgebuffer:end,1),'stencil'); [amax fmaxid] = max(abspks); fmax = absid(fmaxid) + edgebuffer − 1; freq = fcenter−(relfreq−relfreq(fmax)); if ETAPLOT figure(ETAPLOT); hold all; subplot(2,3,line); hold all plot(M,relfreq); plot(id,n2f,'o'); grid on; axis tight subplot(2,3,line+3); hold all plot(M,etadata) plot(id,pks,'o') grid on; axis tight drawnow end end function [ pks, id ] = TDLASpeaks(y,varargin) % y − Input Data y = y(:); mm = 1; % Determines max or (1=max, −1=min) STENCIL = 0; % range = [min(y) max(y)]; for i=1:2:nargin−1 switch upper(varargin{i}) case 'RANGE' %range = varargin{i+1}; case 'SMOOTH' nwin = varargin{i+1}; % Window Size y = filter(ones(1,nwin)/nwin,1,y); % Calculate running average case 'STENCIL' STENCIL = 1; %id = 2:(length(y)−1); %y = [y(1);(y(id−1)+y(id)+y(id+1))/3;y(end)]; % Calculate running average case 'MAX' mm = 1; case 'MIN' mm = −1; end end 92 dy = diff(y); if STENCIL id = 2:(length(dy)−1); dy = [dy(1);(dy(id−1)+dy(id)+dy(id+1))/3;dy(end)]; end id = find( dy(1:end−1).*dy(2:end) ≤0 % Find local maxima and minima & sign(mm)*diff(dy) ≤ % Filter out minima or maxima )+1; % Shift id due to diff pks = y(id); end 93 B.3.2 Absorbance Calculation function [ absorb ] = TDLASabsorb( line, fmt) %TDLASABSORB calculate TDLAS absorption stuff % Detailed explanation goes here % Remove any DC offset line = line−ones(size(line,1),1)*min(line); % Calculate reference line and scale to data reference = line(:,fmt.refchan)*(max(line)./max(line(:,fmt.refchan))); % Calcuclate abosrbance absorb = −log(line./reference); % Remove any values of inf, caused by zero reference signal absorb(isinf(absorb)) = 0; 94 B.3.3 Voigt Fitting function [TDLdata SNR range] = TDLASauto3(TDLdata,n,freq,absorb,Tguess,spectrafp) %% DEFAULT Values options = optimset('fminsearch'); % sets the default curve fit parameters options = optimset(options,'Display','off'); options = optimset(options,'MaxIter',2000); options = optimset(options,'MaxFunEvals',inf); options = optimset(options,'TolX',1e−3); options = optimset(options,'TolFun',inf); %options = optimset(options,'PlotFcns',@optimplotfval); %% Load Spectral Data fid = fopen(spectrafp); H2Oprop = cell2mat(textscan(fid,'%f %f %f %f %f %f %f','CommentStyle','%')); = H2Oprop(:,2)'; freq wavenum strengthref = H2Oprop(:,3)'; fclose(fid); %% Select Peaks to use for analysis usepeak = sign(strengthref); %% Analysis Sub−Ranges rangelaser = []; range = []; % 1045.0 range = [range;7185.8 7185.4]; rangelaser = [rangelaser 1]; if Tguess < 500 freq wavenum(freq wavenum==7161.190) = 0; end % Turn off 7161.19 line if Tguess > 500 % 1874.9 range = [range;7161.1 7160.45];% Range with 7161 shift rangelaser = [rangelaser 2]; % 224.8 range = [range;7161.7 7161.0];% Range with 7161 shift rangelaser = [rangelaser 2]; else % 1874.9 freq wavenum(freq wavenum==7160.812) = 0; % 224.8 range = [range;7161.7 7160.6];% Range with 7161 shift rangelaser = [rangelaser 2]; 95 end % 1216.2 range = [range;7180.0 7179.4]; rangelaser = [rangelaser 3]; SNR = zeros(1,length(rangelaser)); %% Find Peaks % Get Peaks for i=1:length(rangelaser) frequencydata = freq{rangelaser(i)}; absorbdata = absorb{rangelaser(i)}; fshift=min(frequencydata); id = find( freq wavenum > min(range(i,:)) & freq wavenum < max(range(i,:)) ); pkid = id.*usepeak(id); % Estimated Spectra Properties npks = length(id); f0 = freq wavenum(id)−fshift; amp = 01*ones(1,npks); gw = 7.16*10ˆ−7*freq wavenum(id)*sqrt(Tguess/18); lw = 0.02*ones(1,npks); p = [0 0 0]; estParams = [f0 amp gw lw 0*p]; % Specrta Limits % − Fix peak center frequencies % − Amplitude must be positive % − Gaussian within 2x extimated value % − Lorentzian must be positive UB = [f0+.05; inf*amp; gw*2; inf*lw]; % Upper Bounds LB = [f0−.05; 0*amp; gw*0+0.001; 0*lw]; % Lower Bounds usevars = ones(4,npks); usepoly = [1 1 1]; % Use 3rd order polynomial % Run fit times (seems to work better than MaxIter*3) for c = 1:2 fitParams = TDLASfit(frequencydata−fshift,absorbdata,estParams,npks, 'range',range(i,:)−fshift,'UB',UB,'LB',LB, 'usepoly',usepoly,'advpeak',usevars, 'options',options,'SPECTRAFILE',spectrafp); estParams = fitParams; estParams((4*npks+1):end) = 0; % Remove Baseline end TDLdata(n,i).fitParams = fitParams; TDLdata(n,i).pkid = pkid; TDLdata(n,i).range = range(i,:); TDLdata(n,i).laser = rangelaser(i); 96 f0 amp gw lw p = = = = = fitParams((1:npks)+0*npks); fitParams((1:npks)+1*npks); fitParams((1:npks)+2*npks); fitParams((1:npks)+3*npks); fitParams((4*npks+1):end); id = find(frequencydata ≥ min(range(i,:)) & frequencydata ≤ max(range(i,:))); err = absorbdata(id) − voigtwave(frequencydata(id)−fshift,f0,amp,gw,lw,p)'; Signal = sqrt(mean(voigtwave(frequencydata(id)−fshift,f0,amp,gw,lw,0).ˆ2)); Noise = sqrt(mean(err.ˆ2)); SNR(i) = 20*log10(Signal/Noise); end function [ outParams ] = TDLASfit(x,y,estParams,npks,varargin) % DEFAULTS options = optimset('fminsearch'); % FMINSEARCH options ALGORITHM = 'FMINSEARCBND'; % Set to use all guess parameters as default (1=fit, 0=const) usepeaks = ones(4,npks); usepoly = ones(1,length(estParams)−npks*4); LB = −inf*usepeaks; % Lower Bound UB = inf*usepeaks; % Upper Bound LBpoly = −inf*usepoly; % Lower Bound UBpoly = inf*usepoly; % Upper Bound % % % % % % % % % % USE PEAKS & BOUNDS FORMAT peak1 peak2 center freq x x amplitute x x gauss width x x loren width x x peakN x x x x USE POLY & BOUNDS FORMAT c*xˆn c*xˆn−1 c*xˆ0 poly coef x x x % Go through possible varargin options for n=1:2:nargin−5 switch upper(varargin{n}) case {'ALGORITHM','ALG'} ALGORITHM = varargin{n+1}; case 'RANGE' 97 % Select range of fit routine range = varargin{n+1}; id = find(x≥min(range) & x≤max(range)); x = x(id); y = y(id); case 'USEPEAK' % Select which peaks to use usepeaks = usepeaks*0; % Set all to zero peaks = varargin{n+1}; usepeaks(:,peaks) = 1; % Set used peaks to case 'ADVPEAK' % Advanced use peak, enables user to create peak matrix usepeaks = varargin{n+1}; case 'USEPOLY' % set which basline variables to use usepoly(:) = varargin{n+1}; case 'OPTIONS' % set FMINSEARCH options options = varargin{n+1}; case 'UB' % set Upper Bound on variables UB = varargin{n+1}; case 'LB' % set Lower Bound on variables LB = varargin{n+1}; case 'UBPOLY' % set Upper Bound on variables UBpoly = varargin{n+1}; case 'LBPOLY' % set Lower Bound on variables LBpoly = varargin{n+1}; end end % Set which parameters to use based on usepeaks and usepoly useParams = [reshape(usepeaks',1,[]) usepoly]; LB = [reshape(LB',1,[]) LBpoly]; UB = [reshape(UB',1,[]) UBpoly]; % Calculate Error Function errFcn = voigtFitErr(x,y,npks); % Non Linear Fit Function switch upper(ALGORITHM) case 'FMINSEARCBND' fitParams = nonlinfit(errFcn, estParams, LB, UB, useParams , options); case 'LMF' 98 Options = LMFsolve('default'); Options.MaxIter = 500; Options.Display = 10; [fitParams, Ssq, CNT] = LMFsolve(errFcn,estParams,Options); end % Set out parameters to be the original estimate outParams = estParams; % Overwrite parameters with fitted values outParams(useParams==1) = fitParams; function [ fitParams ] = nonlinfit(fitFun, estParams, LB, UB, use , options) if (nargin min(range(i,:)) & freq wavenum < max(range(i,:)) & usepeak); frid = find(frequencydata > min(range(i,:)) & frequencydata < max(range(i,:))); baseID = [1:basenum(i) (length(frid)−basenum(i)):length(frid)]; baseP = polyfit(frequencydata(frid(baseID)),absorbdata(frid(baseID)),1); baseline = polyval(baseP,frequencydata(frid)); A(i) = abs(trapz(frequencydata(frid),absorbdata(frid)−baseline)); % Ignore Wings for baseline fitting in Signal Calc voigtID = (basenum(i)+1):(length(frid)−basenum(i)−1); Signal = (sum( (absorbdata(frid(voigtID))−baseline(voigtID)) )/length(voigtID)); Noise = sqrt(sum( ((absorbdata(frid(baseID))−baseline(baseID))).ˆ2 )/length(baseID)); SNR(i) = 20*log10(Signal/Noise); if FITPLOT sfigure(FITPLOT+rangelaser(i)−1) if first(rangelaser(i)) subplot(3,1,1) cla; first(rangelaser(i))=0; plot(frequencydata,absorbdata,'.k') subplot(3,1,2:3) cla; end subplot(3,1,1) plot(frequencydata(frid),absorbdata(frid),'.b') plot(frequencydata(frid(baseID)),absorbdata(frid(baseID)),'.r') plot(frequencydata(frid),baseline,'g','linewidth',2) ylim([−.1 3]) subplot(3,1,2:3) plot(frequencydata(frid),absorbdata(frid)−baseline,'.b') plot(frequencydata(frid(baseID)),absorbdata(frid(baseID))−baseline(baseID),'.r' axis tight end end drawnow 101 B.3.5 Area Calculation function [A pkid] = TDLASareas(TDLdata,irange) ipoints = 1000; % number of points for integration of voigt i=1; n=0; for j=1:size(TDLdata,2) npks = length(TDLdata(i,j).pkid); for k=1:npks n=n+1; pkid(n) = TDLdata(i,j).pkid(k); f0 amp gw lw = = = = TDLdata(i,j).fitParams((1:npks)+0*npks); TDLdata(i,j).fitParams((1:npks)+1*npks); TDLdata(i,j).fitParams((1:npks)+2*npks); TDLdata(i,j).fitParams((1:npks)+3*npks); f = linspace(f0(k)−irange,f0(k)+irange,ipoints); A(n) = trapz(f,voigtwave(f,f0(k),amp(k),gw(k),lw(k))); end end A=A(:)'; 102 B.3.6 Boltzmann Plot Calculations function [T D TE DE r b] = TDLASboltz( A, sA, pkid, spectrafp, pathlength, plotboltz ) fid = fopen(spectrafp); H2Oprop = cell2mat(textscan(fid,'%f %f %f %f %f %f','CommentStyle','%')); strengthref = H2Oprop(:,3)'; = H2Oprop(:,4)'; low energy fclose(fid); Tref = textread(spectrafp,'%*s%f',1); usepkid = pkid(pkid>0); idpkid = find(pkid>0); Bref = exp(−(low energy(usepkid)./(0.69503*Tref))); X = low energy(usepkid); Y = real(log((A(idpkid).*Bref)./strengthref(usepkid))); sY = sqrt((sA(idpkid)./A(idpkid)).ˆ2 + (.01*Bref./Bref).ˆ2 + (−.01*strengthref(usepkid)./strengthref(usepkid)).ˆ2); [a b sa sb r] = wlinfit(X,Y,sY); % Y = a*x+b T = (−1/(0.69503*a)); TE = (1/(0.69503*a.ˆ2))*sa; D = TPF(T) * exp(b) / (TPF(296) * pathlength); DE = sqrt((D*sb).ˆ2 +((exp(b) / (TPF(296) * pathlength))*TE).ˆ2); if exist('plotboltz','var') if plotboltz > sfigure(plotboltz); cla errorbar(X,Y,2*sY,'bo','LineWidth',2) plot([0 max(X)],polyval([a b],[0 max(X)]), 'LineWidth',2,'color',[0 0]) drawnow end end 103 [...]... pressure in a scramjet engine This research could lead into an all optical measurement of thrust in an engine Several different analysis techniques are being used to validate the TDLAS data in measuring temperature of the flame Previous scramjet TDLAS work has mainly dealt with measurements in the isolator, which provides a clean uniform flow, ideal for TDLAS The goal of this work is to show that the TDLAS. .. presented along with careful accounting of associated errors 3 1.3 Objectives In this thesis, the following objectives needed to be accomplished in order to evaluate the utility of TDLAS for use in a scramjet engine: i Create a program capable of automatically processing and analyzing the large amount of data produced by high-speed TDLAS data collection ii Complete mapping and understanding of the quadrant... spectra need to be analyzed in order to make a meaningful measurement Not only does this process take time but the raw waveforms from TDLAS system can be a significant amount of data The creation of an automated program that can analyze spectra with minimal amount of input was required Chapter 3 is a review of the data processing and analysis techniques used 4 In order to verify the ability TDLAS to measurement... quadrant flat flame burner being used for TDLAS verification iii Verify the ability of TDLAS system to measure a temperature step that may be present in a scramjet combustor flow-path iv Show the viability of TDLAS as an in- situ measurement technique for a scramjet engine in both the isolator and post-combustor regions v Investigate the accuracy and precision of TDLAS for scramjet measurements 1.4 Approach... not etalon It is important to consider these effects because they can be very detrimental to TDLAS measurements 14 Chapter 3 TDLAS System & Analysis There are two major parts of making TDLAS measurements, the physical measurement system and the data processing and analysis methods The TDLAS system was designed to be a mobile measurement system capable of making multiple TDLAS measurements for a single... technique can be used in the combustion and exhaust region of a scramjet 1.2 Scope This thesis investigated the accuracy and precision of tunable diode laser absorption spectroscopy for use as a flow measurement device in a scramjet engine The TDLAS system used was verified and the ability to make average measurements over a temperature gradient was proven using a flat flame burner Mass capture measurements. .. of the Water Molecule Water is of particular interest in a scramjet engine because it is abundant in the atmosphere and it is a product of combustion During flight, incoming water from the atmosphere can be measured in the isolator; water is also produced in the engine which can then be measured downstream as an indicator of combustion efficiency The differences temperature, pressure and velocity of. .. they can be represented by integer values of quanta where a quanta is the amount of energy required to produce a transition between states The vibrational state of water is represented in the HITRAN[7] database by a three digit number such as 000 where the integer value of each digit represents the quantum state of each mode For example 201 has 2 quanta of symmetric stretch vibration and 1 quanta of antisymmetric... temperatures and pressures for validation of TDLAS, further baseline measurements were made in the isolator of a direct connect scramjet test engine The isolator measurements also allowed for measurements of velocity The TDLAS measurements were then applied to the exhaust region of scramjet to measure the products of combustion Chapter 5 contains the results of the isolator and combustor experiments 5 Chapter... produce an enormous amount of data, 2.5 × 106 (samples /s ) × 14(bits /sample ) × 8 channels × 3 cards ≈ 100(megabytes /second ), a 17 hard drive raid array is implemented for this high speed data capture 3.2 Data Processing This section details the absorption data analysis processing in order to use the data for measurements All of the data processing was done using MATLAB codes which can be found in Appendix ... measurement Signal averaging, temperature averaging and area averaging are three different ways in which measurements can be analyzed Raw Signal Averaging Signal averaging is very useful in reducing noise... program capable of automatically processing and analyzing the large amount of data produced by high-speed TDLAS data collection ii Complete mapping and understanding of the quadrant flat flame... measurement of thrust in an engine Several different analysis techniques are being used to validate the TDLAS data in measuring temperature of the flame Previous scramjet TDLAS work has mainly

Ngày đăng: 27/11/2015, 12:43

TỪ KHÓA LIÊN QUAN