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

Спектральный анализ Фурье

8 часов назад, my504 сказал:

Имею я вопрос к Ксении.

Я не слишком большой специалист в ЦОС. Мои занятия этой частью математики ограничены моим классом решаемых задач.

Но мне показалось странным использование оконной функции в частотной области. Мне всегда представлялось логичным, что с оконной функцией сворачивают ИСХОДНЫЙ сигнал ВО ВРЕМЕННОЙ области. И делают это для того, чтобы уменьшить краевые эффекты прямоугольного окна, которые и вызывают боковые лепестки в АЧХ фильтров.

Так в чем тут прикол, Ксения?

В вещественной области функцию действительно СВОРАЧИВАЮТ с функций окна, т.е. не просто перемножают их значения во всех точках внутри окна, а после этого все произведения еще СУММИРУЮТ и эту сумму считают значением сверки в центральной точке окна. А для получения таких значений для всех точек исходной функции эту процедуру надо повторять многократно для каждой ее точки, всякий раз сдвигая окно так, чтобы очередная точка находилась строго по центру этого окна. Т.е. это и есть СВЕРТКА по математикой терминологии. Микроконтроллеры эту процедуру страсть как не любят :), поскольку ее сложность N^3. Отсюда и старинные рекомендации использовать DSP-процессор (у них есть аппаратная операция умножения с суммированием результата) везде, где используется вычисление сверки в лоб.

 

Однако в математике есть знаменитая теорема о свертке ("Фурье-образ свертки функций равен произведению их фурье-образов") , что позволяет вычислить свертку двух функций иначе - сперва получить их Фурье-образы в частотой области, перемножить их (всего один раз!), а затем обратным фурье-преобразованием вернуть результат в вещественную область. При большой длине функций (в дискретных точках) такая замена имеет смысл, т.к. сложность вычислений уменьшается до величины N*log(N). Я когда-то плотно этим занималась и даже "открыла (потом выяснилось, что я не первая об этом догадалась), что пару функций можно преобразовать по Фурье за один раз, закладывая вторую функцию в виде мнимой части и используя алгоритм комплексного преобразования Фурье однократно.

 

Однако для практических целей цифровой фильтрации нет необходимости превращать оконную функцию в фурье-образ, т.к. ее вид заранее известен. А потому используют готовые окна Ханна, Хэминга и других, которые уже заданы в частотой области и имеют несложную формулу для вычисления. Такие окна тоже называются окном, но его применение в корне отличается - с этим окном уже не сворачивают и произведения не суммируют, т.е. здесь оно задает коэффициенты подавления для всех частот спектра, по сути являясь амплитудной передаточной функцией.

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


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

9 часов назад, my504 сказал:

P.S. ... нет никакой необходимости делать полное частотное преобразования сигнала, если нужно выделить лишь несколько частотных каналов. То есть достаточно определить длину буфера через требуемую полосу пропускания каналов, заполнять этот буфер в режиме скользящего окна, умножать это скользящее окно на оконную функция выбранную по критерию формы АЧХ, выполнять ДПФ (а не БПФ) только в тех частотных каналах, которые подлежат выделению.

[Не дает мне редактор форума ответить сразу на две цитаты, потому вынуждена писать продолжение в отдельном сообщении]

Продолжу свое повествование про "фурье против свертки". Польза от Фурье быстро уменьшается по мере сужения сверточного окна. Когда это окно достаточно узкое, то делать полную сверку не имеет смысла, т.к. за пределами этого окна одни нули, на которые множить не хочется. Т.е. при ширине окна ниже log(N) применение Фурье-метода теряет смысл - здесь эффективнее вычисление свертки классическим методом. Предел достигается при единичной ширине окна - здесь уже совсем  в Фурье-преобразовании нет необходимости, а вполне достаточной бывает корреляция с синусоидой выделяемой частоты.

 

Тем не менее, ритмы головного мозга плохо выдерживают постоянство ритма по фазе. Скажем, на узком временном участке амплитуда внезапно пропадает, а чуть позже проявляется примерно с той же частотой, но уже с другой фазой. В этом смысле задача заметно сложнее, т.к. частота вроде как есть, но Фурье ее плохо ловит, т.к. она несинфазная.

 

Тем не менее, Фурье-метод хорош для прикидочных offline-опытов своей наглядностью, когда искомым результатом является не фильтрация входного сигнала, а разделение спектра по частотам.

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


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

2 hours ago, Xenia said:

Продолжу свое повествование про "фурье против свертки". .

