реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Перестраиваемый полосовой фильтр
РРоман
сообщение Mar 19 2008, 08:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Имеется следующая задача:
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).

Спасибо!
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Mar 19 2008, 09:23
Сообщение #2


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



ДПФ можно, но перестраиваться он будет только по сетке частот, ввиду блочности алгоритма, к тому же АЧХ будет формы sinc(f) если не применять окон. Лучше применить алгоритм Герцеля - эффективнее ДПФ, FIFO по своей сути, плавно может перестраиваться по диапазону...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Mar 19 2008, 10:46
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(РРоман @ Mar 19 2008, 11:57) *
Имеется следующая задача:
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).

Спасибо!


Делал я такю штуку. Фильтр Юзвинского здесь рулит. А если работать с комплексным сигналом, то полосовой фильтр легко превращается в ФНЧ, а центральная полоса пропускания - есть частота гетеродина.

Сообщение отредактировал Михаил_K - Mar 19 2008, 10:47
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Mar 20 2008, 05:50
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



На мой взгляд проще использовать фильтр (смысла перехода в частотную область не вижу).
Лучше сделать комплексный ФНЧ с перестраиваемым гетеродином.
Остаются вопросы по: степени подавления, неравномерности в полосе и т.п. (обычные вопросы по фильтрации).


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Mar 20 2008, 07:07
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(РРоман @ Mar 19 2008, 11:57) *
Имеется следующая задача:
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).

Спасибо!

