How can I implement a simple difference equation and plot the resulting output, all using MATLAB
55 visualizzazioni (ultimi 30 giorni)
I have a simple case of all initial conditions to be zero. We can consider a general form as:
a0y(n) = b0x(n) + b1x(n-1) + b2x(n-2) + ...+ bM x(n-M)
-a1y(n-1) - a2y(n-2) - ...- aN y(n-N)
I have to plot the output y(n) with n varying from 0 to 500.
Both y(n) and x(n) are zero for n<0.
Wayne King il 4 Dic 2013
You have not said what x(n) is, is it a white noise input. Is it the Kronecker delta sequence.
If we don't know that x(n) is we certainly can't tell you what y(n) is.
If you know x(n), you can implement using filter
B = [b0 b1 b2 b3 .... bM];
A = [1 a1/a0 a2/a0 ... ];
x(n) = zeros(100,1);
x(1) = 1; % Kronecker delta input
y = filter(B,A,x);
sixwwwwww il 5 Dic 2013
may be you can try something like this:
N = 500;
for n = 1:N
xValues = sum(randi(10, 1, n) .* (rand(1, n) - 1));
yValues = sum(randi(10, 1, n - 1) .* (rand(1, n - 1) - 1));
y(n) = xValues - yValues;