bill@flutter.tv.tek.com (William K. McFadden) (03/12/91)
The speaker design equations I posted recently are only useful for people with an HP48SX and an equation library card. A lot of people don't have these, so here are the equations in ASCII form. See the original article "Speaker Design Equations -- Part 1/3" in comp.sys.handhelds for an explanation. The special sequences \v/, \Gn , and \pi represent the square root operation, the greek character eta, and pi, respectively. SQ() is the x^2 operation. INV() is the 1/x operation. LOG() is the base 10 logarithm. UVAL(UBASE(Par)) is a fancy way of saying "return the numerical value of Par in watts." You can omit UVAL(UBASE()) as long as Par is in watts. In the equations below, IFTE(a,b,c) means "IF a, THEN return b ELSE return c." _m/s, _kg/m^3, _kg*s/m^4, _m^2/s^2 and _s/m are used to reconcile the units in some of the equations. If you are not using an HP calculator that supports unit conversion, you can ignore the unit objects as long as you use SI units throughout. This means all lengths, areas, and volumes are in units of meters, square meters, and cubic meters, respectively; all frequencies are in Hz; and all powers are in watts. CLOSED BOX DESIGN Design Equations DESIGN.EQ BYTES #2729h 741 %%HP: T(3)A(R)F(.); { 'Vb=Vas/Vr' 'Fb= Qr*Fs' 'F3dB=Qr*Fs* \v/((1/Qb^2-2+\v/((1/Qb ^2-2)^2+4))/2)' ' dBPEAK=20*LOG(AMAX) ' 'AMAX=IFTE(Qb>INV (\v/2),SQ(Qb)/\v/(SQ(Qb )-.25),1)' 'Vr=Qr^2 -1' 'Qr=Qb/Qts' ' Par=(4*\pi^3*1.18_kg/ m^3)*Fb^4*Vd^2/(( 345_m/s)*AMAX^2)' ' PeakSPL=112_dB+10* LOG(UVAL(UBASE(Par) ))' 'Per=Par/\Gno' ' \Gno=10^((SPL-112_dB) /10)' 'Vd=Sd*xmax' 'Sd=\pi*(DIA*.83)^2/4 ' } Frequency Response RESPONSE BYTES #6FFFh 112 %%HP: T(3)A(R)F(.); 'dBMAG=20*LOG(SQ(F/ Fb)/\v/(SQ(SQ(F/Fb)-1 )+SQ(F/Fb/Qb)))' PORTED BOX DESIGN Design Equations: DESIGN.EQ BYTES #CB31h 733.5 %%HP: T(3)A(R)F(.); { 'Vb=15*Qts^2.87* Vas' 'Fb=(Vas/Vb)^ .32*Fs' 'F3dB=\v/(Vas /Vb)*Fs' 'dBPEAK=20 *LOG(2.6*Qts*(Vas/ Vb)^.35)' '\Gno=10^(( SPL-112)/10)' 'Sd=\pi *(DIA*.83)^2/4' 'Vd =Sd*xmax' 'Par=(3_ kg*s/m^4)*F3dB^4*Vd ^2' 'PeakSPL=112_dB +10*LOG(UVAL(UBASE( Par)))' 'Per=Par/\Gno ' 'Lv=(2362_m^2/s^2 )*Dv^2/(Fb^2*Vb)- .85*Dv' 'Dmin=\v/(Fb* Vd*1_s/m)' } Frequency Response: RESPONSE BYTES #D7AFh 314 %%HP: T(3)A(R)F(.); 'dBMAG=20*LOG(SQ(SQ (F/Fs))/\v/(SQ(SQ(SQ( F/Fs))-(1+SQ(Fb/Fs) +Fb/(7*Fs*Qts)+Vas/ Vb)*SQ(F/Fs)+SQ(Fb/ Fs))+SQ((SQ(Fb/Fs)/ Qts+Fb/(7*Fs))*(F/ Fs)-(1/Qts+Fb/(7*Fs ))*(F/Fs)^3)))' Here is a list of values that can be used to verify the equations: CLOSED BOX DESIGN: Vas 0.3030_m^3 Qts 0.3300 (unitless) Fs 30_Hz SPL 95_dB (unitless) DIA 0.4572_m xmax 0.005486_m Vb 0.08437_m^3 Qb 0.7071 (unitless) Fb 64.28_Hz F3dB 64.28_Hz dBPEAK 0_dB Par 2.789_W PeakSPL 116.5_dB (unitless) Per 139.8_W \Gno 0.01995 (unitless, 1.995%) Sd 0.1131_m^2 Vd 0.0006205_m^3 AMAX 1 (unitless) Vr 3.591 (unitless) Qr 2.143 (unitless) PORTED BOX DESIGN: Vas 0.3030_m^3 Qts 0.3300 (unitless) Fs 30_Hz SPL 95_dB (unitless) DIA 0.4572_m xmax 0.005486_m Vb 0.1886_m^3 Fb 34.91_Hz F3dB 38.02_Hz dBPEAK 0.1102_dB (unitless) Par 2.413_W PeakSPL 115.8_dB (unitless) Per 121.0_W \Gno 0.01995 (unitless, 1.995%) Dmin 0.1472_m Dv 0.1472_m Lv 0.09743_m Sd 0.1131_m^2 Vd 0.0006205_m^3 -- Bill McFadden Tektronix, Inc. P.O. Box 500 MS 58-639 Beaverton, OR 97077 bill@videovax.tv.tek.com, {hplabs,uw-beaver,decvax}!tektronix!videovax!bill Phone: (503) 627-6920 "SCUD: Shoots Crooked, Usually Destroyed"