Перейти к содержанию
    

БПФ ОБПФ в звуковизоре

Сложность формирования диаграммы направленности антенны из N элементов: во временной области O(N*N), в частотной области O(N*logN). При больших N формирование в частотной области однозначно эффективней. Но какие константы в O-нотации сложности обоих методов? В качестве нижней границы эффективности применения алгоритма в частотной области в литературе указывалось число элементов антенны N~100, т.е. при малых N алгоритм во временной области эффективней?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть N антенных элементов, требуется сформировать M лучей.

 

Во временной области для формирования задержек используем фильтры, на которых можно с высокой точностью эти задержки выставить. Допустим на такой фильтр требуется Р умножителей. Итого получаем, что на один набор входных отсчётов с N элементов потребуется N*M*P комплексных умножителей (КУ).

 

Используя формирование ДН в частотной области, потребуется делать N быстрых преобразований Фурье с базой K > P. На N каналов, это N*K*log2(K) КУ. Для формирования ДН в частотной области нужно N*K*M КУ. Чтобы вернуть лучи во временную области потребуется ещё N*K*log2(К) КУ. Итого получаем 2*N*K*log2(K)+N*K*M КУ. Но для частотного формирования обработка выполняется блоками, размер каждого блока равен базе Фурье, если нет перекрытия. Указанное количество КУ - на блок а не на выборку АЦП, тогда на выборку АЦП можно оценить количество КУ: 2*N*log2(K)+N*M. Если использовать перекрытие 50% (распространённый вариант), то количество КУ выборку = 4*N*log2(K) + 2*M*N.

 

Сравнивая N*M*P и 4*N*log2(K) + 2*M*N нетрудно оценить границы применимости частотного формирования ДН.

 

Из этих же рассуждений можно увидеть, где возможно сэкономить для частотного метода. Если возвращаться во временную область не требуется, то количество КУ можно сократить до 2*N*log2(K) + 2*M*N. Если нас интересуют не все частоты, то второе слагаемое может быть дополнительно уменьшено, т.к. формировать ДН нужно будет не для K частот, а для K' < K. Если принять M=N, то в частотной области операция будет похожа на DFT, с той разницей, что матрица преобразования W может не быть ортогональной. Существует ряд быстрых алгоритмов для данной ситуации на подобие FFT, тогда M*N -> N*N -> N*log2(N). И ещё одно достоинство частотного метода - если используются алгоритмы адаптации, их реализация в частотной области сводится к обычным sum&shift beamformer'ам, в отличие от адаптации фильтров для временных методов.

Изменено пользователем serjj

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем и целом процесс формирования лучей в частотной области понятен, кроме некоторой конкретики.

Допустим имеется 2 датчика и на их базе необходимо сформировать 32 луча в частотной области с шагом 0.3 градуса. При этом сектор обзора для этих датчиков всего 10 градусов.

Если применить БПФ для каждого датчика, то сколькиточечный нужен будет БПФ, чтобы обеспечить такой мелкий шаг по углу? Получается 360*3 или ~ 1024 точки. Из них нужно будет выбрать только необходимые 32 луча. Или все же както можно выкрутиться БПФ с меньшим количеством точек?

Это все рассуждения к тому как достигается высокое разрешение по углу в звуковизоре? БПФ на большое количество точек? Если так то тогда и разрешение по дальности будет низкое, поскольку оно будет определяться шагами равными количеству точек БПФ * на частоту дискретизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем и целом процесс формирования лучей в частотной области понятен, кроме некоторой конкретики.

Допустим имеется 2 датчика и на их базе необходимо сформировать 32 луча в частотной области с шагом 0.3 градуса. При этом сектор обзора для этих датчиков всего 10 градусов.

Если применить БПФ для каждого датчика, то сколькиточечный нужен будет БПФ, чтобы обеспечить такой мелкий шаг по углу? Получается 360*3 или ~ 1024 точки. Из них нужно будет выбрать только необходимые 32 луча. Или все же както можно выкрутиться БПФ с меньшим количеством точек?

Это все рассуждения к тому как достигается высокое разрешение по углу в звуковизоре? БПФ на большое количество точек? Если так то тогда и разрешение по дальности будет низкое, поскольку оно будет определяться шагами равными количеству точек БПФ * на частоту дискретизации.

 

