|
быстрый FIR для комплексного сигнала |
|
|
|
Apr 10 2008, 20:21
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Приветствую! в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки  коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может
|
|
|
|
|
Apr 11 2008, 05:45
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Relayer @ Apr 10 2008, 23:21)  Приветствую! в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки  коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может  Ну все правильно Вы сделали. Взяли ФНЧ и перенесли на нужную комплексную частоту. Чего тут еще придумаешь?
--------------------
ну не художники мы...
|
|
|
|
|
Apr 11 2008, 05:48
|
Группа: Новичок
Сообщений: 14
Регистрация: 20-03-08
Пользователь №: 36 085

|
Цитата(Relayer @ Apr 11 2008, 00:21)  Приветствую! в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки  коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может  Синфазная и квадратурная составляющие ничем по частотным свойствам друг от друга не отличаются. Поэтому их можно пропускать через одинаковые фильтры. Или, как рекомендуется в литературе, нужно разработать фильтр с семплом Fs, а I и Q пропускать через него поочередно с семплом Fs/2 (они же сдвинуты на 90 град). Если нужна теория, почитай на сайте Ксайлинкса даташиты: http://www.xilinx.com/ipcenter/catalog/log...docs/da_fir.pdfhttp://www.xilinx.com/support/documentatio...piler_ds534.pdfhttp://www.xilinx.com/ipcenter/catalog/log...ocs/mac_fir.pdfЗдесь много теоретической информации (даже если с плисинами не работаешь)
|
|
|
|
|
Apr 11 2008, 06:09
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Relayer @ Apr 11 2008, 00:21)  ...в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может Методика расчёта - правильная, сам так делал. Только зачем это Вам? Вы же фильтрацию в частотной области делаете, или я не понял чего-то? Для этого достаточно домножить результат комплексного ДПФ на вещественную функцию "АЧХ" фильтра, и сделать ОДПФ. Цитата(Pashken @ Apr 11 2008, 09:48)  Синфазная и квадратурная составляющие ничем по частотным свойствам друг от друга не отличаются. Поэтому их можно пропускать через одинаковые фильтры. Или, как рекомендуется в литературе, нужно разработать фильтр с семплом Fs, а I и Q пропускать через него поочередно с семплом Fs/2 (они же сдвинуты на 90 град). .......................................... Здесь много теоретической информации (даже если с плисинами не работаешь) Это совершенно из другой оперы. Здесь речь идёт о фильтрации через ДПФ.
Сообщение отредактировал Stanislav - Apr 11 2008, 07:24
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 11 2008, 07:43
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Цитата(alex_os @ Apr 11 2008, 08:45)  Ну все правильно Вы сделали. Взяли ФНЧ и перенесли на нужную комплексную частоту. Чего тут еще придумаешь? ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему  с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы  Цитата(Stanislav @ Apr 11 2008, 09:09)  Для этого достаточно домножить результат комплексного ДПФ на вещественную функцию "АЧХ" фильтра, и сделать ОДПФ. вы еще предложите значения для ачх фильтра брать только из "+1" и "0"
|
|
|
|
|
Apr 11 2008, 08:37
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Relayer @ Apr 11 2008, 11:43)  ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему  с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы  Честно говоря не очень понятно о чём Вы рассказывете как на Привозе, приходится догадываться Если я правильно догадался, то вот есть такая фигня - синтез всяких фильтров посредством переноса спектра. Здесь есть Application Note Multi-rate filter designу них была ещё программа для синтеза таких крутых фильтров, называется mrf. Так это AN для той программы Как водится программка есть в сети и крякнута
|
|
|
|
|
Apr 11 2008, 11:22
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Цитата(fontp @ Apr 11 2008, 11:37)  Честно говоря не очень понятно о чём Вы рассказывете за ссылку спасибо - вечерком почитаю. а рассказываю я вот о чем - к примеру хочу я спроектировать фильтр который пропускает все отрицательные частоты и положительные предположим до F. т.е. lowpass но в комплексной области через быструю свертку.
|
|
|
|
|
Apr 11 2008, 11:26
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Relayer @ Apr 11 2008, 15:22)  за ссылку спасибо - вечерком почитаю. а рассказываю я вот о чем - к примеру хочу я спроектировать фильтр который пропускает все отрицательные частоты и положительные предположим до F. т.е. lowpass но в комплексной области через быструю свертку. Что Вы называете быстрой свёрткой? Быстрые свёртки бывают разные. Посредством преобразование Фурье? Цитата(Relayer @ Apr 11 2008, 00:21)  метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может  непонятна постановка задачи. Если у Вас фильтрация идёт через ДПФ и известна частотная характеристика - то причём здесь FIR. Умножил спектры -и всё. Или Вам нужно получить заданную импульсную характеристику? Ладно, забудьте :-) В том материале, что я привёл строятся эффективные полосовые фильтры в исходном домене по следующей методике 1) перенос спектра в 0 2) фильтрация посредством фильтра НЧ 3) возвращают спект на место на заданную частоту Вычислительный эффект получают передискретизацией перед фильтрацией НЧ в соответствии с полосой фильтра
|
|
|
|
|
Apr 11 2008, 13:34
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Цитата(fontp @ Apr 11 2008, 14:26)  Что Вы называете быстрой свёрткой? Быстрые свёртки бывают разные. Посредством преобразование Фурье? ну естественно. через него родимого - я же написал об этом в начале темы Цитата(fontp @ Apr 11 2008, 14:26)  непонятна постановка задачи. Если у Вас фильтрация идёт через ДПФ и известна частотная характеристика - то причём здесь FIR. Умножил спектры -и всё. Или Вам нужно получить заданную импульсную характеристику? йя-йя. танцуем от windowed sinc-filter Цитата(fontp @ Apr 11 2008, 14:26)  Ладно, забудьте :-) В том материале, что я привёл строятся эффективные полосовые фильтры в исходном домене по следующей методике 1) перенос спектра в 0 2) фильтрация посредством фильтра НЧ 3) возвращают спект на место на заданную частоту ну я собственно все это и сделал ... в частотной области. lowpass/highpass сдвинутый на нужное смещение по частоте. как результат для комплексного сигнала такая схема реализует bandpass/bandstop фильтр для произвольных Flo и Fhi, в том числе и отрицательны
|
|
|
|
|
Apr 11 2008, 15:28
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Relayer @ Apr 11 2008, 11:43)  вы еще предложите значения для ачх фильтра брать только из "+1" и "0"  Не понял юмора. Вы это о чём, уважаемый? Прошу пояснить. Цитата(fontp @ Apr 11 2008, 12:37)  Честно говоря не очень понятно о чём Вы рассказывете как на Привозе, приходится догадываться Если я правильно догадался, то вот есть такая фигня - синтез всяких фильтров посредством переноса спектра. По-моему, он просто не знает, как нужно фильтровать сигнал в частотной области.  А также как умножить вещественное число на комплексное.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 11 2008, 16:43
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Цитата(Stanislav @ Apr 11 2008, 18:28)  Не понял юмора. Вы это о чём, уважаемый? Прошу пояснить. я это к эффекту Гиббса если вы не сразу соображаете Цитата(Stanislav @ Apr 11 2008, 18:28)  По-моему, он просто не знает, как нужно фильтровать сигнал в частотной области.  А также как умножить вещественное число на комплексное.  хочу вам напомнить уважаемый вы наш всезнайка и писатель (интересно - найдется ли такая тема где вы не продемострировали свою эрудицию) - для личной переписки есть личные сообщения. впредь прошу вас воздержаться от писанины в этой теме. а особенно не по существу. если вам не терпится выяснить со мной отношения - мы можем их продолжить выяснять в той самой ветке где вы публично продемострировали ваше полное незнание самых элементарных принципов компресии
|
|
|
|
|
Apr 11 2008, 18:11
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Relayer @ Apr 11 2008, 20:43)  я это к эффекту Гиббса если вы не сразу соображаете Полегче на поворотах, уважаемый. Вероятно, для Вас будет открытием, что явление Гиббса присутствует в любом КИХ-фильтре, включая и тот, что Вы пытаетесь реализовать.  Однако, это не имеет отношения к теме, а мой вопрос заключается в следующем: отчего это Вы решили, что я буду предлагать Вам сделать к-ты АЧХ фильтра, равными только 0 и 1? Вот на него мне и хочется прочитать ответ. Цитата(Relayer @ Apr 11 2008, 20:43)  ...хочу вам напомнить уважаемый вы наш всезнайка и писатель (интересно - найдется ли такая тема где вы не продемострировали свою эрудицию) - для личной переписки есть личные сообщения. Успокойтесь, уважаемый. Свои предположения я высказал вовсе не Вам, а столь бурная реакция свидетельствует лишь о том, что они попали в точку. Цитата(Relayer @ Apr 11 2008, 20:43)  впредь прошу вас воздержаться от писанины в этой теме. а особенно не по существу. Тогда ещё вопрос: где Вы у меня видели "писанину", и что написанное в теме Вашим покорным слугой не правильно? Форум открыт для общения; не Вам запрещать мне высказывать собственное мнение, которое я, к тому же, могу подкрепить строгим доказательством. А вот Вам не мешало бы почитать собственные посты, и попытаться со стороны расшифровать, о чём же хотел поведать миру их автор? Цитата(Relayer @ Apr 11 2008, 20:43)  ...если вам не терпится выяснить со мной отношения - мы можем их продолжить выяснять в той самой ветке где вы публично продемострировали ваше полное незнание самых элементарных принципов компресии Это я-то? Обязательно продолжим.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 13 2008, 18:56
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Цитата(Relayer @ Apr 11 2008, 11:43)  ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему  с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы  В общем-то Вы правильно использовали одно из свойств (частотного сдвига) преобразования Фурье. http://ru.wikipedia.org/wiki/%D0%9F%D1%80%....80.D1.8C.D0.B5Умные книжки - любой учебник по функциональному анализу или по ЦОС (Рабинер-Голд, Оппенгейм-Шафер, отечественные авторы Гольденберг-Матюшкин и др.) можно здесь посмотреть: http://dsp-book.narod.ru/books.htmlУспехов.
|
|
|
|
|
Apr 13 2008, 21:45
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 30-07-07
Пользователь №: 29 445

|
Цитата(Fat Robot @ Apr 13 2008, 21:56)  В общем-то Вы правильно использовали одно из свойств (частотного сдвига) преобразования Фурье. ну в этом то я не сомневался  Цитата(Fat Robot @ Apr 13 2008, 21:56)  Умные книжки - любой учебник по функциональному анализу или по ЦОС (Рабинер-Голд, Оппенгейм-Шафер, отечественные авторы Гольденберг-Матюшкин и др.) к сожалению по большей части везде описывается dsp-обработка вещественных сигналов. а у меня комплексный - в этом то собственно и проблема.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|