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

 
 
> Быстрое преобразование Фурье не для степени 2, как довести число отсчетов до стпени двойки
Sergey Makarov
сообщение Sep 14 2011, 12:45
Сообщение #1


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

Группа: Свой
Сообщений: 147
Регистрация: 19-10-05
Из: Россия, г.Чебоксары
Пользователь №: 9 845



Добрый день!
Стоит задача осуществить быстрое преобразовние Фурье для 500 отсчетов. Аппаратно DSP поддерживает быстрое преобразование по модулю 2. Вопрос, как довести кол-во точек до 512? Достаточно ли заполнить недостающие значения нулями? Сильно ли исказится результат преобразования после такого допущения? Если можно ссылкой на математическое обоснование поделитесь плз. Или все таки придется до 512 точек дополнять интерполировав существующие значения? Кто чем может помогите плз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexey Lukin
сообщение Sep 14 2011, 22:55
Сообщение #2


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

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



Ничего не искажается! Наоборот, становится видно больше правильных деталей. А спектры некоторых сигналов (например, ядер фильтров) без дополнения их нулями перед ДПФ вообще некорректно рассматривать.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 16 2011, 20:59
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Alexey Lukin @ Sep 15 2011, 03:55) *
Ничего не искажается! Наоборот, становится видно больше правильных деталей. А спектры некоторых сигналов (например, ядер фильтров) без дополнения их нулями перед ДПФ вообще некорректно рассматривать.

Оставим в покое ядра фильтров.
Но по поводу "становится видно больше правильных деталей" очень любопытно.

ДПФ/БПФ всего лишь свёртка с синусом aka интеграл. Ну а если мы зануляем часть функции, то с чего бы это результат интеграла функции не изменится? В ДПФ/БПФ в конце идёт нормировка результата и она расчитана на 2^n, допустим 512 точек. Синус исходника был на интервале 500 точек. Значит ошибка нормировки 500/512 = 0,97656. Иногда это неважно, иногда очень важно. А уж если кто-то пожелает в разы увеличивать блок нулями в своих корыстных целях, то вообще мама не горюй.

Но это вообще-то пока ещё мелкий недостаток, который легко перенормируется. Гораздо серьёзней, когда блоки дополняются нулями и из них выцепляются низшие гармоники. Тут уже идут значительные фазовые искажения в дополнение к амплитудным. На 1-2-3 гармониках блока, хотя в зависимости от желаемой точности и на 10-20 (грубо говоря).

Оконные функции само собой сильно улучшают ситуацию тем, что они львиную долю информации берут из центра блока, а нули дополняются по краю/краям.

Цитата(fontp @ Sep 15 2011, 12:18) *
Для сингулярных спектров типа синусов (ширина спектра меньше бина) ДПФ в чистом виде (без спектральных окон) не является вообще адекватным инструментом анализа. Результат будет полностью зависить от того куда палка легла по отношению к бину ДПФ (не даст соврать гурукилер)

Гурукиллер Вас всегда поправит sm.gif
А вообще, что за дискриминация спектров? Все спектры имеют право встречаться в жизненных ситуациях.
Вот пример глюков "Что такое эффект размазывания"
http://psi-logic.narod.ru/fft/fft9.htm

ИМХО, непрерывный спектр существует только у частотно-модулированных сигналов или недооцифрованных. Но у недооцифрованных это просто недостаток информации уже после оцифровки. Если взять исходный аналоговый сигнал и оцифровать его точнее, то спектр "очистится" и в пределе станет прерывным. Суть в том, что многие сигналы в идеале такие, но идеально их восстановить оцифровкой очень трудно и порой не нужно. А нужно понимать с какой точностью получился результат и от чего он зависит. То бишь с какой точностью получается результат при пользовании каким-то инструментом, например БПФ, да ещё и с добавлением нулей.

Чутьё мне подсказывает, что частотно-модулированные сигналы, возможно, могут тоже выродиться в прерывные, но уже по обратной причине. Из-за переоцифровки, то бишь когда длина блока равна бесконечности. Но это скорее математическая мутота, не имеющая практической ценности.

