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

 
 
> БРФ. Что считать амплитудой гармоники?
radiohobbyt
сообщение Jun 25 2008, 09:52
Сообщение #1


Участник
*

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



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

Извиняюсь, дрогнула рука%) Все-таки БПФ%)
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
RadioJunior
сообщение Jun 25 2008, 10:29
Сообщение #2


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

Группа: Участник
Сообщений: 117
Регистрация: 28-01-08
Пользователь №: 34 498



Цитата(radiohobbyt @ Jun 25 2008, 13:52) *
В результате преобразования Фурье(или быстрого преобразования Фурье) помимо гармоник получается еще и некоторые составляющие на соседних частотах (как я понял из-за того, что в окно влезает не целое число периодов..) Вопрос- что же считать амплитудой гармоники? Амплитуду ее самой? Или как-то учитывать эти самые "боковые лепестки"?

Извиняюсь, дрогнула рука%) Все-таки БПФ%)


В коде ошибка...Приведи пример программы!
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 25 2008, 11:07
Сообщение #3


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

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



Ну как что?
Для одиночной экспоненты эксперты проводят обычно интерполяцию. Называют это ML-extension
В простейшем случае интерполяция делается так - дополняем нулями в два-три-четыре раза и считаем спектр мощности (дополнение нулями это просто способ интерполяции, можно было бы наоборот посчитать без нулей, а потом проинтерполировать)
В окрестности максимума строим параболу по трём точкам (надо бы синк но не умеем, да и не очень-то надо, если нулей добавлено много). Максимум параболы - это энергия волны, а аргумент максимума - её частота. Амплитуда - это типа корень из энергии

Есть и более сложные формулы, без нулей. Более быстрые, но не более точные
Вот модельки в матлабе
http://home.comcast.net/~kootsoop/EricJ2/index.htm


А если спектр непрерывный, то вопрос не очень имеет смысл - это всё равно, что произвести дискретизацию и спросить - а что было между отсчётами?. Всяко бывает ;-)
Во всяком случае отсчёты БПФ это результат свёртки непрерывного спектра с некоторым ядром и нужно смотреть, что можно извлечь оттуда
Go to the top of the page
 
+Quote Post
radiohobbyt
сообщение Jun 26 2008, 11:10
Сообщение #4


Участник
*

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



Цитата(RadioJunior @ Jun 25 2008, 14:29) *
В коде ошибка...Приведи пример программы!

Ну нет ошибки- просто попробуй сам сделать БПФ любого реального сигнала(или не быстрое)%)
Откуда появились различные окна(Хэмминга, Наттола)? Они то и есть результат борьбы с этим явлением.

fontp, спасибо за рассказ. только не понял, почему надо считать спектр мощности, а не просто спектр сигнала?
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2008, 14:29
Сообщение #5


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

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



Цитата(radiohobbyt @ Jun 26 2008, 15:10) *
Ну нет ошибки- просто попробуй сам сделать БПФ любого реального сигнала(или не быстрое)%)
Откуда появились различные окна(Хэмминга, Наттола)? Они то и есть результат борьбы с этим явлением.


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

Цитата(radiohobbyt @ Jun 26 2008, 15:10) *
fontp, спасибо за рассказ. только не понял, почему надо считать спектр мощности, а не просто спектр сигнала?


"Мне нравится слово" (с) И.Кормильцев
Считайте что спектр ;-)
Go to the top of the page
 
+Quote Post
radiohobbyt
сообщение Jun 27 2008, 08:53
Сообщение #6


Участник
*

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



Цитата(fontp @ Jun 26 2008, 18:29) *
"Мне нравится слово" (с) И.Кормильцев
Считайте что спектр ;-)

%) ну слово, так слово. просто у меня есть отчеты напряжения, а для мощности надо брать фурье от квадратов этих отчетов(а потом брать корень из результата). отсюда и возник вопрос. %)
Go to the top of the page
 
+Quote Post
Designer56
сообщение Jun 27 2008, 09:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Цитата(radiohobbyt @ Jun 27 2008, 14:53) *
%) ну слово, так слово. просто у меня есть отчеты напряжения, а для мощности надо брать фурье от квадратов этих отчетов(а потом брать корень из результата). отсюда и возник вопрос. %)

