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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Амплитуда спектральных составляющих, Как уточнить?
kolobochishe
сообщение Apr 3 2012, 05:40
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Все доброго дня sm.gif

Как правильно бороться с известной проблемой, когда частота сигнала попадает между бинами БПФ?

Т.е. шаг частотной сетки, например, 100 Гц. Тогда сигнал частотой 1150 Гц будет отображаться на спектре 2-мя составляющими с меньшей амплитудой, чем в реальности.

Можно уменьшить шаг сетки, дополнить нулями. А есть еще хорошие способы?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 3 2012, 08:49
Сообщение #2


.
******

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



Есть относительно простые методы интерполяции по 2-3 точкам. Пораболические например.
Но это ещё нужно точно знать, что эти два бина есть один "размазанный", а не два независимых сигнала. Ведь может быть и такое, т.к. БПФ "разрешает" сигналы из разных бинов.

Для определения амплитуды синуса с самой максимальной энергией подойдёт и 2^n-кратное дополнение нулями и взятие БПФ.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Apr 3 2012, 09:09
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Цитата(GetSmart @ Apr 3 2012, 13:49) *
Но это ещё нужно точно знать, что эти два бина есть один "размазанный", а не два независимых сигнала. Ведь может быть и такое, т.к. БПФ "разрешает" сигналы из разных бинов.


не уточнил. мы не знаем одна это частота или 2 близкие.

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

Сейчас попробовал разные окна. И вот что получается

Прямоугольное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,64
Синусное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,79
Окно Блэкмана - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,91

Т.е. наложение окна сглаживает эти "скачки". Но все же 10% - многовато

Сообщение отредактировал kolobochishe - Apr 3 2012, 09:12
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 3 2012, 09:14
Сообщение #4


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (kolobochishe @ Apr 3 2012, 13:09) *
не уточнил. мы не знаем одна это частота или 2 близкие.

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

Сейчас попробовал разные окна. И вот что получается

Прямоугольное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,64
Синусное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,79
Окно Блэкмана - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,91

Т.е. наложение окна сглаживает эти "скачки". Но все же 10% - многовато


Только окна иначе никак, если не знаете одна это синусоида или две близкие. Причем две очень близкие под окном будут неразличимы. Это и называется разрешением, когда они видны как два спектральных окна (не смазываются в одно), и оно полностью
определяется длиной выборки. В спектроанализаторах используются окна
Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Apr 3 2012, 09:18
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Я так понимаю, это гребешковые искажения.

В книге Ричарда Лайонса "Цифровая обработка сигналов" написано:

Цитата
На практике, однако, гребешковые искажения не являются серьезной проблемой. Реальные сигналы обычно имеют спектр, занимающий несколько бинов, так что пульсации спектра могут оказаться практически незаметными.


И предлагает дополнение нулями, если все таки надо поточнее
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 3 2012, 09:19
Сообщение #6


Гуру
******

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



Цитата(kolobochishe @ Apr 3 2012, 13:09) *
Т.е. наложение окна сглаживает эти "скачки". Но все же 10% - многовато


Берите окно из семейства flat top и ничего скакать не будет.
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 3 2012, 09:20
Сообщение #7


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (kolobochishe @ Apr 3 2012, 13:18) *
Я так понимаю, это гребешковые искажения.

В книге Ричарда Лайонса "Цифровая обработка сигналов" написано:



И предлагает дополнение нулями, если все таки надо поточнее


Дополнение нулями собирает в энергию бина энергию всех синусоид попадающих под спектральное окно (из соседних бинов). Дополнение нулями не повышает разрешение. Это способ интерполяции и он будет работать только если спектральные линии разнесены достаточно далеко. То есть, как было сказано, если мы заранее знаем, что имеем изолированую спектральную линию
Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Apr 3 2012, 09:26
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Цитата(petrov @ Apr 3 2012, 14:19) *
Берите окно из семейства flat top и ничего скакать не будет.


такое хорошее?

Цитата(fontp @ Apr 3 2012, 14:20) *
Дополнение нулями собирает в энергию бина энергию всех синусоид попадающих под спектральное окно (из соседних бинов). Дополнение нулями не повышает разрешение. Это способ интерполяции и он будет работать только если спектральные линии разнесены достаточно далеко. То есть, как было сказано, если мы заранее знаем, что имеем изолированую спектральную линию


