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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Не могу понять ДПФ, вопрос чайника
kumle
сообщение Aug 24 2011, 11:52
Сообщение #1


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Как Сумма частотных составляющих от -00 до +00 превратилась в сумму от 0 до N-1 ?

Прикрепленное изображение

Go to the top of the page
 
+Quote Post
Zelepuk
сообщение Aug 24 2011, 12:21
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



Могу порекомендовать почитать Уолта Кестера или Юкио Сато. Их книги по ЦОС более "практичны" для начинающих.

Сообщение отредактировал Zelepuk - Aug 24 2011, 12:21
Go to the top of the page
 
+Quote Post
kumle
сообщение Aug 24 2011, 12:40
Сообщение #3


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Спасибо, уже читаю.
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Aug 24 2011, 13:12
Сообщение #4


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

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Цитата(kumle @ Aug 24 2011, 15:52) *
Как Сумма частотных составляющих от -00 до +00 превратилась в сумму от 0 до N-1 ?

Там же написано: поскольку базисные функции (комплексные экспоненты) на цифровой сетке неуникальны, их можно сгруппировать, оставив только уникальные: от 0 до N–1.
Go to the top of the page
 
+Quote Post
kumle
сообщение Aug 24 2011, 13:27
Сообщение #5


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Тогда получается если я взял оцифровал сигнал, взял 10 оцифрованых значений и получил в результате всего 10 точек для построения спектра ? никак иначе ?
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Aug 24 2011, 14:08
Сообщение #6


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

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(kumle @ Aug 24 2011, 17:27) *
Тогда получается если я взял оцифровал сигнал, взял 10 оцифрованых значений и получил в результате всего 10 точек для построения спектра ? никак иначе ?

Если Вы используете БПФ, то количество входящих переменных и количество выходящих переменных совпадают. На выходе мы можем получить 5 амплитуд + 5 фаз (частоты определяются жестко самим применением БПФ и неизменны для данной выборки).
БПФ - математическая абстракция и не определяет реальных частот сигнала, но то, что получается в большинстве случаев вполне достаточно для многих применений.

Сообщение отредактировал SPACUM - Aug 24 2011, 16:00


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 24 2011, 16:55
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



посмотрите здесь там как раз опиывается как переходят от интеграла фурье к дпф
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Aug 24 2011, 17:57
Сообщение #8


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

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Цитата(kumle @ Aug 24 2011, 17:27) *
Тогда получается если я взял оцифровал сигнал, взял 10 оцифрованых значений и получил в результате всего 10 точек для построения спектра ? никак иначе?

Правильнее сказать так: (комплексный) сигнал длиной 10 точек можно представить (полностью описать) с помощью БПФ из 10 частот. Но никто вам не запрещает брать БПФ и большей длины, дополняя сигнал нулями.
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение Aug 24 2011, 18:23
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Да уж... Судя по шрифту, солидная книжка. Только приведённый текст ошибочен по существу.
Положим в (2.129) и (2.131) n=0. Если x(0) не 0, то (2.129) содержит бесконечную сумму из слагаемых, равных (2.131). Поэтому (2.131) не равно (2.129), по крайней мере, для n=0.
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Aug 24 2011, 19:01
Сообщение #10


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

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(Alexey Lukin @ Aug 24 2011, 21:57) *
Правильнее сказать так: (комплексный) сигнал длиной 10 точек можно представить (полностью описать) с помощью БПФ из 10 частот. Но никто вам не запрещает брать БПФ и большей длины, дополняя сигнал нулями.

Если у kumle всего 10 точек и пока никакой комплексности не намечается, то зачем человека путать? Есть RealFFT, которая из этого сделает 5 амплитуд и 5 фаз. И быстрее работает, чем для комплексных чисел. Лишнее надо отбрасывать.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Aug 24 2011, 20:27
Сообщение #11


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

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Цитата(SPACUM @ Aug 24 2011, 23:01) *
зачем человека путать?

Я всего лишь следую нотации его книжки.
Вы — тоже путаете. RealFFT даст 6 амплитуд и 4 фазы.

Цитата(Дмитрий_Б @ Aug 24 2011, 22:23) *
Да уж... Судя по шрифту, солидная книжка. Только приведённый текст ошибочен по существу.

Это классическая книга Рабинера-Гоулда. Никто не говорит, что X(k) в верхней формуле равно X(k) в нижней. Формула просто переписывается в другом виде, а значения коэффициентов Фурье при этом могут измениться.
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Aug 25 2011, 06:30
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(kumle @ Aug 24 2011, 15:52) *
Как Сумма частотных составляющих от -00 до +00 превратилась в сумму от 0 до N-1 ?