а для мощности, если использовать спектр, надо перемножить его на комплексно- сопряженный и, проинтегрировать его по частоте. Или, если сигнал периодический, то просуммировать квадраты гармоник и взять корень от этой суммы. Это называется теорема Парсиваля.
А можно брать просто квадраты отсчетов, интегрируя по периоду и затем вычисляя кв. корень- т.е. вычисляя скалярное произведение непосредственно.


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
radiohobbyt
сообщение Jun 27 2008, 09:49
Сообщение #8


Участник
*

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



Цитата(Designer56 @ Jun 27 2008, 13:05) *
а для мощности, если использовать спектр, надо перемножить его на комплексно- сопряженный и, проинтегрировать его по частоте. Или, если сигнал периодический, то просуммировать квадраты гармоник и взять корень от этой суммы. Это называется теорема Парсиваля.
А можно брать просто квадраты отсчетов, интегрируя по периоду и затем вычисляя кв. корень- т.е. вычисляя скалярное произведение непосредственно.

вопрос стоял не в том, "как?" а в том "почему?". то есть почему если я спрашивал про спектр сигнала, от вет я получил про спектр мощности. не было ли в этом какого-то "тайного знания"? %)
Хотя и в сказанном заложен большой смысл- спасибо%)

Сообщение отредактировал radiohobbyt - Jun 27 2008, 10:02
Go to the top of the page
 
+Quote Post
RadioJunior
сообщение Jun 27 2008, 10:28
Сообщение #9


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

Группа: Участник
Сообщений: 117
Регистрация: 28-01-08
Пользователь №: 34 498



Цитата(radiohobbyt @ Jun 26 2008, 15:10) *
Ну нет ошибки- просто попробуй сам сделать БПФ любого реального сигнала(или не быстрое)%)
Откуда появились различные окна(Хэмминга, Наттола)? Они то и есть результат борьбы с этим явлением.


Смоделируйте в MatLab'е:

%------------------------
%------------------------
% ПАРАМЕТРЫ СИГНАЛА:
Np=10; % число периодов синусоиды
f0=1; % частота синусоиды, [Гц]
T0=1/f0; % период синусоиды, [с]

%------------------------
%------------------------
% ПАРАМЕТРЫ МОДЕЛИ:
fs=11*f0; % частота дискретизации
t=0:1/fs:Np*T0-1/fs; % временная ось (ОБРАТИТЕ ВНИМАНИЕ на слагаемое 1/fs)
s=sin(2*pi*f0*t); % синусоида
%------------------------
%------------------------
% АМПЛИТУДНЫЙ СПЕКТР:
Sfft=abs(fft(s));
stem(Sfft,'.'); grid; % ПОКАЖИТЕ МНЕ, ГДЕ ВЫ ВИДИТЕ ЛИШНИЕ ГАРМОНИКИ????

Сообщение отредактировал RadioJunior - Jun 27 2008, 10:29
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 27 2008, 10:31
Сообщение #10


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

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



Цитата(radiohobbyt @ Jun 27 2008, 13:49) *
вопрос стоял не в том, "как?" а в том "почему?". то есть почему если я спрашивал про спектр сигнала, от вет я получил про спектр мощности. не было ли в этом какого-то "тайного знания"? %)
Хотя и в сказанном заложен большой смысл- спасибо%)


На страничке по ссылке, которую я привёл интерполяцию ведут непосредственно по комплексному спектру. Но это знание доступное только посвященным, это трудно понять... smile.gif Я его сам плохо понимаю, не то что объяснить на форуме

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

Цитата(RadioJunior @ Jun 27 2008, 14:28) *
Смоделируйте в MatLab'е:

ПОКАЖИТЕ МНЕ, ГДЕ ВЫ ВИДИТЕ ЛИШНИЕ ГАРМОНИКИ????


Эм-м... Так не пойдёт. Подставляйте Np=10.5 и Np=10.3
Там колоколольчик весь, синк
При целом числе периодов отсчёты спектра находятся в нулях синка
Go to the top of the page
 
