function Tonestack = tonestack(Guitartrack,Bass,Mid,Treble)
%TONESTACK Summary of this function goes here
%   Detailed explanation goes here

%Übernahme der EQ-Werte( zwischen 0 und 1)
l=Bass;
m=Mid;
t=Treble;

%Variabeln:
C1=0.25E-9;
C2 = 20E-9;
C3 = 20E-9;
R1=250000;
R2=1000000;
R3=25000;
R4=56000;

%Koeffizienten:
b1=t*C1*R1 + m*C3*R3 + l*(C1*R2 + C2*R2) + (C1*R3 + C2*R3);

b2=t*(C1*C2*R1*R4 + C1*C3*R1*R4) - (m^2)*(C1*C3*(R3^2) + C2*C3*(R3^2))+ m*(C1*C3*R1*R3 + C1*C3*(R3^2) + C2*C3*(R3^2))+ l*(C1*C2*R1*R2 + C1*C2*R2*R4 + C1*C3*R2*R4)+ l*m*(C1*C3*R2*R3 + C2*C3*R2*R3)+ (C1*C2*R1*R3 + C1*C2*R3*R4 + C1*C3*R3*R4);

b3 = l*m*(C1*C2*C3*R1*R2*R3 + C1*C2*C3*R2*R3*R4) - (m^2)*(C1*C2*C3*R1*(R3^2) + C1*C2*C3*(R3^2)*R4)+ m*(C1*C2*C3*R1*(R3^2) + C1*C2*C3*(R3^2)*R4)+ t*C1*C2*C3*R1*R3*R4 -t*m*C1*C2*C3*R1*R3*R4 + t*l*C1*C2*C3*R1*R2*R4;

a0 = 1;

a1 = (C1*R1 + C1*R3 + C2*R3 + C2*R4 + C3*R4)+ m*C3*R3 + l*(C1*R2 + C2*R2);

a2 = m*(C1*C3*R1*R3 - C2*C3*R3*R4 + C1*C3*(R3^2) + C2*C3*(R3^2)) + l*m*(C1*C3*R2*R3 + C2*C3*R2*R3)- (m^2)*(C1*C3*(R3^2) + C2*C3*(R3^2)) + l*(C1*C2*R2*R4 + C1*C2*R1*R2 + C1*C3*R2*R4 + C2*C3*R2*R4)+ (C1*C2*R1*R4 + C1*C3*R1*R4 + C1*C2*R3*R4+ C1*C2*R1*R3 + C1*C3*R3*R4 + C2*C3*R3*R4);

a3 = l*m*(C1*C2*C3*R1*R2*R3 + C1*C2*C3*R2*R3*R4)- (m^2)*(C1*C2*C3*R1*(R3^2) + C1*C2*C3*(R3^2)*R4)+ m*(C1*C2*C3*(R3^2)*R4 + C1*C2*C3*R1*(R3^2) - C1*C2*C3*R1*R3*R4) + l*C1*C2*C3*R1*R2*R4 + C1*C2*C3*R1*R3*R4;

%KOeffizienten für H(z):
%syms s c Y;
c=1/44100; %1/Samplefrequenz des Files

B0 = -b1*c - b2*(c^2) - b3*(c^3);
B1 = -b1*c + b2*(c^2) + 3*b3*(c^3);
B2 = b1*c + b2*(c^2) - 3*b3*(c^3);
B3 = b1*c - b2*(c^2) + b3*(c^3);
A0 = -a0 - a1*c - a2*(c^2) - a3*(c^3);
A1 = -3*a0 - a1*c + a2*c^2 + 3*a3*(c^3);
A2 = -3*a0 + a1*c + a2*(c^2) - 3*a3*(c^3);
A3 = -a0 + a1*c - a2*(c^2) + a3*(c^3);


[Y,fs,bits]=wavread(Guitartrack);

%Z-Transoformation:
syms z x
H=(B0+B1*(z^-1)+B2*(z^-2)+B3*(z^-3))/(A0+A1*(z^-1)+A2*(z^-2)+A3*(z^-3));
%a=[A3 A2 A1 A0];
%b=[B3 B2 B1 B0];
%syss=tf(b,a)
%sysszz=c2d(syss,c);
%hold on
%bode(syss)



%Inverse Z-Transformation:
%syms s x
%H=(b1*s+b2*(s^2)+b3*(s^3))/(a0+a1*s+a2*(s^2)+a3*(s^3));

%I1=ilaplace(H,s,Y);




aa=[a3 a2 a1 a0];
bb=[b3 b2 b1 0];
%b=(b1*s+b2*(s^2)+b3*(s^3));
%a=(a0+a1*s+a2*(s^2)+a3*(s^3));
sys=tf(bb,aa)
sysz=c2d(sys, c)
bode(sysz)
syszi=iztrans(H,z,x)

YY=conv(Y,syszi);
length(YY)

%Inverseplace=ilaplace(H,s,x)

%EQed=Y.*H;
%YEQ=conv(Y,Inverseplace);
%length(YEQ)
%wavwrite(YEQ,fs,'GuitarEQUED.wav');
end

