(FILECREATED "29-Jul-84 16:50:07" {ERIS}<SPEECH>WORK>KAISER.;2 9460   

      changes to:  (VARS KAISER6 KAISER8)
		   (FNS KAISERWINDOWINIT)

      previous date: " 3-Jul-84 16:06:12" {ERIS}<SPEECH>SPECTRUM>KAISER.;4)


(* Copyright (c)  by NIL. All rights reserved.)

(PRETTYCOMPRINT KAISERCOMS)

(RPAQQ KAISERCOMS ((FNS BESSEL0 KAISER KAISERWINDOWINIT)
		   (VARS KAISER6 KAISER8)))
(DEFINEQ

(BESSEL0
  [LAMBDA (X)                                                (* hdj "25-Jun-84 15:03")

          (* * computes the modified 0th-order Bessel for X between 0 and 20; due to Kaiser, as found in Rabiner and Gold p.
	  101)


    (for I from 1 to 25
       bind (E ← 1.0)
	    (DE ← 1.0)
       do (SETQ E (FPLUS E (EXPT [SETQ DE (FTIMES DE .5 (FQUOTIENT X (FLOAT I]
				 2)))
       finally (RETURN E])

(KAISER
  [LAMBDA (I N BETA)                                         (* hdj "25-Jun-84 15:12")

          (* * compute element I of Kaiser window of length N with beta, where I ranges from +/- (n-1) /2)


    (OR BETA (SETQ BETA 7.0))
    (FQUOTIENT [BESSEL0 (FTIMES BETA (SQRT (FDIFFERENCE 1.0 (EXPT (FQUOTIENT (FTIMES 2.0 I)
									     (SUB1 N))
								  2]
	       (BESSEL0 BETA])

(KAISERWINDOWINIT
  [LAMBDA (PASSES)                                           (* hdj "29-Jul-84 14:57")

          (* * we needn%'t shuffle elt 0)


    (PROG ((SHUFFLE (PERMINIT PASSES))
	   (LENGTH (EXPT 2 PASSES))
	   (KAISERWINDOW (ARRAY 512 'FLOATP 1.0 0)))
          (SETA KAISERWINDOW 0 0.0)
          (SETA KAISERWINDOW 1 0.0)
          [for I from 1 to (SUB1 LENGTH) do (SETA KAISERWINDOW (ITIMES 2 (ELT SHUFFLE I))
						  (SETA KAISERWINDOW (ADD1 (ITIMES 2
										   (ELT SHUFFLE I)))
							(KAISER (IDIFFERENCE I (HALF LENGTH))
								(SUB1 LENGTH]
          (RETURN KAISERWINDOW])
)

(RPAQ KAISER6 (READARRAY 512 (QUOTE FLOATP) 0))
(0.0 0.0 1.0 1.0 .3971887 .3971887 .3971887 .3971887 .09755354 .09755354 .8032192 .8032192 .8032192 
.8032192 .09755354 .09755354 .02904772 .02904772 .9472994 .9472994 .6045169 .6045169 .2208469 .2208469
 .2208469 .2208469 .6045169 .6045169 .9472994 .9472994 .02904772 .02904772 .01152145 .01152145 
.9865948 .9865948 .499139 .499139 .303277 .303277 .1520135 .1520135 .7078477 .7078477 .8847868 
.8847868 .0570337 .0570337 .0570337 .0570337 .8847868 .8847868 .7078477 .7078477 .1520135 .1520135 
.303277 .303277 .499139 .499139 .9865948 .9865948 .01152145 .01152145 .005931413 .005931413 .9966342 
.9966342 .4474229 .4474229 .3489826 .3489826 .1229879 .1229879 .7569015 .7569015 .8460766 .8460766 
.07561949 .07561949 .04159182 .04159182 .9187158 .9187158 .6568029 .6568029 .1846516 .1846516 .2604624
 .2604624 .5517256 .5517256 .9700548 .9700548 .01912378 .01912378 .01912378 .01912378 .9700548 
.9700548 .5517256 .5517256 .2604624 .2604624 .1846516 .1846516 .6568029 .6568029 .9187158 .9187158 
.04159182 .04159182 .07561949 .07561949 .8460766 .8460766 .7569015 .7569015 .1229879 .1229879 .3489826
 .3489826 .4474229 .4474229 .9966342 .9966342 .005931413 .005931413 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
1.0 NIL
)

(RPAQ KAISER8 (READARRAY 512 (QUOTE FLOATP) 0))
(0.0 0.0 1.0 1.0 .4159644 .4159644 .4159644 .4159644 .1115359 .1115359 .8116048 .8116048 .8116048 
.8116048 .1115359 .1115359 .03703344 .03703344 .949706 .949706 .6194208 .6194208 .2391483 .2391483 
.2391483 .2391483 .6194208 .6194208 .949706 .949706 .03703344 .03703344 .01668289 .01668289 .9872172 
.9872172 .5164653 .5164653 .3223783 .3223783 .1685259 .1685259 .7196427 .7196427 .8899002 .8899002 
.06806202 .06806202 .06806202 .06806202 .8899002 .8899002 .7196427 .7196427 .1685259 .1685259 .3223783
 .3223783 .5164653 .5164653 .9872172 .9872172 .01668289 .01668289 .009840562 .009840562 .9967906 
.9967906 .4656082 .4656082 .3680653 .3680653 .1383091 .1383091 .7670025 .7670025 .8527812 .8527812 
.08815682 .08815682 .05108953 .05108953 .9223804 .9223804 .670216 .670216 .2021688 .2021688 .2792991 
.2792991 .567948 .567948 .9714356 .9714356 .0256532 .0256532 .0256532 .0256532 .9714356 .9714356 
.567948 .567948 .2792991 .2792991 .2021688 .2021688 .670216 .670216 .9223804 .9223804 .05108953 
.05108953 .08815682 .08815682 .8527812 .8527812 .7670025 .7670025 .1383091 .1383091 .3680653 .3680653 
.4656082 .4656082 .9967906 .9967906 .009840562 .009840562 .007127092 .007127092 .9991972 .9991972 
.4406 .4406 .3917662 .3917662 .1244937 .1244937 .7896911 .7896911 .8326616 .8326616 .09942766 
.09942766 .04371127 .04371127 .9367168 .9367168 .6449462 .6449462 .2202499 .2202499 .2588406 .2588406 
.5937266 .5937266 .961294 .961294 .03102498 .03102498 .02088416 .02088416 .9800884 .9800884 .5421673 
.5421673 .300491 .300491 .1849229 .1849229 .6951441 .6951441 .9067538 .9067538 .05919744 .05919744 
.07770786 .07770786 .8718856 .8718856 .743624 .743624 .1529865 .1529865 .3449188 .3449188 .4909206 
.4909206 .9927922 .9927922 .01301373 .01301373 .01301373 .01301373 .9927922 .9927922 .4909206 .4909206
 .3449188 .3449188 .1529865 .1529865 .743624 .743624 .8718856 .8718856 .07770786 .07770786 .05919744 
.05919744 .9067538 .9067538 .6951441 .6951441 .1849229 .1849229 .300491 .300491 .5421673 .5421673 
.9800884 .9800884 .02088416 .02088416 .03102498 .03102498 .961294 .961294 .5937266 .5937266 .2588406 
.2588406 .2202499 .2202499 .6449462 .6449462 .9367168 .9367168 .04371127 .04371127 .09942766 .09942766
 .8326616 .8326616 .7896911 .7896911 .1244937 .1244937 .3917662 .3917662 .4406 .4406 .9991972 .9991972
 .007127092 .007127092 .005931413 .005931413 .9997994 .9997994 .4282314 .4282314 .4038066 .4038066 
.117908 .117908 .8007502 .8007502 .8222459 .8222459 .1053762 .1053762 .04028669 .04028669 .9433826 
.9433826 .6322099 .6322099 .2295984 .2295984 .2488968 .2488968 .6065896 .6065896 .955678 .955678 
.03394755 .03394755 .01871478 .01871478 .9838452 .9838452 .5293015 .5293015 .3113503 .3113503 .1766176
 .1766176 .7074521 .7074521 .8984764 .8984764 .06353353 .06353353 .07278588 .07278588 .8810342 
.8810342 .7317035 .7317035 .1606485 .1606485 .3335699 .3335699 .5036685 .5036685 .9902004 .9902004 
.01478404 .01478404 .01136742 .01136742 .9949896 .9949896 .4782309 .4782309 .3564196 .3564196 .1455399
 .1455399 .7553939 .7553939 .8624654 .8624654 .08283074 .08283074 .05505052 .05505052 .9147242 
.9147242 .6827284 .6827284 .1934405 .1934405 .2898056 .2898056 .5550525 .5550525 .9759502 .9759502 
.0231955 .0231955 .02826161 .02826161 .9665482 .9665482 .5808423 .5808423 .268976 .268976 .2111059 
.2111059 .6576183 .6576183 .9297136 .9297136 .04731097 .04731097 .09368842 .09368842 .842844 .842844 
.7784381 .7784381 .1312939 .1312939 .3798499 .3798499 .4530615 .4530615 .9981936 .9981936 .008428634 
.008428634 .008428634 .008428634 .9981936 .9981936 .4530615 .4530615 .3798499 .3798499 .1312939 
.1312939 .7784381 .7784381 .842844 .842844 .09368842 .09368842 .04731097 .04731097 .9297136 .9297136 
.6576183 .6576183 .2111059 .2111059 .268976 .268976 .5808423 .5808423 .9665482 .9665482 .02826161 
.02826161 .0231955 .0231955 .9759502 .9759502 .5550525 .5550525 .2898056 .2898056 .1934405 .1934405 
.6827284 .6827284 .9147242 .9147242 .05505052 .05505052 .08283074 .08283074 .8624654 .8624654 .7553939
 .7553939 .1455399 .1455399 .3564196 .3564196 .4782309 .4782309 .9949896 .9949896 .01136742 .01136742 
.01478404 .01478404 .9902004 .9902004 .5036685 .5036685 .3335699 .3335699 .1606485 .1606485 .7317035 
.7317035 .8810342 .8810342 .07278588 .07278588 .06353353 .06353353 .8984764 .8984764 .7074521 .7074521
 .1766176 .1766176 .3113503 .3113503 .5293015 .5293015 .9838452 .9838452 .01871478 .01871478 .03394755
 .03394755 .955678 .955678 .6065896 .6065896 .2488968 .2488968 .2295984 .2295984 .6322099 .6322099 
.9433826 .9433826 .04028669 .04028669 .1053762 .1053762 .8222459 .8222459 .8007502 .8007502 .117908 
.117908 .4038066 .4038066 .4282314 .4282314 .9997994 .9997994 .005931413 .005931413 NIL
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (394 1897 (BESSEL0 404 . 853) (KAISER 855 . 1262) (KAISERWINDOWINIT 1264 . 1895)))))
STOP