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

 
 
> Как можно уменьшить реакцию на ступеньку в цифровом фильтре ?
MSP430F
сообщение Nov 25 2013, 12:29
Сообщение #1


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

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



Всем доброго времени суток!
Вот такая задача, коллеги.
Спроектрировал цифровой БИХ ФВЧ. Частота дискретизации 800 Гц, частота среза 0,5 Гц. Полоса частот 0,5 - 300 Гц. Крутизна спада - 48 дБ/октава. Чебышев II рода 6-го порядка. Коэффициенты и вся арифметика будет с двойной точностью (double), так что с устойчивостью, думаю, будет все в порядке. По любому, полюса - внутри единичной окружности. Пытался КИХ-фильтр посмотреть, там получается порядок 6500, отношение коэффициентов 8 порядков (десятичных !), так что опять только double, а контроллер нужен небольшой, вобщем, не прокатило.

Речь, собственно, вот о чем. Переходная характеристика фильтра (реакция на ступеньку) получилась весьма затянутая. А заказчик требует, чтобы ее в идеале вообще не было. Короче, надо как-то ее задавить. Типа сдемпфировать. Только как ? Репу чешу, ничего путного в голову не приходит. Но допускается сделать задержку сигнала. Типа оценили за 1-2 секунды текущее временное окно, скорректировали, и потом выдали на выход с той же частотой 800 Гц. И так непрерывно. Вот только это и придумал пока. А что же это должен быть за хитрый такой алгоритм демпфирования, не соображу ?



На графике - реакция фильтра на ступеньку.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Nov 25 2013, 14:04
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Замените Чебышева на Бесселя. При той же длине ПХ не будет переколебаний, но порядок фильтра возрастет.
Насколько я понимаю, для БИХ Бессель будет приближенный, но ПХ без переколебаний получить можно. А вот нулевой длины - нельзя даже теоретически.
Go to the top of the page
 
+Quote Post
MSP430F
сообщение Nov 25 2013, 14:28
Сообщение #3


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

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



Цитата(V_G @ Nov 25 2013, 18:04) *
Замените Чебышева на Бесселя. При той же длине ПХ не будет переколебаний, но порядок фильтра возрастет.
Насколько я понимаю, для БИХ Бессель будет приближенный, но ПХ без переколебаний получить можно. А вот нулевой длины - нельзя даже теоретически.


Да, это мысль. Но как в MATLAB рассчитать цифровой фильтр Бесселя ? Так как список доступных в fdatool БИХ фильтров:
buterwort
chebishev1
chebishev2
elliptic
max flat
least P-norm
const least P-norm

Нет там Бесселя...
Go to the top of the page
 
+Quote Post
andyp
сообщение Nov 25 2013, 15:28
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(MSP430F @ Nov 25 2013, 18:28) *
Да, это мысль. Но как в MATLAB рассчитать цифровой фильтр Бесселя ? Так как список доступных в fdatool БИХ фильтров:
buterwort
chebishev1
chebishev2
elliptic
max flat
least P-norm
const least P-norm

Нет там Бесселя...


Рассчитайте аналоговый прототип с besself а затем натравите билинейное преобразование bilinear. Болтанки в ИХ не будет, но будет пузырь, похожий на гауссовский колокол. Используйте tf2sos для того, чтобы получить секции 2-го порядка. Можете еще butterworth попробовать - он дребезжит, но слабо.
Забыл, еще потребуется lp2hp для преобразования прототипа в ФВЧ.

Сообщение отредактировал andyp - Nov 25 2013, 15:40
Go to the top of the page
 
+Quote Post
MSP430F
сообщение Nov 27 2013, 11:03
Сообщение #5


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

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



Цитата(andyp @ Nov 25 2013, 19:28) *
Рассчитайте аналоговый прототип с besself а затем натравите билинейное преобразование bilinear. Болтанки в ИХ не будет, но будет пузырь, похожий на гауссовский колокол. Используйте tf2sos для того, чтобы получить секции 2-го порядка. Можете еще butterworth попробовать - он дребезжит, но слабо.
Забыл, еще потребуется lp2hp для преобразования прототипа в ФВЧ.


Попробовал и в MATLAB, и в Nuhertz рассчитать фильтр Бесселя. Плохо все. Крутизна спада никакая даже у 20 порядка, хотя MATLAB не рекомендует и выше 20-го. Самый прикол, что реакция на ступеньку у такого фильтра ничуть не лучше, чем на картинке в первом посте темы.
Go to the top of the page
 
+Quote Post
V_G
сообщение Nov 27 2013, 14:12
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(MSP430F @ Nov 27 2013, 21:03) *
Самый прикол, что реакция на ступеньку у такого фильтра ничуть не лучше, чем на картинке в первом посте темы.

Да, я ошибался, переколебаний нет у ФНЧ Бесселя, но не у ФВЧ.
Сравнил ФВЧ Чебышева 11 порядка и Бесселя 20 порядка с одинаковыми частотами среза. При подаче ступеньки длительность переколебаний у второго короче раз в 5, так что это совсем не ничуть.

При подаче ступеньки на ФВЧ переколебания будут присутствовать принципиально у любого фильтра, задача их минимизировать.

Теоретически наличие переколебаний объясняется следующим образом.
ПХ является интегралом от импульсной характеристики (ИХ). Переколебаний в ИХ ФВЧ и любого фильтра с нулевым коэффициентом передачи на постоянном токе не избежать: сумма коэффициентов любого цифрового фильтра равна коэффициенту передачи на постоянном токе. Т.е. отрицательных и положительных коэффициентов будет примерно поровну. При интегрировании (получении ПХ из ИХ) ситуация изменится мало.

