How can I implement this code several stages??
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
Walter Roberson
2019 年 10 月 14 日
How can it be correct when you are asking for multiple rows of w when w only has one row?
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Array and Matrix Mathematics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!