power spectral analysis for xover placement - diyAudio
Go Back   Home > Forums > Loudspeakers > Multi-Way

Multi-Way Conventional loudspeakers with crossovers

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 5th February 2014, 01:16 PM   #1
laplace is offline laplace  Australia
diyAudio Member
 
Join Date: Jan 2014
Default power spectral analysis for xover placement

I wrote some Matlab code that computes the power spectral density (PSD) of a digital recording, splits it into 4 (or whatever) bands according to your crossover points and plots the power vs time for each of those bands. This is to test my assumption that music is approximately pink noise and also to verify some claims seen here that there are significant peaks at the higher frequencies that need tweeter amps to have as much headroom as woofer amps in order to prevent clipping occasional bursts of HF sound.

Starting with crossover points of 35, 350, 3500, I've found:
- with broadband metal (Tool), the tweeter average power is probably 10dB down on the woofer power, but the peaks are about 4dB lower in the most treble-heavy parts. In the bass-heavy parts, the tweeter power is 20dB down on the woofer.
- with electronic dub (Salmonella Dub), the tweeter runs cold (avg and peak tweeter power 20dB down)
- pop music (Cat Empire) shows the tweeter peaking about 8dB down and averaging 15dB down.

Obviously if you move the crossover points, the numbers change. Bringing them down to 250/2000 brings the peak power requirements to about equal for all bands. It's interesting looking at (for example) Desafinado, which has little content between 250 and 350Hz, but it has some big momentary peaks between 2kHz and 3.5kHz - peaks that aren't much in terms of the average midrange content but that push the tweeter headroom requirements up by 10dB.

If you have significant sensitivity differences between your drivers, obviously you will need to adjust your amp powers and/or crossover points accordingly to take that into account.

edit: if you have a 2-way active system, you need at least as much power for the mid+high as the woofer unless the active crossover point is quite high, e.g. 400Hz+.

You can see some example plots and the Matlab source here. Red is woofer, green is mid, blue is tweeter. If you have any track analysis requests for things that you think exhibit interesting dynamics, let me know and I may have the relevant bit of music handy. Otherwise if you have Matlab, feel free to run it yourself.

By all means, take this and use it to make sure your amps are running at the relative powers and headrooms that you think they should be with your music and your crossover points. It's licensed under GPL v3 so don't hold back on hacking and republishing it.
__________________
Open-Source F/Stop Timer
on flickr

Last edited by laplace; 5th February 2014 at 01:24 PM.
  Reply With Quote
Old 5th February 2014, 01:35 PM   #2
AndrewT is offline AndrewT  Scotland
diyAudio Member
 
Join Date: Jul 2004
Location: Scottish Borders
Instead of power could the measuring be done on Vpk in the signal bands?
__________________
regards Andrew T.
  Reply With Quote
Old 5th February 2014, 01:39 PM   #3
fpitas is offline fpitas  United States
diyAudio Member
 
Join Date: Apr 2011
Location: Leesburg, VA
Quote:
Originally Posted by AndrewT View Post
Instead of power could the measuring be done on Vpk in the signal bands?
That sounds like a very practical idea; although I'd expect the result to be equivalent to the peak power, since P = V^2/R.
__________________
Francis
  Reply With Quote
Old 5th February 2014, 01:48 PM   #4
laplace is offline laplace  Australia
diyAudio Member
 
Join Date: Jan 2014
The answer will be substantially similar, though more complex to implement. You'd need to build in Matlab the actual time-domain filters used in the crossovers in order to get the true signal through each amp. Not terribly hard but I didn't bother.

The FFT method I used has 4k points so about 90ms per output point, so each point on the graph is total power in each band over ~90ms. Reducing to 2k or 1k point FFTs doesn't substantially change the peak heights - kind of as you'd expect since even the highest frequencies don't AM dramatically at much more than 20Hz for most music.
__________________
Open-Source F/Stop Timer
on flickr
  Reply With Quote
Old 5th February 2014, 03:15 PM   #5
diyAudio Member
 
