Michel 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба Давно интересует следующий вопрос. В отечественной литературе, в которой рассматриваются цифровые нерекурсивные (с конечной импульсной характеристикой) фильтры, достаточно подробно и четко описаны методы расчета коэффициентов импульсной характеристики. Однако вопрос выбора порядка (числа коэффициентов импульсной характеристики) либо совсем пропущен, либо описан общими фразами (например, на основе метода линейного программирования). Если кто в своей практике использовал цифровые фильтры, поделитесь опытом - по какой формуле можно определить (или хотя бы оценить) порядок фильтра или по какой методике его выбирать. Если укажите ссылку на литературу, будет просто замечательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Himer 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба Я использовал функции из MATLAB. Они описаны в книге Сергиенко Цифровая обработка сигналов. http://www.books.ru/shop/books/29769. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new6666 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба А существует ли где(и доступна ли) книжечка(или ссылка в инете) где описано, как всю эту богодельню можно посчитать ручками, на бумажке? Ну захотелось мне изменить коэффициент прямоугольности у фильтра, или неравномерность ГВЗ меня не устраивает - я книжечку открыл(а там глядишь и по памяти) и хотя бы прикинул все эти причиндалы на листочке. P/S: Рабинера с Гоулдом не предлагать. Впрочем, этих друзей сейчас и не купить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба <как всю эту богодельню можно посчитать ручками, на бумажке?> Если так охото руками, чего в КИХ считать. Имеете импульсную, тупо дискретизируете на разрядность коэфф. по амплитуде, по времени делите на кол-во коэфф. Можно и через Z-преобразование, но оно нужно? И вообще, если это ради академического эксперимента, тогда правильно, ну а если Вы думаете что MatLab это криво делает, то сильно заблуждаетесь. Там можно без проблем получить нужный фильтр посредством sptool, далее уточнив структуру фильтра вытащить коэфф хош для КИХ хош для десятка видов БИХ. Более того с помощью другой утилитки (не помню название) можно рассмотреть АЧХ,ФЧХ и т.п. в зависимости от арифметики и разрядности. <P/S: Рабинера с Гоулдом не предлагать. Впрочем, этих друзей сейчас и не купить. > А чего ее покупать, она на ФТП валяется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба О-о, не обратил сперва внимания ссылку на книгу. Книжка супер! В ней кстати все эти тонкости как раз по средством MatLab рассматриваются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AllSeeker 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба Если хочеш узнать как выбрать порядок фильтра, то необходимо читать книги по аналоговой схемотехники. Там целые главы посвещаны характеристикам и параметрам фильтров. Выбрав необходимые параметры фильра (Тип фильтра, коэффициент передачи, частоты среза, затухание и. т.д) очени легко получить все необходимые данные для цифрового фильтра в том часле и порядок фильтра. В Maltabe хорошо реализована возможность расчета фильтров. Там даже автоматом структуру получить можно, но если хочеш действотельно понять то почитай немного теорию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new6666 0 16 декабря, 2004 Опубликовано 16 декабря, 2004 · Жалоба К 3,14 Конечно ради академического экспиремента, ну и ради понимания техпроцесса. А на FTP меня, увы, не пускают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Michel 0 17 декабря, 2004 Опубликовано 17 декабря, 2004 · Жалоба Благодарен всем за ответы. Ну а теперь по порядку. Использование MatLaba для вычисления параметров цифрового фильтра конечно удобно и, в ряде случаев (а может быть и в большинстве), когда фильтр применяется для обработки определенного сигнала, это и целесообразно. Но в моей задаче это не подходит. Программа регистрирует различные сигналы (с различным спектром) в заданном диапазоне частот. В программе предусмотрена секция, где пользователь (оператор) сам задает параметры АЧХ фильтра, а программный модуль должен вычислять коэффициенты импульсной характеристики. Книгу Сергиенко встречал на книжных полках, но пока до нее не дошел. Если кто ею обладает или изучал в ней данный раздел скажите - описан ли там метод расчета или там указано как работать с соответствующими функциями MatLaba. Если хочеш узнать как выбрать порядок фильтра, то необходимо читать книги по аналоговой схемотехники. Там целые главы посвещаны характеристикам и параметрам фильтров. Выбрав необходимые параметры фильра (Тип фильтра, коэффициент передачи, частоты среза, затухание и. т.д) очени легко получить все необходимые данные для цифрового фильтра в том часле и порядок фильтра. Насколько я помню в литературе описан метод, в котором мы сначала определяем параметры аналогового фильтра, а затем определенным способом переходим к цифровому рекурсивному фильтру (с бесконечной импульсной характеристикой). Как перейти к фильтру с конечной импульсной характеристикой я, честно говоря, не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 17 декабря, 2004 Опубликовано 17 декабря, 2004 · Жалоба <...описан ли там метод расчета или там указано как работать с соответствующими функциями MatLaba.> Это учебник для ВУЗов, просто помимо теории там приводятся примеры на Matlab, суть численных методов матлаба ест-но не раскрывается. <Программа регистрирует различные сигналы (с различным спектром) в заданном диапазоне частот. В программе предусмотрена секция, где пользователь (оператор) сам задает параметры АЧХ фильтра, а программный модуль должен вычислять коэффициенты импульсной характеристики.> Я думаю в Вашем случаее самое оптимальное решение - ДПФ. Не забывайте, хотя КИХ и всегда устойчив, все-таки его АЧХ зависит от разядности. Неравномерность АЧХ в полосе будет постоянно плавать, "фронт" и "спад" то же. Про ФЧХ вообще молчу. И потом, сам алгоритм будет весьма запутаным. Да и приличного коэфф. прямоугольности тоже не стоит ожидать. <Насколько я помню в литературе описан метод, в котором мы сначала определяем параметры аналогового фильтра> самое главное в фильтростроении - получить импульсную характеристику (сам фильтр осуществляет свертку импульсной и сигнала). <Как перейти к фильтру с конечной импульсной> Самый тупой способ я выше описывал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AllSeeker 0 17 декабря, 2004 Опубликовано 17 декабря, 2004 · Жалоба >>Насколько я помню в литературе описан метод, в котором мы сначала определяем параметры аналогового фильтра, а затем определенным способом переходим к цифровому рекурсивному фильтру (с бесконечной импульсной характеристикой). Как перейти к фильтру с конечной импульсной характеристикой я, честно говоря, не знаю. <{POST_SNAPBACK}> Когда выбирается фильтр получается передаточная функция из которой формируются звенья цифрового фильтра, а порядок количество звеньев. т. е. фактически фильтр N го порядка строется из N звеньев (или N/2 если звено второго порядка). Проблема рекурсивного фильтра заключается в упрощении звена представив его суммой множеств произведений. В вашем случае такой метод сомнителен и я согласен с "3.14". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Michel 0 20 декабря, 2004 Опубликовано 20 декабря, 2004 · Жалоба Метод ДПФ не подходит. Требуется непрерывное отображедние входного сигнала и сигнала с выхода фильтра (сигналы низкочастотные). С использованием ДПФ сигнал будет отображаться секциями - сначала накопление секции входных отсчетов, преобразования/обработка и отображение секции. По поводу предложенных методов немного не уловил. для 3.14 Допустим мы имеем непрерывную во времени функцию импульсной характеристики. <тупо дискретизируете на разрядность коэфф. по амплитуде> Я так понял дискретизируем ее по уровню. Шаг квантования выбираем с учетом разрядности коэффициентов импульсной характеристики. Далее <по времени делите на кол-во коэфф> Опять же как я понял надо оценить время, когда импульсная характеристика приблизится к нулю до какого-то порога. И это время надо разделить на число коэффициентов импульсной характеристики цифрового фильтра. Но число этих коэффициентов нам как-раз и надо определить. для AllSeeker Давайте рассмотрим на примере ФНЧ Батерворта 2-го порядка. Определяем его передаточную функцию (непрерывная функция). Из нее <формируются звенья цифрового фильтра>. Как я понял звено - это коэффициент импульсной импульсной характеристики и элемент задержки на 1 такт Z^(-1) Если можно объясните поподнее как производится расчет колличества и параметров этих звеньев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AllSeeker 0 20 декабря, 2004 Опубликовано 20 декабря, 2004 · Жалоба >> Давайте рассмотрим на примере ФНЧ Батерворта 2-го порядка. Определяем его передаточную функцию (непрерывная функция). Из нее <формируются звенья цифрового фильтра>. Как я понял звено - это коэффициент импульсной характеристики и элемент задержки на 1 такт Z^(-1). Немного не так. Если рассматривать фильтр первого порядка (обычная RC цепочка) то передаточная функция A(s) = A0/(1+a*s) и звено действительно описывается как элемент задержки на 1 такт Z^(-1). Передаточная функция фильтра второго порядка A(s) = A0/(1+a*s+b*s*s) и звено содержит несколько линий задержек. В зависимости от типа преобразований количество и структура звена меняется (для звена 2-го порядка от 2-х элементов задержки до 4-х). Звенья 2-го порядка очень тяжко расписывать их много и они разные. Я вижу, фильтры первого порядка понятны на них и поясню. Фильтр 2-го порядка есть не что иное как 4 последовательно включённых фильтра 1-го порядка. Соответственно получаем четыре последовательно включенных элемента задержки. P. S. Старался упростить себе жизнь как мог :) (такое ощущение - перестарался). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 21 декабря, 2004 Опубликовано 21 декабря, 2004 · Жалоба to Michel Я так вижу теперь Вас на БИХ потянуло. Учтите, теперь к той куче гемороя описываемой ранее прибавляется неустойчивость вызванная округлениями коэфф. Да и АЧХ ФЧХ будет еще сильнее зависить от них же. Может Вам заранее просчитать и проанализировать весь ряд БИХ фильтров с шагом по частоте и залить их во внешнюю флешку типа DataFlash. По времени у Вас расчет всяко больше займет. to AllSeeker <Фильтр 2-го порядка есть не что иное как 4 последовательно включённых фильтра 1-го порядка. Соответственно получаем четыре последовательно включенных элемента задержки.> Как то это странно звучит, всю жизнь было - "Фильтр первого порядка обеспечивает затухание в 10дБ на декаду, второго 20дБ..". Зачем 4? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AllSeeker 0 22 декабря, 2004 Опубликовано 22 декабря, 2004 · Жалоба 3.14: Как то это странно звучит, всю жизнь было - "Фильтр первого порядка обеспечивает затухание в 10дБ на декаду, второго 20дБ..". Зачем 4? - А оно и сейчас так. :). Я конечно извиняюсь, что заведомо, но без злого умысла выдал ошибку. Два там звена! Обидно, что Michel не как не отреагировал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Michel 0 22 декабря, 2004 Опубликовано 22 декабря, 2004 · Жалоба Для AllSeeker. Чувствую мы как-то переключились на другую тему. Вовремя не заметил. что перешли на расчет рекурсивных (БИХ) фильтров. Но основной принцип расчета понял. Все же вопрос выбора числа коэффициентов импульсной характеристики нерекурсивного фильтра остается актуальным. По поводу того, что не отреагировал - не было возможности просмотреть сообщения форума, но чувствую разобрались, добавить нечего. Для 3.14 Не в плане спора - чувствую, что не до конца все понимаю. В частности, нерекурсивные ФНЧ фильтры имеют линейную ФЧХ, АЧХ (в том числе и ширину переходной полосы) задаем сами (например, по методу частотной выборки), если выберем достаточную разрядность регистров, то можем получить приемлимую точность вычисления. Алгоритм вычисления коэффициентов импульсной характеристики четко определен. В чем может быть проблема. Неравномерность АЧХ есть, от нее никуда не дется. Меня и интересует зависимость уровня пульсаций от ширины переходной полосы и числа коэффициентов импульсной характеристики и как производится выбор и этого числа на практике. P.S. В очередной раз пересматривал сообщения форума и по ходу дела возник небольшой вопрос. Дело в том, что в силу определенных причин приходилось работать в Mathcade, а до изучения MathLaba пока не дошли руки, хотя знаю, что это достаточно это мощный инструмент. В качестве ликбеза скажите какие параметры мы задаем на входе функции по расчету цифровых фильтров, а какие получаем на выходе. А то я смотрел описание sptool (правда бегло) и честно говоря доконца не разобрался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться