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

 
 
> Алгоритм расчета THD
stepit
сообщение Jul 29 2011, 22:12
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 29-07-11
Пользователь №: 66 487



Здравствуйте, реализовал следующий алгоритм расчета THD:

1. Снимаем сигнал y со звуковой карты;
2. Накладываем окно Хенинга на сигнал: yw = hanning(y);
3. Делаем FFT и ищем частоту основной гармоники: S = fft(yw), f = max(abs(S));
4. Берем значения спектра в гармониках: h1 = S(f), h2=S(2*f).. hn = S(n*f);
5. Рассчитываем THD = 100 * norm([h2 .. hn]) / norm(h1).

В этом алгоритме меня беспокоит точность определения амплитуды гармоники, и вобще низнаю как оценить точность работы алгоритма. Может кто знает другие алгоритмы расчета THD, тогда пожалуйста поделитесь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Aug 1 2011, 14:04
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Про зависимость THD от частоты в общем не слышал (он же по определению total!), но от частоты дискретизации - вполне вероятно, как и отношения с/ш. Есть такая программа SpecLab (от звуковухи работает), посмотрите на ней THD и с/ш при разных частотах дискретизации. При увеличении частоты дискретизации THD будет возрастать за счет добавления амплитуд шума на частотах "гармоник". Так что полосу анализа (и частоту дискретизации соответственно) надо выбирать ОЧЕНЬ осмысленно, чтобы не копить лишние шумы
Go to the top of the page
 
+Quote Post



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

 


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


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