Мне нужна некоторая пауза для понимания написанного, сей минут я на конференции компании, однако насколько я понял Вашу, Ксения, терминологию, Вы под сверткой понимаете ДПФ, а под Фурье - БПФ. Так ли это?

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


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

48 минут назад, my504 сказал:

... насколько я понял Вашу, Ксения, терминологию, Вы под сверткой ДПФ, а под Фурье - БПФ. Так ли это?

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

 

Тогда как ДПФ и БПФ - два варианта преобразования Фурье, из которых БПФ более быстрое за счет удачно выбранной длины массива (2^n), удобной для работы быстрого алгоритма вычисления.

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


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

23 минуты назад, Xenia сказал:

удачно выбранной длины массива (2^n)

В общем случае это не обязательно. Существуют алгоритмы БПФ и для других размерностей.

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


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

4 hours ago, Xenia said:

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

Вы не в теме.. свёртка и взаимная корреляция это разные операции.. У них и формулы разные..

И почему это свёртка вдруг оказалась "чисто вещественной операцией над двумя функциями" ?

:acute:

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


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

5 часов назад, Grizzly сказал:

То есть эти устройства не должны быть critical safe и проходить соответствующие сертификации?

Отвечу сам себе ответом с форума Arduino. Из документов Atmel (https://forum.arduino.cc/index.php?topic=238289.0):

Products are not designed for and will not be used in connection with any applications where the failure of such Products would reasonably be expected to result in significant personal injury or death ("Safety-Critical Applications") without an Atmel officer's specific written consent. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Buyer will fully defend (at Atmel's option), indemnify and hold Atmel harmless from and against any cost, loss, liability, or expense arising out of or related to use of Products in Safety-Critical Application.

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


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

57 минут назад, Grizzly сказал:

Отвечу сам себе ответом с форума Arduino.

Тогда и я отвечу на ваш ответ. Скажем, автомобили постоянно попадают в аварии из-за отказа комплектующих (типичный случай - "оказали тормоза"). И люди в тех авариях гибнут сотнями в год. И никакая сертификация эту проблему не лечит. Тогда как от Arduino не пострадал еще ни один человек, однако все в ее сторону грозят кулаками. Между тем, ATmega - один из самых надежных микроконтроллеров благодаря 5-вольтовому питанию и крупной технологии (350 нм). Даже специально задавшись целью вывести этот МК из строя, сделать это очень трудно, т.к. он выдерживает довольно большие токи. А если нынче он вышел из моды, то не по причине низкой надежности, а лишь потому, что скорости у него маловато и периферии по нынешним временам не густо.

 

Эта ситуация поразительно похожа на ситуацию с ... Макдоналдсами в России, где именно их меню считают главной угрозой здоровью россиян, судорожно подсчитывая число раковых больных, которые когда либо в Макдоналдсе обедали, тогда аналогичную статистику по российскому общепиту не считает никто. Т.е. дело здесь не в качестве питания, а в желании насолить иностранной компании, осмеливавшейся захватить часть российского рынка.

 

Снобизм в отношении Arduino проистекает не из-за того, что МК от Atmel плохи, а только потому, что Arduino - средство для начинающих. Именно за это профессионалы ее и бомбят. Причем ничего ровным счетом не изменилось бы, если в Arduino заменить МК на более крутой, т.к. дело не в контроллере, а в презрении к начинающим :).

 

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


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

6 минут назад, Xenia сказал:

благодаря 5-вольтовому питанию и крупной технологии (350 нм)

С этим согласен. Для высоконадежных применений плохо всё, что тоньше 250 нм.

7 минут назад, Xenia сказал:

Тогда как от Arduino не пострадал еще ни один человек, однако все в ее сторону грозят кулаками.

Мне кажется, что в авиации, автомобильной промышленности, медицине, где дело касается непосредственно безопасности, должна быть более строгая сертификация изделия в целом. Как мне кажется, ТС хочет купить обычную платку и написать на ней некий софт. Писаться он будет в стиле Arduino, поэтому ни о каком удовлетворении стандартам типа MISRA не может быть и речи. Это настораживает. То, что ATmega является хорошим контроллером, у меня не вызывает сомнения. Я про подход к разработке изделий, в которых ATmega является лишь частью.

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


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

23 минуты назад, Grizzly сказал:

Мне кажется, что в авиации, автомобильной промышленности, медицине, где дело касается непосредственно безопасности, должна быть более строгая сертификация изделия в целом. Как мне кажется, ТС хочет купить обычную платку и написать на ней некий софт. Писаться он будет в стиле Arduino, поэтому ни о каком удовлетворении стандартам типа MISRA не может быть и речи. Это настораживает. То, что ATmega является хорошим контроллером, у меня не вызывает сомнения. Я про подход к разработке изделий, в которых ATmega является лишь частью. 

