На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 54,
участников - 3 [ ua1nan, muha131, John79]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Программное обеспечение —› Фильтр Бесселя 
Портативные любительские радиостанции Yaesu


Yaesu FT-60R
руб.

Yaesu VX-3R
руб.

Yaesu VX-6R
руб.

Yaesu VX-8DR
руб.

Yaesu FT-1D
руб.
Автор Сообщение
Дата: 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.018; miniBB ®