Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Старый вопрос
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Милливольт
В давние советские времена, но времена цивилизованные, когда разработчики были востребованы и (обычно) выдавали свой продукт, а не перепосты западных работ, ваш покорный слуга "сел" на такой задачке:

Пусть есть идеальный фильтр, ограничивающий полосу сверху. Полоса пропускания 0-100Гц. На его вход подают сигнал 50Гц. Через какое время сигнал с приемлемым, скажем - 0.7, уровнем появится на выходе фильтра?

blackfin
Цитата(Милливольт @ Sep 24 2015, 09:23) *
Пусть есть идеальный фильтр, ограничивающий полосу сверху. Полоса пропускания 0-100Гц. На его вход подают сигнал 50Гц. Через какое время сигнал с приемлемым, скажем - 0.7, уровнем появится на выходе фильтра?

ЕМНИП, T = 1/BW = 1/100 = 0,1 сек.
MSP430F
Цитата(blackfin @ Sep 24 2015, 10:32) *
ЕМНИП, T = 1/BW = 1/100 = 0,1 сек.


Вы не ошиблись с арифметикой ? 1/100 = 0,01 сек.
blackfin
Цитата(MSP430F @ Sep 24 2015, 10:44) *
Вы не ошиблись с арифметикой ? 1/100 = 0,01 сек.

Еще не проснулся, наверное.. biggrin.gif
Милливольт
Ох, не спешите, коллеги! Фильтр-то - идеальный...
MSP430F
Цитата(Милливольт @ Sep 24 2015, 10:56) *
Ох, не спешите, коллеги! Фильтр-то - идеальный...

Я, кажется, догадался! sm.gif
Если фильтр идеальный, то у него отсутствует фазовый сдвиг в полосе пропускания. В таком случае сигнал с частотой 50 Гц появится на выходе с нулевой задержкой.
Fat Robot
Прочитав этот вот перепост с западных работ https://en.wikipedia.org/wiki/Sinc_filter, можно заключить, что задержка будет бесконечной.

Судя по задачке, выдаваемый "продукт" был высочайшего инженерного уровня, конечно.

Цитата(Милливольт @ Sep 24 2015, 07:23) *
В давние советские времена, но времена цивилизованные, когда разработчики были востребованы и (обычно) выдавали свой продукт, а не перепосты западных работ, ваш покорный слуга "сел" на такой задачке:

Пусть есть идеальный фильтр, ограничивающий полосу сверху. Полоса пропускания 0-100Гц. На его вход подают сигнал 50Гц. Через какое время сигнал с приемлемым, скажем - 0.7, уровнем появится на выходе фильтра?
Abell
laughing.gif Если речь идет таки о цифровой обработке сигнала, то минимум 1/2 периода - по переходу через 0. Если форма сигнала идеальная синусоида, то достаточно 1/4.
ViKo
Что такое "подают сигнал 50 Гц"? Ничего не было, и вдруг включили? Так это уже не 50 Гц. Как начинается, в какой фазе? Если сразу в максимум скачет, то отклик фильтра определяется импульсной характеристикой (точнее, переходной). А если в нуле, то будет "плавнее" нарастать. sm.gif
Милливольт
Правильный ответ таков: отклик идеального фильтра на любое воздействие наступит раньше (Sic!) этого самого воздействия. http://www.ngpedia.ru/pngs/082/082Lwda0P5n8B023l339.png
С учетом физической нереализуемости идеального фильтра, хорошим приближением будет признание того, что ничего и никогда через идеальный фильтр не пройдет, ни за какое время... Эти парадоксы были нужны для объяснения того интересного факта, что для оценки величины задержки сложного сигнала, поступающего на реальный фильтр (очень важно для радиолокационных сигналов) необходимо учитывать не только добротность, но и кривую скатов. Потом переход к эффекту Гиббса, типам эллиптических фильтров, Чебышев, Бессель и т.д. Дела давно минувших дней... ностальгия...
Corner
Идеальный фильтр это машина времени. Троль засчитан...
blackfin
Цитата(Милливольт @ Sep 24 2015, 23:34) *
Дела давно минувших дней... ностальгия...

