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

 
 
> быстрый FIR для комплексного сигнала
Relayer
сообщение Apr 10 2008, 20:21
Сообщение #1


Участник
*

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



Приветствую!

в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки smile.gif коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может smile.gif
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 39)
alex_os
сообщение Apr 11 2008, 05:45
Сообщение #2


Знающий
****

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



Цитата(Relayer @ Apr 10 2008, 23:21) *
Приветствую!

в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки smile.gif коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может smile.gif

Ну все правильно Вы сделали. Взяли ФНЧ и перенесли на нужную комплексную частоту. Чего тут еще придумаешь?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Pashken
сообщение Apr 11 2008, 05:48
Сообщение #3





Группа: Новичок
Сообщений: 14
Регистрация: 20-03-08
Пользователь №: 36 085



Цитата(Relayer @ Apr 11 2008, 00:21) *
Приветствую!

в качестве предисловия - занимаюсь опенсорсным SDR софтом. возник следующий проблемс. имеем квадратурные каналы I/Q. применяем к ним комплексное ффт. хотим через fast convolution сделать band pass filter. а фигушки smile.gif коэффициенты FIR"а рассчитанные через sync+окно вещественные - результат свертки симметричен относительно 0Hz. в принципе я "выкрутился" - построил low pass коэфф и комплексно домножил на сдвиг sin-cos. работает, фильтрует, но чует мое сердце что где-то есть общая метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может smile.gif


Синфазная и квадратурная составляющие ничем по частотным свойствам друг от друга не отличаются. Поэтому их можно пропускать через одинаковые фильтры. Или, как рекомендуется в литературе, нужно разработать фильтр с семплом Fs, а I и Q пропускать через него поочередно с семплом Fs/2 (они же сдвинуты на 90 град).
Если нужна теория, почитай на сайте Ксайлинкса даташиты:
http://www.xilinx.com/ipcenter/catalog/log...docs/da_fir.pdf
http://www.xilinx.com/support/documentatio...piler_ds534.pdf
http://www.xilinx.com/ipcenter/catalog/log...ocs/mac_fir.pdf

Здесь много теоретической информации (даже если с плисинами не работаешь)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 11 2008, 06:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 11 2008, 07:43
Сообщение #5


Участник
*

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



Цитата(alex_os @ Apr 11 2008, 08:45) *
Ну все правильно Вы сделали. Взяли ФНЧ и перенесли на нужную комплексную частоту. Чего тут еще придумаешь?


ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему smile.gif с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы smile.gif

Цитата(Stanislav @ Apr 11 2008, 09:09) *
Для этого достаточно домножить результат комплексного ДПФ на вещественную функцию "АЧХ" фильтра, и сделать ОДПФ.

вы еще предложите значения для ачх фильтра брать только из "+1" и "0" smile.gif
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 11 2008, 08:37
Сообщение #6


Эксперт
*****

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



Цитата(Relayer @ Apr 11 2008, 11:43) *
ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему smile.gif с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы smile.gif


Честно говоря не очень понятно о чём Вы рассказывете как на Привозе, приходится догадываться
Если я правильно догадался, то вот есть такая фигня - синтез всяких фильтров посредством переноса спектра. Здесь есть Application Note
Multi-rate filter design

у них была ещё программа для синтеза таких крутых фильтров, называется mrf. Так это AN для той программы
Как водится программка есть в сети и крякнута
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 11 2008, 11:22
Сообщение #7


Участник
*

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



Цитата(fontp @ Apr 11 2008, 11:37) *
Честно говоря не очень понятно о чём Вы рассказывете

за ссылку спасибо - вечерком почитаю. а рассказываю я вот о чем - к примеру хочу я спроектировать фильтр который пропускает все отрицательные частоты и положительные предположим до F. т.е. lowpass но в комплексной области через быструю свертку.
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 11 2008, 11:26
Сообщение #8


Эксперт
*****

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



Цитата(Relayer @ Apr 11 2008, 15:22) *
за ссылку спасибо - вечерком почитаю. а рассказываю я вот о чем - к примеру хочу я спроектировать фильтр который пропускает все отрицательные частоты и положительные предположим до F. т.е. lowpass но в комплексной области через быструю свертку.


