Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отрицательные и положительные частоты в комплексном ПДФ
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
ivan219
Здравствуйте.

Вот задался вопросмо. Если мы на комплесное ДПФ подадим комплексный сигнал вида Sin(t), Cos(t) то на выходе спектра будут только положительные частоты а если наоборот Cos(t), Sin(t) то отрицательные.

Вот мне и интересно если подать на комплексное ДПФ Сигнал вида Sin(t), Sin(t) а на другой Cos(t), Cos(t) то мы получим два спектра в которых будут положительные и отрицательные частоты.

Вопрос что зделать с этими двумя спектрами чтобы снова было разделение на положительные частоты и отрицательные? Т.е. кабудто я подал на один комплексный ДПФ сигнал вида Sin(t), Cos(t) или Cos(t), Sin(t) ???
ivan219
Цитата(DRUID3 @ Mar 25 2010, 18:27) *

Не понял.
ivan219
Уточните по подробнее что вы имели в виду???
DMax
Цитата(ivan219 @ Mar 25 2010, 16:41) *
Вот мне и интересно если подать на комплексное ДПФ Сигнал вида Sin(t), Sin(t) а на другой Cos(t), Cos(t) то мы получим два спектра в которых будут положительные и отрицательные частоты.

Вопрос что зделать с этими двумя спектрами чтобы снова было разделение на положительные частоты и отрицательные? Т.е. кабудто я подал на один комплексный ДПФ сигнал вида Sin(t), Cos(t) или Cos(t), Sin(t) ???


Ничего нельзя сделать. Сигнал вида sin(t), sin(t) не является гармоникой, а является суммой гармоник, среди которых есть и положительные и отрицательные.

Как вы вообще себе представляете задуманное вами? Типа подаем на ДПФ sin(t), sin(t) а на выходе видим спектр sin(t), cos(t)? То есть их спектры не различимы, хотя сигналы разные? biggrin.gif Мда... А вообще поиграйтесь с апплетом, ссылку на который вам дал друид. Он имел ввиду, что у каждого в жизни бывает период, когда до человека начинает доходить смысл ДПФ.
ivan219
Ну хорошо допустим я эти эксперементы уже провёл. И получил комплексные спектры Sin(t) , Cos(t) и соответственно Sin(t) , Sin(t) и Cos(t) , Cos(t).


Если будет понятнее то я делал комплексный спектр комплексного числа Cos(t) - J * Sin(t) c подавлением отрицательной частоты и Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) без подавления. Вот мне и инетересно как можно из комплексных спектров получиных из Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) получить спектр получиный из Cos(t) - J * Sin(t)


Почему то мне кажется что меня здесь не понемают. Может исходники привести правда на Delphi и работа проводится всего с одной гармоникой???
thermit
Цитата
ivan219:
Ну хорошо допустим я эти эксперементы уже провёл. И получил комплексные спектры Sin(t) , Cos(t) и соответственно Sin(t) , Sin(t) и Cos(t) , Cos(t).

???


Цитата
Если будет понятнее то я делал комплексный спектр комплексного числа Cos(t) - J * Sin(t) c подавлением отрицательной частоты и Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) без подавления. Вот мне и инетересно как можно из комплексных спектров получиных из Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) получить спектр получиный из Cos(t) - J * Sin(t)


???

Цитата
Почему то мне кажется что меня здесь не понемают


Угу.

Цитата
Если будет понятнее то я делал комплексный спектр комплексного числа Cos(t) - J * Sin(t)
c подавлением отрицательной частоты


Спектр комплексной экспоненты с отрицательным показателем. Здесь присутствует тока отрицательная частота.

Цитата
Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) без подавления. Вот мне и инетересно как можно из комплексных спектров получиных из Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) получить спектр получиный из Cos(t) - J * Sin(t)


Это я совсем не осилил...

Цитата
Может исходники привести правда на Delphi и работа проводится всего с одной гармоникой???


Лучше попытайтесь грамотно сформулировать вопрос. Подозреваю, что ковыряться в чужих исходниках на дельфи здесь никто желанием не горит.
ivan219
Это мои исподники!!!!!!!

Для простоты я сделал Фурье преобразование на одну гармоника откройте исподники да посмотрите. Неужели тут нет ни одного практика одни теоретики, у которых в голове нет ничего и приходится объяснять на пальцах.

Да ладно вот мой код на одну гармонику исследуемого сигнала и одну гармонику самого Фурье анализа

Сами гармоники создаются так:
Код
Theta := Pi / 256;
for I := 0 to 511 do
  begin
   A := Theta * I;
   SinCos(A, SignalSin[I], SignalCos[I])
   SinCos(A, FSin[I], FCos[I])
  end;

Т.е. в массиве SignalSin и FSin имеется одна полная синусоида состоящая из 512 значений.
В масиве SignalCos и FCos имеется одна полная косинусоида состоящая из 512 значений.

