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

 
 
> Цифровой Фильтр на ATmega, Цифровой Фильтр на ATmega
_Ie0nid
сообщение Sep 16 2009, 04:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 20-09-08
Пользователь №: 40 344



Добрый день, давно не заходил с проблемами. КТо может помочь куском кода к цифровому фильтру для Codevision. Даже с чего начать не знаю, куда не сунусь везде только формулы да теория. Хочу попробовать отфильтровать сигнал снятый с ацп Atmegи, и преобразовать на выход с помощью ШИМ и RC цепи
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Goodefine
сообщение Sep 21 2009, 13:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581



Цитата(SasaVitebsk @ Sep 20 2009, 23:33) *
Эээээ...
Результат обсуждения меня не порадовал.Я вам давал не теорию и не практику, а методику. Вы должны проследить и... сделать любой. А соответственно найти ошибки в моём. Я ведь на бумаге всё это писал. Тем не менее там всё правильно...

Если Вы восприняли мой пост как критику в адрес своей методики, то спешу заверить, что это совершенно не так. Дело было поздно ночью, когда легко проглядеть ньюанс, подобный потерянному здесь... Тот случай - когда вроде все правильно, но не работает. Поэтому, собственно, вопрос и последовал...
Цитата(SasaVitebsk @ Sep 20 2009, 23:33) *
2) Если бы я, для того чтобы проверить работу фильтра каждый раз ваял такую схему ...
Нет конечно, респект и уважуха, но вы же всётаки прграммисты. У них подход попроще ....
Я написал для себя приложение в билдере по принципу ГКЧ ...

Ну, имхо, модель простейшая и ваяется быстро, при определенных навыках - copy/paste smile.gif Когда под рукой нет необходимого инструментария для работы с цифровыми фильтрами - так тоже неплохо - плюс время выполнения в железе оценить можно, и подумать сколько звеньев поставить получится...
Цитата(SasaVitebsk @ Sep 20 2009, 23:33) *
Когда прочитал вашу бучу, то проанализировал...

Подымать бучу и в мыслях не было, уж извините если так получилось..
Цитата(SasaVitebsk @ Sep 20 2009, 23:33) *
Скажем так... была неточность, но не в фильтре. Можно было и так как я выложил, но нужна небольшая коррекция. Вопрос какая?

Неточность легко ищется незамыленным глазом: читаем хелп:
Цитата
y(n)=( a0*x(n)+a1*x(n-1)+a2*x(n-2) ) – ( b1*y(n-1) + b2*y(n-2) )

И ключевая Ваша фраза:
Цитата
Я упрощу выражение и вместо X(i-1) буду писать X1 и так далее....

следование которой и привело к неточности: X(n-4) стал Х4, а Xn -> X0 (и т.д.). А привязка коэфф. не изменилась. В то время как X4 (если его номер рассматривать как порядковый номер следования отсчета во времени) на самом деле Xn. Иными словами перепутались коэффициенты с отсчетами. То же самое и с Yi. при этом следует еще учесть, что выход - это Y4. Тогда код фильтра будет такой:
Код
X4=X3;
X3=X2;
X2=X1;
X1=X0;
X0=(int)ADCW;

Y0=Y1;
Y1=Y2;
Y2=Y3;
Y3=Y4;

Temp = (X4+X0+Y1-Y0)>>1;
Temp -= X2+Y3;
Temp >>= 1;
Temp -= Y0;
Temp >>= 2;
Temp +=((Y3-Y2)<<1)+Y1;

Y4=Temp;

PORTD= (unsigned char) ((Y4+512)>>2);

Т.е. видно, что крайние Xi и Yi поменялись местами соответственно (X4<->X0,Y4<->Y0 и т.д.).
Цитата(SasaVitebsk @ Sep 20 2009, 23:33) *
Затестите на своей чудо машинке...

