|
Цифровые фильтры, помогите разобраться |
|
|
|
Nov 10 2010, 13:33
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 1-12-06
Пользователь №: 23 016

|
Все вроде понятно по фильтрам. Задаешь частоты расчитываешь коэффициенты. Поэтому вопросы у меня как обычно чисто практические...
x(n)=входной массив выборок АЦП (n=0…1023) y(n)=выходной массив
стандартная формула Баттерворта на которую натыкаешься всюду:
y(n)=( a0*x(n)+a1*x(n-1)+a2*x(n-2) - (b1*y(n)+b2*y(n-1)) )
так вот не могу понять как при начальном значении первого(нулевого) значения выборки по адресу x(0) может быть a1*x(n-1) запрашивается значение из массива x(0-1) этот же выход из диапазона массива? Массив от 0 до 1023 –> 1024 выборки сделал значения по порядку:
y(n)=( a0*x(n)+a1*x(n+1)+a2*x(n+2) - (b1*y(n)+b2*y(n+1)) )
все заработало для ФВЧ, а для ПФ не работает толи коэффициенты не правильно подставляю, толи формула другая для ПФ там просто коэффициентов больше 5 вроде поэтому делаю так
y(n)=( a0*x(n)+a1*x(n+1)+a2*x(n+2)+ a3*x(n+3)+ a4*x(n+4) - (b1*y(n)+b2*y(n-1)+ b3*y(n+2)+b3*y(n+3)))
видел и такую формулу где-то:
y(n)=( a0*x(n)+2*a1*x(n-1)+a2*x(n-2) - (b1*y(n)+b2*y(n-1)) )
В общем полная каша в голове, может для Чебышева иначе делается, подскажите плиз…
Сообщение отредактировал TViT - Nov 10 2010, 13:34
|
|
|
|
|
 |
Ответов
|
Nov 12 2010, 07:34
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 1-12-06
Пользователь №: 23 016

|
TSerg Это если быстро сказать. На самом деле привел все к соответствию формулы, взял алгоритм из DSPlib AVR32 переписал на VB, а так как там через указатели, то я просто применил возможность игнорировать ошибки на VB результаты абсолютно одинаковые что на МК передаю массив и результат обратно что через VB на компе можно конечто через смещение сделать как в примере от Джеймс.
DSPlib коэффициенты через Scilab расчитываются поэтому с этим разбираюсь от Матлаба не подходят, толи что-то не так делаю. Только из ciirf1 подходят коэффициенты.... Вот такие пироги.
Сообщение отредактировал TViT - Nov 12 2010, 07:37
|
|
|
|
Сообщений в этой теме
TViT Цифровые фильтры Nov 10 2010, 13:33 Джеймс Алгоритм одинаковый что для ФВЧ, что для ПФ. Меняю... Nov 10 2010, 18:07 TViT Джеймс Да вобщем и у меня так там последовательно ... Nov 10 2010, 19:53 DRUID3 Цитата(TViT @ Nov 10 2010, 15:33) так вот... Nov 11 2010, 02:11 TViT ...Понимаю что гдето моя ошибка... Продумаю по вни... Nov 11 2010, 08:05 TViT Все разобрался просто игнорирую ошибку выход из ди... Nov 11 2010, 10:45 TSerg Занятное решение. Nov 11 2010, 11:39 bahurin Цитата(TViT @ Nov 12 2010, 10:34) TSerg Э... Nov 13 2010, 06:40 TSerg Я - пас.
Мой мозг отказался перевести сообщение №8... Nov 13 2010, 08:20 TViT Вам язык почесать негде? Или я что-то грубое сказа... Nov 13 2010, 08:24 bahurin Цитата(TViT @ Nov 13 2010, 11:24) Вам язы... Nov 13 2010, 11:36  DRUID3 Цитата(bahurin @ Nov 13 2010, 13:36) беги... Nov 14 2010, 06:02   bahurin Цитата(DRUID3 @ Nov 14 2010, 09:02) ...а ... Nov 14 2010, 06:31    DRUID3 Цитата(bahurin @ Nov 14 2010, 08:31) Непр... Nov 14 2010, 07:17     bahurin Цитата(DRUID3 @ Nov 14 2010, 10:17) Давай... Nov 14 2010, 08:01 TViT ЦитатаЭто что еще за агрессия? Вообще то это у вас... Nov 14 2010, 12:35 bahurin Цитата(TViT @ Nov 14 2010, 15:35) А что м... Nov 14 2010, 13:17 TViT В том то и дело что Матлаб не купленый... Мне поку... Nov 14 2010, 13:56 bahurin Код понять не могу, т.к. на VB не пишу. Но одно к... Nov 14 2010, 14:32  AlikM Цитата(bahurin @ Nov 14 2010, 17:32) Но о... Nov 16 2010, 21:40 TViT вот тот же код на Си из AVR32 DSPlib:
Код {
int... Nov 14 2010, 15:02 bahurin Не видел таких конструкций.
не понятен смысл
Код... Nov 14 2010, 15:21 TViT Как ни странно все работает. Думаю так для произво... Nov 15 2010, 16:01 bahurin NUM[MWSPT_NSEC][3] это B (числитель)
DEN[MWSPT_NS... Nov 15 2010, 16:27 PetrovichKR ЦитатаИнтересно, это где же так принято и по каким... Nov 17 2010, 04:44 TViT Ребят кто разбирается в Scilab помогите еще, нужно... Dec 18 2010, 05:55 lisstret ЦитатаУ фильтра принято обозначать к-ты числителя ... Dec 19 2010, 20:52 TViT Все понятно с коэффициентами. Подскажите по сущест... Dec 20 2010, 13:24 TViT Нашел функцию casc — cascade realization of filter... Dec 22 2010, 04:17 PetrovichKR ЦитатаМне кажется что он писал так, как было приня... Dec 22 2010, 07:38 bahurin Цитата(PetrovichKR @ Dec 22 2010, 13:38) ... Dec 23 2010, 05:01 TViT Вот описание функции:
Кодfunction cels=casc(x,... Dec 23 2010, 16:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|