speaker dave's Avatar
 
Join Date: Nov 2009
Location: The Mountain, Framingham
Interesting work Laplace.

I think this follows what most other studies show: that the average power spectrum is heavily dominated by the midrange frequencies, but peak spectrums are flatter with more bass and treble content. Of course, midrange for music often falls in the woofers range.

Just learning Matlab now and will give your code a try.

Regards,
David S
  Reply With Quote
Old 10th February 2014, 01:54 PM   #6
laplace is offline laplace  Australia
diyAudio Member
 
Join Date: Jan 2014
Hi all,

Code is updated to implement Linkwitz-Riley filters of whatever order you specify. It runs the actual filters over the music and then prints out RMS power (100ms avg) and sample peak (per 100ms) vs time. You'll need the dfilt (discrete filter design module) from the Signal Processing toolbox.

Plots are also re-uploaded. Conclusions don't really change but I have this little observation wrt much of my music:
- life is harder, thermally, for the woofer, but
- the the midrange and tweeter amps need about as much headroom as the woofer amp.

The above is heavily subject to your crossover points and the ratio of peak/continuous power ratings on your amps+drivers of course. Careful adjustment can get the power balanced.

I've also added some graphs of classical music and unsurprisingly, the midrange is doing all the heavy lifting.

The link again.

Also included is a script to compute preamplifier gains for each frequency band as a function of differing driver sensitivities and amplifier gains, in order to have the same output level from all bands. It will also tell you the headroom differences between your bands as a function of the chosen preamp gains.
__________________
Open-Source F/Stop Timer
on flickr

Last edited by laplace; 10th February 2014 at 02:01 PM.
  Reply With Quote
Old 10th February 2014, 02:45 PM   #7
diyAudio Member
 
Join Date: Jan 2004
Location: Toronto, ON, Canada
BiAmp (Bi-Amplification - Not Quite Magic, But Close) - Part 1

A little different, but not by an order of magnitude.
  Reply With Quote
Old 10th February 2014, 06:07 PM   #8
gedlee is offline gedlee  United States
diyAudio Member
 
gedlee's Avatar
 
Join Date: Dec 2004
Location: Novi, Michigan
Interesting. Could the data be smoothed a bit to better see the trends?
  Reply With Quote
Old 10th February 2014, 07:00 PM   #9
godfrey is offline godfrey  South Africa
diyAudio Member
 
Join Date: Nov 2009
Location: Cape Town
Quote:
Originally Posted by laplace View Post
The FFT method I used has 4k points so about 90ms per output point, so each point on the graph is total power in each band over ~90ms.
OK, so the "peak" powers you refer to are actually averaged over 90ms. If you compared maximum instantaneous peaks of the different bands, the answer might be quite different.
  Reply With Quote
Old 10th February 2014, 09:27 PM   #10
laplace is offline laplace  Australia
diyAudio Member
 
Join Date: Jan 2014
Quote:
Originally Posted by godfrey View Post
OK, so the "peak" powers you refer to are actually averaged over 90ms. If you compared maximum instantaneous peaks of the different bands, the answer might be quite different.
See the update above and the current graphs. It now does true per-sample peak detection using output from the actual crossover filters. No FFT, though that code is still in the zip.
__________________
Open-Source F/Stop Timer
on flickr
  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
Noise Spectral Density and Fouier Analysis kbeist Software Tools 12 8th April 2012 01:50 PM
Spectral Power Amp/Preamp confrontation yeoldestereo Solid State 1 29th January 2011 02:01 PM
Inductor Placement on Xover cyberspyder Multi-Way 16 13th April 2008 10:18 PM
Spectral analysis of sunrise time variation Circlotron Everything Else 14 11th May 2007 04:43 PM
Spectral analysis - use pink or white noise? Circlotron Everything Else 5 20th November 2003 01:13 PM


New To Site? Need Help?

All times are GMT. The time now is 03:43 AM.


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

Content Relevant URLs by vBSEO 3.3.2