Разрешение угловое определяется эффективной площадью антенны. А требуемое количество полос тем, насколько диаграмма направленности зависит от частоты, если не зависит, то одна точка БПФ нужна, а разрешение при этом может быть сколь угодно высоким. Банк фильтров можно сделать вообще без децимации, БПФ не вещь в себе, а всего длишь быстрый алгоритм для нужного банка фильтров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разрешение угловое определяется эффективной площадью антенны. А требуемое количество полос тем, насколько диаграмма направленности зависит от частоты, если не зависит, то одна точка БПФ нужна, а разрешение при этом может быть сколь угодно высоким. Банк фильтров можно сделать вообще без децимации, БПФ не вещь в себе, а всего длишь быстрый алгоритм для нужного банка фильтров.

Стоп. Давайте отвлечемся от антенны. Речь идет о БПФ и формировании диаграммы направленности в частотной области. Предположим что диаграмма зависит от частоты. Значит разрешение по углу определяется какраз количеством точек БПФ. Или я не прав? http://www.eetimes.com/document.asp?doc_id=1278838 Иначе как можно получить 256 лучей при 48 элементах антенны? http://www.cta.ru/cms/f/441553.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Речь идет о БПФ и формировании диаграммы направленности в частотной области. Предположим что диаграмма зависит от частоты. Значит разрешение по углу определяется какраз количеством точек БПФ. Или я не прав? http://www.eetimes.com/document.asp?doc_id=1278838

 

Разрешение определяется шириной основного лепестка диграммы направленности. Можно использовать FFT для суммирования сигналов с решётки с фазовращающими коэффициентами как по ссылке, количеством точек определяется количество углов, а не разрешение, и это всё для одной частоты частотно-зависимой диграммы направленности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разрешение определяется шириной основного лепестка диграммы направленности. Можно использовать FFT для суммирования сигналов с решётки с фазовращающими коэффициентами как по ссылке, количеством точек определяется количество углов, а не разрешение, и это всё для одной частоты частотно-зависимой диграммы направленности.

Ну вот. Значит количество точек это количество углов. Теперь если антенна (например линейка, нпример 32 элемента) имеет ширину основного лепестка например 30 градусов. Как с помощью бимформера в частотной области построить в пределах 30 градусов веер из 256 лучей? На сколько точек в этом случае нужет FFT на каждый элемент антенны?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот. Значит количество точек это количество углов. Теперь если антенна (например линейка, нпример 32 элемента) имеет ширину основного лепестка например 30 градусов. Как с помощью бимформера в частотной области построить в пределах 30 градусов веер из 256 лучей? На сколько точек в этом случае нужет FFT на каждый элемент антенны?

 

Фазовращающие коэффициенты при суммировании FFT знаете, конструкцию решётки знаете, вот и смотрите набор диаграмм направленности который получаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фазовращающие коэффициенты при суммировании FFT знаете, конструкцию решётки знаете, вот и смотрите набор диаграмм направленности который получаете.

Понятно. Если к каждому элементу подключить БПФ на 256 точек. Далее через весовые коэффициенты можно сформировать 256 лучей в нужных направлениях. Теперь возникает вопрос о разрещении по дистанции. Если обрабатывать БПФ_ы после полного заполнения буферов на 256 точек то шаг при скорости звука в воде 1500 м/сек будет 64 см. В звуковизоре это 2 см. Как достигается такое разрешение? Понятно, что можно обрабатывать БПФ_ы с перекрытием соответствующим шагу по дистанции 2 см. Но это же тогда громадные вычислительные операции. Успеет ли обычный ПК выполнить такое количество опереаций за время одного кадра звуковизора ~ 0.1 сек? Или все делается по другому...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понятно. Если к каждому элементу подключить БПФ на 256 точек. Далее через весовые коэффициенты можно сформировать 256 лучей в нужных направлениях. Теперь возникает вопрос о разрещении по дистанции. Если обрабатывать БПФ_ы после полного заполнения буферов на 256 точек то шаг при скорости звука в воде 1500 м/сек будет 64 см. В звуковизоре это 2 см. Как достигается такое разрешение? Понятно, что можно обрабатывать БПФ_ы с перекрытием соответствующим шагу по дистанции 2 см. Но это же тогда громадные вычислительные операции. Успеет ли обычный ПК выполнить такое количество опереаций за время одного кадра звуковизора ~ 0.1 сек? Или все делается по другому...

 