Когда прибегнем мы под знамя
Благоразумной тишины,
Когда страстей угаснет пламя
И нам становятся смешны
Их своевольство иль порывы
И запоздалые отзывы, -
Смиренные не без труда,
Мы любим слушать иногда
Страстей чужих язык мятежный,
И нам он сердце шевелит.
Так точно старый инвалид
Охотно клонит слух прилежный
Рассказам юных усачей,
Забытый в хижине своей.
EvgenyNik
Цитата(Милливольт @ Sep 24 2015, 22:34) *
Правильный ответ таков: отклик идеального фильтра на любое воздействие наступит раньше (Sic!) этого самого воздействия.
Так же, как и при разложении в ряд Фурье, составляющие компоненты начинаются раньше, чем фронт раскладываемого сигнала. И только, будучи сложенными вместе, образуют его в первозданном виде. А если мы часть из них вырезаем, то, как раз, и получаем "хвост спереди".
В современности, когда многие задачи решаются в цифре и в отложенном времени, это "раньше самого воздействия" уже не только возможно, но и даже используется.
Сделав однажды подобный фильтр и демонстрируя заказчику его переходную функцию, тоже получил вопрос: как это так - ступеньки на входе ещё нет, а какие-то колебания уже есть? Предложил ему разложить прямоугольный импульс в ряд Фурье, исключить оттуда вырезаемые частоты и снова сложить... А поскольку вычислению с массивами неведомо прошлое и будущее, то там гром раньше молнии - явление вполне реальное.
Quasar
Цитата(Милливольт @ Sep 24 2015, 22:34) *
Правильный ответ таков: отклик идеального фильтра на любое воздействие наступит раньше (Sic!) этого самого воздействия. http://www.ngpedia.ru/pngs/082/082Lwda0P5n8B023l339.png
С учетом физической нереализуемости идеального фильтра, хорошим приближением будет признание того, что ничего и никогда через идеальный фильтр не пройдет, ни за какое время... Эти парадоксы были нужны для объяснения того интересного факта, что для оценки величины задержки сложного сигнала, поступающего на реальный фильтр (очень важно для радиолокационных сигналов) необходимо учитывать не только добротность, но и кривую скатов. Потом переход к эффекту Гиббса, типам эллиптических фильтров, Чебышев, Бессель и т.д. Дела давно минувших дней... ностальгия...



Я честно говоря не понял. Появление сигнала на выходе, раньше чем на входе, означает отрицательное ГВЗ, но судя по картинкам ФЧХ, её наклон отрицательный, то есть ГВЗ как и положено, положительное и конечное. В общем я не понял ни то, что задержка бесконечна (сигнал ни когда не пройдет) ни то, что она отрицательна (сигнал на выходе появляется раньше чем на входе). Как получили бесконечную или отрицательную задержку?
Corner
Цитата(Милливольт @ Sep 24 2015, 23:34) *
Правильный ответ таков: отклик идеального фильтра на любое воздействие наступит раньше (Sic!) этого самого воздействия. http://www.ngpedia.ru/pngs/082/082Lwda0P5n8B023l339.png
С учетом физической нереализуемости идеального фильтра, хорошим приближением будет признание того, что ничего и никогда через идеальный фильтр не пройдет, ни за какое время... Эти парадоксы были нужны для объяснения того интересного факта, что для оценки величины задержки сложного сигнала, поступающего на реальный фильтр (очень важно для радиолокационных сигналов) необходимо учитывать не только добротность, но и кривую скатов. Потом переход к эффекту Гиббса, типам эллиптических фильтров, Чебышев, Бессель и т.д. Дела давно минувших дней... ностальгия...

Только построение идеального фильтра требует бесконечного числа этапов обработки. Следовательно, пропустить сигнал через такой фильтр, чтобы убедиться, не получится.


Цитата(EvgenyNik @ Sep 25 2015, 00:45) *
Так же, как и при разложении в ряд Фурье, составляющие компоненты начинаются раньше, чем фронт раскладываемого сигнала. И только, будучи сложенными вместе, образуют его в первозданном виде. А если мы часть из них вырезаем, то, как раз, и получаем "хвост спереди".
В современности, когда многие задачи решаются в цифре и в отложенном времени, это "раньше самого воздействия" уже не только возможно, но и даже используется.
Сделав однажды подобный фильтр и демонстрируя заказчику его переходную функцию, тоже получил вопрос: как это так - ступеньки на входе ещё нет, а какие-то колебания уже есть? Предложил ему разложить прямоугольный импульс в ряд Фурье, исключить оттуда вырезаемые частоты и снова сложить... А поскольку вычислению с массивами неведомо прошлое и будущее, то там гром раньше молнии - явление вполне реальное.

