Python script for generating exponential throat adaptor - diyAudio
Go Back   Home > Forums > Design & Build > Software Tools

Software Tools SPICE, PCB CAD, speaker design and measurement software, calculators

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 11th January 2015, 11:44 PM   #1
more10 is offline more10  Sweden
diyAudio Member
 
Join Date: Feb 2011
Location: Solna
Default Python script for generating exponential throat adaptor

I have a JBL 2446 which I want to mount on an Auto-Tech 200T horn. The JBL has an exit diameter of 49 mm and the horn has an entry diameter of 50.8 mm. The cutoff frequency of the driver is 182 Hz.

In order to make a proper CAD drawing I have made a python script for FreeCAD. You can download and modify the code for any entry radius, exit radius and cutoff frequency.

This is what the generated adapter looks like in FreeCAD:

Click the image to open in full size.

The FreeCAD file, and the IGES file.

The licence agreement is that you have to post here if you use any of these files :-)

Mårten
  Reply With Quote
Old 12th January 2015, 10:44 PM   #2
more10 is offline more10  Sweden
diyAudio Member
 
Join Date: Feb 2011
Location: Solna
Now the script (and the cad files) is improved to use different entry and exit cutoff frequencies.

The algorithm is very simple. First a exponential curve is generated for adapter entry cutoff frequency. Points are generated for every 0.1 mm. This gives a start length of the apdapter. Then a cutoff step is calculated by dividing the difference between exit and entry cutoff frequencies by the number of points. A new curve is created using a new cutoff frequency for each step, using the calculated cutoff step. This procedure is continued until there is no improvement or we reach an exit cutoff frequency 0.1 Hz from the exit target frequency.
  Reply With Quote
Old 13th January 2015, 10:15 PM   #3
more10 is offline more10  Sweden
diyAudio Member
 
Join Date: Feb 2011
Location: Solna
I have added printout of entry and exit angles. Each iteration is printed. For my 200T adapter the console printout is:

Code:
fcM=182.0, xM=10.8, v0=4.66769832783, vM=4.83792915027
step=0.165137614679, len=109
fcM=198.844036697, xM=10.3, v0=4.66769832783, vM=5.28728579834
step=0.173076923077, len=104
fcM=199.653846154, xM=10.3, v0=4.66769832783, vM=5.30929489981
step=0.173076923077, len=104
fcM=199.653846154, xM=10.3, v0=4.66769832783, vM=5.30929489981
  • fcM is cutoff frequency at exit
  • xM is length
  • v0 is entry angle
  • vM is exit angle
  • step is the cutoff step to use for iteration
  • len is the number of vectors in the throat curve
  Reply With Quote
Old 13th January 2015, 11:09 PM   #4
more10 is offline more10  Sweden
diyAudio Member
 
Join Date: Feb 2011
Location: Solna
Now there is a dxf file for the 200T adapter.
  Reply With Quote
Old 24th January 2015, 01:22 PM   #5
more10 is offline more10  Sweden
diyAudio Member
 
Join Date: Feb 2011
Location: Solna
Now the script accepts input and output angles.
  Reply With Quote
Old 21st February 2015, 05:35 PM   #6
diyAudio Member
 
Join Date: Mar 2012
Thank you Mårten !
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Python Open Room Correction (PORC) greenm01 Digital Line Level 106 24th February 2015 12:08 PM
AKABAK script - passive radiator gafhenderson Subwoofers 8 17th November 2013 01:37 PM
python car alarm=toast? tweak+peak Everything Else 1 24th January 2007 03:34 AM
Just another Monty Python argument.... mikek The Lounge 119 4th July 2003 01:38 AM


New To Site? Need Help?

All times are GMT. The time now is 12:41 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2015 DragonByte Technologies Ltd.
Copyright ©1999-2015 diyAudio

Content Relevant URLs by vBSEO 3.3.2