Комплексный Фурье на одну гармонику (положительную частоту) это:
Re = Сумма(SignalCos[I] * FCos[I] + SignalSin[I] * FSin[I])
Im = Сумма(SignalSin[I] * FCos[I] - SignalCos[I] * FSin[I])
MAG+ = Корень квадратный из(Re * Re + Im * Im);

Комплексный Фурье на одну гармонику (отрицательную частоту) это:
Re = Сумма(SignalCos[I] * FCos[I] + SignalSin[I] * FSin[I])
Im = Сумма(SignalSin[I] * FCos[I] - SignalCos[I] * FSin[I])
MAG- = Корень квадратный из(Re * Re + Im * Im);

Так вот MAG+ = 2 а MAG- = 0 подавление отрицательной частоты.

Всё это справедливо для этого кода:
Код
   // Положительные частоты
   Re  := Re + SignalCos[I] * FCos[I] + SignalSin[I] * FSin[I]
   Im  := Im + SignalSin[I] * FCos[I] - SignalCos[I] * FSin[I]
   // Отрицательные частоты
   Re0 := Re0 + SignalCos[I] * FCos[I] - SignalSin[I] * FSin[I]
   Im0 := Im0 + SignalSin[I] * FCos[I] + SignalCos[I] * FSin[I]


Для остального кода всё тоже самое только вещественная и мнимая часть сигнала являются либо Sin(t) либо Cos(t)

Код
for I := 0 to 511 do
  begin
   // Положительные частоты
   Re1 := Re1 + SignalSin[I] * FCos[I] + SignalSin[I] * FSin[I]
   Im1 := Im1 + SignalSin[I] * FCos[I] - SignalSin[I] * FSin[I]
   // Отрицательные частоты
   Re2 := Re2 + SignalSin[I] * FCos[I] - SignalSin[I] * FSin[I]
   Im2 := Im2 + SignalSin[I] * FCos[I] + SignalSin[I] * FSin[I]

   // Положительные частоты
   Re3 := Re3 + SignalCos[I] * FCos[I] + SignalCos[I] * FSin[I]
   Im3 := Im3 + SignalCos[I] * FCos[I] - SignalCos[I] * FSin[I]
   // Отрицательные частоты
   Re4 := Re4 + SignalCos[I] * FCos[I] - SignalCos[I] * FSin[I]
   Im4 := Im4 + SignalCos[I] * FCos[I] + SignalCos[I] * FSin[I]
  end;


Их MAG всегда = друг другу!!!!
thermit
Вопрос-то в чем?
ivan219
Цитата(thermit @ Mar 26 2010, 19:04) *
Вопрос-то в чем?

unsure.gif вроде как в первоже посте прозвучал unsure.gif
svalery
Цитата(ivan219 @ Mar 26 2010, 16:28) *
Вот мне и инетересно как можно из комплексных спектров получиных из Sin(t) - J * Sin(t) Cos(t) - J * Cos(t) получить спектр получиный из Cos(t) - J * Sin(t)


Так чтоль ?

ivan219
Цитата(svalery @ Mar 27 2010, 10:39) *
Так чтоль ?



Ну наконецто меня кто то понял biggrin.gif

Остались только два не решоных вопроса, что это за, два добавочных элемента отрисованные красными кругами???

Как они математически выгледять???



blabla1 я так пологаю сложение комплексных чисел я прав???

А вот Math function1 непонято что делает.

То: svalery что это за программа которой вы воспользовались???
thermit
Цитата
А вот Math function1 непонято что делает


Комплексно сопрягает.
svalery
Цитата(ivan219 @ Mar 27 2010, 11:28) *
blabla1 я так пологаю сложение комплексных чисел я прав???

А вот Math function1 непонято что делает.

То: svalery что это за программа которой вы воспользовались???


прямоугольник с плюсами - да, сумматор

Math function1 - как выше уже сказано комплексное сопряжение (мнимая часть меняет свой знак на противоположный)

мегапрога называется - Matlab ))
ivan219
То: svalery кая я понял (комплексное сопряжение) это (a + jb) -> (a - jb) или (a - jb) -> (a + jb) да???
DRUID3
smile.gif Да!
ivan219
Не выходит ничего cranky.gif

А после FFT (Sin, Cos) получается:
Код
Re = 0  //Положительная частота
Im = 256

Re = 0 //Отрицательная частота
Im = 0


Т.е. Подавление отрицательной частоты.

А после FFT (Sin) и FFT (Cos) получается:
Sin
Код
Re = -128 //Положительная частота
Im = 128

Re = 128 //Отрицательная частота
Im = -128


Cos
Код
Re = 128 //Положительная частота
Im = 128

Re = 128 //Отрицательная частота
Im = 128


И ничего не помогает crying.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.