1 view (last 30 days)

Hey

This is a project that i am working on, there we are suppose to filter out a sin-component from a small sound signal.

I have the signal "x" already, this "x" contains the sound signal og the energy-spectral-density.

And I have done all the calculations for the filter and signal, and ended up with this differential equation:

y = 2*a*cos(W_s)*y(n-1) - a.^2*y(n-2) - b0*x(n) - b0*2*cos(W_s)*x(n-1) + b0*x(n-2);

So my next step is to get this signal y(n) and check and se if the sin-component is gone. I know that I should be loop like this:

for n = 3:length(x)

y(n) = 2*a*cos(W_s)*y(n-1) - a.^2*y(n-2) - b0*x(n) - b0*2*cos(W_s)*x(n-1) + b0*x(n-2);

end

But i am getting this error: Attempted to access y(2); index out of bounds because numel(y)=1.

Youssef Khmou
on 18 Apr 2015

Edited: Youssef Khmou
on 18 Apr 2015

Concerning the equation of y, can you explain its origin. As for the error, initial condition must be set :

y=zeros(size(x));

y(1)=x(1);

y(2)=x(2);

% for loop

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.