c1 = 8
c2 = 2
c3 = 7
Can you guys help me to find the first seven impulse response of the IIR filter with filter coefficient b0 = 0.05 * c1, b1 = 0.03 * c2, b2 = 0.02 * c3, a1 = 0.5, a2 = 0.5 using for loop code in matlab, this picture may also help
thanks <3

Antworten (1)

Mathieu NOE
Mathieu NOE am 25 Okt. 2021

0 Stimmen

helo
here you are
clc
clearvars
c1 = 8;
c2 = 2;
c3 = 7;
b0 = 0.05 * c1;
b1 = 0.03 * c2;
b2 = 0.02 * c3;
a1 = 0.5;
a2 = 0.5;
% manual for loop coding
x = [1; zeros(6,1)];
samples = length(x);
y(1) = b0*x(1) + 0 + 0 + 0 + 0;
y(2) = b0*x(2) + b1*x(1) + 0 + a1*y(1) + 0;
for k = 3:samples
y(k) = b0*x(k) + b1*x(k-1) + b2*x(k-2) + a1*y(k-1) + a2*y(k-2);
end
figure(1)
plot(y)

10 Kommentare

Robert Manalo
Robert Manalo am 25 Okt. 2021
Hello mate, thank you for this <3 but how can i get the answer? Im running the code but the output is just the graph. My prof is not accepting it. lol
Mathieu NOE
Mathieu NOE am 25 Okt. 2021
the output is y
you can see the values if you type y in the workspace
Robert Manalo
Robert Manalo am 25 Okt. 2021
i got it bro. thanks <3
Robert Manalo
Robert Manalo am 28 Okt. 2021
Good day mate! Can i asked you about the code the you gave me before? This one really help me and i answer was correct but can you please help me to make it as a function in matlab?
hello
see bleow
c1 = 8;
c2 = 2;
c3 = 7;
b0 = 0.05 * c1;
b1 = 0.03 * c2;
b2 = 0.02 * c3;
a1 = 0.5;
a2 = 0.5;
%% filter numerator / denominator in vector form
B = [b0 b1 b2];
A = [1 a1 a2];
%% manual for loop coding
x = [1; zeros(6,1)];
y = myfilter(x,B,A);
figure(1)
plot(y)
%%%%%%%%%%%%%%%%%%%
function y = myfilter(x,B,A)
samples = length(x);
b0 = B(1);
b1 = B(2);
b2 = B(3);
a1 = A(2);
a2 = A(3);
y(1) = b0*x(1) + 0 + 0 + 0 + 0;
y(2) = b0*x(2) + b1*x(1) + 0 + a1*y(1) + 0;
for k = 3:samples
y(k) = b0*x(k) + b1*x(k-1) + b2*x(k-2) + a1*y(k-1) + a2*y(k-2);
end
end
Kennedy Allen Aday
Kennedy Allen Aday am 28 Okt. 2021
got it bro! <3 thank you so much
Mathieu NOE
Mathieu NOE am 28 Okt. 2021
do you accept my answer this time ?
tx
Robert Manalo
Robert Manalo am 30 Okt. 2021
yes bro tnx!
Johnny Dela Vega
Johnny Dela Vega am 31 Okt. 2021
@Mathieu NOE Hey, can I ask you one question? I have a code for the same problem but was rejected. Can you tell me what is wrong with my code?
function y=IIR_Filter(b,a,x)
c=[4 8 1 2 3];
b0=0.05*c(4);
b1=0.03*c(3);
b2=0.02*c(2);
b=[b0 b1 b2];
a=[0.5 0.5];
x=[1 0 0 0 0 0 0];
N=length(a)-1;
M=length(b)-1;
y=zeros(1,length(x));
for n=1:length(x)
y1=0;
for k=1:N
if n-k>=1
y1=y1+a(k+1)*y(n-k);
end
end
y2=0;
for k=0:M
if n-k>=1
y2=y2+b(k+1)*x(n-k);
end
end
y(n)=-y1+y2;
end
Mathieu NOE
Mathieu NOE am 19 Nov. 2021
maybe you didn't push the "accept" button...?
all the best

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Install Products finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 25 Okt. 2021

Kommentiert:

am 19 Nov. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by