+Quote Post
radiohobbyt
сообщение Jun 27 2008, 12:36
Сообщение #11


Участник
*

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



Еще раз сформулирую задачу(просто я эт не делал, извините): есть АЦП(сигнал-реальный%), ничего комплексного), надо найти например коэфффициент искажения синусоидальности(а там стоят как раз действительные значения гармоник(естественно можно и амплитудные значения (для fontp- я понимаю, что говорю))). мне нужен только амплитудный спектр(тут слово "амплитудный"- в другом значении%)) и абсолютно не важен фазовый. Так вот вопрос- а при чем тут мощность? даже ее спектр?

Цитата(fontp @ Jun 27 2008, 14:31) *
Эм-м... Так не пойдёт. Подставляйте Np=10.5 и Np=10.3
Там колоколольчик весь, синк
При целом числе периодов отсчёты спектра находятся в нулях синка

вопрос как раз в том, что дело имеет быть как раз с аппаратом, то есть всякие красивые соотношения выполняются с трудом и все равно не до конца(В МОЁМ КОНКРЕТНОМ СЛУЧАЕ)
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 27 2008, 12:48
Сообщение #12


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

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



Цитата(radiohobbyt @ Jun 27 2008, 16:36) *
Еще раз сформулирую задачу(просто я эт не делал, извините): есть АЦП(сигнал-реальный%), ничего комплексного), надо найти например коэфффициент искажения синусоидальности(а там стоят как раз действительные значения гармоник(естественно можно и амплитудные значения (для fontp- я понимаю, что говорю))). мне нужен только амплитудный спектр(тут слово "амплитудный"- в другом значении%)) и абсолютно не важен фазовый. Так вот вопрос- а при чем тут мощность? даже ее спектр?
вопрос как раз в том, что дело имеет быть как раз с аппаратом, то есть всякие красивые соотношения выполняются с трудом и все равно не до конца(В МОЁМ КОНКРЕТНОМ СЛУЧАЕ)


Вы чем недовольны? "Амплитудный" спектр - это как раз и есть корень квадратный из спектра мощности. Даже если сигнал действительный, в любом случае определение "настоящей" амплитуды делается примерно так как я сказал выше и по ссылке (вместе с определением частоты). Дополнительно делается фильтрация и преобразование Гильберта для действительной синусоиды. Это исчерпывающее решение задачи, я когда-то загружал сюда статью насчёт оценки параметров действительной синусоиды на теоретическом достижимом пределе

Если вам просто нужен коэффициент гармоник - считайте энергию в окрестности своей частоты (складывая бины) и энергию кратной гармоники (складывая бины). На спектре мощности энергию в полосе частот (куда она размазалась временным окном) можно получить интегрированием (чего нельзя сказать про ваш "амплитудный спектр" - энергии можно складывать, но не амплитуды).
Если частота известна, то Вам вообще весь спектр и БПФ не нужно. Берите один отсчёт на нужной частоте, причём, интегрируйте по времени кратно периоду, аналогично для кратной гармоники.
Sum(S(k)*exp(iwk))

Про "красивые соотношения" я отвечал вообще не Вам, а человеку, который утверждал, что у него всегда в спектре синусоиды отдельная "палка", спектр не размазывается и даже привёл программу

GoodBye!
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jun 27 2008, 23:17
Сообщение #13


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(radiohobbyt @ Jun 27 2008, 15:36) *
Еще раз сформулирую задачу(просто я эт не делал, извините): есть АЦП(сигнал-реальный%), ничего комплексного)

Хахаха(голосом робота Вертера). Да сам базис Фурье комплексный, а само определение гармоник дано только через базис Фурье, потому и не прокатит, например, косинусное преобразование.
Цитата(radiohobbyt @ Jun 27 2008, 15:36) *
, надо найти например коэфффициент искажения синусоидальности(а там стоят как раз действительные значения гармоник(естественно можно и амплитудные значения

(для fontp- я понимаю, что говорю))).

как раз, думаю, не очень biggrin.gif ...

Цитата(radiohobbyt @ Jun 27 2008, 15:36) *
мне нужен только амплитудный спектр(тут слово "амплитудный"- в другом значении%))

