Skip to main content

Holographic testing of composite propfans for a cruise missile wind tunnel model

19940019072 · NASA · 1994

Public domain · NASATechnical Reports

Overview

Each of the approximately 90 composite propfan blades constructed for a 55 percent scale cruise missile wind tunnel model were holographically tested to obtain natural frequencies and mode shapes. These data were used not only for quality assurance, but also to select sets of similar blades for…

Publisher
NASA
Document
19940019072
Year
1994
Pages
42
Chapters
4

APPENDIX A—COMPUTER BASED HOLOGRAPHIC IMAGE PROCESSING

APPENDIX A—COMPUTER BASED HOLOGRAPHIC IMAGE PROCESSING OVERVIEW Photographic holograms, the traditional method, are time consuming but are very high quality (fig. 30).

When image resolution is not a high priority, a new computer-based system can provide holograms quickly and at a lower cost. The computer-based system has the additional advantages of requiring much less storage space, improving the indexing and retrieval process, and enablin g several engineers to access the data at the same time.

BACKGROUND The traditional technique for obtaining the holograms of mode shapes is a multiple step process.

Step Time Description 5 min Paint the model with titanium dioxide paint for good reflectivity.

(1) (2) 2 min Mount the blade on the bench (fig. 3).

3 min Expose and develop the reference hologram. The reference hologram, placed in front of the (3) camera, will create an interference fringe pattern with the laser light reflected from the vibrating blade.

Steps (4) and (5) are repeated for each vibration mode of interest.

(4) 1 min Search for a vibration mode with the acoustic driver. This involves scanning the frequency until a mode is observed, through the TV camera in the film holder, by changes in the fringe pattern.

3 min With the part vibrating, expose and develop the time average hologram.

(5) To create a print of the hologram for the requesting scientist to analyze the mode shape then requires (6) 5 min Expose a photographic negative.

? days Send the photographic negatives to the photo lab for developing and making 8- by 10-in. prints.

(7) The need for photographic negatives, the delay in processing through the photo lab, the filing and indexing difficulties, and the large number of holograms to create indicated a need for a new technique.

COMPUTER-BASED IMAGE PROCESSING Since the holography system uses a video camera for the detection of the vibration modes, incorporating a PC-based frame grabber was a simple step. The video camera shown in figure 3 remains connected to the mor i- tor for mode searching, but it is also connected to the frame grabber in the PC. The frame grabber currently being used has a resolution of 480 scan lines by 512 pixels per scan line. Each pixel can be scanned as eight bits in each of the red, green, and blue channels. Since this is a black and white camera, only one channel is scanned. A scanned image is therefore 512 by 480 pixels with 256 possible gray levels available per pixel; uncompressed, the data for the image itself totals 245,760 bytes.

The photographic process has a much finer spacial resolution than the frame grabber's 512 by 480, but this level of detail is not needed here. Similarly, the 256 gray levels are more than adequate for mode shape verification.

The computer allows for additional functionality over the photographic system since each image is stamped with a descriptive name and the relevant test data before it is saved. The images are thereby much easier to track and correlate with the test log.

Once a series of images has been obtained and stored on the PC, the images can be studied on the PC, or transferred over the local ethernet network to a workstation for the added processing power and storage available there. The workstation is also the access point for the archival storage system for computer data.

IMAGE PROCESSING STEPS The processing of the images involves basically three steps.

(1) Determine the sub-range, within 0 to 255, that contains the useful data.

(2) Create the single mode images.

(3) Create a combined image of all modes for a given blade.

Custom software was developed to operate the frame grabber board, see appendix B and reference 5. This software currently has no contrast or brightness controls. Instead, a set of default settings are used that are conservative enough to prevent pixel value clipping. Due to the variability of the holographic imaging process, these default settings produce images with a fair amount of background noise and a dynamic range that is less than full scale. Besides automatic scaling, multiple frames could be averaged to create a time average hologram.

The averaging improves the pixel signal/noise ratio.

The first processing step identifies the portion of the data range that produces the subjectively best image.

This can be done iteratively for each image but a good algorithm is to select for the low end the pixel value such that 25 percent of the total pixel population lies below, and for the upper end such that 95 percent of the pixels lie below. In the PC program that calculates the histogram for an image (appendix B), this scheme is used to recommend processing limits (fig. 31). In the PC program that displays the images (appendix C), this scheme is used for the default scaling prior to display.

For each blade, ten images were created: the reference image, eight mode images, and one composite image. The sub-range expansion and single mode image creation can be done on the PC, but were usually performed on a workstation to off-load the PC. Figure 32 shows a raw image without the sub-range image expansion. Figure 33 shows the processed image enhanced with sub-range expansion.

The composite image is composed of the reference image and the eight mode images in a 3 by 3 array.

The individual images are reduced from their original 512 by 480 size to 256 by 240 prior to the assembly step.

The composite image size is then 768 by 720 pixels. Figure 34 shows a representative composite image. Once images have been created, they can be studied on the computer or, if a hardcopy is needed, they can be printed on a laser printer. This hardcopy method is much cheaper and easier than making the traditional 8- by 10-in.

photographic prints.

IMAGE FILE COMPRESSION The images were ori g inally stored on the workstation in a "run-length encoded" format and then compressed with the UNIX (tm) "compress" utility to further reduce their size. The total storage needed for the images of all blades is approximately 140 MB. The size of the images (as well as the total storage needed) is a major problem for the PC-based image processing scheme. During the holography, the images rapidly fill the hard disk on the PC and require substantial time to off-load.

An alternative storage scheme considered is GIF (Graphic Interchange Format, (c) CompuServe), which includes an internal Lempel-Zif-Welch compression scheme and can store images with up to 256 unique colors (or 256 levels of grey-scale). As noted in table VII, both schemes achieve about the same compression. For Cr rey-scaled images stored in a format that preserves all the pixel information, this is about as compressed as possible. Since the actual pixel values in the image are qualitative rather than quantitative, a compression scheme that loses some information in exchange for greater compression can be used.