пока туговато понимаю. мне надо "помедитировать" и увидеть результат своими глазами.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 3 2012, 09:32
Сообщение #9


Гуру
******

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



Цитата(kolobochishe @ Apr 3 2012, 13:26) *
такое хорошее?


Окна это всегда какие-то компромиссы, флаттопы для того и придуманы чтобы амплитуду точно измерять, но как следствие имеют низкое разрешение.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Apr 3 2012, 09:32
Сообщение #10


Гуру
******

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



Окно обязательно. А дальше - в зависимости от того, что Вы хотите. Если плавный график - то интерполяция с учетом того, что форма линии определяется функцией окна, свернутой с сигналом (т.е. образ одиночной линии совпадает с окном). Если нужна цифра - находите максимум и суммируете квадраты отсчетов в окрестностях него. Сколько - определяется, опять-таки, функцией окна. Затем извлекаете квадратный корень. Это будет точная амплитуда, скакать не будет вообще (кроме случая с не разрешенной двойной линией, но и здесь будут очень небольшие скачки).
Go to the top of the page
 
+Quote Post
mihalevski
сообщение Apr 12 2012, 07:37
Сообщение #11


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

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Цитата(kolobochishe @ Apr 3 2012, 12:40) *
Все доброго дня sm.gif

Как правильно бороться с известной проблемой, когда частота сигнала попадает между бинами БПФ?

Т.е. шаг частотной сетки, например, 100 Гц. Тогда сигнал частотой 1150 Гц будет отображаться на спектре 2-мя составляющими с меньшей амплитудой, чем в реальности.

Можно уменьшить шаг сетки, дополнить нулями. А есть еще хорошие способы?



Тупо решение в лоб дольше накапливать исходные данные
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Apr 12 2012, 08:54
Сообщение #12


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

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



Это никоим образом не поможет уточнить амплитуду. Правильные ответы даны выше: если хочется увидеть "правильную" амплитуду на спектре, используем окно flat-top; если хочется её измерить — используем любое подходящее окно и суммируем мощности отсчётов, дающих вклад в синусоиду.

Сообщение отредактировал Alexey Lukin - Apr 12 2012, 08:57
Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Apr 12 2012, 09:01
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Цитата(mihalevski @ Apr 12 2012, 12:37) *
Тупо решение в лоб дольше накапливать исходные данные


для меня плохой вариант. и вопрос несколько иной. не в том, как получить большее разрешение по частоте, а как добиться правильного отображения амплитуды такого вот "промежуточного" сигнала. flat top окно очень понравилось для этих целей sm.gif

Цитата(Alexey Lukin @ Apr 12 2012, 13:54) *
Это никоим образом не поможет уточнить амплитуду. Правильные ответы даны выше: если хочется увидеть "правильную" амплитуду на спектре, используем окно flat-top; если хочется её измерить — используем любое подходящее окно и суммируем мощности отсчётов, дающих вклад в синусоиду.


не понял разницы между "измерить" и "увидеть "правильную" амплитуду". Как это?
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Apr 12 2012, 09:03
Сообщение #14


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

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



Разница буквальная: нарисовать либо вычислить. Ибо точно вычислить правильную амплитуду можно и по "неправильному" спектру. С весовыми окнами, отличными от flat-top, у вас будет лучше, например, частотное разрешение.

Сообщение отредактировал Alexey Lukin - Apr 12 2012, 09:04
Go to the top of the page
 
+Quote Post
mihalevski
сообщение Apr 12 2012, 10:39
Сообщение #15


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

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Цитата(kolobochishe @ Apr 3 2012, 16:09) *
не уточнил. мы не знаем одна это частота или 2 близкие.

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

Сейчас попробовал разные окна. И вот что получается

Прямоугольное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,64
Синусное окно - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,79
Окно Блэкмана - отношение (Амплитуда спектральной составляющей с частотой между бинами)/(Амплитуда спектральной составляющей с частотой точно в центре бина) = 0,91

Т.е. наложение окна сглаживает эти "скачки". Но все же 10% - многовато



Из приведенных данных следует вывод чем навороченнее окно (шире голова) тем лучше результат. Поэтому предлагаю попробовать окно Долльфа-Чебышева там вроде можно эту голову расширять по желанию увеличивая при этом глубину подавления.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 16:40
Рейтинг@Mail.ru


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