Properly wiring subwoofers to your amplifier is crucial for achieving optimal sound quality, maximizing power output, and protecting your equipment from damage. The key concept to understand is impedance, measured in Ohms (Ω). Impedance is essentially the electrical resistance a speaker presents to the amplifier.
Voice Coils: The Building Blocks
Modern subwoofers often come with one or two voice coils (VCs). Each voice coil has its own impedance rating (e.g., 2Ω or 4Ω). The way you wire these voice coils, and the subwoofers themselves, determines the final impedance presented to the amplifier.
Wiring Configurations
There are three primary ways to wire speakers:
Series Wiring: Impedances are added together. For two 4Ω voice coils, series wiring results in 8Ω (4Ω + 4Ω). This is often used to increase the total impedance.
Parallel Wiring: Impedances are divided. For two 4Ω voice coils, parallel wiring results in 2Ω (1 / (1/4Ω + 1/4Ω) = 2Ω). This is commonly used to decrease the total impedance and allow the amplifier to deliver more power (assuming it can handle the lower impedance).
Series-Parallel Wiring: A combination of both, often used when you have multiple subwoofers and voice coils to achieve a specific final impedance.
Why Impedance Matters
Amplifiers are designed to operate efficiently and safely within a specific impedance range.
Too low impedance: Can cause the amplifier to overheat, shut down, or even suffer permanent damage due to excessive current draw.
Too high impedance: Limits the amount of power the amplifier can deliver, resulting in lower volume and less impactful bass.
The goal is to match the final load impedance of your subwoofer(s) to the lowest impedance the amplifier can safely handle per channel, allowing it to perform at its best without being overstressed.
How This Calculator Works
This calculator helps you determine the final impedance of your subwoofer setup based on the number of voice coils per subwoofer, the impedance of each voice coil, and the number of subwoofers. It then suggests how to wire them to achieve a target impedance that is suitable for your amplifier's capabilities.
Inputs:
Subwoofer Impedance: The nominal impedance of a single voice coil (e.g., 2Ω or 4Ω).
Number of Voice Coils per Subwoofer: Usually 1 or 2.
Number of Subwoofers: How many speaker units you are using.
Number of Amplifier Channels: The number of independent outputs your amplifier has.
Amplifier Minimum Impedance: The lowest impedance load your amplifier can safely handle per channel. This is critical for preventing damage.
The calculator calculates the impedance for common configurations (series, parallel, and series-parallel) and recommends a wiring scheme that results in a final impedance equal to or greater than the amplifier's minimum impedance, while trying to get as close as possible to maximize power.
Example Scenario
Let's say you have two 12-inch subwoofers, each with two 4Ω voice coils. Your amplifier provides 2 channels, and each channel can safely handle a minimum load of 2Ω.
Each subwoofer has two 4Ω VCs. Wiring these in parallel results in 2Ω per subwoofer (1 / (1/4 + 1/4) = 2Ω).
You have two such subwoofers. If you wire these two 2Ω loads in parallel, the final impedance would be 1Ω (1 / (1/2 + 1/2) = 1Ω). This is too low for the amplifier's 2Ω minimum.
If you wire the two 2Ω loads in series, the final impedance would be 4Ω (2Ω + 2Ω = 4Ω). This is a safe load for the amplifier.
Recommendation: Wire the voice coils of each subwoofer in parallel (yielding 2Ω per sub), then wire the two subwoofers in series to the amplifier's two channels (each channel sees 2Ω). The final load is 4Ω.
This calculator simplifies finding the correct configuration. Always double-check your wiring and consult your amplifier and subwoofer manuals.
function calculateWiring() {
var subImpedance = parseFloat(document.getElementById('subwooferImpedance').value);
var numVoiceCoilsPerSub = parseInt(document.getElementById('numberOfVoiceCoils').value);
var numSubs = parseInt(document.getElementById('numberOfSubwoofers').value);
var ampChannels = parseInt(document.getElementById('amplifierChannels').value);
var ampMinImpedance = parseFloat(document.getElementById('amplifierImpedance').value);
var resultDiv = document.getElementById('result-value');
var explanationDiv = document.getElementById('explanation');
resultDiv.innerText = "";
explanationDiv.innerText = "";
if (isNaN(subImpedance) || isNaN(numVoiceCoilsPerSub) || isNaN(numSubs) || isNaN(ampChannels) || isNaN(ampMinImpedance)) {
resultDiv.innerText = "Invalid Input";
return;
}
var subOptions = [];
var ampOptions = [];
// Calculate impedance for single subwoofer wiring
if (numVoiceCoilsPerSub === 1) {
subOptions.push({ name: "Single Voice Coil", impedance: subImpedance });
} else { // 2 voice coils
var parallelVCImpedance = subImpedance / 2;
var seriesVCImpedance = subImpedance * 2;
var seriesParallelVCImpedance = (subImpedance * 2) / 2; // Effectively just subImpedance if wired correctly
// Series wiring of voice coils
if (seriesVCImpedance >= ampMinImpedance) {
subOptions.push({ name: "Series (VCs)", impedance: seriesVCImpedance, config: `Wire the ${numVoiceCoilsPerSub} voice coils in series.` });
}
// Parallel wiring of voice coils
if (parallelVCImpedance >= ampMinImpedance) {
subOptions.push({ name: "Parallel (VCs)", impedance: parallelVCImpedance, config: `Wire the ${numVoiceCoilsPerSub} voice coils in parallel.` });
}
// Series-Parallel wiring of voice coils (if applicable, e.g. 4 coils total for 2 subs)
if (numVoiceCoilsPerSub === 2 && numSubs === 1) { // Special case for single sub with 2 VCs
subOptions.push({ name: "Series-Parallel (VCs)", impedance: subImpedance, config: `Wire the ${numVoiceCoilsPerSub} voice coils in series-parallel.` });
}
}
// Calculate final impedance based on subwoofer connections
if (numSubs === 1) {
subOptions.forEach(function(subOption) {
if (subOption.impedance >= ampMinImpedance) {
ampOptions.push({ name: `Single Sub – ${subOption.name}`, impedance: subOption.impedance, config: subOption.config });
}
});
} else { // Multiple subwoofers
subOptions.forEach(function(subOption) {
var currentSubImpedance = subOption.impedance;
if (ampChannels === 2) {
// Wire the subwoofers in Series
var seriesSubsImpedance = currentSubImpedance * numSubs;
if (seriesSubsImpedance >= ampMinImpedance) {
ampOptions.push({ name: `Multiple Subs (${numSubs}) – ${subOption.name} + Series Subs`, impedance: seriesSubsImpedance, config: subOption.config + ` Wire the ${numSubs} subwoofers in series.` });
}
// Wire the subwoofers in Parallel
var parallelSubsImpedance = 1 / (numSubs / currentSubImpedance);
if (parallelSubsImpedance >= ampMinImpedance) {
ampOptions.push({ name: `Multiple Subs (${numSubs}) – ${subOption.name} + Parallel Subs`, impedance: parallelSubsImpedance, config: subOption.config + ` Wire the ${numSubs} subwoofers in parallel.` });
}
// Wire the subwoofers in Series-Parallel (if 2 subs, 2 channels)
if (numSubs === 2) {
var seriesParallelSubsImpedance = (currentSubImpedance * 2) / 2; // Effectively currentSubImpedance
if (seriesParallelSubsImpedance >= ampMinImpedance) {
ampOptions.push({ name: `Multiple Subs (${numSubs}) – ${subOption.name} + Series-Parallel Subs`, impedance: seriesParallelSubsImpedance, config: subOption.config + ` Wire the ${numSubs} subwoofers in series-parallel.` });
}
}
} else if (ampChannels === 4 && numSubs === 4) {
// Wire the subwoofers in Series
var seriesSubsImpedance = currentSubImpedance * numSubs;
if (seriesSubsImpedance >= ampMinImpedance) {
ampOptions.push({ name: `Multiple Subs (${numSubs}) – ${subOption.name} + Series Subs`, impedance: seriesSubsImpedance, config: subOption.config + ` Wire the ${numSubs} subwoofers in series.` });
}
// Wire the subwoofers in Parallel
var parallelSubsImpedance = 1 / (numSubs / currentSubImpedance);
if (parallelSubsImpedance >= ampMinImpedance) {
ampOptions.push({ name: `Multiple Subs (${numSubs}) – ${subOption.name} + Parallel Subs`, impedance: parallelSubsImpedance, config: subOption.config + ` Wire the ${numSubs} subwoofers in parallel.` });
}
}
// Add more specific channel/sub combinations if needed
});
}
// Filter for the best option (closest to ampMinImpedance without going under)
var bestOption = null;
var minDifference = Infinity;
ampOptions.forEach(function(option) {
if (option.impedance >= ampMinImpedance) {
var difference = option.impedance – ampMinImpedance;
if (difference < minDifference) {
minDifference = difference;
bestOption = option;
}
}
});
if (bestOption) {
resultDiv.innerText = bestOption.impedance.toFixed(1) + " Ohms";
explanationDiv.innerHTML = `Configuration: ${bestOption.name}.Action: ${bestOption.config} Target impedance is ${bestOption.impedance.toFixed(1)}Ω.`;
} else {
resultDiv.innerText = "No Suitable Wiring Found";
explanationDiv.innerText = `Could not find a wiring configuration that meets the amplifier's minimum impedance of ${ampMinImpedance}Ω. You may need different subwoofers, an amplifier with a lower impedance rating, or a different wiring strategy.`;
}
}