Dear all,
I am very new to DSP and I need to construct a High Pass, State Variable Filter.
I have taken the filter strucuture from the following link:
http://www.earlevel.com/Digital%20Audio/StateVar.html
I have constructed the Filter in Simulink and it works fine. However I wish to
model it as an m-file. I am having severe problems in devising the equation that
will calculate the output samples. My code looks something like:
Fc 00;
Fs = 44100;
t = 0:1/Fs:.1-1/Fs;
%White noise
x=randn(size(t));
%Filter coefficients
k=2*sin(pi*Fc/Fs);
for n=4:(length(x));
y(n)=x(n)-(k*k*(x(n-1)+x(n-2)))-(k*k*(x(n-2)+x(n-3)))-(k*(x(n-1)+x(n-2)));
end
%The following visualises the 2 signals
X = fft(x,10000);
X=X(1:5000);
XMags(X);
XdB *log10(XMag/max(XMag));
freq=(0:4999)*Fs/10000;
subplot(2,1,1), plot(freq, XdB);
% Graph labelling
title('Spectrum of the input signal x[n]')
ylabel('Magnitude (dB)'), grid on;
xlabel('Frequency (Hz)');
set(gca,'xlim',[0 20000],'ylim',[-50 0])
Y = fft(y,10000);
Y=Y(1:5000);
YMags(Y);
YdB *log10(YMag/max(YMag));
freq=(0:4999)*Fs/10000;
subplot(2,1,2), plot(freq, YdB);
title('Spectrum of the output signal y[n]')
ylabel('Magnitude (dB)'), grid on;
xlabel('Frequency (Hz)');
set(gca,'xlim',[0 20000],'ylim',[-50 0]);
I cannot get it to work at all, since I dont have a mathematical background im
a struggling in constructing the y(n) expression. Can you help me.
Thanks