2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Дискретное преобразование Фурье обработка данных.
Сообщение03.09.2013, 12:11 


03/09/13
9
Подскажите, после БПФ (Быстрое преобразование Фурье) на выходе получаются данные в формате комплексных чисел. На входе в БПФ амплитудные значения. Меня интересует следующее... Каким образом происходит обработка комплексных значений. К примеру получения частоты и амплитуды у этой частоты. И тут уже под-вопрос. Если мы получим какую либо частоту из окна, в каком формате у нас будет информация об этой волне? Если у нас в окне будет 10 разных синусов, мы будем получать информацию в которой будет информация о каждой из 10 волн? (10 массивов амплитудных значений?) Может быть я не правильно размышляю?

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение03.09.2013, 18:17 
Аватара пользователя


31/10/08
1244
Советую почитать учебник - "А.Б.Сергиенко Цифровая обработка сигналов".
borodadada в сообщении #760078 писал(а):
К примеру получения частоты и амплитуды у этой частоты.

Амплитуда гармоники - есть модуль комплексного числа.

Индекс коэффициента ДПФ связан с частотой формулой.
$F=Fd*(i/N)$
Где:
$F$- частота;
$Fd$- частота дискретизации сигнала;
$i$- индекс в выходном массиве, смотри примечание;
$N$ - число элементов во входном массиве.

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

borodadada в сообщении #760078 писал(а):
(10 массивов амплитудных значений?)

На выходи из ДПФ у нас один массив.
borodadada в сообщении #760078 писал(а):
мы будем получать информацию в которой будет информация о каждой из 10 волн?

Если они различимы, то будет информация о 10 волнах.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение03.09.2013, 20:05 


03/09/13
9
Спасибо за книжку, обязательно прочту.

Если они различимы, то будет информация о 10 волнах.

Хотел бы у вас уточнить, то есть после обработки по формуле частоты, будет получаться массив комплексных значений для этой частоты? (То есть первоначальный массив комплексных чисел многократно обрабатывается...) Не понятно то, что изначально мы не знаем какая там будет частота.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение03.09.2013, 21:32 
Аватара пользователя


31/10/08
1244
borodadada в сообщении #760233 писал(а):
Хотел бы у вас уточнить, то есть после обработки по формуле частоты, будет получаться массив комплексных значений для этой частоты? (То есть первоначальный массив комплексных чисел многократно обрабатывается...) Не понятно то, что изначально мы не знаем какая там будет частота.

10 раз прочёл, ничего не понял.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение09.09.2013, 15:06 


03/09/13
9
Извиняюсь за формулировку. Вообщем у меня есть массив который получился после БПФ. Волну на вход установил сложную, пила (множество гармоник(синусов)). Приведу пример, что мне надо. Могу ли я взять только чётные гармоники из этого файла (сделав таким образом фильтр)? У меня окно 2048 сэмплов, значит 1024 гармоники (или точнее спектра). Вот было бы просто замечательно, если бы вы помогли разобраться, как отфильтровать сигнал так чтоб, из 1024 гармоник, остались к примеру только 10, 50, 500 гармоника. Формула как я понимаю которую вы написали, это частота у конкретной гармоники. К примеру при 44100 и окне 2048 , частота первой гармоники будет 43,06640625, с этим проблем нету. Мне не понятен процесс обработки комплексных чисел, пока я понял не много, один массив после БПФ содержит в себе всю информацию о всех гармониках, с помощью формул можно "вынуть" всю информацию об амплитуде, фазе конкретной гармоники (в каком формате будет полученная информация?), можно её изменять(если можно?) , и с помощью обратного БПФ получать результат в амплитуде.
Допустим по формуле я выяснил, что у меня первая гармоника 43,06640625, как мне получить фазу с которой она начинается в этом окне? Так же как получить все амплитудные значения для неё, ведь на протяжении всего окна, амплитуда может постоянно меняться. В каком формате будут полученные данные?

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение09.09.2013, 16:45 
Заслуженный участник


