Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Цифровой фильтр на Mega16

Непрочитано 07.06.2013, 15:46  
AlexPi
Прописка
 
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
AlexPi на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Сообщение от niXto Посмотреть сообщение
Под 100 нВ ни один АЦП не подойдет, у них минимум микровольты. Только внешний авто-зеро прецизионник с усилением 10, у него будет дрейф порядка 1 мкВ (на выходе после усиления), но это можно откалибровать по термодатчику. Запитать операционник от гальванически развязанного ИП, иначе даже в микровольты не уложиться
Ну в таком случае выходит что TI "врут", они приводят RMS Noise: 17nV для своего АЦП. Вообще-то да дрейф будет но я повторяю нужно разрешение, а не точность.
В том то и сложность из сильно зашумленного сигнала удалить этот шум.
Вот я и прошу помощи в проектировании фильтра.

Опробовал взвешенное среднее, весовые кф рассчитал по Блекмену (за что еще раз большое спасибо alvadep), результат получше. Разрешения добился и скорость более приемлемая, если быть точным то прибор чувствует изменение 0,166 uV= 166 nV.

А точность прибора конечно же на порядок ниже.

Вообщем пока что всем спасибо. Хотя если кто кинет ссылки на конкретные примеры программной реализации фильтров буду весьма признателен.
Реклама:
AlexPi вне форума  
Непрочитано 07.06.2013, 18:07  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Ещё раз - нановольты, пикоамперы и пр. микромир не подают на вход АЦП, а вначале усиливают операционником. Почитайте хотя бы на википедии про принцип работы Устройства выборки-хранения и подумайте, какие искажения ОНО может вносить в ваши нановольты

Заявленные шумы будут только в том случае, если источник сигнала имеет околонулевое выходное сопротивление, а какое сопротивление у вас? Я сильно сомневаюсь в повторяемости вашего результата, да и в его долговременной стабильности без буфера на входе АЦП
niXto вне форума  
Непрочитано 07.06.2013, 18:28  
AlexPi
Прописка
 
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
AlexPi на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Вы niXto, я вижу меня не поняли.
Любопытно кто это в наше время берется использовать "камни" АЦП без встроенного буфера/усилителя. Конечно же усилитель есть, только он встроенный, я писал, что не хочу доставлять внешнего.
Большинство современных микросхем АЦП являются фактически системой:

мультиплексор,
буфер,
усилитель,
опорник,
АЦП,
контроллер.

Именно о таких АЦП и идет речь.
И все заявленные мной характеристики выдерживаются.
(прибор уже сертифицирован госстандартом, просто пытаюсь улучшить)

Но речь сейчас не о том, а об дополнительной фильтрации.
Так вот наткнулся еще на одну неплохую программку расчета фильтров.
Она мало того, что рассчитывает КФты так еще и Сишный код генерит.
Кому надо может скачать здесь : http://www.winfilter.20m.com
AlexPi вне форума  
Непрочитано 07.06.2013, 19:43  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

