Filter Question

1 次查看(过去 30 天)
Steve
Steve 2012-3-4
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 个评论
Honglei Chen
Honglei Chen 2012-3-4
Could you post your code snippet and let us know which line errors out?

请先登录,再进行评论。

回答(1 个)

Wayne King
Wayne King 2012-3-4
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)

类别

Help CenterFile Exchange 中查找有关 Digital Filter Design 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by