Filter Question

1 view (last 30 days)
Steve
Steve on 4 Mar 2012
I am trying to use a filter to get rid of noise on some data that I have. However, this data continuously updates. I can run a simple test in the command window and the code works fine:
for i=1:30
num(i)=rand;
end
a = 1;
b = [1/4 1/4 1/4 1/4];
y=filter(b,a,num);
plot(y)
However, when i try to implement this into my program that reads data from the serial port, I get the following error:
??? In an assignment A(I) = B, the number of elements in B and I must be the same.
Note that when this is implemented into my code, the variable num is now a continuously updating value.
How could I get around this error?
  1 Comment
Honglei Chen
Honglei Chen on 4 Mar 2012
Could you post your code snippet and let us know which line errors out?

Sign in to comment.

Answers (1)

Wayne King
Wayne King on 4 Mar 2012
Do you have a variable in your workspace called filter?
If you enter
>>which filter
is it a variable?
If so, clear that variable.
The code you posted should work, but there is no reason to form num using a for loop.
num = rand(30,1);
a = 1;
b = [1/4 1/4 1/4 1/4];
y=filter(b,a,num);
plot(y)

Community Treasure Hunt

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

Start Hunting!