The Joint Photographic Experts Group (JPEG) scheme (ref. 6) is one such lossy technique. The heart of the JPEG scheme is the use of a Discrete Cosine Transform on patches of the image. As the quality level is increased, more of the high order, high spacial frequency coefficients are included. For images with smooth spacial variations, only a few coefficients need to be saved, resulting in a large compression ratio with a corresponding increase in the loss of high spacial frequency information. In the holographic images, high JPEG compression (low Q factors) primarily introduces errors at the edges of the labels stamped on to the images.

Table VII summarizes the compression ratios achieved with the various schemes, as well as the JPEG scheme with varying loss factors. Subjectively evaluating the images as displayed on the computer reveals that the image compressed with JPEG at Q = 50 looks to the eye like the original image. Even more interesting is that the original image printed in 16 grey levels (fig. 29) looks the same as one compressed with JPEG at Q = 20 in a 16 grey level print (fig. 30).

If JPEG compression at Q = 50 is used to process all the images, the total storage needed would drop from 140 MB down to approximately 8 MB, removing the storage problems of the PC computer-based technique.

APPENDIX B-LISTING OF FRAME GRABBER FORTRAN PROGRAM

APPENDIX B-LISTING OF FRAME GRABBER FORTRAN PROGRAM

$INCLUDE:'FORINTF.H' PROGRAM DRVPIP C C SIMPLE DRIVER PROGRAM FOR THE PIP BOARD C C THIS IS A GENERIC PROGRAM TO TAKE HOLOGRAPHIC IMAGE DATA C C 910204 CHRISTOPHER J. MILLER C IMPLICIT INTEGER (A-E) IMPLICIT REAL (F) IMPLICIT INTEGER (G-Z) INTEGER*4 IHISTO C C INTEGER*2 DECODE C CHARACTER STRING*21, FNAME*13, DATSTR*9 C CHARACTER TIMSTR*9 CHARACTER IMGLBL*8, ANS*1 INTEGER I INTEGER*2 IVAL INTEGER FREQ, VOLT CHARACTER BUFFER(4096) C C interpreter commands: C inifmt26c 1 0000 C setind 255 C chan 2 C sync 1 C quadmode 4 IVAL = INIFMT(620, 1, 0, 0, 0, 0) IF (IVAL.NE .1) THEN PRINT *,'PIP board not found; return value =',I STOP ENDIF IVAL = IWINMD(0) C CALL SETWIN(0, 0, 511, 511) CALL SETIND(255) CALL SYNC(1) CALL CHAN(2) CALL DELAY(5) C C Setup: select a good gain and offset CALL AUTO CALL CLEAR(0,7) CALL SNAP(1) PRINT *,'Do you want to set the gain and offset?'

