Target not correct?
Target not correct?
I believe there's something wrong with the Bessel targets? I don't know if this is a known issue. Maybe it's not yet implemented.
Nothing blocking, I think it's an awesome program. Will likely use this for years to come!
If there's anything I can do by translating vba to C#, let me know.
Cheers,
Franco
Nothing blocking, I think it's an awesome program. Will likely use this for years to come!
If there's anything I can do by translating vba to C#, let me know.
Cheers,
Franco
Re: Target not correct?
Hi Franco,
What do think is wrong? One of them, all of them? I used standard tables for the coefficients in the Bessel calculations whereas I used the s-plane equations for the others.
Thanks for the translating offer, but I did not translate any VBA. I wrote WinPCD entirely from scratch. The VBA in the original PCD was primarily used for UI customization. Most of the calculations that Jeff wrote were done in the Excel spreadsheet itself. Following those in Excel was out of the question. I did use PCD for some of the verification to check some calculations early on for the crossover sections.
Dave
What do think is wrong? One of them, all of them? I used standard tables for the coefficients in the Bessel calculations whereas I used the s-plane equations for the others.
Thanks for the translating offer, but I did not translate any VBA. I wrote WinPCD entirely from scratch. The VBA in the original PCD was primarily used for UI customization. Most of the calculations that Jeff wrote were done in the Excel spreadsheet itself. Following those in Excel was out of the question. I did use PCD for some of the verification to check some calculations early on for the crossover sections.
Dave
Re: Target not correct?
I did some brief additional research. First, I noted that the -3db is not at the selected Fs. I thought that odd when I examined closely. Some research turned up some info I had not seen before.
This leads me to believe that the filters are correct, though there could still be an error. If you find something specific, please let me know.
Thanks for bringing it up.
Dave
The links is http://www.researchgate.net/post/Please ... _1_or_2_db.Whereas a Butterworth filter's order can be increased for greater stop-band attenuation while keeping a constant -3dB cutoff frequency, a Bessel filter's order can be increased, also for greater stop-band attenuation, but while maintaining a constant group delay within some passband (ex. see http://www.mathworks.com/help/toolbox/s ... sself.html), but resulting in a varying -3dB cutoff frequency.
This leads me to believe that the filters are correct, though there could still be an error. If you find something specific, please let me know.
Thanks for bringing it up.
Dave
Re: Target not correct?
Dave,
When I select a fourth order (Highpass) LR, everything looks fine. -6dB @ 1800Hz.
After that I change it to 4th order Bessel. The graph jumps to a different target. It's -3dB @ 800Hz. Approximately.
This shouldn't be the case?
I could send you pics, but I think you can easily simulate this.
I thought you were translating the VBA. If there's something else you could 'delegate', let me know.
Cheers,
Frank
When I select a fourth order (Highpass) LR, everything looks fine. -6dB @ 1800Hz.
After that I change it to 4th order Bessel. The graph jumps to a different target. It's -3dB @ 800Hz. Approximately.
This shouldn't be the case?
I could send you pics, but I think you can easily simulate this.
I thought you were translating the VBA. If there's something else you could 'delegate', let me know.

Cheers,
Frank
Re: Target not correct?
I'll have to look into it more, but this is in line with what I've read on the Bessel. Specifically, the -3db point changes with order. The steeper the slope, the lower the -3db point. The Bessel 1st order matches the Butterworth -3db frequency, if I recall correctly. Increase the order (slope) of the Bessel and the -3db point drops. This is because the Bessel is not purely a magnitude filter. Read the description in my last post. The magnitude curve has to "shift", so-to-speak, to maintain constant group delay. You will see a "jump" as you say, because the -3db point must change with order.
It's possible that I could have one or more coefficients off, but I spent a lot of time on this section, more specifically on the Bessel, to ensure that I had those correct. The others were more easily implemented.
Dave
It's possible that I could have one or more coefficients off, but I spent a lot of time on this section, more specifically on the Bessel, to ensure that I had those correct. The others were more easily implemented.
Dave
Re: Target not correct?
I'll check it. I'm curious about how much the -3db point should change with slope. So far I've not found any specific reference.
Dave
Looks like I hit Edit instead of post reply. I edit my posts sometimes, sorry for dropping your comments. I can't recover them, they aren't in the email notification.
You said that there was a 1000Hz difference. That certainly sounds to be wrong. One thing I note in the article at Rane, halfway down, is this:
Dave
Looks like I hit Edit instead of post reply. I edit my posts sometimes, sorry for dropping your comments. I can't recover them, they aren't in the email notification.
You said that there was a 1000Hz difference. That certainly sounds to be wrong. One thing I note in the article at Rane, halfway down, is this:
This is my concern. I used standard coefficient tables and did not adjust them, I don't yet know what changes would be required. That may be the issue, but I don't know yet.The textbook low-pass Bessel is often designed for an approximate time delay...rather than for the common -3 dB or -6 dB level at the design frequency used for crossovers.
Re: Target not correct?
Rane has a table that shows orders 2-4, described as "Bessel Crossovers of Second, Third, and Fourth-Order, Normalized First for Time Delay Design, then for Phase Match at Crossover". The correction factor is provided separately for the phase-match. I may drop any Bessel options higher than fourth and implement a phase-matched version. I see no reason to have the standard -3db version at this point and it's unlikely that order higher than 4th is likely to be desired by designers.
Dave
Dave
Re: Target not correct?
OK, here's another one.
I fire up WinPCD. Select a tweeter frd. Select a tweeter zma(why doesn't it remember the last selected folder?). Go to the tweeter tab. I can see the response and the impedance. Then I select a target. But in stead of setting the target. It filters my tweeter.frd with the selected slope @ the selected frequency.
Now, when I do the same thing. But after importing the zma file, I select the crossover type. Parallel two-way. I go to the tweeter tab. It has already filtered my response. All crossover component values are 0.00
Strange things.
Looking forward to your reply.
I fire up WinPCD. Select a tweeter frd. Select a tweeter zma(why doesn't it remember the last selected folder?). Go to the tweeter tab. I can see the response and the impedance. Then I select a target. But in stead of setting the target. It filters my tweeter.frd with the selected slope @ the selected frequency.
Now, when I do the same thing. But after importing the zma file, I select the crossover type. Parallel two-way. I go to the tweeter tab. It has already filtered my response. All crossover component values are 0.00
Strange things.
Looking forward to your reply.
Re: Target not correct?
The folder always uses what is in the folder entry. The recommended way to design is to place all files in one folder. You can always import files from other folders, but since files may be in several folders, the one the you enter at the top is the default. Once imported, the source folder for each file is maintained.
The target filter does not in any way filter the driver itself. Those are two totally separate sections of code. What you are seeing is the auto-ranging of the graph. The low end of a tweeter may not go low enough to trigger it when it is imported. The filters usually have data data low enough to trigger the range change. Also, the actual driver filters (crossovers) are not calculated until both woofer and tweeter files are entered. You'll notice that the system graph does not update until all driver files are imported and a crossover type is selected. I've considered changing that, but it's a low priority. Way too many more useful changes to address.
The target filter does not in any way filter the driver itself. Those are two totally separate sections of code. What you are seeing is the auto-ranging of the graph. The low end of a tweeter may not go low enough to trigger it when it is imported. The filters usually have data data low enough to trigger the range change. Also, the actual driver filters (crossovers) are not calculated until both woofer and tweeter files are entered. You'll notice that the system graph does not update until all driver files are imported and a crossover type is selected. I've considered changing that, but it's a low priority. Way too many more useful changes to address.
Re: Target not correct?
You are absolutely right. Sorry for wasting your time.