реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблеммы с цифровым фильтром., Помогите чайнику :)
FisherVet
сообщение May 21 2007, 10:58
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 22-10-06
Из: г. Екатеринбург
Пользователь №: 21 547



Доброго времени суток всем!!!

Нужда заставила заняться меня цифровыми фильтрами. Скачал я програмку для расчёта фильтров "Filter Solutions V8" она ещё и генерирует код на С для реализации фильтра, который я и использовал для экспериментов.

Режекторные фильтры на 50 и 100 Гц работают просто замечательно. А вот с полосовым проблемма.

Вот фильтр:

Butterworth 1 порядка, с центральной частотой 20 Гц, полосой пропускания 10 Гц. Частота дискретизации 1024 Гц. программа расчитала мне следующую передаточную функцию:
Прикрепленное изображение


Получилась вот такая расчётная АЧХ:
Прикрепленное изображение


Код фильтра:
####################################################################
double sumnum, sumden; int i;
static double delay[4] = {0.0,0.0,0.0,0.0};
static double znum[4] = {
0.0,
-3.453957173e-02,
0.0,
3.453957173e-02
};
static double zden[3] = {
.1504718423,
.6323120647,
-1.765855935
};

float Loop(float invar)
{
sumden=0.0;
sumnum=0.0;
for (i=0;i<=2;i++){
delay[i] = delay[i+1];
sumden += delay[i]*zden[i];
sumnum += delay[i]*znum[i];
}
delay[3] = invar-sumden;
sumnum += delay[3]*znum[3];
return sumnum;
}

###################################################################

При проверке на Atmega128 в Протеусе получил вот такое:

Прикрепленное изображение


Входная синусойда 20 Гц - резонансная частота фильтра (вверху), внизу выходной сигнал фильтра.

В чём может быть причина такого поведения фильтра?
Помогите пожалуйста, сам пока не додумался. sad.gif

Спасибо!

Сообщение отредактировал FisherVet - May 21 2007, 11:13


--------------------
[/i]Восприятие верёвки как змеи так же ложно, как и восприятие верёвки как верёвки
Go to the top of the page
 
+Quote Post
Realking
сообщение May 21 2007, 12:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



такое складывается впечатление что разрядности для выходного сигнала не хватает


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
FisherVet
сообщение May 22 2007, 02:48
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 22-10-06
Из: г. Екатеринбург
Пользователь №: 21 547



Сегодня ночью разобрался в чём проблемма. yeah.gif
Оказывается дело не в фильтре. Фильтр исправно выдаёт вполне приличную синусойду вот только без постоянной составляющей и отсчёты одной из полуволн имеют отрицательные значения. А при выводе на ЦАП эти отсчёты рассматриваются как беззнаковая величина. И как результат такая интересная картинка. smile.gif

Всем спасибо!


--------------------
[/i]Восприятие верёвки как змеи так же ложно, как и восприятие верёвки как верёвки
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 09:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.02429 секунд с 7
ELECTRONIX ©2004-2016