Upd.
Хотя есть ещё третий вариант непрерывного спектра "в жизненных ситуациях". Когда разные сигналы накладываются друг на друга. Даже если один из них является идеальным с прерывным спектром, то другие могут быть с непрерывным. В данном случае переоцифровка (в пределе) сигнала ситуацию не разрулит, т.к. предел ограничен "вредным" сигналом. Эта ситуация вообще чаще всего бывает. Идеальный ЦОС-овик понимая все нюансы всех этапов прохождения своего сигнала будет просто приближаться к мат.пределу точности при правильном использовании инструментов. Правильно понимая достоверность результата при этом.

Upd2
Я бы с удовольствием замутил разговор страниц на 50 на эту тему. Только съезжу в отпуск на Бора-Бора sm.gif

Сообщение отредактировал GetSmart - Sep 16 2011, 23:16


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Sep 17 2011, 02:39
Сообщение #4


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

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



Цитата(GetSmart @ Sep 17 2011, 00:59) *
ДПФ/БПФ всего лишь свёртка с синусом aka интеграл.

ДПФ это не свёртка. ДПФ это умножение сигнала на матрицу, которая свёрткой не является.


Цитата(GetSmart @ Sep 17 2011, 00:59) *
Ну а если мы зануляем часть функции, то с чего бы это результат интеграла функции не изменится?

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


Цитата(GetSmart @ Sep 17 2011, 00:59) *
В ДПФ/БПФ в конце идёт нормировка результата и она расчитана на 2^n, допустим 512 точек. Синус исходника был на интервале 500 точек.

Если дополнение нулями не кратное, то полученный спектр будет дискретной выборкой из непрерывного спектра исследуемого отрезка сигнала. Это может быть плохо или хорошо, в зависимости от задач. Чаще всего это хорошо, по тем же причинам, которые описаны выше: частотное разрешение анализа получается выше.


Цитата(GetSmart @ Sep 17 2011, 00:59) *
Гораздо серьёзней, когда блоки дополняются нулями и из них выцепляются низшие гармоники. Тут уже идут значительные фазовые искажения в дополнение к амплитудным.

Что-то не понял мысли...


Цитата(GetSmart @ Sep 17 2011, 00:59) *
ИМХО, непрерывный спектр существует только у частотно-модулированных сигналов или недооцифрованных.

И этой тоже...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 17 2011, 08:37
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Alexey Lukin @ Sep 17 2011, 07:39) *
ДПФ это не свёртка. ДПФ это умножение сигнала на матрицу, которая свёрткой не является.

ДПФ это свёртка с синусом и косинусом. И интеграл само собой.

Цитата(Alexey Lukin @ Sep 17 2011, 07:39) *
Дополнение сигнала нулями — это отнюдь не зануление части сигнала. Представьте...

Я не писал зануление части сигнала. Не надо меня искажать. Если функция ФФТ юзает 512 точек, из которых 500 присутствуют, остальные нулевые, то это есть зануление части функции. Равноценно тому, что было получено 512 действительных точек, а потом 12 было занулено. Эквивалентно потери части информации в функции 512 точек. Однако львиная доля информации ещё осталось. Результат, относительно случая с полным набором точек будет искажён. Насколько велики искажения - (0.01%...ХХ%) зависит от многих нюансов. Часть я описал.

Если что-то непоняли, бывает. Это неудивительно, т.к. в книжках многое не пишут чтобы не перегружать читателя и/или не вызывать у читателя какие-то сомнения. Но если понимаете "физику процесса", то сразу понимаете море подводных камней, причём там, где никто никаких сомнений в книжках не высказывал.