Преобразование Фурье предполагает бесконечную длину наблюдения. Попытка применить метод, не предназначенный для анализа конечного по времени сигнала, для упрощения условно принятого бесконечно повторяющимся, дает "на бумаге" указанный эффект. В реальности же необходимо учесть, что в нашей вселенной скорость света физический предел и "хвост" все равно останется на своем месте, а именно после собаки.
EvgenyNik
Цитата(Corner @ Sep 25 2015, 00:42) *
Попытка применить метод, не предназначенный для анализа конечного по времени сигнала, для упрощения условно принятого бесконечно повторяющимся, дает "на бумаге" указанный эффект. В реальности же необходимо учесть, что в нашей вселенной скорость света физический предел и "хвост" все равно останется на своем месте, а именно после собаки.
Так-то всё верно, конечно, когда процесс происходит во времени.
Но смотрите, вот какой пример. У нас есть некий массив с последовательностью, описывающей мгновенные значения многокомпонентного сигнала. Задача - вырезать какую-то частоту, сохранив для остальных одинаковое время групповой задержки. Создаём режекторный фильтр. Прогоняем через него массив и (а вот это важно!) складываем результат так, чтобы оставшиеся компоненты легли по тем же местам, где находились до режекции. Результат - из прежней последовательности удалена ненужная компонента, а остальное не тронуто.
Что ожидаемо, но, всё равно, интересно - если из исходного массива поточечно вычесть новый, то получится вырезанная компонента. Причём, иногда таким "косвенным" способом её получается выделить даже лучше, чем полосовым фильтром.
Понятно, что такое возможно только в отложенном времени. И даже когда делается налету, то только через буферизацию.
Однако, если если в этот алгоритм подсунуть ступеньку, то будет то, о чём я писал ранее - реакция появится "ранее".
Милливольт
Цитата(EvgenyNik @ Sep 25 2015, 10:34) *
Так-то всё верно, конечно, когда процесс происходит во времени.
Но смотрите, вот какой пример. У нас есть некий массив с последовательностью, описывающей мгновенные значения многокомпонентного сигнала. Задача - вырезать какую-то частоту, сохранив для остальных одинаковое время групповой задержки. Создаём режекторный фильтр. Прогоняем через него массив и (а вот это важно!) складываем результат так, чтобы оставшиеся компоненты легли по тем же местам, где находились до режекции. Результат - из прежней последовательности удалена ненужная компонента, а остальное не тронуто.


Возможно, я неправильно понял...
Пусть есть высокодобротный режекторный фильтр. Потребная реализация сигнала тем больше, чем выше добротность. Бесконечная добротность требует бесконечной реализации. Искомый же сигнал имеет либо конечную длительность, либо предел допустимой задержки обнаружения.
Тогда соотношение сигнал/шум при Вашем подходе будет стремиться к нулю, потому что сколь угодно малый шум при бесконечной реализации имеет бесконечную энергию, а энергия обнаруживаемого сигнала конечна по определению. Т.е. Ваша идея входит в противоречие с принципом согласованной (оптимальной) фильтрации - свертке входного сигнала с его инвертированной во времени копией. Фильтр получается существенно неоптимальным, а в пределе - неработоспособным. О функции "идеального наблюдателя" придется забыть.
Далее: если нам известен сигнал, который следует вырезать, то в соответствии с Т.И.: "если форма сигнала известна заранее, то сигнал информации не несет, ее несет только время его появления". А мы эту информацию потеряли, т.к. наш высокодобротный режектор дает существенную неопределенность именно в моменте возникновения и исчезновения помехи (тов. Гейзенберг не может быть исключен из партии). И что будем вычитать? Предполагать модель помехи и двигать ее по реализации с целью добиться наилучшего подавления. Но так это уже не фильтрация, эта работа для некоего интеллектуального алгоритма.
Повторюсь: возможно, я чего-то не понял.
EvgenyNik
Цитата(Милливольт @ Sep 25 2015, 14:31) *
Повторюсь: возможно, я чего-то не понял.
Возможно. Потому что сейчас не понял я biggrin.gif
Покажу с помощью "наскальной живописи".
Нажмите для просмотра прикрепленного файла
Вот результат подачи ступеньки на режекторный фильтр. Вырезанная часть специально приподнята к средней линии.
Фактически, если сложить то, что вырезано с тем, что осталось, то получится исходный сигнал (за вычетом округлений, т.к. в процессе фильтрации приходится разрядность увеличивать в "дробную сторону", а потом возвращать обратно округлением, и прочего по-мелочи навроде ограничения от выходов в минус и за пределы разрядности вверх), естественно, смещённый по времени.
Однако, если задача поставлена - оставшиеся компоненты поместить в те позиции, где они были, то фронт получившегося отклика мы подтаскиваем к фронту исходного и вот теперь виден "хвост до собаки" sm.gif
Милливольт
Цитата(EvgenyNik @ Sep 25 2015, 12:18) *
то фронт получившегося отклика мы подтаскиваем к фронту исходного и вот теперь виден "хвост до собаки" sm.gif


