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)

Categories

Find more on Digital and Analog Filters in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!