Что Вы называете быстрой свёрткой? Быстрые свёртки бывают разные. Посредством преобразование Фурье?
Цитата(Relayer @ Apr 11 2008, 00:21) *
метода рассчета комплексных коэфф FIR-фильтров для быстрой свертки. подскажите кто чем может smile.gif


непонятна постановка задачи. Если у Вас фильтрация идёт через ДПФ и известна частотная характеристика - то причём здесь FIR. Умножил спектры -и всё. Или Вам нужно получить заданную импульсную характеристику?

Ладно, забудьте :-) В том материале, что я привёл строятся эффективные полосовые фильтры в исходном домене по следующей методике 1) перенос спектра в 0 2) фильтрация посредством фильтра НЧ
3) возвращают спект на место на заданную частоту

Вычислительный эффект получают передискретизацией перед фильтрацией НЧ в соответствии с полосой фильтра
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 11 2008, 13:34
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 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, в том числе и отрицательны
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 11 2008, 15:28
Сообщение #10


Гуру
******

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



Цитата(Relayer @ Apr 11 2008, 11:43) *
вы еще предложите значения для ачх фильтра брать только из "+1" и "0" smile.gif
Не понял юмора.
Вы это о чём, уважаемый? Прошу пояснить.


Цитата(fontp @ Apr 11 2008, 12:37) *
Честно говоря не очень понятно о чём Вы рассказывете как на Привозе, приходится догадываться
Если я правильно догадался, то вот есть такая фигня - синтез всяких фильтров посредством переноса спектра.
По-моему, он просто не знает, как нужно фильтровать сигнал в частотной области. smile.gif
А также как умножить вещественное число на комплексное. biggrin.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 11 2008, 16:43
Сообщение #11


Участник
*

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



Цитата(Stanislav @ Apr 11 2008, 18:28) *
Не понял юмора. Вы это о чём, уважаемый? Прошу пояснить.


я это к эффекту Гиббса если вы не сразу соображаете

Цитата(Stanislav @ Apr 11 2008, 18:28) *
По-моему, он просто не знает, как нужно фильтровать сигнал в частотной области. smile.gif
А также как умножить вещественное число на комплексное. biggrin.gif


хочу вам напомнить уважаемый вы наш всезнайка и писатель (интересно - найдется ли такая тема где вы не продемострировали свою эрудицию) - для личной переписки есть личные сообщения. впредь прошу вас воздержаться от писанины в этой теме. а особенно не по существу. если вам не терпится выяснить со мной отношения - мы можем их продолжить выяснять в той самой ветке где вы публично продемострировали ваше полное незнание самых элементарных принципов компресии
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 11 2008, 18:11
Сообщение #12


Гуру
******

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



Цитата(Relayer @ Apr 11 2008, 20:43) *
я это к эффекту Гиббса если вы не сразу соображаете
Полегче на поворотах, уважаемый.
Вероятно, для Вас будет открытием, что явление Гиббса присутствует в любом КИХ-фильтре, включая и тот, что Вы пытаетесь реализовать. wink.gif Однако, это не имеет отношения к теме, а мой вопрос заключается в следующем: отчего это Вы решили, что я буду предлагать Вам сделать к-ты АЧХ фильтра, равными только 0 и 1? Вот на него мне и хочется прочитать ответ.

Цитата(Relayer @ Apr 11 2008, 20:43) *
...хочу вам напомнить уважаемый вы наш всезнайка и писатель (интересно - найдется ли такая тема где вы не продемострировали свою эрудицию) - для личной переписки есть личные сообщения.
Успокойтесь, уважаемый. Свои предположения я высказал вовсе не Вам, а столь бурная реакция свидетельствует лишь о том, что они попали в точку. biggrin.gif

Цитата(Relayer @ Apr 11 2008, 20:43) *
впредь прошу вас воздержаться от писанины в этой теме. а особенно не по существу.
Тогда ещё вопрос: где Вы у меня видели "писанину", и что написанное в теме Вашим покорным слугой не правильно?