В winfilter код для реализации фильтра генерируется не оптимально с точки зрения быстродействия, хотя при невысоких порядках фильтра это не критично. Я имею в виду сдвиг всего буфера, лучше бы использовать кольцевой буфер, т.е. заполнение идет в одну сторону по кольцу, а вычисление свертки в другую начиная с последней сохраненной выборки.
alvadep вне форума  
Непрочитано 07.06.2013, 20:21  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Сообщение от AlexPi Посмотреть сообщение
Так вот наткнулся еще на одну неплохую программку расчета фильтров.
Антивирусник говорит, что туда ходить не надо. Как Вы оттуда что-то поимели?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 08.06.2013, 09:46  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Возможно, Вы все это знаете, но на всякий случай дам совет, может, кому пригодится.
Для повышения быстродействия фильтра все его коэффициенты переведите в целочисленную область. Это легко сделать, перемножив их на число (желательно степень двойки) и отбросив дробную часть (длинные хвосты, как правило, уже не на что не влияют). Потом результат (то, что получилось после фильтра с модифицированными коэффициентами) просто делите на это число или сдвигаете, если число было степенью двойки. Подняв быстродействие уже можно будет и повысить порядок фильтра.
Для справки. Сумма коэффициентов фильтра должна быть равна 0 для полосового и ФВЧ, и 1 для заграждающего и ФНЧ (если перемножаете на число, то соответственно сумма должна быть равна этому числу). Кстати, таким образом можно сразу делать масштабирование.
alvadep вне форума  
Сказали "Спасибо" alvadep
AlexPi (10.06.2013)
Непрочитано 08.06.2013, 13:08  
raxp
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Да, Numeri шикарная штука, умели немцы делать, до сих пор пользуюсь. Также ранее рекомендовал:
Сообщение от raxp
Для алгоритма и расчета цифровых фильтров можно использовать http://www-users.cs.york.ac.uk/~fish...lter/trad.html. Очень просто: выбираете тип фильтра: "Баттерворт", "Бессель", "Чебышев" и ФНЧ, ФВЧ, полосовой или заграждающий, далее порядок фильтра (max = 10), далее вводите частоту дискретизации сигнала и необходимые частоты среза фильтра. Нажимаете "Отправить" и на следующей страничке имеете пример кода на С, значения коэффициентов, АЧХ полученного фильтра и графики реакции на прямоугольный импульс:
Код:
#define NZEROS 8
#define NPOLES 8
#define GAIN   1.104511120e+02
 
static float xv[NZEROS+1], yv[NPOLES+1];
 
static void filterloop()
  { for (;;)
      { xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = xv[3]; xv[3] = xv[4]; xv[4] = xv[5]; xv[5] = xv[6]; xv[6] = xv[7]; xv[7] = xv[8];
         xv[8] = next input value / GAIN;
        yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4]; yv[4] = yv[5]; yv[5] = yv[6]; yv[6] = yv[7]; yv[7] = yv[8];
         yv[8] =   (xv[8] - xv[0]) +   1.9999857878 * (xv[1] - xv[7]) + 2 * (xv[2] - xv[6])
                     +   5.9999573634 * (xv[5] - xv[3])
                     + ( -0.0000000000 * yv[0]) + ( -0.0000000000 * yv[1])
                     + ( -0.9995761461 * yv[2]) + (  5.9835604076 * yv[3])
                     + (-14.9384994270 * yv[4]) + ( 19.9098746640 * yv[5])
                     + (-14.9406119520 * yv[6]) + (  5.9852524500 * yv[7]);
        next output value = yv[8];
      }
  }



очень удобная реализация для микроконтроллеров.
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Непрочитано 08.06.2013, 13:28  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Сообщение от raxp Посмотреть сообщение
Да, Numeri шикарная штука, умели немцы делать, до сих пор пользуюсь. Также ранее рекомендовал:
Программа, которую рекомендовал в 3-м посте, сама определяет и необходимый порядок фильтра. Ввести нужно только частоты, неравномерность и подавление.
Широко ее использую, результат прекрасный.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 08.06.2013, 14:18  
raxp
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

...форумный редирект ссылку портит:
www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Сказали "Спасибо" raxp
AlexPi (10.06.2013)
Непрочитано 10.06.2013, 09:24  
AlexPi
Прописка
 
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
AlexPi на пути к лучшему
По умолчанию Re: Цифровой фильтр на Mega16

Да, антивирус при входе на сайт ругался. Но в базы не редко заносят вполне "чистые" ресурсы. Возможно информация просто устарела. Скачанная программа оказалась нормальной, антивирусник при запуске не ругался. Ни каких смс и пр. ерунды не было.
AlexPi вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать "реализуемое" - цифровой фильтр TranceBooster Цифровые сигнальные процессоры 8 18.03.2011 22:35
Цифровой полосовой фильтр на восьминогом микроконтроллере Egor74 Цифровые сигнальные процессоры 12 06.01.2011 20:21
Цифровой фильтр на dsPIC30 mikle2000 Цифровые сигнальные процессоры 1 26.11.2008 21:24
Цифровой фильтр Tolstopuz Микроконтроллеры, АЦП, память и т.д 1 10.02.2007 13:41


Часовой пояс GMT +4, время: 14:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.