Это просто и без ДПФ. Берете считаете ФНЧ fir c частотой среза 50 Гц. Получаете коэф. h. Коэффициенты перестраиваемого(matlab) hf = h.*sin(2*pi*f/Fs*(1:length(h)), f - центральная частота настройки фильтра, Fs- частота дискретизации. ДПФ конечно можно использовать, только FFT придется считать. Примерно так делается: x - 512 отсчетов входного сигнал. Далее.
Код
      X = fft([x,zeros(1, 512]); % фурье транформанта входного сигнала дополненного нулями.
      F = fft([h,zeros(1, 1024-length(h)); %   фурье транформанта фильтра, можно считать один раз
      X = X.*F;  % свертка в частотной области
      y = ifft(X); %
      y(1:512) = y(1:512) + pred_y; % 512 отсчетов отфильтрованного сигнала
      pred_y = y(513:1024);   % отклик фильтра от предидущего блоке используется для следующего        
                                          % блока, начальный pred_y=0

Важно чтобы length(x) + length(h) < sizeFFT
ps: А вообще почитайте Рабинера с Голдом h**p://dsp-book.narod.ru/RG.html, там про это душевно
написано smile.gif


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
РРоман
сообщение Apr 28 2008, 10:24
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(DRUID3 @ Mar 19 2008, 13:23) *
ДПФ можно, но перестраиваться он будет только по сетке частот, ввиду блочности алгоритма, к тому же АЧХ будет формы sinc(f) если не применять окон. Лучше применить алгоритм Герцеля - эффективнее ДПФ, FIFO по своей сути, плавно может перестраиваться по диапазону...


Спасибо большое всем за советы. Не сразу удалось попробовать.
Пытаюсь применить Герцеля и что-то совсем не то получается. Моделирую в MathCAD (наверное уже смешно?). На входе обычная синусоида. Пропускаю ее через фильтр:
y(n) = x(n) + 2cos(2*pi*f/Fd)*y(n-1) - y(n-2)

В результате получаю, то модулированную синусоиду, то вообще что-то не понятное...
Может быть подскажете где ошибка? Прилагаю скриншот из MathCAD ( в данном случае частота дискретизации 2000, искомая частота - 10, рассчитываю на 2000 отсчетов входного сигнала)
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
РРоман
сообщение Apr 28 2008, 12:39
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(alex_os @ Mar 20 2008, 11:07) *
Это просто и без ДПФ. Берете считаете ФНЧ fir c частотой среза 50 Гц. Получаете коэф. h. Коэффициенты перестраиваемого(matlab) hf = h.*sin(2*pi*f/Fs*(1:length(h)), f - центральная частота настройки фильтра, Fs- частота дискретизации.
Важно чтобы length(x) + length(h) < sizeFFT


Поясните пожалуйста запись (1:length(h)) в формуле (я почти не знаком с м-языком).
Go to the top of the page
 
+Quote Post
proxi
сообщение Apr 28 2008, 12:46
Сообщение #8


Гуру
******

Группа: Banned
Сообщений: 2 754
Регистрация: 5-06-05
Из: Zurich
Пользователь №: 5 744



Цитата(РРоман @ Mar 19 2008, 11:57) *
Имеется следующая задача:
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).

Спасибо!

Фильтр Юзвинского рулит... полагаю что его можно реализовать в цифровом виде, если нужно??
Go to the top of the page
 
+Quote Post
РРоман
сообщение Apr 28 2008, 12:56
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(proxi @ Apr 28 2008, 16:46) *
Фильтр Юзвинского рулит... полагаю что его можно реализовать в цифровом виде, если нужно??

Может быть укажете какую-нибудь ссылочку по теме?
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Apr 28 2008, 13:13
Сообщение #10





Guests






Цитата(РРоман @ Mar 19 2008, 12:57) *
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).


Почему бы не взять книжку по цифровым фильтрам, да и не почитать ?
Как я понимаю, у Вас учебная задачаsmile.gif

Если Вы научитесь считать ФНЧ любым понятным Вам способом, то фильтры остальных типов легко приводятся к ФНЧ.
Например ПФ это два ФНЧ с требуемыми частотами среза и два сумматора.

Если хочется что-то поинтереснее, то см:
http://www.tsi.lv/RSR/vol04/RSR2000v04-07ae.pdf
Go to the top of the page
 
+Quote Post
РРоман
сообщение Apr 29 2008, 06:47
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(TSerg @ Apr 28 2008, 17:13) *
Почему бы не взять книжку по цифровым фильтрам, да и не почитать ?
Как я понимаю, у Вас учебная задачаsmile.gif

Если Вы научитесь считать ФНЧ любым понятным Вам способом, то фильтры остальных типов легко приводятся к ФНЧ.
Например ПФ это два ФНЧ с требуемыми частотами среза и два сумматора.

Если хочется что-то поинтереснее, то см:
http://www.tsi.lv/RSR/vol04/RSR2000v04-07ae.pdf


Кое-что по фильтрам читал, но на решение поставленной задачи меня не хватает... Задача-то не учебная, а вполне рабочая.

За ссылочку большое спасибо! Попробуем... Только по-моему алгоритм Герцеля попроще считается, за то описанный в работе вариант, наверное, более гибкий.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Apr 29 2008, 11:05
Сообщение #12





Guests






Цитата(РРоман @ Apr 29 2008, 10:47) *
Задача-то не учебная, а вполне рабочая.
Только по-моему алгоритм Герцеля попроще считается, за то описанный в работе вариант, наверное, более гибкий.


Тогда надо точнее описывать задачу и точнее будет ответ.

Вообще-то, алгоритм Герцеля, как разновидность DFT, занимается преобразованием свойств сигнала из временной области в частотную. Понятно также, что алгоритм блочный.
Заниматься его временными откликами - странная затея.
Go to the top of the page
 
+Quote Post
РРоман
сообщение Apr 30 2008, 06:21
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(TSerg @ Apr 29 2008, 15:05) *
Вообще-то, алгоритм Герцеля, как разновидность DFT, занимается преобразованием свойств сигнала из временной области в частотную. Понятно также, что алгоритм блочный.
Заниматься его временными откликами - странная затея.

Так, вроде, все по книжке (Сергиенко А.П. "ЦОС"): "ДПФ можно представить набором фильтров, а дискретную фильтрацию можно организовать с помощью ДПФ", там еще и АЧХ двух частотных каналов ДПФ приведены...
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Apr 30 2008, 06:38
Сообщение #14





Guests






Цитата(РРоман @ Apr 30 2008, 10:21) *
Так, вроде, все по книжке (Сергиенко А.П. "ЦОС"): "ДПФ можно представить набором фильтров, а дискретную фильтрацию можно организовать с помощью ДПФ", там еще и АЧХ двух частотных каналов ДПФ приведены...


"Фильтр" Герцеля даст магнитуду по конкретной анализируемой частоте после обработки блока данных.
Более того, при совпадении частоты настройки "фильтра" и частоты входного сигнала "фильтр" становится неустойчивым, что мы и видели на Вашей картинке, а также см:
Прикрепленное изображение

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

Но дело в том, что именно временной отклик в этом алгоритме мало кого интересует.
Go to the top of the page
 
+Quote Post
Unomano
сообщение May 3 2008, 10:04
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 3-09-05
Из: Минск, Беларусь
Пользователь №: 8 203



А какая неравномерность в полосе пропускания, и какое подавление за ее пределами?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 20:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.0148 секунд с 7
ELECTRONIX ©2004-2016