Форум открыт для общения; не Вам запрещать мне высказывать собственное мнение, которое я, к тому же, могу подкрепить строгим доказательством.
А вот Вам не мешало бы почитать собственные посты, и попытаться со стороны расшифровать, о чём же хотел поведать миру их автор?


Цитата(Relayer @ Apr 11 2008, 20:43) *
...если вам не терпится выяснить со мной отношения - мы можем их продолжить выяснять в той самой ветке где вы публично продемострировали ваше полное незнание самых элементарных принципов компресии
Это я-то? wink.gif
Обязательно продолжим. biggrin.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Apr 13 2008, 18:56
Сообщение #13


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Цитата(Relayer @ Apr 11 2008, 11:43) *
ну ... эээ ... как бы хотелось теории и вских вумных книжек на эту тему smile.gif с bandpass и bandstop это все получается. а вот low/high pass да в комплексной таким макаром уже не получится. в принципе оно и не особо нужно, но так сказать "для общего развития" не помешало бы smile.gif


В общем-то Вы правильно использовали одно из свойств (частотного сдвига) преобразования Фурье.

http://ru.wikipedia.org/wiki/%D0%9F%D1%80%....80.D1.8C.D0.B5

Умные книжки - любой учебник по функциональному анализу или по ЦОС (Рабинер-Голд, Оппенгейм-Шафер, отечественные авторы Гольденберг-Матюшкин и др.)

можно здесь посмотреть:
http://dsp-book.narod.ru/books.html


Успехов.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 13 2008, 20:31
Сообщение #14


Гуру
******

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



Цитата(Fat Robot @ Apr 13 2008, 22:56) *
В общем-то Вы правильно использовали одно из свойств (частотного сдвига) преобразования Фурье...
Ему бы ещё теорему о циклической свёртке изучить не мешало. smile.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 13 2008, 21:45
Сообщение #15


Участник
*

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



Цитата(Fat Robot @ Apr 13 2008, 21:56) *
В общем-то Вы правильно использовали одно из свойств (частотного сдвига) преобразования Фурье.


ну в этом то я не сомневался smile.gif

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


к сожалению по большей части везде описывается dsp-обработка вещественных сигналов. а у меня комплексный - в этом то собственно и проблема.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Apr 14 2008, 06:31
Сообщение #16


Знающий
****

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



Цитата(Relayer @ Apr 11 2008, 20:43) *
я это к эффекту Гиббса если вы не сразу соображаете


Поясните плиз. Эффект Гиббса возникает при наглом усечении ИХ линейной системы. Какое отношение это имеет при фильтрации в частотной области, где просто зануляются ненужные частоты. У нас есть средства программной обработки сигналов, где выполняется фильтрация в частотной области, и значения АЧХ фильтров +1 и 0.
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 14 2008, 08:04
Сообщение #17


Участник
*

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



Цитата(Михаил_K @ Apr 14 2008, 09:31) *
Поясните плиз. Эффект Гиббса возникает при наглом усечении ИХ линейной системы. Какое отношение это имеет при фильтрации в частотной области, где просто зануляются ненужные частоты. У нас есть средства программной обработки сигналов, где выполняется фильтрация в частотной области, и значения АЧХ фильтров +1 и 0.


дело в том что при наглом занулении фурье-коэф в частотной области и обратном преобразовании фурье получаются артефакты в сигнале. а т.к. этот сигнал в конечном счете переносится в звуковой спектр, то это все приходится слушать ушами. поэтому и такое сложное формирование ачх, а так же применение overlap&add.

странная дискуссия получается - я задал вопрос, по существу никто ничего не сказал, зато все спрашивают.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 14 2008, 08:11
Сообщение #18


Гуру
******

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



Цитата(Relayer @ Apr 14 2008, 12:04) *
странная дискуссия получается - я задал вопрос, по существу никто ничего не сказал, зато все спрашивают.
По существу всё уже сказано, уважаемый. Наберитесь терпения, и попробуйте вникнуть в суть написанного.

