На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 51,
участников - 6 [ byryndyslik, UB8CFS, Барабашка_Азимут_, melom, СЦБист, kvachkov]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Программное обеспечение —› Фильтр Бесселя 
Новая линейка радиостанций Hytera в нашем магазине


Hytera TC-320
руб.

Hytera TC-508
руб.

Hytera TC-580
руб.

Hytera PD-355
руб.

Hytera X1E
руб.
Автор Сообщение
Дата: 13 Янв 2006 17:41:57 #  

Фильтр Бесселя
Дата: 13 Янв 2006 17:42:24 #  

При попытке написать фильтр Бесселя, по-видимому где-то вру (с завидной регулярностью) при переходе на z плоскость:
// coeffbin - вычисление биноминальных коэффициентыов
// o - нормированная частота
for (k = 0; k <= N; k++) b[k] = coeffbin(N, k)*o;
for (k = 0; k <= N; k++) {
for (l = 0; l <= k; l++) {
for(j = 0; j <= (N - k); j++) {
q = l + j;
x = pow(-1,l)*coeffbin(k, l)*coeffbin(N - k, j);
x *= d[k];
x *= pow(y,k);
a[q] += x;
}
}
}
//d[k] - коэффициенты передаточной ф-ции H(s) = d0/Bn(s) - n - порядок
//фильтра; Bn = SUMMA(0-n)dk*s^k; dk = (2n-k)!/2^(n-k)/k!/(n-k)!;
//b и a - коэфф. передат. ф-ции
//H(z) = (b[0]+ b[1]*z...b[n]*z^n)/(a[0]+a[1]*z+...a[n]*z^n)
Реклама
Google
Дата: 13 Янв 2006 18:17:48 #  

sgkha

Ну и что дальше? Во первых не совсем по теме сайта, во вторых, к примеру я допустим иногда программирую, ну и что? Нет ни какого желания выискивать чьи-то синтиктические, логические ошибки в их произведениях, для этого есть куча форумов по C, С+, С++ и других, где люди готовы и могут помочь, для этого те форумы и созданы, тут со своими бы ошибками разобраться. Одно спросить про алгоритм, а у тебя конкретный код, включай отладчик и ищи сам.
Altair
Участник
Offline3.0
с окт 2003
Омск
Сообщений: 453

Дата: 13 Янв 2006 22:03:29 #  

А вот некоторое время назад "цифровую обработку в широком смысле этого слов" в отдельное направление выделить хотели...

MOOD: с недоумением
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1236

Дата: 14 Янв 2006 00:42:31 #  

При попытке написать фильтр Бесселя, по-видимому где-то вру

1) coeffbin == это что? Свое или готовое?
2) Объясните словами и символами, как это считать, и я помогу сделать это на C.
Дата: 14 Янв 2006 10:41:54 #  

Altair
Нашел я эту тему, там нет ни слова о разборе чужих кодов, поиске ошибок, но дело не в этом, а в том, что, что бы разобраться в чужих ошибках нужно стать соавтором проэкта, а это головняк еще тот, если есть время и желание заниматься этим у dimss то и флаг ему в руки.
Дата: 16 Янв 2006 12:37:31 #  

to all
Приношу извинения за некорректно сформулированный вопрос.
Итак:
H(s) - вычисляю правильно (сравниваю с результатами, получаемыми при помощи готовых пакетов)
Для фильтра Бесселя
H(s) = d0/Bn(s) - n - порядок фильтра; Bn = SUMMA(0-n)dk*s^k; dk = (2n-k)!/2^(n-k)/k!/(n-k)!;
Правильно ли я понимаю, что заменив s->(1-z)/(1+z) я получу H(z)?
Результат практически совпадает с получаемым в пакете (с точностью лучше 3*10^-4), но результат расходится. Если подставить значения из пакета- получается правдоподобный результат.
 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.047; miniBB ®