Вы исследовали отклик фильтра на функцию Хевисайда. "Хвост впереди собаки" - это разностный сигнал, смещенный на половину апертуры.
Простите, а что это значит, что это доказывает и, самое главное, как это может быть применено... и для чего?
Corner
Цитата(EvgenyNik @ Sep 25 2015, 16:18) *
Возможно. Потому что сейчас не понял я biggrin.gif
Покажу с помощью "наскальной живописи".
Нажмите для просмотра прикрепленного файла
Вот результат подачи ступеньки на режекторный фильтр. Вырезанная часть специально приподнята к средней линии.
Фактически, если сложить то, что вырезано с тем, что осталось, то получится исходный сигнал (за вычетом округлений, т.к. в процессе фильтрации приходится разрядность увеличивать в "дробную сторону", а потом возвращать обратно округлением, и прочего по-мелочи навроде ограничения от выходов в минус и за пределы разрядности вверх), естественно, смещённый по времени.
Однако, если задача поставлена - оставшиеся компоненты поместить в те позиции, где они были, то фронт получившегося отклика мы подтаскиваем к фронту исходного и вот теперь виден "хвост до собаки" sm.gif

Хвост, как раз, таки, после собаки. Но перед откликом на собаку.
ScrewDriver
Если идеальность фильтра состоит в бесконечно крутой полосе среза, то он может быть образован только из резонансных звеньев с бесконечно большой добротностью. А в резонансных звеньях с бесконечно большой добротностью колебания с частотой, не равной частоте резонанса звена, не может возникнуть вообще.

Так что с помощью такой казуистики можно сделать вывод - колебания на выходе фильтра не возникнут никогда.
Милливольт
Цитата(ScrewDriver @ Oct 5 2015, 13:57) *
Если идеальность фильтра состоит в бесконечно крутой полосе среза, то он может быть образован только из резонансных звеньев с бесконечно большой добротностью. А в резонансных звеньях с бесконечно большой добротностью колебания с частотой, не равной частоте резонанса звена, не может возникнуть вообще.

Так что с помощью такой казуистики можно сделать вывод - колебания на выходе фильтра не возникнут никогда.


А красиво, однако!
Неожиданный поворот, единственно - оппоненты потребуют строгого доказательства словам: "только из резонансных звеньев ".
ViKo
Цитата(ScrewDriver @ Oct 5 2015, 15:57) *
Если идеальность фильтра состоит в бесконечно крутой полосе среза, то он может быть образован только из резонансных звеньев с бесконечно большой добротностью.

Конечно же, нет. Возьмите просто бесконечное количество примитивнейших RC фильтров.
обновлено. RC фильтров, наверное, будет недостаточно, на них не получится острый переход от пропускания к подавлению. На активных фильтрах можно.
ScrewDriver
Цитата(ViKo @ Oct 5 2015, 18:26) *
Конечно же, нет. Возьмите просто бесконечное количество примитивнейших RC фильтров.
обновлено. RC фильтров, наверное, будет недостаточно, на них не получится острый переход от пропускания к подавлению. На активных фильтрах можно.

Ничего не выйдет с RC-фильтрами. Идеальный ФНЧ суть свертка сигнала с sinc-функцией, а sinc-функция во временной области раскладывается на ряд квадратов аргумента, т.е. реализуема только на звеньях второго порядка. Без LC никуда wink.gif
На активных фильтрах тоже можно, однако их добротность тоже должна быть бесконечной. Как только какое-то из звеньев окажется с потерями, крутизна среза уже не сможет быть бесконечно большой.
ViKo
Цитата(ScrewDriver @ Oct 6 2015, 08:37) *
На активных фильтрах тоже можно, однако их добротность тоже должна быть бесконечной. Как только какое-то из звеньев окажется с потерями, крутизна среза уже не сможет быть бесконечно большой.