Цитата(Relayer @ Apr 14 2008, 12:04) *
дело в том что при наглом занулении фурье-коэф в частотной области и обратном преобразовании фурье получаются артефакты в сигнале.
А в Вашем КИХ-фильтре они что, не получаются? wink.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 14 2008, 08:14
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Relayer @ Apr 14 2008, 11:04) *
странная дискуссия получается - я задал вопрос, по существу никто ничего не сказал, зато все спрашивают.
А что свойтво линейности фильтров уже отменили?

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

Фильтр FIR, ессно, один и тот же, что для Re, что для Im. 07.gif
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 14 2008, 08:24
Сообщение #20


Участник
*

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



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

Цитата(blackfin @ Apr 14 2008, 11:14) *
Т.е., буквально, фильтруем отдельно действительную часть сигнала,
затем комплексную, складываем и получаем комплексный результат.
Фильтр FIR, ессно, один и тот же, что для Re, что для Im. 07.gif


это все применимо к симметричным относительно 0Hz фильтрам. и еще один момент - мне фильтровать надо именно в частотной области, без перехода во временную. дело в том что перед и после фильтрации присутствует еще некоторая обработка в частотной области, поэтому лишние "телодвижения" туда-сюда из частотной во временную и обратно скажутся на производительности системы.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 14 2008, 09:12
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Relayer @ Apr 14 2008, 11:24) *
это все применимо к симметричным относительно 0Hz фильтрам.
Здесь Вы, мягко говоря, ошибаетесь.. smile.gif
Сможете доказать, что у фильтров с несимметричной АЧХ отсутствуют линейность и стационарность.. ???
Цитата(Relayer @ Apr 14 2008, 11:24) *
и еще один момент - мне фильтровать надо именно в частотной области, без перехода во временную. дело в том что перед и после фильтрации присутствует еще некоторая обработка в частотной области, поэтому лишние "телодвижения" туда-сюда из частотной во временную и обратно скажутся на производительности системы.
Да я не навязывал Вам никакой конкретной реализации фильтра.
Просто хотел лишний раз напомнить о линейности операции фильтрации в её математическом смысле.. wink.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 14 2008, 09:44
Сообщение #22


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(blackfin)
Т.е., буквально, фильтруем отдельно действительную часть сигнала, затем комплексную, складываем и получаем комплексный результат.
По одной части сигнала кажется невозможно отличить частоты +F и -F (симметрия от 0) т.к. они совпадают с противоположной, сдвинутой на 180 град. Так что фильтр должен работать сразу с комплексным представлением. Либо предворительно сдвинуть спектр в части, подлежащей фильтрации.


Цитата(Relayer)
дело в том что при наглом занулении фурье-коэф в частотной области и обратном преобразовании фурье получаются артефакты в сигнале. а т.к. этот сигнал в конечном счете переносится в звуковой спектр, то это все приходится слушать ушами. поэтому и такое сложное формирование ачх, а так же применение overlap&add.
Из чистого любопытства, для чего понадобилась такая необычная (ИМХО) фильтрация?

Сообщение отредактировал GetSmart - Apr 14 2008, 09:45


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 14 2008, 09:55
Сообщение #23


Эксперт
*****

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



Цитата(Relayer @ Apr 14 2008, 12:24) *
это все применимо к симметричным относительно 0Hz фильтрам. и еще один момент - мне фильтровать надо именно в частотной области, без перехода во временную. дело в том что перед и после фильтрации присутствует еще некоторая обработка в частотной области, поэтому лишние "телодвижения" туда-сюда из частотной во временную и обратно скажутся на производительности системы.


М-да уж... Если FIR имел действительный отклик во временной области, то симметричны, а так - нет :-)
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Apr 14 2008, 10:24
Сообщение #24


Знающий
****

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



Не знаю, поможет или нет. Но мы для расчета комплексного фильтра (чтобы не было симметрии относительно 0) делали так.
1. Вычисляли обычный полосовой фильтр необходимой конфигурации в матлабе. При этом получался фильтр с действительными коэффициентами, который симметричен относительно 0.
2. Делали преобразование Гильберта над фильтром. При этом одна половинка исчезает. smile.gif .
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 14 2008, 12:51
Сообщение #25


