Passive Speaker Designer - Lite Beta 2

Neil Davis

Member
Paid Member
2004-12-07 3:23 am
Reston, Virginia
There's an updated version of the PSD-Lite program in the link below. It now includes a .NET version of Jeff Bagby's WBCD box modeling program, along with a splicing tool. It uses the same Benson model that Jeff used for WBCD, which is more accurate than other box modeling programs. It's got a totally re-written interface for the crossover design module, and I made the schematic options the same as what Jeff used in PCD, so it should be a bit more familiar to PCD users. It also imports CSP files so you can test it with existing PCD designs. And as with the previous version, you can model the bass boost circuit in plate amps and design Linkwitz Transform circuits.

It's got a lot of other changes--more Help files and ability to change colors as well as customize the charts. As in the previous Beta version, most of the values can be entered by scrolling with the mousewheel, so data entry can be very fast. With the box modeling tool, the program should be more fun to use.

There is a Response editor for modifying the FRD data that lets you view and change individual values and extract phase using an FFT-based algorithm. There are a couple of additional features still not implemented in the Response editor, but those will eventually get finished.

As before, it saves and loads the program state using an XML schema that is described in one of the help files. So it is a completely "open" format that can be used to exchange data with other loudspeaker design tools.

This program is a spin-off of a larger program (PSD), and it hasn't been tested much, so I apologize if anyone wastes time tripping over bugs and gets confused by things that aren't logically organized.

I'd appreciate any feedback that will help make this program more useful.

PSD_Lite.jpg


PSD-Lite
 
Hi, such a big effort merits at least a comment
I've downloaded and installed the program, it runs w/o any issues on WIN7.
It looks promising, in my humble opinion , much better than using those darned Excell sheets...
Besides, there are a whole lot of real measured driver data(FRD/ZMD), accesible to load from within the program, and from external sources...
Must be interesting to add a conversion tool in order to turn *.txt saved data from Clio, Arta, etc , into the format the program digest..
Very nice and useful effort, thank You a lot!
 
So you know my perspective, I use Arta for HF measurements, LIMP justlearning if it is preferable to WTII, SoundEasy, WinISL, Edge, Pluse with Zelscope to find acoustic offsets, Xdir, WooferTester and TrueRTA for LF measurements as my "basic" kit along with several Excell sheets that have my default textbook crossovers: Zobel, BSC, and notch filters, and one that has piles of handy conversions. I find SoundEasy to be so complex, it is hard to get to the good stuff, but it does give SPL and phase, where ARTA is only SPL. So how to get an FRD with phase to import I am not sure right now without fighting my way through SE.
 

Neil Davis

Member
Paid Member
2004-12-07 3:23 am
Reston, Virginia
An idea for a future option is to work in metric or inch. All my driver data is metric.

If you click on the units button--it should cycle through from English to metric.

Dang--I forgot that this version of the code doesn't have the boxes to enter the driver T-S data :eek:. I'll post another version in a day or two that has the "full" "Select Drivers" module. I had added the box modeler from the PSD code (the "full" version) but forgot that I had previously simplified the data entry module for the "Lite" version. Sorry about that.

Thanks for your comments and please keep them coming.
 
Super. Might mention, my favorite XML tool is Notepad++. Being a computer scientist that is neither a coder nor "modern" it makes sense of XML for an idiot like me.

I was wondering about that TS box. Anyone have a hint on an SPL + Phase MLS tool? Don't want to do an example with an expensive licensed one. LIMP will do the impedance + phase just fine.
 
OK, I got the results of HOLM to look the same as ARTA but with phase data. Conformation between tools is always nice. HOLM has lots of options but no explanation of what to pick. I am sure the programmer considered them obvious. I can see why people pick ARTA as a beginner. You get something right out of the box.

So, a cheapskate, not for commercial use tool set:
Generate impedance and phase with LIMP, output as .zma
Derive TSP from LIMP
Generate SPL and Phase with HOLM. Output text as "custom, space delimited" and rename as .frd
Import into PSD and you should be in business.
 
One evenings playing around. I did not need to RTFI once and got to a reasonable solution quite quickly.

Tiny bug I am sure you see, the box where you put in the NPE cap quality text is messed up.

I brought in files from HOLM and LIMP with no problem. No edit, nothing.

You need to have a smoothing toggle in the crossover pane. With real 1 meter measurements, it is really hard to see where the reference levels are. One third or even one octave smoothing helps with the general shape of things, but then going back to one twelfth or so is necessary to get any filters right. This needs to be in the crossover display pane, not the response editor. I think it would be more useful than if they were cleaned up before importing. I guess another way to do this would be to generate both raw and smoothed data sets. Import the smoothed ones first to get an idea of where you are going, then start over with the raw ones. Sometimes a procedure works as well as a feature.