В общем-то так оно и есть. Ведь не медицинский же монитор для палаты реанимации он строит, а аппарат для самопознания :).

 

Кстати, на недавно прошедшей международной выставке электроники CES 2020 в своей номинации победил нейроинтерфейс компании NextMind, где главная изюминка не столько в оригиналой форме наголовника (по этой части что-то кардинально оригинальное придумать трудно), а именно в продвинутых алгоритмах анализа биотоков мозга. Т.е. по нынешним временам это очень актуальная и быстро развивающаяся тематика (полагаю, из-за роста производительности мобильных процессоров для смартфонов, успевающих проводить ЦОС в реальном времени).

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


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

22 часа назад, a123-flex сказал:

Вы молодой человек не с Украины случаем ?

Судя по IP, оттуда.

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


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

35 минут назад, Xenia сказал:

Кстати, на недавно прошедшей международной выставке электроники CES 2020 в своей номинации победил нейроинтерфейс компании NextMind

Спасибо. Интересно, поищу информацию и почитаю. В первую очередь любопытно, что за мат. аппарат используется и как применяется ЦОС.

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


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

1 час назад, Xenia сказал:

Эта ситуация поразительно похожа на ситуацию с ... Макдоналдсами в России, где именно их меню считают главной угрозой здоровью россиян, судорожно подсчитывая число раковых больных, которые когда либо в Макдоналдсе обедали, тогда аналогичную статистику по российскому общепиту не считает никто. Т.е. дело здесь не в качестве питания, а в желании насолить иностранной компании, осмеливавшейся захватить часть российского рынка.

Ксения,а Вы сами употребляете пищу в Макдональдсе ? В любом случае, зайдите туда, и попробуйте понаблюдать за работниками предприятия.  Подсказка, особое внимание обращать на размер 5 точки у женщин))

Никакой корреляции не обнаружите ?)

А когда обнаружите, попробуйте ответить на вопрос: это от того что эта пища чрезвычайно полезна и сделана из высококачественных продуктов ? Второй вопрос: как получается что точки американского фастфуда выживают российские компания на фудкортах, несмотря на то что у американских франшиз 2 выгодоприобретателя: материнская компания и собственник точки франшизы, а в российских - один ?

Ну а если все же этих вопросов мало, попробуйте в качестве эксперимента 3 дня есть только там)

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


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

4 hours ago, Xenia said:

Это не так. Свертка не имеет отношения к Фурье

Принято.

Тогда вернемся к моему первоначальному вопросу с учетом Вами сказанного.

Любой матаппарат не должен противоречить физическим его реализациям. По крайней мере мне всегда так казалось.

С этим предположением на время забудем о существовании БПФ и обратим свои радиотехнические взоры к ДПФ. Каждый выходной бин ДПФ суть есть цифровой квадратурный приемник прямого преобразования настроенный на частоту бина. 

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

Если ФНЧ реализовано с прямоугольным окном, то неизбежно у нашего приемника возникнут боковые лепестки на сквозном АЧХ. Это связано с краевым эффектом при накоплении сигнала в ФНЧ. Поэтому применяют оконную функцию для завала краев массива и тем подавляют оные лепестки, но увеличивают полосу фильтра против длины массива. Делаем таких бинов подряд некое количество, реализуя ДПФ. У каждого фильтра при прямоугольном окне будут боковые лепестки, которые будут видны как паразитное пролезание монохромного сигнала в соседние бины. Итак, вопросы:

Каким таким "частотным окном" мы сможем удалить такое пролезание?

Какое вообще может быть окно в частотной области, если весь набор фильтров ОБЯЗАН реализовывать строго горизонтальную АЧХ?

И зачем применять окно для эквалайзера, кроме заданной этим эквалайзером АЧХ, при обработке выходного спектра перед обратным Фурье?

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

Спасибо.

38 minutes ago, a123-flex said:

Никакой корреляции не обнаружите ?)

Извините, отвечу за Ксению. Никакой корреляции там нет. В Маках работают в основном студенты, ибо платят там сущие гроши. В нежном возрасте довольно трудно сломать обмен, если только нет патологической генетики.

Такшта пятая точка в Маках если и приобретена, то приобретена "дотогокак"... ))) Или проще - ветер дует не потому, что качаются деревья.

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


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

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

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

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

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

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

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

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

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

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