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

 
 
 
Reply to this topicStart new topic
> fft в матлабе дает отрицательные значения для реальной части
RoadRunner
сообщение Dec 15 2011, 10:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Задаю обычный синус, делаю от него fft, смотрю спектр - в реальной части на месте пиков имеются скачки как в область положительных значений, так и в область отрицательных. Т.е. удивляет наличие отрицательных значений в реальной части спектра. Как сделать нормальный спектр, т.е. чтобы в реальная часть была симметричной и только с положительными значениями, мнимая - антисимметрична, один пик отрицательный, другой - положительный?
Go to the top of the page
 
+Quote Post
petrov
сообщение Dec 15 2011, 10:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(RoadRunner @ Dec 15 2011, 14:35) *
т.е. чтобы в реальная часть была симметричной и только с положительными значениями


Откуда следует что реальная часть должна быть положительной? Синус может иметь любую фазу, нарисуйте произвольный вектор на комплексной плоскости, он в том числе может иметь и отрицательную действительную часть.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Dec 15 2011, 11:08
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(petrov @ Dec 15 2011, 13:47) *
Откуда следует что реальная часть должна быть положительной? Синус может иметь любую фазу, нарисуйте произвольный вектор на комплексной плоскости, он в том числе может иметь и отрицательную действительную часть.

Вообще да, согласен. Только тогда остается главная проблема: почему на графике реальной части на месте частоты синуса кривая уходит то в минус, то в плюс, по сути получаются два пика вплотную друг к другу, отрицательный и положительный, один побольше, другой поменьше. У меня основная проблема эту хрень убрать

В прикрепленном файле картинки для реальной и мнимой части, которые у меня получаются

Сообщение отредактировал RoadRunner - Dec 15 2011, 11:19
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Dec 15 2011, 11:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(RoadRunner @ Dec 15 2011, 15:08) *
Вообще да, согласен. Только тогда остается главная проблема: почему на графике реальной части на месте частоты синуса кривая уходит то в минус, то в плюс, по сути получаются два пика вплотную друг к другу, отрицательный и положительный, один побольше, другой поменьше. У меня основная проблема эту хрень убрать


Вы же фактически смотрите спектр синуса умноженного во времени на прямоугольное окно, вот и получаете спектр типа sinx/x.
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 15 2011, 11:18
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(RoadRunner @ Dec 15 2011, 14:08) *
Вообще да, согласен. Только тогда остается главная проблема: почему на графике реальной части на месте частоты синуса кривая уходит то в минус, то в плюс, по сути получаются два пика вплотную друг к другу, отрицательный и положительный, один побольше, другой поменьше. У меня основная проблема эту хрень убрать

Для того, чтобы не наблюдалось таких "соседних" пиков (большой мощности) необходимо, чтобы все частоты были кратны сетке FFT. Попробуйте подавать синус, чтобы поместилось 5, 10 или 20 полных периодов на длине FFT.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Dec 15 2011, 11:23
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(Wasja @ Dec 15 2011, 14:18) *
Для того, чтобы не наблюдалось таких "соседних" пиков (большой мощности) необходимо, чтобы все частоты были кратны сетке FFT. Попробуйте подавать синус, чтобы поместилось 5, 10 или 20 полных периодов на длине FFT.

Этого и боялся.. biggrin.gif Мне потом надо будет сигнал с АЦП туда загонять, неужто сидеть периоды выпиливать. Плохо пока представляю себе как это делать буду...
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 15 2011, 11:48
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(RoadRunner @ Dec 15 2011, 14:23) *
Этого и боялся.. biggrin.gif Мне потом надо будет сигнал с АЦП туда загонять, неужто сидеть периоды выпиливать. Плохо пока представляю себе как это делать буду...

Зачем выпиливать (да и не получится это)? Все некратные частоты будут "размазыватся" между соседними спектральными линиями. А их обработка зависит от поставленной задачи...
Go to the top of the page
 
+Quote Post
ivan219
сообщение Dec 15 2011, 12:12
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



RoadRunner Могу ошибиться но по моему на картинке вы представили отдельно вещественную и мнимую часть спектра.
Посчитайте модуль Sqrt(Sqr(Re) + Sqr(Im)) / N будет реальный спектр.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Dec 15 2011, 12:56
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(ivan219 @ Dec 15 2011, 15:12) *
RoadRunner Могу ошибиться но по моему на картинке вы представили отдельно вещественную и мнимую часть спектра.
Посчитайте модуль Sqrt(Sqr(Re) + Sqr(Im)) / N будет реальный спектр.

угу, так и есть, вещественную я реальной называю от англ. "real" - буржуйский влияет biggrin.gif

думается окно надобно накладывать, наверное уменьшит проблему

Ханнинг помог)) В общем то и подбор целого числа периодов закономерно помог, спектр перестал сильно расплываться. Но когда окно наложишь, уже по барабану сколько периодов - и так хорошо получается.

Большое спасибо за советы!

Сообщение отредактировал RoadRunner - Dec 15 2011, 12:51
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:38
Рейтинг@Mail.ru


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