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 Center および File ExchangeDigital Filter Design についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by