Участник
*

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



Цитата(GetSmart @ Apr 14 2008, 12:44) *
По одной части сигнала кажется невозможно отличить частоты +F и -F (симметрия от 0) т.к. они совпадают с противоположной, сдвинутой на 180 град. Так что фильтр должен работать сразу с комплексным представлением. Либо предворительно сдвинуть спектр в части, подлежащей фильтрации.


о чем я и говорил

Цитата(GetSmart @ Apr 14 2008, 12:44) *
Из чистого любопытства, для чего понадобилась такая необычная (ИМХО) фильтрация?


вот для этого: http://code.google.com/p/sdrlab

Цитата(Михаил_K @ Apr 14 2008, 13:24) *
Не знаю, поможет или нет. Но мы для расчета комплексного фильтра (чтобы не было симметрии относительно 0) делали так.
1. Вычисляли обычный полосовой фильтр необходимой конфигурации в матлабе. При этом получался фильтр с действительными коэффициентами, который симметричен относительно 0.
2. Делали преобразование Гильберта над фильтром. При этом одна половинка исчезает. smile.gif .


Михаил, спасибо. буду обязательно пробовать! за две страницы первый солюшн. насколько я понимаю такой методикой можно фильтр с вещественными коэфф отобразить только либо на положительные либо на отрицательные частоты. правильно?

PS 2 fontp и blackfin - господа, вы наверное не совсем поняли - я тут никому ничего доказывать не собираюсь. высшее математическое есть, но по цос у меня самообразование. и по работе я специализируюсь в областях далеких от электроники и цос. а ветку открыл именно с целью чтобы профессионалы не зубоскалили и выпендривались друг перед другом, а помогли реальным советом
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Apr 14 2008, 13:21
Сообщение #26


Знающий
****

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



Цитата(Relayer @ Apr 14 2008, 16:51) *
насколько я понимаю такой методикой можно фильтр с вещественными коэфф отобразить только либо на положительные либо на отрицательные частоты. правильно?


Ну вроде как да.
В принципе можно делать и в лоб. Т.е. задаете требуемую АЧХ, делаете преобразование фурье комплексное, потом усекаете окном. Тут главное правильно задать наклон ФЧХ. Но это нужно делать ручками, матлаб к сожалению расчет комплексных фильтров не поддерживает.

У способа с преобразованием Гильберта есть недостаток - увеличения порядка фильтра на порядок преобразователя гильберта smile.gif . Мы синтезировали большие фильры с числом коэффициентов более 200, поэтому +- 14 коэффициентов было не так страшно. В вашем случае не знаю как это будет.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 14 2008, 14:23
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Relayer, попробуйте сделать такую АЧХ для частотных представлений (после FFT), которая будет фазозависима от фаз Re и Im. Отличить частоты +F и -F можно по разности фаз в Re и Im. Если разность 0..180 град, то частота положительная. Если 0..-180, то отрицательная (или наоборот smile.gif) Судя по описанию из SDR разность фаз будет в районе +90 и -90 град и их легко отличить.

Сообщение отредактировал GetSmart - Apr 14 2008, 14:26


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 14 2008, 15:03
Сообщение #28


Участник
*

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



Цитата(Михаил_K @ Apr 14 2008, 16:21) *
Мы синтезировали большие фильры с числом коэффициентов более 200, поэтому +- 14 коэффициентов было не так страшно. В вашем случае не знаю как это будет.


у меня порядки 500 и выше. так что некритично
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 15 2008, 22:37
Сообщение #29


Гуру
******

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



Цитата(Relayer @ Apr 14 2008, 12:24) *
Stanislav, я не намерен отвечать на ваше пустословие в этой теме. вы не написали ничего по существу вопроса. общие фразы и только. вдобавок вы позволяете себе хамское поведение. если вам не понятно - я не собираюсь вступать с вами тут в бессмысленную перепалку. хотите говорить - говорите. до тех пор пока модератор не сочтет ваши разговоры раздуванием флейма
Ошибаетесь, уважаемый.
Я дал здесь Вам целых два полезных совета по существу вопроса. Ваша нежелание/неспособность принять их к сведению нисколько не умаляет их сути, а Ваше реакция на добрые намерения напрочь отбивает всякую охоту помогать Вам хоть в чём-то впредь. sad.gif

