_sda 2 January 25, 2021 Posted January 25, 2021 · Report post Коллеги, попалось мне тут одно описание работы фильтра MAF. Первый проход.Окно усреднения – n точек. Вычисляется среднее по ним значение и присваивается всем точкам в текущем окне. Окно сдвигается вперед на n точек, опять усредняется, присваивается, сдвигается и т.д. Второй проход. Начало окна усреднения сдвигается на n/2 точек вперед относительно начала окна 1го прохода. Вся дальнейшая процедура кусочно-осредненного присваивания такая же. Третий проход. Линейная интерполяция между конечными точками каждого постоянного участка кусочной функции. Хочу проанализировать его работу и сравнить с обычным MAF. Для этого нужно написать его передаточную функцию. H(z) = f(H1(z),H2(z),H3(z)) Для первого прохода H1(z) = (1 + Z-1 + Z-2 + Z-3 …+ Z-n-1) / n Для второго прохода H2(z) = Z-n/2 * H1(z) После этого нужно,видимо, как то ввести децимацию на n. Корифеи z-преобразования - верны ли эти два выражения? Если вдруг верны то как их объединить с третьим проходом? Quote Share this post Link to post Share on other sites More sharing options...
Tarbal 5 January 26, 2021 Posted January 26, 2021 · Report post Я правильно понял, что в первом проходе децимация получается из н точек одна? Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 26, 2021 Posted January 26, 2021 · Report post 5 часов назад, Tarbal сказал: Я правильно понял, что в первом проходе децимация получается из н точек одна? Да, выполняется децимация на n(в третьем проходе берётся один отсчёт из n). Думаю что в третьем проходе вместо линейной интерполяции можно использовать двух таповый MAF. Или нет? Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 26, 2021 Posted January 26, 2021 · Report post 25.01.2021 в 13:29, _sda сказал: Третий проход. Линейная интерполяция между конечными точками каждого постоянного участка кусочной функции. Как это будет звучать в переводе на русский? Что это, просто среднее между двумя фильтрами? Тогда H(z) = 0.5*H1(z)*(1+z^(-n/2)). А потом децимация. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 26, 2021 Posted January 26, 2021 · Report post 24 минуты назад, Самурай сказал: Что это, просто среднее между двумя фильтрами? Тогда H(z) = 0.5*H1(z)*(1+z^(-n/2)). А потом децимация. Спасибо! Насколько я понял там сначала в каждом фильтре находится среднее для n отсчётов (децимация на n),потом линейная интерполяция в n раз отсчётов с выхода фильтров. Если делать так как вы предложили то вроде децимация с интерполяцией не нужны, сразу получаем выходные отсчёты. Только будет ли эта конструкция полностью эквивалентна исходной? Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 26, 2021 Posted January 26, 2021 · Report post 20 минут назад, _sda сказал: Только будет ли эта конструкция полностью эквивалентна исходной? Если честно, работа исходной конструкции лично для меня все еще в тумане... Можете привести ссылку на описание или выложить какие-либо рабочие файлы? Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 26, 2021 Posted January 26, 2021 · Report post 58 минут назад, Самурай сказал: Если честно, работа исходной конструкции лично для меня все еще в тумане... Можете привести ссылку на описание или выложить какие-либо рабочие файлы? Не,ссылки нет. Это шеф в своих старых записях нашёл и попросил сравнить характеристики этой конструкции с характеристиками MAF такого же порядка. Не остаётся ничего другого как попытаться своими словами ещё раз изложить суть, как я сам её понял. 1). Первый каскад. Из входного потока выбираются N отсчётов,вычисляется их среднее и результат отправляется на выход. Затем берутся следующие N входных отсчётов, вычисляется их среднее и результат отправляется на выход. И т.д. Таким образом частота отсчётов на выходе первого каскада в N раз ниже частоты входных отсчётов. 2). Второй каскад - точная копия первого, только у него на входе стоит линия задержки на N/2 тактов. Входы первого и второго каскадов объединены и являются входом всей конструкции. 3). Третий каскад. Здесь, как я понял, находится среднее значение выходов двух фильтров. Ваше описание соответствует "скользящему" режиму работы, а оригинальная конструкция работает в "блочном" режиме. На мой взгляд это и все отличия. Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 27, 2021 Posted January 27, 2021 · Report post 13 часов назад, _sda сказал: 3). Третий каскад. Здесь, как я понял, находится среднее значение выходов двух фильтров. Все еще не уверен, что правильно понял принцип работы 3-го каскада. Но если это действительно просто вычисление среднего значения, то все три варианта на рисунке ниже тождественны. Т.е. все сводится к обычному фильтру-дециматору, построение АЧХ которого не должно вызвать трудностей. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 27, 2021 Posted January 27, 2021 · Report post 32 минуты назад, Самурай сказал: Все еще не уверен, что правильно понял принцип работы 3-го каскада. Но если это действительно просто вычисление среднего значения, то все три варианта на рисунке ниже тождественны. Т.е. все сводится к обычному фильтру-дециматору, построение АЧХ которого не должно вызвать трудностей. Спасибо за неравнодушие! Я уже получил АЧХ этого фильтра, на картинке синий - обычный MAF, оранжевый - эта конструкция. Все фильтры - 32 тапа, децимацию пока отключил. Теперь буду менять параметры и смотреть результат. Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 27, 2021 Posted January 27, 2021 · Report post 1 час назад, _sda сказал: Я уже получил АЧХ этого фильтра, на картинке синий - обычный MAF, оранжевый - эта конструкция. Все фильтры - 32 тапа, децимацию пока отключил. Теперь буду менять параметры и смотреть результат. Это и есть АЧХ фильтра, который я привел выше: H(z) = 0.5*H1(z)*(1+z^(-n/2)), где H1(z) это MAF. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 27, 2021 Posted January 27, 2021 · Report post 20 минут назад, Самурай сказал: Это и есть АЧХ фильтра, который я привел выше: H(z) = 0.5*H1(z)*(1+z^(-n/2)), где H1(z) это MAF. Ну да, я её построил , выше написал "оранжевый - эта конструкция". Ещё раз большое спасибо! p.s. А на последок не подскажете как в эту формулу добавить децимацию? Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 27, 2021 Posted January 27, 2021 · Report post 3 часа назад, Самурай сказал: И ещё - в каком редакторе рисовали картинки? Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 27, 2021 Posted January 27, 2021 · Report post 4 часа назад, _sda сказал: А на последок не подскажете как в эту формулу добавить децимацию? А зачем?:) 3 часа назад, _sda сказал: И ещё - в каком редакторе рисовали картинки? Visio Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 January 27, 2021 Posted January 27, 2021 · Report post 1 час назад, Самурай сказал: А зачем?:) Ну, пригодится когда нибудь в других конструкциях... Quote Share this post Link to post Share on other sites More sharing options...
Самурай 13 January 27, 2021 Posted January 27, 2021 · Report post 4 минуты назад, _sda сказал: Ну, пригодится когда нибудь в других конструкциях... Я не совсем об этом... Какая конечная цель с технической точки зрения? Для построения АЧХ больше ничего не нужно делать. Quote Share this post Link to post Share on other sites More sharing options...