READ (5, 1 (A)') ANS IF (ANS.EQ.'Y' .OR. ANS.EQ.'y') CALL SETUP C C LOOP FOR TAKING DATA 100 CONTINUE PRINT WRITE(6,1000)

1000 FORMAT(' I ...... I UNIQUE LABEL (FILE NAME) FOR MODE IMAGES')

READ (5,'(1A8)1) IMGLBL CALL UPCASE(IMGLBL) PRINT C MODE LOOP 105 CONTINUE WRITE(6,1010) 1010 FORMAT($,' MODE (-1 TO QUIT) ') READ (5,*) MODE IF (MODE.LT.0) GOTO 150 C PRINT *,'PRESS ENTER WHEN THE IMAGE IS READY' READ (5,*) C C interpreter commands: C clear 0 7 C snap 1

Csh1 00

C moveto 50 400 C text 2 11 CM-10 F #14 779HZ 9.88V" C todisk 4096 0 sampte.fiL 5200 -1 C CALL CLEAR(0,7) CALL SNAP(1) C C GET THE FREQUENCY AND VOLTAGE WRITE(6,1020) 1020 FORMAT($,' ENTER THE FREQUENCY: ') READ (5,*) FREQ WRITE(6,1030) 1030 FORMAT($,' ENTER THE VOLTAGE ') READ (5,*) VOLT C C GENERATE THE FILE NAME C LABEL THE IMAGE WITH THE (FILE NAME) + MODE 8 EXCITATION VOLTAGE WRITE(FNAME,1040) IMGLBL,MODE 1040 FORMAT(A8,1.',I3) DO 110 I=1,8 IF (FNAME(I:I).EQ.' ') FNAME(I:I)='_' 110 CONTINUE DO 120 I=10,12 IF (FNAME(I:I).EQ.' ') FNAME(I:I)=10' 120 CONTINUE FNAME(13:13) = CHAR(0) WRITE(STRING,1050) FNAME,VOLT 1050 FORMAT(Al2,I3,'V') STRING(17:17) = CHAR(0) C C WRITE TEXT IN WHITE (255) CALL SETIND(255) CALL MOVETO(50, 410) CALL TEXT(STRING,3) C C LABEL THE IMAGE WITH THE DATE AND FREQUENCY CALL DATE(DATSTR) C CALL TIME(TIMSTR) C WRITE(STRING,1060) DATSTR,TIMSTR WRITE(STRING,1060) DATSTR, FREQ 1060 FORMAT(A8,' 1,15,1Hz') DO 125 1=1,8 IF (STRING(I:I).EQ.' ') STRING(I:I)=10' 125 CONTINUE STRING(17:17) = CHAR(0) CALL MOVETO(50, 440) CALL TEXT(STRING,3) C C SAVE THE IMAGE IN THE FILE IVAL = IWINTO(4096, FNAME, BUFFER) IF (IVAL.EQ.0) THEN PRINT *,'IWINTO ERROR CODE 0' PRINT * ' COULD NOT OPEN FILE' PRINT *,' FILE NAME IS:',FNAME STOP END IF IF (IVAL.EQ. -1) THEN PRINT *,'IWINTO ERROR CODE -1' PRINT * TRANSFER TERMINATED PREMATURELY' PRINT * ' (PROBABLY A FULL DISK)' PRINT *^' FILE NAME IS:',FNAME PRINT *^ PRINT *,' CHECK THE DISK AND TRY AGAIN' STOP END IF GOTO 105 C END OF MODE LOOP 150 CONTINUE PRINT * WRITE(6,1070) 1070 FORMAT($,' ANOTHER TEST OBJECT? (Y/N) ') READ (5,'(A)') ROW IF (ROW.EQ.'Y' .OR. ROW.EQ.'y') GOTO 100 C CALL PEXIT STOP END SUBROUTINE DELAY(I) C C A DELAY IN TERMS OF "I" VERTICAL RETRACES C DO 100 N = 1, I CALL VWAIT() 100 CONTINUE RETURN END SUBROUTINE SETUP C C SET UP THE GAINS, ETC. TO GET A GOOD IMAGE TO START WITH C CHARACTER ANS*l INTEGER OSV, GV C PRINT *,'The optimal gain and offset for A/D conversion have' PRINT *,'been set. This routine allows you to change them to' PRINT *,'get a better image for the actual data. Note that if' PRINT *,'the image is clipped here, it cannot be fixed with' PRINT *,'post processing.'

PRINT * PRINT *,'Adjust offset first, then gain in a separate pass.'

PRINT * PRINT *,'PRESS ENTER WHEN SOME IMAGE IS READY' READ (5,*) CALL CLEAR(0,7) CALL SNAP(1) 100 CONTINUE PRINT *,'ADJUST: (Offset, Gain, Exit)' READ (5, 1 (A)') ANS IF (ANS.EQ.'O' .OR. ANS.EQ.'o') THEN PRINT *,'Enter OFFSET: 0 (darker) - 255 (lighter)' READ (5,*) OSV OSV = AMINO(255,AMAXO(O,OSV)) CALL OFFSET(OSV) CALL CLEAR(0,7) CALL SNAP(1) ENDIF IF (ANS.EQ.'G' .OR. ANS.EQ.'g') THEN PRINT *,'Enter GAIN: 0 (darker) - 255 (Lighter)' READ (5,*) GV GV = AMINO(255,AMAXO(O,GV)) CALL GAIN(GV) CALL CLEAR(0,7) CALL SNAP(1) ENDIF IF (ANS.NE.'E' .AND. ANS.NE .'e') GOTO 100 RETURN END SUBROUTINE DATE(S) CHARACTER S * 8 CALL GETDAT(IYR, IMON, IDAY) WRITE(5,1OOO) IMON,IDAY,IYR-1900 1000 FORMAT(I2,'/',I2,'/',I2) RETURN END SUBROUTINE TIME(S) CHARACTER S * 8 CALL GETTIM(IHR, IMIN, ISEC, I1O0TH) WRITE(S,1OOO) IHR,IMIN,ISEC 1000 FORMAT(I2,1:',I2,1:',I2) RETURN END SUBROUTINE UPCASE(S) CHARACTER S * 8 INTEGER I DO 100 I=1,8 IF( ICHAR(S(I:I)).GT.ICHAR('a') .AND.

ICHAR(S(I:I)).LT.ICHAR('z') ) THEN > S(I:I)=CHAR(ICHAR(S(I:I))-ICHAR('a')+ICHAR('A')) END1F CONTINUE RETURN END

APPENDIX C-LISTING OF PC HISTOGRAM PASCAL PROGRAM

APPENDIX C-LISTING OF PC HISTOGRAM PASCAL PROGRAM

(SR-,S-)

program piphist; C Calculate and display a histogram for an image from the PIP board.

Chris Miller 901207 PIP image is 512x480, and upside down.

v910701 cjm Now uses BLockRead to speed up input.

v910812 cjm Tried various color schemes uses cjm, Crt, Dos, Drivers, CGraph) HPGL; const version = 19108121; FracLow = 0.3; FracHigh = 0.95; var grDriver integer; grMode integer; errCode integer; iFi[eName string; iFile file; hilt array[0..2551 of word; integel array[0..2551 of real; maxpixel, minpixeL word; ImgRows array[l..20481 of byte; C four rows a a time ) result word; c char; : integer; i, j ilow, ihigh integer; xbase, ybase integer; r real; s string; col byte; TextH integer; procedure Abort(Msg : string); begin Writeln(Msg, ': ', GraphErrorMsg(GraphResuLt)); Halt(1); end; begin if (ParamCount — 1) or (Paramstr(1) = '?') then begin writeln('Usage: piphist image.fil'); Halt; end; iFi[eName := ParamStr(1); if not FiLeExists(iFiLeName) then begin writeLn('File 1 ,UpStr0 FileName),' not found'); Halt; end; Assign(iFile,iFileName); Reset(iFile, 1); ( Read in the data, and tabulate for the histogram ) for i:=0 to 255 do hist[i]:=0; write('Processing line '); col := WhereX; write(' 0 of 480.'); for is=1 to 480 div 4 do begin if (i mod 10) = 0 then begin GotoXY(coL,WhereY); write(4*i:3); end; BlockRead(ifile,ImgRows,Sizeof(lmgRows),result); for j:=1 to 512 * 4 do Inc(hist[ImgRows[j]]); end; ( find the maximum & minimum pixel bin values ) maxpixel := hist[O]; minpixel hist[O]; for i:= 1 to 255 do begin if hist[i] > maxpixel then maxpixel hist[i]; if hist[i] < minpixel then minpixel hist[i); end; ( create the integral ) integrl[0] := hist[O] / maxpixel; for is=1 to 255 do integrL[i] := integrl[i-1] + hist[i]/maxpixel; C draw the histogram ) grDriver := Detect; InitGraph(grDriver,grMode,'\tp'); SetCOLor(White); s := 'PIPHIST: Histogram plotting for PIP board output CJM '+version; C base location for the rectangle ) xbase := 50; TextH TextHeight('A'); ybase := 2; OutTextXY(xbase,ybase, s); ybase := ybase +2*TextH; SetColor(DarkGray); Rectangle(xbase-3,ybase-2, xbase+2*255+3,ybase+200+1); SetColor(red); SetLineStyle(DottedLn,O,NormWidth); for i := 0 to 255 do ( draw vertical grid lines every 10 counts ) if (i mod 10) = 0 then Line(xbase+2*i,ybase, xbase+2*i,ybase+200); ybase := ybase+200; SetCOLor(White); SetLineStyle(SOLidLn,O,NormWidth); for i := 0 to 255 do begin r hist[il; r 200*r/maxpixel; if (i mod 20)=0 then SetColor(red) else SetColor(white); Line(xbase+2*i,ybase-trunc(r), xbase+2*i,ybase); end; MoveTo(50,220); SetColor(blue); for i := 1 to 255 do begin LineTo( xbase+2*i, ybase -trunc(200*integrL[i]/integrt[255]) ); end; ( tag ends of scale ) SetCOLor(White); SetLineStyle(SolidLn,O,NormWidth); ilow := 0; Line(xbase+2*ilow,ybase, xbase+2*iLow,ybase +TextH div 2); s '0'• OutTextXY(xbase+2*ilow-Textuidth(s) div 2, ybase+TextH, s); ilow := 255; Line(xbase+2*ilow,ybase, xbase+2*ilow,ybase +TextH div 2); s '255'; OutTextXY(xbase+2*ilow-TextWidth(s) div 2, ybase+TextH, s); ( tag recommended processing lines ) ilow := 0; while (integrL[ilow] < FracLow*integrl[2551) do Inc(ilow); SetColor(green); SetLineStyle(So[idLn,O,ThickWidth); r := hist[ilowl; r := 200*r/maxpixel; Line(xbase+2*ilow,ybase-trunc(r), xbase+2*ilow,ybase+TextH); s := IntToStr(ilow); OutTextXY(xbase+2*ilow-TextWidth(s) div 2, ybase+2*TextH, s); ihigh := 254; while (integrl[ihighl > FracHigh*integrl[2551) do Dec(ihigh); SetColor(green); r hist[ihighl; r := 200*r/maxpixel; Line(xbase+2*ihigh,ybase-trunc(r), xbase+2*ihigh,ybase+TextH); s := IntToStr(ihigh); OutTextXY(xbase+2*ihigh-TextWidth(s) div 2, ybase+2*TextH, s); ( labeling ) SetCOlor(White); ybase := ybase +4*TextH; s := 'Pixel population by value for the file: ' + UpStr(iFileName); OutTextXY(xbase,ybase, s); ybase := ybase +2*TextH; s := 'Minimum pixel (bin) count = ' + IntToStr(minpixel); OutTextXY(xbase,ybase, s); ybase := ybase +2*TextH; s := 'Maximum pixel (bin) count = + IntToStr(maxpixel); OutTextXY(xbase,ybase, s); ybase := ybase +2*TextH; s := 'Suggested processing range (for image expansion) is: + IntTOStrO Low) + ' - ' + IntToStr(ihigh); OutTextXY(xbase,ybase, s); while KeyPressed do c:=ReadKey; repeat until KeyPressed; CloseGraph; End.

APPENDIX D-LISTING OF PC IMAGE DISPLAY PASCAL PROGRAM

APPENDIX D-LISTING OF PC IMAGE DISPLAY PASCAL PROGRAM ($R-,S-) ($define ega) program pipdisp; C process and display an image from the pip board Christopher J. Mitter 901209 PIP image is 512x480, and upside down.

v910701 cjm Now uses BLockRead to speed up the input.

v910725 cjm In InitGraph, tp path is now 'c:\tp '; OutputHeLp procedure.

v910812 cjm Check for <Esc> to quit.

uses cjm, Crt, Dos, Drivers, Graph; type ColorMapType = array[0..151 of word; const version = 19108121; RowSize = 512; ColorSeq ColorMapType BLack,DarkGray,Blue,Red,Brown,Magenta,Green,Cyan, LightGray,LightBLue,LightRed,LightMagenta,LightGreen,YeLlow, LightCyan, White); BWSeq ColorMapType 0,1,4,5,8,6,2,3,9,12,7,10,11,13,14,15); { _( SLack,DarkGray,LightGray,White,LightGray,DarkGray,BLack, BLack,DarkGray,LightGray,White,LightGray,DarkGray,BLack, DarkGray, White);) { _( BLack,BLack,BLack,BLack, DarkGray,DarkGray,DarkGray,DarkGray, LightGray,LightGray,LightGray,LightGray, White,White,White,White);) { _( BLack,White,Black,White,BLack,White,BLack,White, BLack,White,Black,White,BLack,White,BLack,White);) var grDriver integer; grMode integer; errCode integer; iFileName : string; iFile file; ImgRows array[1..20481 of byte; ( four rows at a time ) result : word; hist array[0..2551 of word; integeL array[0..2551 of real; pL, ph byte; ( low and high pixel value for img expansion ) ph_pL byte; vskip byte; imsg integer; ColorMap ColorMapType; UseColor (bw,color,user); MapFile text; MapName : PathStr; char; c i, j, k integer; iptr integer; row integer; xoffset integer; r real; s string; w word; col integer; procedure Abort(Msg : string); begin Writeln(Msg, ': ', GraphErrorMSg(GraphResult)); HaLt(1); end; procedure CalcExpansion; C Calculate the image expansion pixel values from the 30%/95% rule } const FracLow = 0.3; FracHigh = 0.95; var i : integer; : maxpixel word; begin writeln('Calculating the auto-scaling'); Reset(iFile, 1); ( Read in the data, and tabulate for the histogram ) for i:=0 to 255 do hist[i]:=0; write('Processing line '); col := 4lhereX; write(' 0 of 480.1); for is=1 to 480 div 4 do begin if (i mod 10) = 0 then begin GOtoXY(co[,1lhereY); write(4*i:3); end; BlockRead(iFiLe,[mgRows,Size0f(ImgRows),result); for j: = 1 to 512 * 4 do Inc(hist[ImgRows[j]]); end; maxpixel := hist[0]; for i := 1 to 255 do if (histli) > maxpixel) then maxpixel := hist[i]; ) £ create the integral integrl[01 := hist[0] / maxpixel; for i := 1 to 255 do integrL[il := integrl[i-1] + hist[i]/maxpixel; £ calc pL & ph processing values ) P L :=0; while (integrl[pl] < FracLow*integrl12551) do Inc(pl); ph := 254; while (integrl[phl > FracHigh*integrl[2551) do Dec(ph); writeln; writeln('Low value =',p1:4); writeln('High value = ',ph:4); Pause("); end; Procedure OutputHelp; Begin writeln('Usage: pipdisp image.fil [-P:nnn] [-s:nnn] [-p:nnn] [-b] [-v]'); writeln('Nhere the low (-p) and high (-P) pixel values are used to expand'); writeln('a subrange. If not specified, the values for -p & -P are calculated'); writeln('from the integral of pixel bin values: the low end is at 30% of the'); writeln('total, the high end is at 90% of the total.'); writeln('[-s:nnn] The skip option is the number of lines at the top of the image'); writeln(' to skip (defaults to ',vskip,').'); writeln('[-b] The black and white color map is used instead of the color one.'); writeln('[-m:filename] user defined colormap'); writeln('[-v] Force VGA mode graphics.'); End; begin C$ifdef ega) C Register the EGAVGA driver ) if RegisterBGIdriver(@EGAVGADriverProc) < 0 then Abort('EGA/VGA'); C$endif) pt := 255; ph := 0; vskip := 80; UseColor := color; grDriver := Detect; if ParamCount = 0 then begin OutputHelp; Halt; end; for i:=1 to ParamCount do begin if ParamStr(i) = '?' then begin OutputHelp; Halt; end; s := ParamStr(i); if (s[1] = '-') then case s[21 of 'p' Val(Copy(s,4,Length(s)-3),pl,imsg); 'P' Val(Copy(s,4,Length(s)-3),ph,imsg); 's' Val(Copy(s,4,Length(s)-3),vskip,imsg); 'b' UseColor := bw; 'm' begin UseColor User; MapName := Copy(s,4,Length(s)); end; 'v' grDriver := VGA; end; end; case UseColor of color : ColorMap := ColorSeq; bw : ColorMap BWSeq; user : begin Assign(MapFiLe,MapName); Reset(MapFile); for i := 0 to 15 do read(MapFile, ColorMap[il); end; end; iFileName := ParamStr(1); if not FiLeEXiSts(iFiLeName) then begin writeln('File ',UpStr(iFiteName),' not found'); Hatt; end; Assign(iFile,iFiLeName); Reset(iFiLe, 1); if (PL = 255) and (ph = 0) then CaLcExpansion; if (pt > ph) then begin i = ph; ph pL; ph i; end; ph_pl ph-pL; C Display the image while processing ) grDriver := Detect; InitGraph(grDriver,grMode,'c:\tp '); C if VGA, set gray scale Levels } if (grDriver=VGA) then for i := 0 to MaxColors do begin j := Trunc(255.0*MaxColors/i); SetRGBPaLette(i, j,j,j); end; SetCOLor(Nhite); xoffset := (GetMaxX - (RowSize-1) ) div 2; (* ImageSize for a line of 512 pixels is: *> <* for herc: 70 bytes = 64 + 6 *) <* for ega: 262 bytes = 256 + 6 *) Reset(iFite, 1); ( skip some of the lines at the top ?

if (vskip > 8) then for j := 1 to (vskip div 4) do BLockRead(iFile,ImgRows,SizeOf(ImgRows),result); BLockRead(iFile,ImgRows,SizeOf(lmgRows),result); J := 0; while (result = 2048) and (j < GetMaxY) do begin iptr := 0; for row := 0 to 3 do begin for i-=0 to RowSize-1 do begin Inc(iptr); k := integer(ImgRows[iptr)) -pt; if (k < 0) then w := 0 else if (k > ph-pL) then w := 255 else w ((k shl 8) -1) div ph_pL; ( Now scale 0..255 to 0..15 for color selection ?

w := w shr 4; PutPixel(xoffset+i,j,ColorMap[wl); end; Inc(j); end; BlockRead(iFiLe,ImgRows,SizeOf(lmgRows),resuLt); end; ( Add colored pixel map key SetColor(white); Rectangle(0,301,11,44); for j := 0 to 255 do begin k := j -pt; if (k < 0) then w := 0 (256*k-1) div ph_pl; else w if (w > 255) then w := 255; w:=w shr 4; SetColor(ColorMap[wI); Line(1,300-j, 10,300-j); if (CoLorMap[w] = black) then SetCotor(white); if (j mod 16)=0 then OutTextXY(20,300-j-2,IntToStr(j)); end; while KeyPressed do c:=ReadKey; repeat until KeyPressed; CloseGraph; End.

REFERENCES

1. Ernst, M.A.: Structural Analysis of Low RPM Composite Propfan Blades for the LRCSW Wind Tunnel Model. NASA TM-105266.

2. Carek, D.A.: Structural Analysis of High RPM Composite Propfan Blades for a Cruise Missile Wind Tunnel Model. NASA TM-105267.

3. Thorp, S.A.; and Downey, K.M.: Computer Aided Design and Manufacturing of Composite Propfan Blades for a Cruise Missile Wind Tunnel Model. NASA TM-105269.

4. Fite, E.B: Fabrication of Composite Propfan Blades for a Cruise Missile Wind Tunnel Model. NASA TM-105270.

5. PIP Video Digitizer Board Hardware Manual #289-MH-00 Rev 5, October 11, 1989. Matrox Electronic Systems Limited, 1055 St. Regis Blvd., Dorval, Quebec, Canada H9P2T4.

6. Wallace, G.K.: The JPEG Still Picture Compression Standard. Communications of the ACM, April 1991, vol. 34, no. 4, pp. 38-44.

TABLE II.—NATURAL FREQUENCIES TABLE I.—NATURAL FREQUENCIES FOR CM1D AFT BLADES FOR CMID FORWARD BLADES Natural frequencies, Hz Natural frequencies. Hz IT 2T SN IB 2B 2B IT 2T SN 1B 1 914 1824 2340 1881 2405 2883 1 904 2 893 1771 2308 2694 2132 2770 3 823 1824 3 823 1762 2125 2626 2092 2742 4 825 1778 6 824 1697 2126 2564 2133 2724 5 829 1797 7 833 1731 2131 1754 2120 2674 6 823 824 1692 2162 2501 2682 8 7 823 1771 2119 1677 2077 2519 2107 2673 9 819 8 831 1798 825 1701 2138 2534 2648 10 829 1780 2119 828 1713 2190 2566 2160 2693 11 839 1798 1737 2215 2568 2163 2723 12 840 843 1815 819 1700 2119 2540 2189 2735 13 849 1839 1716 2189 2562 2667 14 829 842 1815 2149 822 1716 2143 2600 2137 2691 15 16 838 1807 1736 2203 2589 2727 16 834 843 1825 2157 822 1698 2157 2514 2176 2751 17 18 849 1834 1676 2112 2533 2119 2696 18 817 19 828 1797 829 1708 2157 2543 2112 2674 19 20 831 1788 20 817 1669 2107 2506 1825 2144 2733 21 841 21 816 1709 2150 2556 1797 2144 2702 22 835 2142 2553 22 829 1696 831 1789 2132 2682 2157 2555 2137 2702 23 827 1702 831 1793 1701 2175 2542 2706 24 821 838 1807 2163 825 1712 2182 2563 1802 2138 2704

T 834

f 825 1707 2150 2752

8 22 24 22 34 30 a 6 Pred' 912 2006 2292 892 1928 2300 2981 Pred i 2044 2631 222 794 1711 790 1568 2011 2391 1611 1943 1 2576 82 252 717 747 1522 1923 2405 [ Predicted frequencies.

Predicted frequencies.

2Remeasured after tunnel test.

2Remeasured after tunnel test.

TABLE III.—NATURAL FREQUENCIES TABLE IV.—NATURAL FREQUENCIES FOR 0M2D FORWARD BLADES FOR CM2D AFT BLADES Natural frequencies. Hz Natural frequencies. Hz SN 1B IT 2B 2T SN IB 2B 2T IT 5 966 1689 2428 3234 3 968 1777 2348 2982 6 947 1663 2398 3211 5 958 1762 2330 2979 7 947 1697 2412 3220 6 958 1762 2332 3000 8 1684 2409 3209 950 7 956 1764 2340 2970 1697 2431 3242 9 968 8 953 1768 2319 2959 10 1673 2407 3232 953 9 958 1771 2318 2972 2416 3226 11 956 1677 10 961 1771 2319 2963 2406 3223 12 958 1668 11 948 1766 2297 2938 2419 3240 13 958 1669 12 958 1777 2261 2965 2434 3245 14 960 1689 13 956 1771 2329 2971 15 951 1669 2398 14' 968 1798 2464 3029 2349 3194 16 938 1669 15 951 1765 2259 2941 17 1683 2409 3219 955 16 952 1755 2313 2969 1677 2382 3199 18 943 17 953 1754 2327 2964 1670 2398 3193 19 955 18 963 1762 2364 2953 1695 2429 3240 20 963 19 951 1763 2238 2940 21 960 1680 2420 20 954 1769 2337 2990 974 1707 2452 3246 22 22 963 1771 2359 2976 946 1662 2388 3182 23 232 960 1767 2345 2971 940 1661 2384 3190 24 24 937 1725 2293 2918 961 1689 2429 3232 25 25 961 1754 2337 2947 26 954 1666 2399 3206 26 953 1717 2301 2899 30' 938 1697 2405 3222 27 944 1746 2302 2949 28 943 1721 2292 2904

T 1680 2409 3220

954 29 939 1717 2286 2877 30 946 1746 2311 2918 C; 10 13 22 19 954 2320 2955 f 1758 Pred2 980 1971 2656 3615 a 8 20 42 33 'Blade used in fatigue testing.

2Predicted frequencies.

Pred3 962 2038 2592 3316 'Image marked as #114.

2Image marked as #214.

31'redicted frequencies.

TABLE V.—CMID BLADE SETS Forward sets .Aft sets #1 #2 #3 #1 #2 #3 4 3 7 6 3 11 8 20 12 5 6 12 9 22 15 7 10 16 8 14 10 17 9 15 13 18 19 16 21 20 19 23 21 22 23 25 24 25 TABLE VI.--CM2D BLADE SETS Aft sets Forward sets #1 #2 #3 #2 #3 #1 6 7 5 24 8 5 15 8 9 26 11 6 16 10 14 27 16 7 18 11 20 28 17 13 19 12 21 29 20 14 23 13 22 30 25 22 24 23 17 25 26 9 TABLE VII.—REPRESENTATIVE COMPRESSION RESULTS Ratio Scheme Size 247692 1.0:1 Original image 1.4:1 Compressed 175636 GIF 174292 1.4:1 2.4:1 JPEG. Q = 100 102461 JPEG, Q = 75 14753 16.8:1 26.2:1 JPEG, Q = 50 9436 41.3:1 JPEG, Q =25 5994 JPEG, Q = 20 5311 46.6:1 JPEG, Q = 10 3697 67.0:1 Figure 1 — CM1 D: Low Tip Speed Propfan Fore and Aft Designs Figure 2 — CM2D: High Tip Speed Propfan Fore and Aft Designs c

L

C) W O O

L a)

..Q

L

U

C C^ CO O

U

a)

E

cz

L

L

U- a)

.Q

cz

m

U) a)

E

c^ a) Q

m cz

U

a) a) c^ c E a)

J

.O a) (t3

m

C) O Q-

E

O

U

U

O

o

U ^- Q Q C) Cn Q m O) C so _O a) O