Цитата(Relayer @ Apr 14 2008, 16:51) *
...и по работе я специализируюсь в областях далеких от электроники и цос...
Это заметно. Особенно в темах о компрессии сигнала.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 16 2008, 05:51
Сообщение #30


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Stanislav)
Я дал здесь Вам целых два полезных совета по существу вопроса.
Перечитал снова. Не нашёл ни первого ни второго smile.gif Может носом ткнёте?

ЗЫ. Я не автор, но мне любопытно.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 16 2008, 06:15
Сообщение #31


Гуру
******

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



Цитата(GetSmart @ Apr 16 2008, 09:51) *
Перечитал снова. Не нашёл ни первого ни второго smile.gif Может носом ткнёте?
См. посты №4 и №14.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 16 2008, 06:24
Сообщение #32


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Пост №4
Цитата
Только зачем это Вам? Вы же фильтрацию в частотной области делаете, или я не понял чего-то? Для этого достаточно домножить результат комплексного ДПФ на вещественную функцию "АЧХ" фильтра, и сделать ОДПФ.

И что получим? Симметрию относительно 0. Где там польза для автора?

Пост №14
Цитата
Ему бы ещё теорему о циклической свёртке изучить не мешало. smile.gif
Свёртке чего (в данном контексте) с чем? Вы её знаете? И что же такое "полезное" эта теорема говорит?

Сообщение отредактировал GetSmart - Apr 16 2008, 06:51


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 16 2008, 07:10
Сообщение #33


Участник
*

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



Цитата(GetSmart @ Apr 16 2008, 09:24) *
И что получим? Симметрию относительно 0. Где там польза для автора?


вобщем проблему более менее разрешил. точнее сказать убедился в том, что выбранный мной изначально метод - правильный и рабочий. ачх, точнее коэфф на которые надо домножать в частотной области у меня получились комплексные. вчера дописал код и вчерновую запустил - артефактов нет.
всетаки остановился на bandpass/stop. low/highpass тоже работает, но с некоторыми оговорками - об этом позже. итак у нас есть Flo, FHi. строим windowed-sinc filter. lowpass если требуется bandpass ачх и highpass - если bandstop. частота среза этого фильтра = (Fhi-Flo)/2. получаем вещественные коэфф фильтра. их N/2 штук, при этом FFT работает с окном размером N. старшую половину блока зануляем. причина связана с тем что используется техника overlap&add. теперь генерируем комплексную экспоненту с частотой (Flo+Fhi)/2 и поэлементно домножаем (комплексно) на нее сгенерированные коэфф фильтра. от полученного комплексного массива выполняем прямое FFT и получаем коэфф на которые будет домножаться (комплексно) сигнал в частотной области.
теперь касательно low/highpass в комплексной плоскости. их тоже можно сгенерировать таким образом. к примеру если нам необходим lowpass с частотой среза Flo можно сгенерировать по рассмотренной выше методике bandpass c полосой -Fs/2..Flo. но вылезла мелкая бяка - на результирующей ачх есть небольшой пик в районе F/s (хотя там должно быть подавление). мое предположение - это происходит из за свойств цикличности.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Apr 16 2008, 07:15
Сообщение #34


Гуру
******

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



Цитата(GetSmart @ Apr 16 2008, 10:24) *
Свёртке чего (в данном контексте) с чем? Вы её знаете? И что же такое "полезное" эта теорема говорит?
Вообще-то, я хотел упомянуть о "теореме запаздывания", но уж больно автор темы, гм... того. smile.gif Теорема о свёртке же говорит о том, как надо фильтровать сигнал в частотной области.

Цитата(GetSmart @ Apr 16 2008, 10:24) *
Пост №4
И что получим? Симметрию относительно 0. Где там польза для автора?
А Вы условие прочитайте, и скажите, что у меня неправильно.
Или, лучше, свою тему создайте - сюда я больше не писец. smile.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 17 2008, 10:45
Сообщение #35