Затестил. работает. Только хочу заметить, что АЧХ фильтра не такая как на картинке - если верить модели, работает это скорее как ФВЧ, где - то от 400 Гц - далее подъем и спад до 3кГц почти не заметен...
А что касается первоначального фильтра - тоже работает, после исправлений - там частота резонанса около 1336,9 Гц... Откуда так точно? Все просто, иногда (не всегда) после снятия сигналов, фильтр звенит на этой частоте. Звон правда достаточно малый - амплитуда около 0,02В (одна градация ЦАПа). Спад АЧХ возле этой частоты заметен на глаз, что называтся... Вот как то так...
Еще раз спасибо Вам, что потратили свое время на очевидные объяснения..


--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 21 2009, 20:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Goodefine @ Sep 21 2009, 16:45) *
Затестил. работает. Только хочу заметить, что АЧХ фильтра не такая как на картинке - если верить модели, работает это скорее как ФВЧ, где - то от 400 Гц - далее подъем и спад до 3кГц почти не заметен...


smile.gif
Так я и выбрал фильтр собственно весьма пологий. Да ещё и всего-лишь 3-его порядка.
Мне кажется, что людям было-бы интересно узнать сколько "завесил" такой фильтр. Сколько он отъел ресурсов.

Я, в свою очередь хотел бы отметить, что полосовой фильтр 5-го порядка легко реализуется на 1.8МГц при частоте выборки 6800 вместе с ФНЧ и перемножением сигнала. smile.gif AVR при этом кушает менее 1ма.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Ie0nid   Цифровой Фильтр на ATmega   Sep 16 2009, 04:18
- - Genadi Zawidowski   Радиолюбительская конструкция.   Sep 16 2009, 04:50
- - haker_fox   Цитата(_Ie0nid @ Sep 16 2009, 13:18) куда...   Sep 16 2009, 06:36
- - SasaVitebsk   Боюсь, что меня сейчас поколотят, но попробую обле...   Sep 16 2009, 07:30
|- - MrYuran   Цитата(SasaVitebsk @ Sep 16 2009, 11:30) ...   Sep 16 2009, 07:39
||- - SasaVitebsk   Цитата(MrYuran @ Sep 16 2009, 10:39) Непл...   Sep 16 2009, 08:14
|- - ZVE   Цитата(SasaVitebsk @ Sep 16 2009, 10:30) ...   Sep 17 2009, 11:18
|- - Serhiy_UA   Много лет назад экспериментировал на ATmega16 со з...   Sep 17 2009, 13:19
|- - SasaVitebsk   Цитата(ZVE @ Sep 17 2009, 14:18) Да покаж...   Sep 17 2009, 19:45
|- - galjoen   Цитата(SasaVitebsk @ Sep 17 2009, 22:45) ...   Jan 2 2010, 10:51
- - Legotron   Цитата(MrYuran @ Sep 16 2009, 11:39) А дл...   Sep 17 2009, 13:04
|- - Сергей Борщ   Цитата(Legotron @ Sep 17 2009, 16:04) А п...   Sep 17 2009, 13:17
- - Goodefine   Цитата(SasaVitebsk @ Sep 17 2009, 22:45) ...   Sep 18 2009, 21:08
|- - AHTOXA   Скорее всего причина вот тут: Код X0=ADCW-512; Поп...   Sep 18 2009, 21:24
- - Goodefine   Цитата(AHTOXA @ Sep 19 2009, 00:24) Попро...   Sep 18 2009, 21:38
|- - AHTOXA   Тогда наоборот, замените в объявлении Xi, Yi и Tem...   Sep 18 2009, 22:12
- - Goodefine   Я это уже проделывал. Основное отличие - фильтр на...   Sep 18 2009, 22:22
|- - AHTOXA   Да, засада А long пробовали?   Sep 18 2009, 22:26
- - Goodefine   Вот Long не пробовал, только сейчас - то же самое....   Sep 18 2009, 22:30
|- - AHTOXA   Есть ещё одна мысль. Я не совсем понял, откуда взя...   Sep 18 2009, 22:42
- - Goodefine   Чет не едут у меня лыжи С флоатами хрень какая-т...   Sep 18 2009, 22:52
|- - AHTOXA   Цитата(Goodefine @ Sep 19 2009, 04:52) Че...   Sep 18 2009, 23:16
- - Goodefine   Цитата(AHTOXA @ Sep 19 2009, 02:16) Но хо...   Sep 18 2009, 23:43
|- - dimka76   Цитата(Goodefine @ Sep 19 2009, 03:43) Не...   Sep 19 2009, 04:15
- - SasaVitebsk   Эээээ... Результат обсуждения меня не порадовал. ...   Sep 20 2009, 20:33
- - _Ie0nid   здраствуйте, простите за то что долго не было, и з...   Sep 22 2009, 04:58
|- - SasaVitebsk   Цитата(_Ie0nid @ Sep 22 2009, 07:58) Вы п...   Sep 22 2009, 10:00
|- - MrYuran   Цитата(_Ie0nid @ Sep 22 2009, 08:58) Учи...   Sep 22 2009, 10:52
- - Goodefine   Цитата(SasaVitebsk @ Sep 21 2009, 23:27) ...   Sep 22 2009, 10:35
- - _Ie0nid   РАЗОБРАЛСЯ, тут еще на работе мне паренек здорово ...   Sep 23 2009, 01:37
- - Fix   Подскажите, пожалуйста. что представляет собой кол...   Dec 27 2009, 18:27
|- - DRUID3   Цитата(Fix @ Dec 27 2009, 20:27) Подскажи...   Dec 27 2009, 22:26
|- - Xenia   Цитата(DRUID3 @ Dec 28 2009, 01:26) ...   Dec 27 2009, 23:01
|- - rezident   Цитата(Xenia @ Dec 28 2009, 04:01) Примеч...   Dec 28 2009, 18:02
|- - Xenia   rezident А однобайтный тип там есть?   Dec 28 2009, 19:28
|- - rezident   Цитата(Xenia @ Dec 29 2009, 00:28) А одно...   Dec 30 2009, 01:18
- - V_G   Вообще кольцевой буфер легко реализуется, если его...   Dec 28 2009, 23:39
- - Fix   При расчете коэффициентов полосового фильтра с пом...   Dec 30 2009, 11:48
|- - SasaVitebsk   Цитата(Fix @ Dec 30 2009, 14:48) ... реко...   Dec 30 2009, 21:35
|- - Serhiy_UA   Цитата(SasaVitebsk @ Dec 31 2009, 00:35) ...   Dec 31 2009, 08:02
- - V_G   Существуют разные алгоритмы синтеза фильтров и раз...   Dec 30 2009, 12:18
- - mdmitry   Добавлю, что АЧХ фильтра и ФЧХ связаны между собой...   Dec 30 2009, 13:14
- - Rst7   ЦитатаВсё правильно. Только дополню, что существуе...   Dec 31 2009, 10:31
- - Rioi   Все знают о существовании таких файлов: 1) AVR201:...   Jan 6 2010, 10:21
|- - galjoen   Цитата(Rioi @ Jan 6 2010, 13:21) А теперь...   Jan 6 2010, 10:50
|- - SasaVitebsk   Цитата(Rioi @ Jan 6 2010, 14:21) все знаю...   Jan 23 2010, 21:46
- - DRUID3   Забавная информация к размышлению для тех кто пише...   Jan 24 2010, 10:12
- - Rst7   ЦитатаЗабавная информация к размышлению Информаци...   Jan 24 2010, 10:44
- - SasaVitebsk   Да не на что она не намекает. Заниматься такой опт...   Jan 24 2010, 11:09
|- - DRUID3   Цитата(SasaVitebsk @ Jan 24 2010, 13:09) ...   Jan 24 2010, 12:36
|- - RedD   Для SasaVitebsk. Интересует тема, не могу написать...   Jan 1 2016, 18:24
- - Andrew34   Вечер добрый господа электронщики!) У меня про...   May 24 2010, 14:40
- - Herz   RedD, Вы обратили внимание на то, как выглядит Ваш...   Jan 1 2016, 18:52
|- - RedD   Цитата(Herz @ Jan 1 2016, 18:52) RedD, Вы...   Jan 1 2016, 19:26
|- - Herz   Цитата(RedD @ Jan 1 2016, 21:26) Извиняюс...   Jan 1 2016, 22:34
|- - RedD   Цитата(Herz @ Jan 1 2016, 22:34) Вы бы Пр...   Jan 2 2016, 08:49
|- - RedD   Вобщем правильно, вручную проверил, Но все равно ...   Jan 2 2016, 10:31
||- - RedD   Слесарь да я смотрю ты местный, Не знаешь как с Са...   Jan 8 2016, 09:43
|- - Alexashka   Цитата(RedD @ Jan 2 2016, 12:49) Я ВАС по...   Jan 8 2016, 23:15
|- - RedD   Цитата(Alexashka @ Jan 9 2016, 00:15) Мож...   Jan 9 2016, 14:16
- - Alexashka   ЦитатаИтого все на сдвигах, да в том то и прикол ч...   Jan 10 2016, 10:24
|- - RedD   Цитата(Alexashka @ Jan 10 2016, 11:24) Ну...   Jan 10 2016, 10:31
||- - Alexashka   Цитата(RedD @ Jan 10 2016, 14:31) ДЛя avr...   Jan 10 2016, 17:49
||- - RedD   Цитата(Alexashka @ Jan 10 2016, 18:49) С ...   Jan 10 2016, 19:24
||- - RedD   А вообще меня интересовала практическая реализация...   Jan 11 2016, 04:22
||- - Alexashka   Цитата(RedD @ Jan 10 2016, 23:24) Все отв...   Jan 11 2016, 06:03
||- - RedD   Ну то что я хотел сделать я почти сделал ) На Ва...   Jan 11 2016, 09:31
||- - Alexashka   Цитата(RedD @ Jan 11 2016, 13:31) Ну хотя...   Jan 11 2016, 10:27
||- - RedD   Цитата(Alexashka @ Jan 11 2016, 11:27) Ну...   Jan 11 2016, 15:31
||- - Alexashka   Цитата(RedD @ Jan 11 2016, 19:31) Что Вы ...   Jan 11 2016, 17:21
||- - RedD   Цитата(Alexashka @ Jan 11 2016, 18:21) Ва...   Jan 11 2016, 17:46
|||- - Alexashka   Цитата(RedD @ Jan 11 2016, 21:46) но дело...   Jan 11 2016, 19:38
|||- - RedD   Да не АЦП однополярный, делаем смещение и ввиду то...   Jan 11 2016, 20:42
|||- - Alexashka   Цитата(RedD @ Jan 12 2016, 00:42) И тогда...   Jan 12 2016, 01:39
|||- - RedD   Цитата(Alexashka @ Jan 12 2016, 02:39) Да...   Jan 12 2016, 09:01
|||- - RedD   А понял, если наложить ФВЧ то и получим смещение, ...   Jan 12 2016, 13:57
|||- - Alexashka   1) Да как Вам удобней, так и делайте. 2) Y0=Y1||Y2...   Jan 13 2016, 01:04
||- - RedD   Но и сигнал тогда на вход двухполярный нужен, опер...   Jan 11 2016, 17:46
|- - RedD   Цитата(Alexashka @ Jan 10 2016, 11:24) Ко...   Jan 10 2016, 12:50
- - RedD   Ок ) Возми в студенты а ? Вторую вышку хочу получ...   Jan 14 2016, 00:56
- - IMaxI   Прошу прощение. А не проще ли использовать аппарат...   Feb 5 2016, 05:00
- - Alexashka   Цитата(IMaxI @ Feb 5 2016, 08:00) А учиты...   Feb 5 2016, 05:57
- - RedD   dspic тоже не плох   Feb 6 2016, 08:43
- - RedD   http://www.cqham.ru/forum/showthread.php?3...-Mixe...   Apr 12 2017, 13:26
- - RedD   Не хотел новую тему создавать, а можно загрузить t...   Apr 11 2018, 07:29


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

 


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


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