Возможно, вам следует сосредоточиться на других характеристиках фильтра, почему зацепились за переходную?

ЗЫ. Всего одно переколебание будет давать ФВЧ аналог фильтра со скользящим средним (CIC). Он будет иметь дурную ЧХ, но считаться очень легко: 3 или 4 операции сложения-вычитания на отсчет, независимо от интервала усреднения.
Go to the top of the page
 
+Quote Post
MSP430F
сообщение Nov 27 2013, 16:47
Сообщение #7


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

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



Цитата(V_G @ Nov 27 2013, 18:12) *
Возможно, вам следует сосредоточиться на других характеристиках фильтра, почему зацепились за переходную?


Ну, если бы не переходная, то и темы бы не было. sm.gif Просто есть такое пожелание у руководителя проекта. Похоже, что невыполнимое. А у фильтра Бесселя 20-го порядка у меня получилось на 0,5 Гц -3 дБ, а на 0,25 Гц (октава вниз) аж целых -13 дБ. Да, конечно, на частотах ниже все в порядке, теоретические 6 дБ на порядок выполняются, но там они уже и не нужны. У Бесселя очень плохой (плавный) переход АЧХ от полосы пропускания к полосе задерживания.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MSP430F   Как можно уменьшить реакцию на ступеньку в цифровом фильтре ?   Nov 25 2013, 12:29
- - andyp   Длина ИХ и крутизна спада АЧХ - взаимосвязанные па...   Nov 25 2013, 13:33
|- - MSP430F   Цитата(andyp @ Nov 25 2013, 19:28) Рассчи...   Nov 25 2013, 17:56
||- - andyp   Цитата(MSP430F @ Nov 25 2013, 21:56) Как-...   Nov 25 2013, 18:35
- - Alex11   Посмотрите на такое шаманство: Кодdouble DigFil...   Nov 25 2013, 22:34
- - soldat_shveyk   Ну, не надо так фатально и безысходно. Не стоит за...   Nov 27 2013, 11:20
|- - MSP430F   Цитата(soldat_shveyk @ Nov 27 2013, 15:20...   Nov 27 2013, 12:23
|- - rudy_b   Цитата(soldat_shveyk @ Nov 27 2013, 15:20...   Nov 28 2013, 06:38
|- - Tanya   Цитата(rudy_b @ Nov 28 2013, 10:38) Совер...   Nov 28 2013, 07:27
- - ViKo   Нужно следить за сигналом, и если он резко изменил...   Nov 27 2013, 12:05
- - rudy_b   Вы получите разное поведение системы при ступенька...   Nov 28 2013, 10:08
|- - MSP430F   Цитата(rudy_b @ Nov 28 2013, 14:08) Но ТС...   Nov 28 2013, 12:07
|- - rudy_b   Цитата(MSP430F @ Nov 28 2013, 16:07) ...Е...   Nov 28 2013, 19:54
- - Edashkin   Если бы такая задача стояла передо мной, недолго д...   Nov 30 2013, 15:04
|- - MSP430F   Цитата(Edashkin @ Nov 30 2013, 19:04) Есл...   Nov 30 2013, 16:11
- - polyakovav   Может отфильтровать 0.5 Гц CIC-фильтром с корректо...   Nov 30 2013, 17:53
|- - MSP430F   Цитата(polyakovav @ Nov 30 2013, 21:53) М...   Nov 30 2013, 19:29
- - V_G   Я писал именно про это на предыдущей странице: ФВЧ...   Dec 1 2013, 04:56
- - rudy_b   Ну, ежели человеку так уж нужна частотка, то есть ...   Dec 1 2013, 11:59
|- - shf_05   ТС, советую Вам почитать про эффект Гиббса, станет...   Dec 3 2013, 04:23
|- - Tanya   Цитата(shf_05 @ Dec 3 2013, 08:23) как уж...   Dec 3 2013, 05:29
|- - MSP430F   Цитата(shf_05 @ Dec 3 2013, 08:23) для ва...   Dec 3 2013, 06:41
|- - Tanya   Цитата(MSP430F @ Dec 3 2013, 10:41) Возмо...   Dec 3 2013, 07:07
||- - MSP430F   Цитата(Tanya @ Dec 3 2013, 11:07) Так про...   Dec 3 2013, 07:45
|- - shf_05   ИМХО- 1. в аналоге получить 48дБ это слишком крут...   Dec 3 2013, 08:46
|- - rudy_b   Цитата(MSP430F @ Dec 3 2013, 10:41) ...Пр...   Dec 3 2013, 15:54
- - Corner   Уменьшить выброс можно только каскадированием мало...   Dec 3 2013, 16:58
|- - V_G   Цитата(Corner @ Dec 4 2013, 02:58) Уменьш...   Dec 3 2013, 17:43
|- - Corner   Цитата(V_G @ Dec 3 2013, 21:43) Каким обр...   Dec 4 2013, 16:04
|- - V_G   Цитата(Corner @ Dec 5 2013, 02:04) Вы кас...   Dec 5 2013, 01:30
|- - Corner   Цитата(V_G @ Dec 5 2013, 05:30) Не путайт...   Dec 5 2013, 16:02
|- - blackfin   Цитата(Corner @ Dec 5 2013, 20:02) Если с...   Dec 5 2013, 16:45
- - TSerg   Иногда "прямые" или "нелинейные...   Dec 3 2013, 20:12
- - sifadin   Цитата(MSP430F @ Nov 25 2013, 16:29) Всем...   Dec 4 2013, 21:35
- - TSerg   >А что же это должен быть за хитрый такой алгор...   Dec 5 2013, 18:21


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 12:40
Рейтинг@Mail.ru


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