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

 
 
> Цифровая коррекция АЧХ, что-то типа цифрового фильтра, Необходимо скорректировать АЧХ аналоговой схемы в цифре
MSP430F
сообщение Jun 11 2014, 11:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911



Всем доброго времени суток!
Коллеги, помогите пожалуйста. Такая вот задача.
Реализовал в цифре полосовой фильтр 50-250 Гц с крутизной спада -50 дБ/октава с пульсацией в полосе пропускания 0,15 дБ и срезом на границах полосы пропускания на этом же уровне (ФНЧ с частотой среза 250 Гц + ФВЧ с частотой среза 50 Гц). Частота дискретизации = 1250 выб/с. И тут выясняется, что аналоговая часть схемы, с которой на АЦП приходит сигнал имеет АЧХ как на рисунке ниже.



В цифрах это выглядит так:
F, Гц A, дБ
50 -1.072
60 -0.726
70 -0.502
80 -0.352
90 -0.242
100 -0.165
110 -0.107
120 -0.066
130 -0.036
140 -0.016
150 -0.004
160 0.000
До 250 Гц 0 дБ сохраняется. АЧХ объясняется в основном наличием конденсаторов не очень высокой емкости в цепи прохождения сигнала. Необходимо эту АЧХ нейтрализовать в цифре.
Было предложение подкрутить коэффициенты фильтра ФВЧ (тот, который на 50 Гц), но мне этот вариант как-то не очень нравится, так как фильтр эллиптический 5-го порядка, коэффициентов в нем 14 штук, рассчитаны с помощью fdatool в Матлабе и что и как крутить не ясно, да и стремно как-то – может и зазвенеть фильтр.
Более приемлемым кажется добавление некого корректирующего цифрового звена. Вот только как его рассчитать ? Еще момент. Экстраполяция в Excel этого графика АЧХ показала, что на частоте 25 Гц спад будет около -2,5 дБ. Если корректирующее звено даст такой же подъем, это не страшно, так как запас по крутизне небольшой есть. Но вот на более низких частотах что будет ? То есть было бы очень желательно, чтобы корректирующее звено давало необходимый подъем на 1.072 дБ на 50 Гц, а на более низких частотах этот подъем не превышал бы +2..+3 дБ. Понятно, что в точности скомпенсировать АЧХ вряд ли возможно, даже результируюшие -0,3 дБ на 50 Гц вместо имеющихся -1,072 дБ было бы очень хорошо!
Подскажите, как мне рассчитать такое корректирующее звено ? (а то проект уже горит).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Fat Robot
сообщение Jun 11 2014, 12:20
Сообщение #2


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Там где ваш аналоговый фильтр ослабляет, корректирующий цифровой должен усиливать.

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

doc fdesign.arbmag

или в fdatool найти опцию Arbitrary Magnitude

А затем те пожелания по АЧХ, которые вы здесь так подробно изложили, нужно в формальном виде сообщить матлабу.

Можно совместить функцию корректора ачх с вашим эллиптическим фвч (я бы поступил именно так), задав результирующую ачх, а можно сделать отдельное звено.
Go to the top of the page
 
+Quote Post
MSP430F
сообщение Jun 16 2014, 09:51
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911



Цитата(Fat Robot @ Jun 11 2014, 16:20) *
Там где ваш аналоговый фильтр ослабляет, корректирующий цифровой должен усиливать.

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

doc fdesign.arbmag

или в fdatool найти опцию Arbitrary Magnitude

А затем те пожелания по АЧХ, которые вы здесь так подробно изложили, нужно в формальном виде сообщить матлабу.

Можно совместить функцию корректора ачх с вашим эллиптическим фвч (я бы поступил именно так), задав результирующую ачх, а можно сделать отдельное звено.


Спасибо за совет.
Вот наконец-то кончились праздники и я занялся MATLABом. Решил сделать корректирующее звено.
Нашел в fdatool опцию Arbitrary Magnitude. Чуть модифицировал default пример и получил фильтр 2-го порядка с похожей на желаемую формой АЧХ. Форма-то похожа, но точность 0,5 дБ, так как я менял в Freq vector, Freq edges, Mag vector, Weight vector только те 4 элемента, которые там и были. Догадываюсь, что надо загнать в них все мои точки желаемой АЧХ, которых 12 штук.
Даже привел частоты к нормальному виду (в частоте Найквиста) и усиление в 1, а не в дБ. Получил вот что:
частоты 0.08 0.096 0.112 0.128 0.144 0.16 0.176 0.192 0.208 0.224 0.24 0.256
усиление 1.131 1.087 1.059 1.041 1.028 1.019 1.012 1.008 1.004 1.002 1.000 1.000 .

Вот только не понимаю и гугл мне не помог, как все эти четыре вектора ( Freq vector, Freq edges, Mag vector, Weight vector ) правильно оформить с моими данными ???

Сообщение отредактировал MSP430F - Jun 16 2014, 09:52
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:04
Рейтинг@Mail.ru


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