А у него может быть только одно значение - это модуль(абсолютна длинна) вектора разложенного по определенному базису и выраженный в единицах этого же разложения.
Цитата(radiohobbyt @ Jun 27 2008, 15:36) *
и абсолютно не важен фазовый. Так вот вопрос- а при чем тут мощность? даже ее спектр?

А при том... При том, что по-определению DFT(FFT) на выходе дает комплексную функцию. Т.е. Ваша искомая амплитуда разложена по 2-м компонетам (cos(w*t) + j*sin(w*t)). И "степень разложенности" как раз зависит от фазы. Чтобы ее(зависимость) убрать и находят модуль вектора спроецированного на базис из гармонических функций. И делается это не иначе как sqrt(I*I+Q*Q) для каждой пары отсчетов;

Цитата(radiohobbyt @ Jun 27 2008, 15:36) *
вопрос как раз в том, что дело имеет быть как раз с аппаратом, то есть всякие красивые соотношения выполняются с трудом и все равно не до конца(В МОЁМ КОНКРЕТНОМ СЛУЧАЕ)

ну ничто не совершенно, это понятно, но Вы пытаетесь обойти Эвклидову геометрию


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Designer56
сообщение Jun 28 2008, 14:40
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Цитата
вопрос стоял не в том, "как?" а в том "почему?".

Ну почитайте поподробнее... излагать все здесь в мелочах ну очень громоздко...


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jun 29 2008, 17:31
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(RadioJunior @ Jun 27 2008, 14:28) *
Смоделируйте в MatLab'е:
..........................................
ПОКАЖИТЕ МНЕ, ГДЕ ВЫ ВИДИТЕ ЛИШНИЕ ГАРМОНИКИ????
Не кричите, милейший.
Подобную чушь можете моделировать сами, вплоть до посинения. Только речь здесь идёт об оценке спектра для окна, в которое укладывается нецелое число периодов сигнала. wink.gif

Цитата(radiohobbyt @ Jun 27 2008, 16:36) *
Еще раз сформулирую задачу(просто я эт не делал, извините): есть АЦП(сигнал-реальный%), ничего комплексного), надо найти например коэфффициент искажения синусоидальности(а там стоят как раз действительные значения гармоник(естественно можно и амплитудные значения (для fontp- я понимаю, что говорю))). мне нужен только амплитудный спектр(тут слово "амплитудный"- в другом значении%)) и абсолютно не важен фазовый. Так вот вопрос- а при чем тут мощность? даже ее спектр?
Спектр мощности может оказаться удобнее. Потому, что к-т гармоник определяется именно суммарной мощностью гармоник, отнесённой к мощности основного тона. Потом нужно взять только корень.

Цитата(radiohobbyt @ Jun 27 2008, 12:53) *
%) ну слово, так слово. просто у меня есть отчеты напряжения, а для мощности надо брать фурье от квадратов этих отчетов(а потом брать корень из результата). отсюда и возник вопрос.
Не правильно.
Для того, чтобы получить спектр мощности, нужно брать Фурье от АКФ исходного сигнала. Или находить квадрат абсолютного значения оценки амплитудного спектра.

Цитата(radiohobbyt @ Jun 27 2008, 16:36) *
Еще раз сформулирую задачу(просто я эт не делал, извините): есть АЦП(сигнал-реальный%), ничего комплексного), надо найти например коэфффициент искажения синусоидальности(а там стоят как раз действительные значения гармоник(естественно можно и амплитудные значения (для fontp- я понимаю, что говорю))). мне нужен только амплитудный спектр(тут слово "амплитудный"- в другом значении%)) и абсолютно не важен фазовый. Так вот вопрос- а при чем тут мощность? даже ее спектр?
Вы, вероятно, думаете, что если сигнал вещественный, то и результат ПФ будет также вещественным? biggrin.gif
Спектр мощности у Вас получится как результат промежуточного преобразования при вычислении модуля спектральной функции, т.е., вполне естественным путём. smile.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 Текстовая версия Сейчас: 18th July 2025 - 12:50
Рейтинг@Mail.ru


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