По моему, человек просто спросил про размножение копий спектра.
Частотную шкалу результата ДПФ можно рассматривать на интервале от -бесконечность до +бесконечности, никто не запрещает,
но то что вы получили на интервале от 0 до N-1 будет размножено в обе стороны, поэтому смысла в этом нету
диапазона от 0 до N-1 достаточно. А во многих задачах и вовсе достаточно диапазона "положительных" частот от 0 до N/2.
Go to the top of the page
 
+Quote Post
kumle
сообщение Aug 25 2011, 07:34
Сообщение #13


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Кажется это понял.
А если у меня обычный сигнал (вещественный), то я могу вычислить его спектр по формуле
Прикрепленное изображение

(это из книги Уолта Кестера)

И если я хочу вычислить амплитуду какой нибудь составляющей спектра я должен свои оцифрованные выборки
подставить в эту формулу.
Но тогда непонятно что я должен подставить в скобки косинуса cos(2*pi*n*k/N)
если я допустим хочу вычислить какая будет амплитуда для частоты f ?
Я знаю что w=2*pi*f; тогда cos(2*pi*n*k/N) = cos(wt) отсюда wt=2*pi*n*k/N; 2*pi*f*t=2*pi*n*k/N; 2*pi уходят и получается что
f*t=n*k/N; выходит что t=n/N, а f=k
значит в формуле я буду суммировать такие произведения: X(n)*cos(2*pi*f*n/N)
где f - это частота на которой я хочу узнать амплитуду, а n=0 до N-1 ?
Но тогда время через которое я получаю оцифрованные выборки (частота дискретизации) нигде не учитывается ?


Go to the top of the page
 
+Quote Post
SPACUM
сообщение Aug 25 2011, 07:56
Сообщение #14


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

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(kumle @ Aug 25 2011, 11:34) *
Но тогда время через которое я получаю оцифрованные выборки (частота дискретизации) нигде не учитывается ?

k - это нормированная частота. Если длина выборки = Т, то частота F = k / T.
Если Т = 1 секунда, то к - это частота в Герцах.
Разумеется к = 0, 1, 2, 3...(N/2 - 1) целое число.

Сообщение отредактировал SPACUM - Aug 25 2011, 08:03


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Aug 25 2011, 08:03
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(kumle @ Aug 25 2011, 11:34) *
Но тогда время через которое я получаю оцифрованные выборки (частота дискретизации) нигде не учитывается ?

N говорит о том по сколки точкам дискретного сигнала вы делаете преобразование Фурье.
От этого N зависит частотное разрешение вашего ДПФ. А вот оно как раз и связано с частотой дискретизации.
Fs/N = шаг частот анализа.
Пример, Fs=24кГц, N=1024, тогда шаг ДПФ равен 24/1024 = 23,4375Гц.
В итоге получаем первый бин ДПФ выносим за скобки, второй бин характеризует мощность сигнала на частоте 23,4375Гц,
второй бин на частоте 23,4375 * 2 = 46,875 и так для N/2 частот.
Go to the top of the page
 
+Quote Post
kumle
сообщение Aug 25 2011, 08:09
Сообщение #16


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(SPACUM @ Aug 25 2011, 11:56) *
k - это нормированная частота. Если длина выборки = Т, то частота F = k / T.
Если Т = 1 секунда, то к - это частота в Герцах.
Разумеется к = 0, 1, 2, 3...(N/2 - 1) целое число.


Тогда в формуле аргумент косинуса у меня будет 2*pi*f*T*n/N
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 25 2011, 08:40
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(kumle @ Aug 25 2011, 11:34) *
И если я хочу вычислить амплитуду какой нибудь составляющей спектра я должен свои оцифрованные выборки
подставить в эту формулу.


Ничего подобного!!! Эта формула для реальной части спектра есть еще формула для мнимой части там вместо косинуса синус и чтобы получить амплитудный спектр вы должны взять корень квадратный из суммы квадратов реальной и мнимой частей спектра.
Go to the top of the page
 
+Quote Post
kumle
сообщение Aug 25 2011, 08:49
Сообщение #18


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(bahurin @ Aug 25 2011, 12:40) *
Ничего подобного!!! Эта формула для реальной части спектра есть еще формула для мнимой части там вместо косинуса синус и чтобы получить амплитудный спектр вы должны взять корень квадратный из суммы квадратов реальной и мнимой частей спектра.


Точно !
Это тоже было в книжке, я поторопил события и неуспел прочитать !
Спавсибо !
Теперь точно смогу вычислить.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение Aug 25 2011, 17:15
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Цитата(Alexey Lukin @ Aug 25 2011, 00:27) *
Это классическая книга Рабинера-Гоулда. Никто не говорит, что X(k) в верхней формуле равно X(k) в нижней. Формула просто переписывается в другом виде, а значения коэффициентов Фурье при этом могут измениться.