Ничего не понятно. Не к каждому элементу, FFT вычисляется от массива элеменетов(с добавлением нулевых элементов) на каждом такте, для одновременного приёма с 256 углов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как Petrov говорит, FFT это только инструмент. Если применить N-точечное Фурье к кажому выходу АЦП, то пространственный сигнал x(t...t+ts*(N-1)) будет переведён в частотную область (дальнейшая обработка естественно станет блоковой). С другой стороны, если подать пространственный сигнал x(t), собранного с M АЦП на вход M-точечного Фурье, то на выходе преобразования будет сигнал b(t), который будет представлять собой M ортогональных лучей. При этом сигнал x был переведён из time domain в beamspace time domain. Также можно каждый k-й столбец пространственного-частотного сигнала X[MxN] полученного из x(t...t+ts*(N-1)) подать на вход M-точечного Фурье и получить сигнал B[MxN], который есть M лучей на N частот. Сигнал B соответствует beamspace frequency domain.

 

Интересующая нас пространственная обработка может быть реализована в любом из доменов в зависимости от требований и задач. Переход в домен отличный от time domain делается только для уменьшения сложности реализации. Теоретически любую обработку можно делать по данным АЦП/АЦП+ФНЧ.

 

Ещё один момент. Приведённое выше справедливо для линейного массива, т.к. переход в beamspace domain в общем случае зависит от геометрии ФАР. Так для плоской решётки это 2d FFT и т.д.

Изменено пользователем serjj

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не понятно. Не к каждому элементу, FFT вычисляется от массива элеменетов(с добавлением нулевых элементов) на каждом такте, для одновременного приёма с 256 углов.

Ну как же не к каждому http://electronix.ru/forum/index.php?act=a...st&id=95770 Речь идет о frequency domain И не на каждом такте. Даные буферизируются, затем с ними производится операция FFT. Непонятно какой длины выбирается буфер. Если без перекрытия то по дистанции разрешение будет никаким. Если с большим перекрытием то это большое количество операций с которыми врядли справится ПК.

Интересующая нас пространственная обработка может быть реализована в любом из доменов в зависимости от требований и задач. Переход в домен отличный от time domain делается только для уменьшения сложности реализации. Теоретически любую обработку можно делать по данным АЦП/АЦП+ФНЧ.

Речь идет только о frequency domain. Поскольку FFT вычисляются блоками то непонятка в том как должны вычисляться блоки. Если по ТХ разрешение по дистанции звуковизора 2 см то получается что вычислять FFT нужно блоками с большим перекрытием. ПК с этим справится?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как же не к каждому http://electronix.ru/forum/index.php?act=a...st&id=95770 Речь идет о frequency domain И не на каждом такте. Даные буферизируются, затем с ними производится операция FFT. Непонятно какой длины выбирается буфер. Если без перекрытия то по дистанции разрешение будет никаким. Если с большим перекрытием то это большое количество операций с которыми врядли справится ПК.

 

Здесь совсем другое FFT, по времени, в отличие от картинки из первой ссылки, где FFT считается по отводам антенной решётки, здесь же управление диаграммой в лоб считается, умножением на фазовые множители и суммированием.

Длина буфера ограничивается допустимой задержкой. На разрешение по дальности это не влияет, ведь вы сигнал потом восстанавливаете, посмотрите как КИХ фильтры в частотной области считаются блоками, а результат ничем не отличается свёртки в лоб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Длина буфера ограничивается допустимой задержкой. На разрешение по дальности это не влияет, ведь вы сигнал потом восстанавливаете, посмотрите как КИХ фильтры в частотной области считаются блоками, а результат ничем не отличается свёртки в лоб.

Если сравнивать с фильтром то понятно. Ясное дело буфер должен быть не менее чем количество точек БПФ или, что тоже самое, количество лучей. При этом темп забора данных из буфера и вычисления это и есть разрешение по дальности. Просто сомнения в том справится-ли с таким объемом вычислений ПК. Если дистанция 100 метров то 100 00/2 = 5000 операций БПФ по 32_ум (или даже по 48_ми) каналам. Итого 240 000. И все это за время равное одному кадру ~ 0.1 сек. А если считать дистанцию туда и обратно (по отраженному сигналу) то еще в 2 раза больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если сравнивать с фильтром то понятно. Ясное дело буфер должен быть не менее чем количество точек БПФ или, что тоже самое, количество лучей. При этом темп забора данных из буфера и вычисления это и есть разрешение по дальности.

Откуда у вас такие убеждения?

Количество лучей ограничено вашей фантазией.

Количество точек Фурье (для Фурье, которые переводят данные АЦП во frequency domain) определяет количество частотных подканалов на которые будет разбит исходный сигнал.

То что вы называете темпом забора - это перекрытия, с которыми потребуется делать преобразование, для удовлетворения ваших нужд. Обычно достаточно 50%. При очень малой стационарности большие перекрытия могут и не помочь вовсе -> требуется уменьшение базы преобразования.

Разрешение по дальности определяется частотой следования импульсов на излучателе.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...