Если делать фильтр (активный) все большего и большего порядка, разве мы не приближаемся к идеалу? rolleyes.gif И если неидеальные фильтры ведут себя нормально во времени, то почему идеальный, как предел стремлений, вдруг оказывается неработоспособным?
Милливольт
Цитата(ViKo @ Oct 6 2015, 09:53) *
И если неидеальные фильтры ведут себя нормально во времени, то почему идеальный, как предел стремлений, вдруг оказывается неработоспособным?


Да не совсем так (если использовать Ваш термин "нормально").
Допустим, мы увеличиваем порядок обычных RC фильтров, как было отмечено в постах выше. Происходит увеличение крутизны ската, но одновременно растет полосное затухание. И для его компенсации необходимо усилить сигнал. Либо на выходе всей линейки, либо поставить промежуточные усилители, т.е. превратить элементарные звенья в активные фильтры. Но усилители шумят, ибо не шуметь не могут. Т.о. соотношение сигнал/шум ухудшается тем более, чем больше полосное затухание или (как результат) чем выше крутизна скатов. Именно поэтому при проектировании сложных систем обязательно обращают внимание на неизбежное ухудшение С/Ш в результате любой фильтрации - это правило без исключений.
Теперь смотрим: мы хотим получить бесконечно крутой скат, для чего необходимо бесконечное количество реальных каскадов. Естественно, в таком случае полосное затухание будет стремиться к бесконечности, а соотношение С/Ш - соответственно к нулю.
Т.е. если использовать Ваш подход и пытаться получить сколь угодно близкое приближение к идеальному фильтру, собирая его из реальных, мы неизбежно получим все вышеописанные эффекты. Чем ближе к идеалу, тем ближе к неработоспособности. Достигли идеала - получили "вещь в себе", которая ничего не пропускает.
ViKo
Цитата(Милливольт @ Oct 6 2015, 21:22) *
... Именно поэтому при проектировании сложных систем обязательно обращают внимание на неизбежное ухудшение С/Ш в результате любой фильтрации - это правило без исключений.
...

Обратно не верно. rolleyes.gif LC фильтры не ухудшают отношение С/Ш. И вообще, это к вопросу не относится.
Милливольт
Цитата(ViKo @ Oct 6 2015, 19:27) *
Обратно не верно. rolleyes.gif LC фильтры не ухудшают отношение С/Ш. И вообще, это к вопросу не относится.


О боги! У Вас есть индуктивности и емкости без активного компонента? Т.е. при температурах, отличных от абсолютного нуля, можно иметь незатухающие колебания в контуре?
Предъявите! Нобель весьма вероятен. А уж как будут рады радиоастрономы, локаторщики, метрологи...
ViKo
Тшорт побъери! Тема про идеальный фильтр? Так сделайте его на идеальных L C и узбокойтесь! Тем более, что реальные элементы недалеко отстоят от идеальных. И вообще, причем шум? А если подать сигнал в миллион вольт?

P.S. и тут я призадумался... Если каждое звено дает задержку распространения сигнала, то бесконечное число звеньев должно дать бесконечную задержку. Сигнал не появится никогда! А-а-а-а! Полезу в спайс.
thermit
Вопрос поставлен не корректно. Ответ на него дан не правильно. Идеальный фнч с чх(f) = 1 f=]-f0 f0[ и 0 вне этого интервала есть физически не реализуемый фильтр, ибо его импульсная х-ка не равна 0 при отрицательном времени. Если петрик, наконец изобретет мв и такой фильтр станет реализуем, его задержка будет нулевой. чх физически реализуемой системы должна иметь фазовый множитель exp(-j*2*pi*f*t0). Умножение на комплексную экспоненту в частотной области есть задержка во времени. Т е часть их сместится из отрицательного времени в положительное. Кусок из отрицательного обнуляется и получаем какое-то приближение к фнч с прямоугольной чх. Но такой фильтр уже будет иметь задержку t0. Чем больше t0, тем большая часть их переползет из отрицательного времени в положительное, тем ближе будет аппроксимация к идеальному фнч. Идеальный фнч - предел при t0-> inf. Т е физически реализуемый идеальный фнч будет иметь бесконечную задержку вне зависимости от реализации.
ViKo
Вот. Тенденция очевидна.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.