Участник
*

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



Цитата(Stanislav @ Apr 16 2008, 10:15) *
сюда я больше не писец. smile.gif


вот именно - наиспражнялись вы здесь вволю. ну да ладно - вас ждет тема по lossless audio compression. тема TTA-кодека вами совсем не раскрыта. пора бы с ней покончить - за три дня что вы отмалчиваетесь вполне можно было разобраться в алгоритме. или вы язык ЦЭ в школе не проходили? smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 17 2008, 12:28
Сообщение #36


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Relayer, я в терминах немного не бум-бум. У фильтра (bandpass/stop) получилась крутизна с обоих сторон одинаковая, а симметрия вместо нуля сдвинута на другую частоту?

Преобразование Гильберта не помогло што ли? Мне вот интересно, если восстановить Im часть коэффициентов фильтра по Re части, потом ещё умножить на комплексную экспоненту (или на что другое), то можно убрать из фильтрации скажем все отрицательные частоты?

Сообщение отредактировал GetSmart - Apr 17 2008, 12:34


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 17 2008, 13:36
Сообщение #37


Участник
*

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



Цитата(GetSmart @ Apr 17 2008, 15:28) *
Relayer, я в терминах немного не бум-бум. У фильтра (bandpass/stop) получилась крутизна с обоих сторон одинаковая, а симметрия вместо нуля сдвинута на другую частоту?
Преобразование Гильберта не помогло што ли? Мне вот интересно, если восстановить Im часть коэффициентов фильтра по Re части, потом ещё умножить на комплексную экспоненту (или на что другое), то можно убрать из фильтрации скажем все отрицательные частоты?


вот как выглядит ачх - на входе белый шум (комплексный)
bandpass 3-6kHz:
Прикрепленное изображение

bandstop 3-6kHz:
Прикрепленное изображение

lowpass 3kHz с теми артефактами справа о которых я писал ранее
Прикрепленное изображение


крутизна по бокам одинаковая. с гильбертом что-то у меня не пошло. толи не то крутил, толи не туда smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 17 2008, 15:21
Сообщение #38


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Если последний рисунок "свернуть в трубочку", то вполне идеальный фильтр без артефактов. ИМХО единственный способ сделать идеальный low/highpass фильтр в положительных и отрицательных частотах - это "условная" свёртка, о которой я писал раньше.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Relayer
сообщение Apr 17 2008, 16:19
Сообщение #39


Участник
*

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



Цитата(GetSmart @ Apr 17 2008, 18:21) *
Если последний рисунок "свернуть в трубочку", то вполне идеальный фильтр без артефактов.


естественно. артефакт это левый скат ачх который "завернулся" вправо. в зависимости от выбора окна будет более или менее выражен.

Цитата(GetSmart @ Apr 17 2008, 18:21) *
ИМХО единственный способ сделать идеальный low/highpass фильтр в положительных и отрицательных частотах - это "условная" свёртка, о которой я писал раньше.


гм ... давайте подробнее об этом. "теоретики" поразбежались - есть шанс разобраться в этом вопросе smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 18 2008, 08:49
Сообщение #40


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Тока сначала мне надо понять что имеется на входе. Как я где-то по ссылке прочитал - это комплексное представление ПЧ радиотракта. Непонятно только чем отфильтрованное и какой с полосой. Если в этой полосе будут только частоты -Fs/2..0..Fs/2, то без проблем на выход пропускать все отрицательные, а положительные фильтровать через FIR. Или наоборот (в любых комбинациях).

Хотя принципиальной выгоды в этом может и не быть. Т.к. в комплексном представлении при оцифровке все частоты в входном сигнале как бы сворачиваются "в трубочку" и вылезают в полосе -Fs/2..0..Fs/2. Например -Fs/2 - 1Hz вылезет в полосе Fs/2 - 1 Hz. ИМХО чтобы таких артефактов не было с "реальными" неидеальными аналоговыми фильтрами перед АЦП наверно нужно оцифровывать полосу сигнала заметно шире, а потом использовать только часть (серединку).


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:27
Рейтинг@Mail.ru


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