roboforum.ru

Технический форум по робототехнике.

Калибровка нуля АЦП AD7792 (бывшая "Расчет рекурсивного ФНЧ"

Re: Расчет рекурсивного ФНЧ

Dmitry__ » 07 май 2013, 15:40

Дай ссылку на фнч фильтры на пассивных rc цепях, сам пасчитайу :crazy:

Добавлено спустя 3 минуты 39 секунд:
А если отмажешься и не дашь, значит ты все врал и соотв. дерево. :wink:

Re: Расчет рекурсивного ФНЧ

Romikgy » 07 май 2013, 16:08

разницы почти нет между активными или пассивными фильтрами
https://www.google.com.ua/search?q=расчет+фнч+фильтры+на+пассивных+rc+цепях&oq=расчет+фнч+фильтры+на+пассивных+rc+цепях

PS и мне побоку твои понятия отмазок)))) твой уровень в этом вопросе прояснился много сообщений назад...

Re: Расчет рекурсивного ФНЧ

Dmitry__ » 07 май 2013, 22:18

Отмазчек. По твоей псевдо ссылке:
Пассивные RC имеют вещественные отрицательные полюсы (и вещественные нули, если они есть). Фильтры Чебышева, Баттерворта и пр. канонические х-ки на пассивных RC цепях реализовать невозможно. Программу городить вроде бы смысла не было. А вообще, в свете этого, каковы ваши требования по АЧХ/ФЧХ ?

http://electronix.ru/forum/lofiversion/ ... 48840.html

Здравствуй дерево, 2-й раз :)
Ах да, для тебя нет разницы
Romikgy писал(а):почти нет между активными или пассивными фильтрами


Спецыалист в области связи :D

Re: Расчет рекурсивного ФНЧ

AndreW82 » 08 май 2013, 13:04

Многа букф, а дела мало... 8)
Попробуй мой фильтр (делал для фильтрации ЭКГ).
FIR фильтр 36-го порядка, частота среза 35 Гц.

Код: Выделить всёРазвернуть
/*
* Filter Coefficients (C Source) generated by the Filter Design and Analysis Tool
*
* Generated by MATLAB(R) 7.3 and the Filter Design Toolbox 4.0.
*
* Generated on: 08-May-2013 12:56:14
*
*/

/*
* Discrete-Time FIR Filter (real)
* -------------------------------
* Filter Structure  : Direct-Form FIR
* Filter Length     : 37
* Stable            : Yes
* Linear Phase      : Yes (Type 1)
* Arithmetic        : fixed
* Numerator         : s16,15 -> [-1 1)
* Input             : s16,15 -> [-1 1)
* Filter Internals  : Full Precision
*   Output          : s32,30 -> [-2 2)  (auto determined)
*   Product         : s29,30 -> [-2.500000e-001 2.500000e-001)  (auto determined)
*   Accumulator     : s32,30 -> [-2 2)  (auto determined)
*   Round Mode      : No rounding
*   Overflow Mode   : No overflow
*
* Implementation Cost
* Number of Multipliers : 37
* Number of Adders      : 36
* Number of States      : 36
* MultPerInputSample    : 37
* AddPerInputSample     : 36
*/

/* General type conversion for MATLAB generated C-code  */
#include "tmwtypes.h"
/*
* Expected path to tmwtypes.h
* D:\Program Files\MATLAB\R2006b\extern\include\tmwtypes.h
*/
const int BL = 37;
const int16_T B[37] = {
     -846,    657,    574,    515,    396,    178,   -133,   -490,   -807,
     -982,   -914,   -537,    163,   1135,   2271,   3414,   4394,   5053,
     5287,   5053,   4394,   3414,   2271,   1135,    163,   -537,   -914,
     -982,   -807,   -490,   -133,    178,    396,    515,    574,    657,
     -846
};

Вот его АЧХ... на частоте 50 Гц подавление в 60 дБ.

filter.GIF
filter.GIF (5.36 КиБ) Просмотров: 3191

Re: Калибровка нуля АЦП AD7792 (бывшая "Расчет рекурсивного

Radist » 23 май 2013, 19:34

За это время приобрел AD7792, спаял отладочную плату и начал изучать девайс. В целом все работает, но есть тонкие моменты, по которым нужна помощь. Но сперва введу в курс дела. В АЦП есть схема смещения, привязывающая диф. сигнал напряжения к половине питания (можно привязать к первому или второму каналу или отключить ее). И есть два режима калибровки - внутренняя и системная, калибровка нуля и максимума. Системная калибровка - с использованием извне подаваемых сигналов, а вот внутренняяя - с использованием внутренних цепей АЦП. С калибровкой максимумов проблем нет - все получается и есть стабильность во времени и температуре. А вот с калибровкой нуля не здорово. Если я подключаю внутреннее смещение, то при калибровке все поправки равны 8000 (это середина кодов АЦП в биполярном режиме). При этом значения, получаемые при измерении нуля не совпадают с этим числом (и не должны). Замечено, что отличные от 8000 числа появляются только тогда, когда отключена схема смещения, но без нее же нельзя. Кроме того, полученные измерением нуля числа не имеют временной стабильности (вчера одни, сегодня другие). Подал смещение снаружи от опорника - внутренняя калибровка снова выдает 8000, измерение нуля дает лучшее значения (очень близкие к нулю), и есть температурная стабильность. Временную стабильность проверю в понедельник. Вопрос к коллективному разуму: если вы работали с этим АЦП - была ли у вас такая проблема? Если была, то как побороли? Сорри за сумбурное описание, но АЦП достаточно непрост, кто в теме - тот поймет. Гугление не помогло - такую проблему еще никто не описывал. По идее если временная стабильность подтвердится, то мне не понадобятся внутренние калибровки, можно будет жить на системных, но хочется понять, что я делаю не так.


Rambler\'s Top100 Mail.ru counter