-=ВН=- 0 14 августа, 2007 Опубликовано 14 августа, 2007 · Жалоба Про метод перекрывающихся окон слышали? Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг... Герцель на основе FIFO. А БПФ на основе окна. Нельзя сказать что это преимущества или недостатки, но в природе вообще есть только особенности... :) Товарищ DRUID3, не говорите ерундой, ладно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 28 14 августа, 2007 Опубликовано 14 августа, 2007 · Жалоба Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг... Насколько я помню, оверсамплинг применяют для ослабления требований к аналоговому фильтру на входе АЦП. Сказанное, можно проилюстрировать на примере проигрывателя компакт-диска или цифрового магнитофона с качеством CD. В этом случае на вход АЦП обычно подается звуковой сигнал, спектр частот которого ограничен полосой 0-22кГц. Минимально возможная частота дискретизации должна быть, как известно, > 2*Fв=2*22кГц и в CD проигрывателе она равна Fд=44.1кГц. Для ограничения спектра входного сигнала обычно применяют аналоговые активные фильтры, но так как на входе АЦП не должно быть спектральных составляющих сигнала с частотой больше частоты Найквиста Fн=22.05кГц, требования к аналоговому фильтру на входе АЦП оказываются довольно жесткими: для частоты дискретизации Fд=44.1кГц: - частота пропускания Fп=22.00кГц, - частота заграждения Fз=22.05кГц, - неравномерность в полосе пропускания 0.1дБ, - затухание в полосе заграждения > 96дБ. Если рассчитать элиптический фильтр, оптимальный в минимаксном смысле, с указанными параметрами, то окажется, что он будет иметь довольно высокий порядок и, кроме того, сильную нелинейность ФЧХ на границе ПП. Применяя оверсамплинг, мы получим следующие требования ко входному фильтру: для частоты дискретизации Fд=88.2кГц: - частота пропускания Fп=22.00кГц, - частота заграждения Fз=44.1кГц, - неравномерность в полосе пропускания 0.1дБ, - затухание в полосе заграждения > 96дБ. При тех же требованиях к неравномерности в ПП и затуханию в ПЗ мы имеем намного бОльшую переходную полосу и, следовательно, значительно менее жесткие требования к фильтру. При этом оказывается, что достаточно применить на входе АЦП фильтр Бесселя низкого порядка, а дальнейшую фильтрацию сигнала в полосе 22.0кГц-44.1кГц выполнить с помощью цифрового фильтра высокого порядка, который довольно легко реализовать на современных DSP. Используя в дальнейшей обработке каждый второй сампл (децимация) мы получим качественный цифровой звук с частотой дискретизации Fд=44.1кГц. Подобным же образом решается задача аналоговой фильтрации сигнала на выходе ЦАП'а при воспроизведении CD-диска, т.е. при выходной частоте ЦАП'а Fд=88.2кГц требования к выходному фильтру намного слабее.. На чем выполнен цифровой фильтр - FFT, Герцель, КИХ, БИХ, для оверсамплинга безразлично.. ..ну, кроме объема вычислений.. :) PS. Не спрорьте с =ВН=. :smile3009: У него 30-ти летняя практика.. :07: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fontp 0 15 августа, 2007 Опубликовано 15 августа, 2007 · Жалоба Да, лучше не спорьте, тем более с =ВН=. Тем более из-за такой ерунды как Герцель. Герцель всего лишь последовательная реализация ДПФ на одной частоте. Если захотеть то и окно можно приделать последовательно умножая входной сигнал на функцию окна. БПФ всего лишь быстрая блочная реализация алгоритма ДПФ для всех частот сразу. Физически это одно и то же (ДПФ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 15 августа, 2007 Опубликовано 15 августа, 2007 · Жалоба Товарищ DRUID3, не говорите ерундой, ладно? Даже не пытаюсь, кстати, Ваша фраза не аргумент в споре на техническом форуме. To:blackfin Ну что же Вы в самом деле, поддались на провокацию. Что такое оверсемпленг и де ИВо применяют знают в наших краях уже давно. Просто я приводил пример частного случая его применения в спектральном анализе Фурье. Но Вы видимо не знаете всех действующих лиц . Здесь спор идет по типу "вмру, але моє буде зверху" ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 28 15 августа, 2007 Опубликовано 15 августа, 2007 · Жалоба Ну что же Вы в самом деле, поддались на провокацию. Дык, мне показалось, что Вы злоупотребляете "галлюцинациями".. Ну, вот я и вмешался.. Видимо, зря.. :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=ВН=- 0 15 августа, 2007 Опубликовано 15 августа, 2007 · Жалоба Даже не пытаюсь, Ну Вам что, цитаты приводить Ваши, где Вы говорили о каких-то преимуществах, причем не вычислительных, Герцеля по сравнению с ДПФ? Теперь у Вас не преимущества, а особенности и не ДПФ, а БПФ. Вы уж о чем-нибудь одном валяйте. А про "оверсамленг" Вы что-то совершенно не то говорите. Вообще. Он никак не связан с окнами. И окна с ним. "Оверсамленг" - увеличение частоты дискретизации. Все. Ничего более. И спектральное разрешение и характеристики окон определяются длительностью анализируемого куска сигнала (окна) и никак с часттотой дискретизации не связаны. Что Вы хотели сказать Вашим примером - непонятно абсолютно. Вам наверное тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lalka 0 10 сентября, 2009 Опубликовано 10 сентября, 2009 · Жалоба А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? :07: Очень надеюсь на помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bahurin 0 10 сентября, 2009 Опубликовано 10 сентября, 2009 · Жалоба Мое мнение на данный вопрос. Сразу предупреждаю в полемику вступать не буду. вариантов на самом деле мне кажется три: 1. КИХ фильтр высокого порядка. Тут все понятно в лоб так в лоб. 2. Использовав алгоритм Герцеля получить спектр в данной узкой полосе . А дальше надо его дополнить нулями до исходного размера и брать IFFT, чтобы получить отфильтрованный сигнал. Т.о. получили затраты на алгоритм герцеля (кстати тоже все умножения комплексные) + затраты на IFFT. Но и это еще не все требуется обработка с перекрытием, чтобы убрать все искажения на краях. 3. Квадратурное гетеродинирование 2кГц-> 0 кГц, а там уже многоступенчатой децимацией пытаться обеспечть требуемую "изберательность". Но после необходимо интерполировать (а это еще ФНЧ) и снова переносить на частоту 2 кГц с нулевой частоты. Если все аккуратно сделать, то можно не исказить фазу. Для того какой путь выбрать надо знать частоту дискретизации в первую очередь, а также требования к изберательности: подавление в полосе заграждения и неравномерность в полосе пропускания фильтра ну и собственно переходную полосу между полосой заграждения и пропусканя. После это садится и считать требуемые вычисления для каждого из вариантов. Ну и еще надо учесть на чем это все надо творить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sup-sup 0 10 сентября, 2009 Опубликовано 10 сентября, 2009 · Жалоба А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? :07: Очень надеюсь на помощь! В домашних условиях можно применить Excel. Подключаем пакет анализа, заполняем в столбик желаемую AЧХ, напускаем на него IFFT (получаем импульсную характеристику фильтра), делаем FFT над ИХ для проверки результата (для увеличения точности нужно дополнить полученную ИХ нулями). Оформляем макрос для ускорения работы. Прицеплен пример. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bahurin 0 11 сентября, 2009 Опубликовано 11 сентября, 2009 · Жалоба В домашних условиях можно применить Excel. Подключаем пакет анализа, заполняем в столбик желаемую AЧХ, напускаем на него IFFT (получаем импульсную характеристику фильтра), делаем FFT над ИХ для проверки результата (для увеличения точности нужно дополнить полученную ИХ нулями). Оформляем макрос для ускорения работы. Прицеплен пример. Вот пример в матлабе N = 128; %порядок КИХ фильтра fs = 1; % частота дискретизации f0 = 0.3; % первая переходная полоса f1 = 0.35; % вторая переходная полоса фильтр будет пропускать от 0.3 до 0.35 Гц при частоте дискретизации 1 Гц f = (0:N-1)*fs/N; % массив частот H = zeros(1,N); % ЧХ фильтра везде равна 0 k1 = N*f0/fs; % индекс первой переходная полоса k2 = N*f1/fs+1; % индекс второй переходная полоса H(k1:k2) = 1; % в переходной полосе 1 H = H+fliplr([H(2:N) 0]); % зеркально отражаю переходную полосу для реальной имп характеристики h = real(ifft(H)); % имп. характеристика h = [h(N/2+1:N) h(1:N/2)]; % меняю местами половины h = h.*hamming(N)'; % оконное сглаживание для уменьшения бок лепесков % ЧХ полученного фильтра. f1 = (0:0.25:N-0.25)*fs/N; plot(f1,20*log10(abs(fft([h zeros(1,N*3)])))),grid; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Борив 0 11 сентября, 2009 Опубликовано 11 сентября, 2009 · Жалоба Применяя оверсамплинг, мы получим следующие требования ко входному фильтру: для частоты дискретизации Fд=88.2кГц: - частота пропускания Fп=22.00кГц, - частота заграждения Fз=44.1кГц, - неравномерность в полосе пропускания 0.1дБ, - затухание в полосе заграждения > 96дБ. Может быть правильнее было бы: частота заграждения 66,15кГц или я не до конца понял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pokos 0 15 сентября, 2009 Опубликовано 15 сентября, 2009 · Жалоба Непонятно, насколько прямоугольным должен быть фильтр. Если к прямоугольности нет сильных требований, то можно попробовать использовать Boost wave digital filter. Он хорошо описан, к примеру в SLAAE16 от TI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aser 0 27 сентября, 2009 Опубликовано 27 сентября, 2009 · Жалоба Интересный полосовой фильтр получается из фазового фильтра с АЧХ H =(Z^-2 + b(1+a)Z^-1 +a)/(1+ b(1+a)Z^-1 +aZ^-2), к которому на выход подмешивается входной сигнал, так что общая АЧХ: = Н-1. (если Н+1 - заграждающий фильтр). Причем b = cos(2Pif) - определяет частоту фильтра, а ширина полосы пропускания = 2arctg((1-a)/(1+a)). Фильтр всегда устойчив и хорошо настраивается-перестраивается в пределах (0,05-0,4) частоты дискретизации. Коэффициенты могут быть малоразрядными, т.к. фильтр малочувствительный к их ошибкам. Много раз опробован в ПЛИС. (в кн. Сергиенко про ПЛИС есть на него программа на VHDL) Первоисточник - статья в ТИИЭР за где-то 1989г, посвященная фазовым фильтрам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться