Filter löschen
Filter löschen

How can I implement this code several stages??

2 Ansichten (letzte 30 Tage)
Good mind
Good mind am 22 Sep. 2019
Kommentiert: Walter Roberson am 14 Okt. 2019
I want to compute 15 stages of the my output , my problem is in the second loop, is it correct?? i want to implement yi+1(n) = yi(n) * wi+1 ie: y1(n) is the first stage and so on...when i run it i get Index exceeds matrix dimensions. error in y(i+1,:)=y(i)*w(i+1,:);
also, how can i plot the fourth stage??? thank you for the help.
% w = estimated FIR filter
% y = output array y(n)
% x = input array x(n)
% d = desired array d(n), length must be same as x
% mu = step size
% M=order of the filter;
N=300;
n=1:N;
M=4;
d(n) = sin(0.2*pi*n);
sigma = 0.5;
v(n) =sigma*randn(1,N);
x(n)= d+v; N=length(x);
subplot(311); plot(d(n))
mu=0.01; subplot(312); plot(x(n))
w=zeros(1,M); w1=zeros(1,M);e=zeros(1,N);y=zeros(1,N);
for n=M:N
x1=x(n:-1:n-M+1);
y(n) = w*x1';
e = d(n)-y(n);
w = w +mu*e*x1;
w1(n-M+1,:)=w(1,:);
end
% I is number of stages
I=15;
for i=2:I
y(i+1,:)=y(i)*w(i+1,:);
end
  8 Kommentare
Good mind
Good mind am 14 Okt. 2019
Is the second loop correct???? in my case:the future out put is dependent on the present out put and the future filter
Walter Roberson
Walter Roberson am 14 Okt. 2019
How can it be correct when you are asking for multiple rows of w when w only has one row?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by