Theoretisch wird der Ausgangsfilter nicht benötigt, da ein Lautsprecher eine Induktivität darstellt und demnach Tiefpassverhalten aufweist. Dennoch kann es zu Schäden am Lautsprecher selbst oder der Frequenzweiche kommen, wenn kein Tiefpassfilter vorgeschaltet wird. Die Modulation erzeugt hochfrequente Signalanteile, welche beim Hochtöner oder Bauteilen der Frequenzweiche zu starker Wärmeentwicklung führen können.

Durch die bekannten Zusammenhänge der Impedanzen eines Kondensators mit dessen Kapazität und der Impedanz einer Spule mit deren Induktivität
lässt sich die Übertragungsfunktion der obigen Schaltung aufstellen:
Da die Schaltung symmetrisch ist, wurde nur die obere Hälfte betrachtet. Deswegen finden sich auch nur die Bauteilwerte von L1, C1, R1 und C3 in der berechneten Übertragungsfunktion. Die Bauteilwerte L2, C2, R2 und C4 sind aufgrund der Symmetrie identisch zu denen von L1, C1, R1 und C3. Um die Berechnung der Bauteilwerte und den resultierenden Frequenzgang zu vereinfachen wurde folgendes Matlab Skript entwickelt:
%% Initialize clear; close all; clc; %% Parameters RL = 8; %Ohm (loudspeaker impedance) fc = 20e3; %Hz (cut frequency of the filter) LT = RL /(2*pi*fc); CT = 1/( ((2*pi*fc)^2) * (LT)); L1 = 1/2*LT; C1 = 1/((2*pi*fc)^2 * L1); C3 = C1; R1 = 1/(sqrt(2) * 2*pi*fc*C1); %% Transferfunction f = 20:10:80e3; w = 2.*pi.*f; %Transferfunction via ohms law... tf = (1./(C3*1j.*w + 1./R1) + 1./(C1.*1j.*w))./ ... (L1.*1j.*w + 1./(C3.*1j.*w + 1./R1) + 1./(C1.*1j.*w)); mag = (abs(tf)); mag = mag2db(mag); phi = rad2deg(angle(tf)); imp = ifft(tf, 2^17); %% Filter response figure('Name', "Bode"); subplot(3, 1, 1); plot(f, mag); grid minor; set(gca, 'XScale', 'log'); title("Maginitude"); xlabel("Frequency in [Hz]"); ylabel("Magnitude in [dB]"); xlim([20; 80e3]); ylim([1.1*min(mag) 1.1*max(mag)]); subplot(3, 1, 2); plot(f, phi); grid minor; set(gca, 'XScale', 'log'); title("Phase"); xlabel("Frequency in [Hz]"); ylabel("Phase in [deg]"); xlim([20; 80e3]); ylim([-185; 185]); subplot(3, 1, 3); plot(real(imp)); grid minor; title("Impulse Response"); xlabel("Samples"); xlim([ 0 (find(abs(real(imp)) < = 1e-5*max(real(imp)), 1))]); ylim([1.1*min(real(imp)) 1.1*max(real(imp))]);
Das Skript berechnet, nach Angabe der Cutfrequenz und der Lautsprecherimpedanz
die benötigten Bauteilwerte des Filters. Zudem wird der Frequenzgang und die Impulsantwort des Filters erzeugt und dargestellt.