Вот как? Означает ли это, что единственному сигналу соответствуют 2 различных спектра? Не нравится мне математика нетрадиционной ориентации. Сигналу соответствует единственный набор коэффициентов ряда Фурье. Они меняются в том и только в том случае, если меняется сигнал. Что до книги - мне, помнится, попадались в ней неточности, хотя книга хорошая.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 26 2011, 04:08
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(Дмитрий_Б @ Aug 25 2011, 21:15) *
Вот как? Означает ли это, что единственному сигналу соответствуют 2 различных спектра? Не нравится мне математика нетрадиционной ориентации. Сигналу соответствует единственный набор коэффициентов ряда Фурье. Они меняются в том и только в том случае, если меняется сигнал. Что до книги - мне, помнится, попадались в ней неточности, хотя книга хорошая.


Да ну не цепляйтесь там по сути написано правильно, хотя и запутано.

Что касается
Цитата
Сигналу соответствует единственный набор коэффициентов ряда Фурье


ряд Фурье справедлив для периодического сигнала, тогда его спектр линейчатый. Но если после АЦП я получил N точек сигнала, то его спектр не является линейчатым, он непрерывный, хотя периодический, потому что сигнал цифровой. И чтобы сделать спектр линейчатым я должен свои N точек бесконечно повторить (сделать сигнал периодическим), но это уже совсем другой сигнал, поскольку о периодичности исходного сигнала, который я оцифровал ничего не известно. Вот и получается что на входе АЦП мы имеем один сигнал, а спектр рассчитываем для совершенно другого сигнала, со всеми эффектами возникающими при искусственной периодизации исходного оцифрованного сигнала.
Go to the top of the page
 
+Quote Post
Driver_GV
сообщение Aug 26 2011, 19:31
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 11-05-06
Из: Lugansk
Пользователь №: 17 011



Цитата(bahurin @ Aug 26 2011, 07:08) *
ряд Фурье справедлив для периодического сигнала, тогда его спектр линейчатый. Но если после АЦП я получил N точек сигнала, то его спектр не является линейчатым, он непрерывный, хотя периодический, потому что сигнал цифровой. И чтобы сделать спектр линейчатым я должен свои N точек бесконечно повторить (сделать сигнал периодическим), но это уже совсем другой сигнал, поскольку о периодичности исходного сигнала, который я оцифровал ничего не известно. Вот и получается что на входе АЦП мы имеем один сигнал, а спектр рассчитываем для совершенно другого сигнала, со всеми эффектами возникающими при искусственной периодизации исходного оцифрованного сигнала.


Используйте функции окна. Входные отсчеты по времени умножаются на соответствующую функцию окна, что влечет за собой обнуление сигнала на краях выборки. Это компромис между расширением центрального лепеска и подавлением боковых. я использую обычно Хамминга. Подавление боковых более 40 Дб.


--------------------
-------------------
picping.lg.ua
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 27 2011, 06:54
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(Driver_GV @ Aug 26 2011, 23:31) *
Используйте функции окна. Входные отсчеты по времени умножаются на соответствующую функцию окна, что влечет за собой обнуление сигнала на краях выборки. Это компромис между расширением центрального лепеска и подавлением боковых. я использую обычно Хамминга. Подавление боковых более 40 Дб.


Это понятно но мы не об этом. Умножение на функцию окна отличного от прямоугольного это уже третий сигнал со своим спектром. Выборка N точек сигнала это тоже умножение на функцию окна, только прямоугольного.
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение Aug 28 2011, 10:27
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Цитата(bahurin @ Aug 26 2011, 08:08) *
Да ну не цепляйтесь там по сути написано правильно, хотя и запутано.

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


Не стал бы, поскольку и так это знаю. Но человек не может разобраться, поскольку математика хромает.
Рабинер и Голд не годится как учебник.

Сообщение отредактировал Дмитрий_Б - Aug 28 2011, 10:31
Go to the top of the page
 
+Quote Post
Zelepuk
сообщение Aug 28 2011, 14:59
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



Цитата(Дмитрий_Б @ Aug 28 2011, 14:27) *
Не стал бы, поскольку и так это знаю. Но человек не может разобраться, поскольку математика хромает.
Рабинер и Голд не годится как учебник.


поэтому и рекомендую для ТС почитать лучше Сато или Кестера. rolleyes.gif
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Aug 29 2011, 06:01
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Zelepuk @ Aug 28 2011, 17:59) *
поэтому и рекомендую для ТС почитать лучше Сато или Кестера. rolleyes.gif

Сообщите названия книг и год выпуска, пожалуйста. Эти авторы наверняка выпустили в свет не одну книгу...
Go to the top of the page
 
+Quote Post

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

 


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


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