27/04/09
28128
borodadada в сообщении #761951 писал(а):
Так же как получить все амплитудные значения для неё, ведь на протяжении всего окна, амплитуда может постоянно меняться.
Никак. Оно будет только одно. (Если нужно несколько значений, сдвигайте окно.) И амплитуда, и фаза гармоники остаются теми же самыми. Если вы сложите все гармоники, информацию о которых предоставило ДПФ, вы получите в целочисленных точках как раз тот сигнал, что давали ему на вход.

Фазу и амплитуду вы получите как аргумент и модуль соответствующей комплексной амплитуды.

borodadada в сообщении #761951 писал(а):
можно её изменять(если можно?) , и с помощью обратного БПФ получать результат в амплитуде
Конечно, можно. Только не забывайте вместе со значением в первой половине массива соответствующим образом менять значение во второй.

-- Пн сен 09, 2013 19:47:11 --

borodadada в сообщении #761951 писал(а):
Мне не понятен процесс обработки комплексных чисел
Кстати, если бы вы были конкретнее, могли бы получить и более конкретный ответ.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение10.09.2013, 10:54 


03/09/13
9
Так уже много что прояснил, становиться интереснее. То есть гармоники в окне статичны (амплитуда и фаза), для их изменений нужно двигать окно, там получать новые данные и накладывать с каким то сдвигом, вот не понятен шаг сдвига окна, чем он меньше тем точнее будет результат, но количество расчётов будет на много выше?

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение10.09.2013, 12:17 
Заслуженный участник


27/04/09
28128
Вот насчёт шага сдвига окна не знаю. Может быть, стоит сдвигать на размер окна и, если нужно большее разрешение, интерполировать. Скорее всего, отношение размера окна к сдвигу, как и размер окна, зависят от задачи. Но уж точно не стоит сдвигать на один семпл.

Надеюсь, кто-нибудь скажет на этот счёт что-то поумнее.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение10.09.2013, 12:57 


03/09/13
9
arseniiv спасибо за помощь. Шаг скорее всего меньше окна, так как в противном случае окна не наложить друг на друга.

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение10.09.2013, 13:43 
Заслуженный участник


27/04/09
28128
А зачем их друг на друга накладывать?

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение13.09.2013, 09:28 


03/09/13
9
Нашел информацию об окнах, но не совсем понятно. Вот ссылка на ресурс
http://www.physik.uni-wuerzburg.de/~pra ... /ANO14.pdf
Там есть пример соединения окон, какой то он странный, то есть передняя часть окна меньше чем задняя (при наложении), это нормально? Примеры окно для языка программирования найти можно, но там процесс создания окна, а не процесс наложения, как я понял. Окно создается перед БПФ?, то есть обычный кусок в 2048 семплов, обрабатывается огибающей, получается старт и конец амплитуда 0, середина окна амплитуда максимальная. Затем происходит какой то отступ, но не как не 2048, а меньше и выполняется тоже самое, далее суммирование?

 Профиль  
                  
 
 Re: Дискретное преобразование Фурье обработка данных.
Сообщение13.09.2013, 13:53 
Аватара пользователя


31/10/08
1244
borodadada в сообщении #763418 писал(а):
Вот ссылка на ресурс http://www.physik.uni-wuerzburg.de/~pra ... /ANO14.pdf

В этой статье весь материал какой-то странный.
borodadada в сообщении #763418 писал(а):
Там есть пример соединения окон,

Нет там такого. Там есть пример окон с перекрытием.

borodadada в сообщении #763418 писал(а):
Там есть пример соединения окон, какой то он странный, то есть передняя часть окна меньше чем задняя (при наложении), это нормально?

??? Окно это область обработки. Есть оконная функция которая накладывается поверх, путем покомпонентного умножения. Но в статье они все симметричные.

borodadada в сообщении #763418 писал(а):
то есть обычный кусок в 2048 семплов, обрабатывается огибающей, получается старт и конец амплитуда 0,

Огибающая к окнам и оконным функциям не имеет отношения.

borodadada в сообщении #763418 писал(а):
Затем происходит какой то отступ, но не как не 2048, а меньше и выполняется тоже самое, далее суммирование?

В статье написано что берут среднее.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group