Second is the inability to adjust the target response which is at 0 dB, to the imported responses. I would like to be able to pick the average over some interval, likely the 500 to 1K range of the woofer, and adjust the target to that as zero. It would take quite a bit of spreadsheet work to do that before importing. (or a perl script.)

I did the first guess at the BSC and notch filters in my spreadsheet, but a bit of a guessing game. A handy button would switch from the target to the applied perfect response so when fiddling with values, you have a reference to where you are going. That would help when you try and simplify to combine the BSC with the crossover. Again, having a smoothing function for display would help in tuning here too.

Don't know how it picks the frequency range to start at 10. Wastes a lot of space that could be better used for crossover range resolution. 20 would seem to be a better default. Selectable best of all.

Added in a little on the amp screen just for fun. Seems pretty complete.

That's all for tonight.
 

Attachments

  • pcd-1.jpeg
    pcd-1.jpeg
    570.5 KB · Views: 206

Neil Davis

Member
Paid Member
2004-12-07 3:23 am
Reston, Virginia
One evenings playing around. I did not need to RTFI once and got to a reasonable solution quite quickly.

Dang! ... I spent all of that time writing the Help files for nothing? :D

Tiny bug I am sure you see, the box where you put in the NPE cap quality text is messed up.

Right--at the very end I was going to have an option to "hide" the target/configuration groups so that the crossover window would fit better on a laptop or small screen. The window is 830 pixels tall, which is too big for a common 1280x800 laptop display. But at the last minute I let it go and didn't bother cleaning up my attempts to compress the height. I'll address that in the next Beta.

You need to have a smoothing toggle in the crossover pane. With real 1 meter measurements, it is really hard to see where the reference levels are...

Agreed. I'll try to get this in the next Beta

Second is the inability to adjust the target response which is at 0 dB, to the imported responses.

I used a simple level-matching algorithm in the Box Model module to find the splice point--I could apply that here. You want the levels to match near the crossover point, so I could identify a range of values in the response to auto-calculate the target level.

I did the first guess at the BSC and notch filters in my spreadsheet, but a bit of a guessing game. A handy button would switch from the target to the applied perfect response so when fiddling with values, you have a reference to where you are going.

I was going to add some text on the display (using the graphics routines) that identified the filter frequencies so it would be easier to know what you were changing. In the "parent" program (PSD) I write the part number near the components on the schematic...so I know how to annotate the charts. I just need to calculate the filter frequencies and find a good place to add the text.

Also, the larger program (PSD, not PSD_Lite) has a really nice BSC calculator that is comparable to the Edge program. I'll probably add the Baffle module to PSD_Lite on the next iteration and the response will show up as another line on the chart.

Don't know how it picks the frequency range to start at 10. Wastes a lot of space that could be better used for crossover range resolution. 20 would seem to be a better default. Selectable best of all.

There is a pull-down option on the main window that will allow setting processing options, including the range/resolution. However, I'm not going to implement that until I have time to do a lot of testing to make sure it works properly. It *should* be easy to do, although I can think of at least one place where some code changes would be needed (the splicing routine in the Box Model module).

That's all for tonight.
Thanks. I need this type of feedback to have the program evolve to be more useful. I've gotten caught up in writing tools and haven't had time to use them myself :eek: Plus, I need to understand the needs of other users that may be using the tools in different ways. I appreciate your time in writing this up and hope to get inputs from others.
 
Glad to help. I encourage others to give it a try. Of course, the real test is I need to build what it recommended and then measure the results. Don't quite have enough parts in the box.

One advanced feature another high priced product does in the BSC is to allow adding edge radius. For all I know, it may just reduce ripple amplitude by some about per quarter inch or so. I will be interested to see your advanced version.

If anyone is interested, the crossover that came out of about an hour playing with the curve fitting was a target of an LR4 at 2500 Hx. The actual results were a third order at 3200 and second order at 3500. Because I had them lying around, the drivers were the Zaph and a Vifa D27. Results are not far from what my experience. Off to order a couple of coils. suggests.

It looks like I can do a step by step quick start guide pretty easy. Capturing all the defaults from HOLM and LIMP are taking some time. I need to find a link to a notch filter calculator. I used my own and that is no help to anyone. Pretty simple calculation though, pick a freq and a Q, then tweak to fit. Same kind of thing with a Zobel, though I find the calculated ones to not be as flat when I measure as I expect, so I tend to fit to the LIMP test. ( or WooferTester II)

I am going through the same process with SE. It is not as quick that is for sure. Do-everything programs have that as a feature. Sometimes, you just need a hammer. :D
 
Imported data causing exception:
Axis Object auto interval error due to invalid point values or axis min/max

The chart for the crossover amplitude is a box with a red X.

I opened the files and pruned them to 20 -20K range. No help. If I open it up new with no driver files, it is fine. So, something funny importing my files. ( besides the off phase translation. )

Deleting everything and try again.