E c

^ Q)

O

.0

U

I

E

E Q

a

cY) CZ O i co a) C;) m O cn cz

O E

J ^ = LL LL 860 1870 Mean (834 Hz) Mean (1801 Hz) 16 band (8 Hz) — — — 1 a band (21 Hz) O (1 B) Initial (213) Initial

a

850 O O 1840

a

N N - L - - - - - - - A - A - -- — — — — -O— —(TQ- — O — —

a a

M

m 840 ? 1810 a a O

O O g

1800 a p p a a O

a

a

1790 p O 00 830 O O 1780-16L

a

-- — — — — — — — — — — — — — O O CO

a

820 1750 0 5 10 15 20 25 0 5 10 15 20 25 Blade Serial Number Blade Serial Number

Figure 4 — CM1 DF first bending mode Figure 5 — CM1DF second bending mode

Mean (2138 Hz) Mean (2705 Hz) — — — 1 a band (24 Hz) — — — 1 u band (31 Hz) q (1T) Initial (2T) Initial n (1T) Fatigued O • (2T) Fatigued O q 2740 7.O N O O 2170 —____^__—____p = 2720

2 q

2150 q O m O

q 0 0

26so ^ 2130 _ _____ O LL q -----0—-- q O q 2640 2090 ♦ n 2030 2560 10 15 20 25 0 5 10 15 20 25 0 5 Blade Serial Number Blade Serial Number

Figure 6 — CM1DF first torsion mode Figure 7 — CM1DF second torsion mode

Mean (1707 Hz) Mean (825 Hz) 1770 - - - 1 a band (22 Hz) 16 band (6 Hz) O (26) Initial (1 B) Initial p • (1 B) Fatigued 0 1750 1740 p p

O 0

= 830

O O O 00

= 1730 - - - - - - - - - - - - - - - 0 0 1720 pp m SD 820

p p

1710 A p Li p A 1700 p p A 1680 p 790 ^- 0 p 25 0 5 10 15 20 25 0 5 10 15 20 Blade Serial Number Blade Serial Number

Figure

Figure 8 — CM1 DA first bending mode 9 — CM1 DA second bending mode

Mean (2150 Hz) Mean (2552 Hz) - - - - - - 16 band (30 Hz) 16 band (34 Hz) 2640 O 2260 q (2T) Initial (1T) Initial O ♦ (2T) Fatigued (1T) Fatigued n 2220 q O q OO O = 2560 = 2180 q ^ 4..^ O O v 0 q 2540 2160 q q q O O a^ 2520 2140 El q °' q O ► LL i 2500 2120 ------- q -- q n 2380 2000 5 10 15 20 25 0 5 10 15 20 25 Blade Serial Number Blade Serial Number

10 — CM1 DA first torsion mode Figure 11 - CM1 DA second torsion mode

Figure

Mean (954 Hz) Mean (2409 Hz) — — — 1a band (10 Hz) 1 a band (22 Hz) — — — O (1B) Frequency (213) Frequency 975 O p 2450 O —^ —p- — — — -A — —p — — O = 965 — — — — — — — p p p O p O O 960 2410 p p CD 2400 p p p p 955 O 00 LL LL O — — — — — — — — — — -- --- O O p ^ CO O — — — — — — — — — — — — — — —

O

940 O 2350 p O O 935 2340 5 10 15 20 25 30 0 5 20 25 0 10 15 30 Blade Serial Number Blade Serial Number

Figure 12 — CM2DF first bending mode Figure 13 — CM2DF second bending mode

1720 3270 Mean (1680 Hz) Mean (3220 Hz) — — — 1a band (13 Hz) 1a band (19 Hz) q (1T) Frequency O (2T) Frequency

O O

3240 ------4----- O

N q q q

= 1695 q = O O O

— — — — — — — — — — — — — — — c O

1690 q q q

O O 1685 q Li O O 3210 p O - 1670 q O O CP m O O 1660 3180 0 25 0 5 10 15 20 25 30 5 10 15 20 30 Blade Serial Number Blade Serial Number Figure 15 — CM2DF second torsion mode

Figure 14 — CM2DF first torsion mode

Mean (2320 Hz)

Mean (954 Hz)

— — —

— — — 16 band (42 Hz)

16 band (8 Hz)

O ° (2B) Frequency

(1 B) Frequency

2470 p

O

O 2450

965 2430

= O 00 CO O O

CD a^

O O

— -- — — — — — -A 0 ---

ti O O O p LL

o° O

p p O 2310 ° — — — — — — — — — — — — — — b ^ p

945 0

O — — — — — — — — — — — — — — — p 940 0 p O A l 935 2230 0 10 15 20 25 30 0 5 10 15 20 25 30 Blade Serial Number

Blade Serial Number

Figure 16 — CM2DA first bending mode Figure 17 — CM2DA second bending mode

Mean (1758 Hz) Mean (2955 Hz)

16 band (20 Hz) 16 band (33 Hz)

1810 — — —

— — —

q (1T) Frequency (2T) Frequency

1800 q 3030 O O

= 2990 — — — — — — — — — Q— — — —

CID

1770 q q q o

O O O 0 0

j 2970 00

m q CDO lP c a^ LL q LL 2950 O O O O O q q

1740 --------------- — — — — — — — — — — — — — — —

O O O q O 1710 2870 10 20 30 0 5 10 15 20 25 30 0 5 15 25

Blade Serial Number Blade Serial Number

Figure 19 — CM2DA second torsion mode

Figure 18 — CM2DA first torsion mode

O 8 8 O 1B 1B 6 q 1T 6 q 1T e 2B ° 2B 4 2T 4 2T

2 8

^oo

CP O (V

0 — A^

vi" ^o^

Ow

0 4^ R

Cn -2 ° q O ° ` n -2 CO -4 A -4 -6 -6 -8 Solid symbols denote A fatigued blade data Solid symbols denote -10 10 fatigued blade data -12 -12 -14 -14 -16 -16 0 5 10 15 20 25 0 5 10 15 20 25 Blade Serial Number Blade Serial Number

Figure 20 — CM1 DF Frequency Errors Figure 21 — CM1 DA Frequency Errors

O O 1B 1B 6 q 6 q 1T 1T A 2B ° 2B e O 2T 4 O 2T

2 ^ q 2 0 O

o

q

® ^g

g

O Cn -2

e

Cz -4 M -4 LL LL -6 -6 -8 -8 -10 -10 -12 -12 -14 -14 -16 -16 15 20 25 30 0 5 10 15 20 25 30 0 5 10 Blade Serial Number Blade Serial Number

Figure 23 — CM2DA Frequency Errors

Figure 22 — CM2DF Frequency Errors

Figure 24 — CMlDF022 Four Hologram (1B,2B,1T,2T) Composite Image

Figure 25 — CM1 DA025 Four Hologram (113,213,1T,2T) Composite Image

Figure 26 — CM2DF010 Four Hologram (1B,1T,2B,2T) Composite Image

Figure 27 - CM21DA008 Four Hologram (1B,1T,2B,2T) Composite Image

Hologram Composite Image

Figure 29 — Fatigued CMl DA025 Four Hologram Composite Image

Figure 30 — Representative Photographic Hologram

cJM 910701 PIPHIST: Histo g ram plotting for PIP board out put 63 117 Pixel value histogram for the file: CM1DA001.2 Minimum pixel (bin) count = O Maximum pixel (bin) count = 5641 Suggested processing limits (for image ex p ansion) are: 63 - 117

IPDISP

O

Figure 34 — Composite: static image and holograms of first 8 modes

Figure 35 — Single mode hologram (uncompressed) printed in 16 gray levels

Figure 36 — Single mode hologram, JPEG compressed with Q=20, printed in 16 gray levels MB No. 070d OForm

REPORT DOCUMENTATION PAGE

OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources.

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports. 1215 Jefferson Davis Highway, Suite 1204. Arlington. VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503.

1. AGENCY USE ONLY 2. REPORT DATE (Leave blank) 3. REPORT TYPE AND DATES COVERED January 1994 Technical Memorandum 4. TITLE AND SUBTITLE 5. FUNDING NUMBERS Holographic Testing of Composite Propfans for a Cruise Missle Wind Tunnel Model WU-535-03-10 6. AUTHOR(S) Christopher J. Miller 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) B. PERFORMING ORGANIZATION REPORT NUMBER National Aeronautics and Space Administration Lewis Research Center E-8203 Cleveland, Ohio 44135-3191 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/MONITORING AGENCY REPORT NUMBER National Aeronautics and Space Administration NASATM-105271 Washington, D.C. 20546-0001 11. SUPPLEMENTARY NOTES Responsible person, Christopher J. Miller, (216) 433-6179.

12a. DISTRIBUTION/AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE Unclassified - Unlimited Subject Category 07 13. ABSTRACT (Maximum 200 words) Each of the approximately 90 composite propfan blades constructed for a 55 percent scale cruise missile wind tunnel model were holographically tested to obtain natural frequencies and mode shapes. These data were used not only for quality assurance, but also to select sets of similar blades for each blade row. Presented along with the natural fre- quency data is a description of a computer-based image processing system developed to supplement the photographic- based system for holographic image analysis and storage. The new system is quicker and cheaper, the holograms are indexed better, and several engineers can access the data simultaneously. The only negative effect is a slight reduction in image resolution, which does not influence the end use.

15. NUMBER OF PAGES 14. SUBJECT TERMS Holography; Image processing; File compression 16. PRICE CODE AM 17. SECURITY CLASSIFICATION 18. SECURITY CLASSIFICATION 19. SECURITY CLASSIFICATION 20. LIMITATION OF ABSTRACT OF REPORT OF THIS PAGE OF ABSTRACT Unclassified Unclassified Unclassified Standard Form 298 (Rev. 2-89) NSN 7540-01-280-5500 Prescribed by ANSI Std. Z39-18 298-102

Source & rights

Source: ntrs.nasa.gov. Public-domain U.S. Government work (17 USC §105) — freely reproducible.

Permanent URL — we don’t break links.

Report a problem or request removal

Document details

Doc number
19940019072
Publisher
NASA
Year
1994
Pages
42
File size
18 MB
Chapters
4