Сообщение отредактировал GetSmart - Sep 17 2011, 08:55


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sergey Makarov   Быстрое преобразование Фурье не для степени 2   Sep 14 2011, 12:45
- - fontp   Нулей добавить - нормально. Фактически это означае...   Sep 14 2011, 13:58
- - SPACUM   Цитата(Sergey Makarov @ Sep 14 2011, 16:4...   Sep 14 2011, 14:32
|- - getch   Листинг программы на C++ (N - любое)   Sep 14 2011, 17:51
- - Alexey Lukin   Чем больше добавляется нулей, тем точнее получаетс...   Sep 14 2011, 19:34
|- - GetSmart   Цитата(Alexey Lukin @ Sep 15 2011, 00:34)...   Sep 14 2011, 19:39
|- - thermit   Цитата(Alexey Lukin @ Sep 14 2011, 22:34)...   Sep 14 2011, 20:29
- - Alexey Lukin   thermit, вы что-то не в кассу... Результат ДПФ ...   Sep 14 2011, 21:26
|- - GetSmart   Цитата(Alexey Lukin @ Sep 15 2011, 02:26)...   Sep 14 2011, 21:57
|- - Alexey Lukin   Цитата(GetSmart @ Sep 17 2011, 12:37) ДПФ...   Sep 17 2011, 15:26
|- - thermit   Цитата(Alexey Lukin @ Sep 17 2011, 18:26)...   Sep 17 2011, 16:04
|- - GetSmart   Цитата(Alexey Lukin @ Sep 17 2011, 20:26)...   Sep 17 2011, 16:18
|- - Alexey Lukin   Цитата(GetSmart @ Sep 17 2011, 20:18) Вам...   Sep 17 2011, 16:58
|- - GetSmart   Цитата(Alexey Lukin @ Sep 17 2011, 21:58)...   Sep 17 2011, 17:16
- - Sergey Makarov   Спасибо большое за ответы! Кое что уже началос...   Sep 15 2011, 05:54
|- - SPACUM   Цитата(Sergey Makarov @ Sep 15 2011, 09:5...   Sep 15 2011, 06:22
|- - Sergey Makarov   Цитата(SPACUM @ Sep 15 2011, 10:22) Это з...   Sep 15 2011, 06:43
|- - SPACUM   Цитата(Sergey Makarov @ Sep 15 2011, 10:4...   Sep 15 2011, 07:05
- - thermit   ЦитатаAlexey Lukin: Результат ДПФ — это и есть спе...   Sep 15 2011, 06:45
- - bookevg   В книге Гольденберга 1985г на стр.220, если не вып...   Sep 15 2011, 07:02
|- - fontp   QUOTE (bookevg @ Sep 15 2011, 11:02) В кн...   Sep 15 2011, 07:18
|- - SPACUM   Цитата(bookevg @ Sep 15 2011, 11:02) дать...   Sep 15 2011, 08:22
- - Sergey Makarov   как все сложно. Многое надо обновить в памяти, инф...   Sep 15 2011, 08:08
|- - bahurin   Почитайте для начала тута и здеся.   Sep 15 2011, 08:28
|- - SPACUM   Цитата(Sergey Makarov @ Sep 15 2011, 12:0...   Sep 15 2011, 09:04
- - thermit   ЦитатаAlexey Lukin: ДПФ это не свёртка. ДПФ это ум...   Sep 17 2011, 10:30
- - GetSmart   Alexey Lukin, я кажется понял ваше непонимание про...   Sep 17 2011, 11:49
- - Alexey Lukin   Слово "спектр" имеет множество значений,...   Sep 17 2011, 16:11
|- - thermit   Цитата(Alexey Lukin @ Sep 17 2011, 19:11)...   Sep 17 2011, 19:35
- - Alexey Lukin   Дальнейший спор мне представляется бессмысленным. ...   Sep 17 2011, 18:49
|- - GetSmart   Цитата(Alexey Lukin @ Sep 17 2011, 23:49)...   Sep 17 2011, 19:29
- - Alexey Lukin   thermit, вы не томите, подскажите ваше определение...   Sep 17 2011, 19:53
- - thermit   inf S(w)=SUM( x(n) * exp(-j*w*n) ) n=-inf...   Sep 17 2011, 20:43
|- - Alexey Lukin   О! Наконец-то Гуру-киллер сказал умную вещь...   Sep 17 2011, 21:12
- - GetSmart   Щас скажу умную вещь Спектры бывают разные. Поэто...   Sep 17 2011, 20:59
- - GetSmart   Тогда скажу ещё одну умную вещь. Можно не хлопать ...   Sep 17 2011, 21:29
- - ViKo   Сомневающимся, что дополнение нулями улучшает пред...   Sep 18 2011, 07:20
|- - Alexey Lukin   Цитата(ViKo @ Sep 18 2011, 11:20) для Ale...   Sep 18 2011, 15:36
- - Sergey Makarov   А можно поближе к земным материям? я чет из всего ...   Sep 20 2011, 05:00
|- - ViKo   Цитата(Sergey Makarov @ Sep 20 2011, 08:0...   Sep 20 2011, 06:38
||- - Sergey Makarov   Цитата(ViKo @ Sep 20 2011, 10:38) А вы кн...   Sep 20 2011, 07:06
|- - SPACUM   Цитата(Sergey Makarov @ Sep 20 2011, 09:0...   Sep 20 2011, 12:43
|- - Sergey Makarov   Цитата(SPACUM @ Sep 20 2011, 16:43) Не по...   Sep 20 2011, 13:42
- - almost   Мне нравится как дискуссия по поводу спектра (в бо...   Sep 20 2011, 09:33
|- - ViKo   Цитата(almost @ Sep 20 2011, 12:33) Мне н...   Sep 20 2011, 11:17
||- - almost   Цитата(ViKo @ Sep 20 2011, 15:17) Ничего ...   Sep 20 2011, 11:48
||- - ViKo   Цитата(almost @ Sep 20 2011, 14:48) Я вот...   Sep 20 2011, 11:59
|||- - almost   Цитата(ViKo @ Sep 20 2011, 15:59) Колесо....   Sep 20 2011, 12:23
||- - fontp   QUOTE (almost @ Sep 20 2011, 15:48) Я вот...   Sep 21 2011, 08:15
|||- - GetSmart   Цитата(fontp @ Sep 21 2011, 13:15) ... за...   Sep 23 2011, 20:51
||- - Ofei   Цитата(almost @ Sep 20 2011, 15:48) ... Я...   Sep 28 2011, 11:24
|- - GetSmart   Цитата(almost @ Sep 20 2011, 14:33) Мне н...   Sep 20 2011, 23:26
- - thermit   Чем спектр синуса отличается от спектра косинуса?   Sep 24 2011, 10:19
|- - GetSmart   Цитата(thermit @ Sep 24 2011, 15:19) Чем ...   Sep 24 2011, 19:17
- - Дмитрий_Б   Почему именно гармонические функции из всех ортого...   Sep 28 2011, 17:54
- - Alexey Lukin   Это хорошая причина. Есть и другие: например, наше...   Sep 29 2011, 08:43
- - GetSmart   Почитал все посты тредстартера. Не понял что надо ...   Oct 5 2011, 19:25
- - Kluwert   Цитата(Sergey Makarov @ Sep 14 2011, 16:4...   Oct 7 2011, 06:52
- - Alexey Lukin   Не забывайте, что свёртка с sinc происходит при лю...   Oct 7 2011, 07:48
- - andyp   ЦитатаДобрый день! Стоит задача осуществить бы...   Oct 8 2011, 11:49
- - Sergey Makarov   Цитата(GetSmart @ Oct 5 2011, 23:25) Почи...   Oct 10 2011, 13:54
|- - SPACUM   Цитата(Sergey Makarov @ Oct 10 2011, 17:5...   Oct 10 2011, 14:46
|- - andyp   Цитатавобщем путем моделирования стало ясно, что д...   Oct 10 2011, 17:50
|- - ViKo   Цитата(Sergey Makarov @ Oct 10 2011, 16:5...   Oct 11 2011, 07:56
- - Sergey Makarov   Цитата(SPACUM @ Oct 10 2011, 18:46) Тк. а...   Oct 11 2011, 11:44
|- - andyp   Цитата(Sergey Makarov @ Oct 11 2011, 15:4...   Oct 11 2011, 12:06
- - GetSmart   Господа/Товарищи! А дробный ДПФ/БПФ никто не в...   Oct 18 2011, 08:22
|- - SPACUM   Цитата(GetSmart @ Oct 18 2011, 12:22) Зна...   Oct 18 2011, 10:49
|- - GetSmart   Цитата(SPACUM @ Oct 18 2011, 15:49) А для...   Oct 18 2011, 10:58
|- - SPACUM   Цитата(GetSmart @ Oct 18 2011, 14:58) Ник...   Oct 18 2011, 11:01
|- - GetSmart   Цитата(SPACUM @ Oct 18 2011, 16:01) http:...   Oct 18 2011, 11:21
|- - _Anatoliy   Цитата(GetSmart @ Oct 18 2011, 12:21) Как...   Oct 18 2011, 11:49
||- - GetSmart   Цитата(_Anatoliy @ Oct 18 2011, 16:49) А ...   Oct 18 2011, 11:57
||- - _Anatoliy   Цитата(GetSmart @ Oct 18 2011, 12:57) Над...   Oct 18 2011, 12:05
|- - SPACUM   Цитата(GetSmart @ Oct 18 2011, 15:21) Как...   Oct 18 2011, 14:59
- - Alexey Lukin   А что такое дробный ДПФ? Если надо определять коэф...   Oct 18 2011, 10:00
|- - GetSmart   Цитата(Alexey Lukin @ Oct 18 2011, 15:00)...   Oct 18 2011, 10:48
|- - GetSmart   Цитата(Alexey Lukin @ Oct 18 2011, 15:00)...   Oct 18 2011, 14:48
|- - Alexey Lukin   Цитата(GetSmart @ Oct 18 2011, 18:48) Пра...   Oct 18 2011, 15:41
|- - GetSmart   Цитата(Alexey Lukin @ Oct 18 2011, 20:41)...   Oct 18 2011, 16:34
|- - SPACUM   Цитата(GetSmart @ Oct 18 2011, 20:34) У м...   Oct 18 2011, 18:41
|- - Alexey Lukin   Цитата(GetSmart @ Oct 18 2011, 20:34) Тол...   Oct 18 2011, 19:02
|- - fontp   QUOTE (Alexey Lukin @ Oct 18 2011, 23:02)...   Oct 19 2011, 13:03
|- - GetSmart   Цитата(fontp @ Oct 19 2011, 18:03) Шум са...   Oct 19 2011, 15:48
|- - fontp   QUOTE (GetSmart @ Oct 19 2011, 19:48) В о...   Oct 20 2011, 07:20
- - ViKo   Так спектр и усреднить можно. По множеству реализа...   Oct 18 2011, 13:47
- - GetSmart   Цитата(SPACUM @ Oct 18 2011, 23:41) ... 1...   Oct 18 2011, 19:24
- - Alexey Lukin   Цитата(GetSmart @ Oct 18 2011, 23:24) ДПФ...   Oct 18 2011, 20:12
|- - GetSmart   Цитата(Alexey Lukin @ Oct 19 2011, 01:12)...   Oct 20 2011, 13:03
|- - SPACUM   Цитата(GetSmart @ Oct 20 2011, 17:03) Поч...   Oct 21 2011, 07:25
||- - GetSmart   Цитата(SPACUM @ Oct 21 2011, 12:25) Посмо...   Oct 21 2011, 12:45
||- - SPACUM   CRLB можно вычислить по этой формуле: RMS(df) / Fs...   Oct 21 2011, 13:11
||- - GetSmart   Цитата(SPACUM @ Oct 21 2011, 18:11) CRLB ...   Oct 21 2011, 13:53
||- - SPACUM   Цитата(GetSmart @ Oct 21 2011, 17:53) А н...   Oct 21 2011, 15:11
|- - Alexey Lukin   Цитата(GetSmart @ Oct 20 2011, 17:03) Сей...   Oct 21 2011, 08:15
- - SPACUM   Цитата(GetSmart @ Oct 18 2011, 23:24) 5. ...   Oct 19 2011, 06:06
2 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 19:02
Рейтинг@Mail.ru


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