Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Измерение коэффициента нелинейных искажений КНИ.
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
AlexOr
Отечественные измерители КНИ С6-5 работают по принципу режекции основной гармоники с последующим измерением действующего значения. Таким образом, получают действующее значение высших гармоник. Дальше полученное делят на действующее значение входного сигнала.

А как работают современные измерители нелинейных искажений? Применяют ли БПФ для измерения КНИ?

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

Собственно стоит задача написания алгоритма измерителя КНИ для сигнальника с плавающей точкой. Непонятно каким путем идти…..

И как измеряют THD = 0.001 % ?
fontp
Цитата(AlexOr @ Dec 10 2009, 11:06) *
Насколько я понимаю, в случае если частота основной гармоники не равна частоте бина БПФ, невозможно точно определить амплитуду основной гармоники.

И как измеряют THD = 0.001 % ?



Возможно и точно. Чтобы с помощью интерполяции спектра измерять с относительной ошибкой 0.01% нужно добавлять раза в четыре больше чем данных нулей и использовать хорошую функцию окна. Кто мешает Вам повышать точность ещё на порядок взяв в 2 раза больше данных и ещё в 2 раза больше нулей

https://ccrma.stanford.edu/STANM/stanms/sta...14/stanm114.pdf
Этот метод оптимален по отношению к гауссовским шумам, но вносит систематическую ошибку, которую давят использованием интерполяции (добавлением нулей в исходные данные и фиттинг парапболы) и применением функции окна


Существуют конечно и более изощренные методы гармонического разложения, такие как MUSIC
Tanya
Цитата(fontp @ Dec 10 2009, 11:16) *
Возможно и точно.

Вот только непонятно, зачем точно измерять основную гармонику при таких малых искажениях.
serebr
Для измерения THD = 0.001 % основную гармонику всё равно сначала придётся вырезать, т.к. обеспечить входной динамический диапазон больше 100 дБ довольно трудно.
AlexOr
Цитата(Tanya @ Dec 10 2009, 18:34) *
Вот только непонятно, зачем точно измерять основную гармонику при таких малых искажениях.


Действительно, более важно измерить действующее значение высших гармоник....
V_G
Цитата(AlexOr @ Dec 10 2009, 18:06) *
А как работают современные измерители нелинейных искажений? Применяют ли БПФ для измерения КНИ?

Вы с программой SpectraLab не знакомы? Там есть функция измерения КНИ с помощью звуковой карты компьютера. Алгоритмов оттуда вытянуть наверное, невозможно, на зато можно пощупать руками, поиграться с настройками
mdmitry
Цитата(AlexOr @ Dec 10 2009, 11:06) *
Отечественные измерители КНИ С6-5 работают по принципу режекции основной гармоники с последующим измерением действующего значения. Таким образом, получают действующее значение высших гармоник. Дальше полученное делят на действующее значение входного сигнала.

А как работают современные измерители нелинейных искажений? Применяют ли БПФ для измерения КНИ?
И как измеряют THD = 0.001 % ?

с6-8 тоже измеряет
Современные измерители нелинейных искажений (ИНИ) оценивают коэффициент гармоник, а не нелинейных искажений.
Имеется свой встроенный в ИНИ генератор гармонического сигнала. В самом ИНИ два узкополосных фильтра: полосовой на первую гармонику и режекторный на неё же. Из выходного сигнала полосового фильтра получают постоянное напряжение, пропорциональное амплитуде (действующему) значению первой гармоники. Это напряжение используется в качестве опорного для АЦП.На вход АЦП подается напряжение пропорциональное сумме высших гармоник, снимаемое с выхода режекторного фильтра. При таком построении прибора - код АЦП (цифровой вольтметр) пропорционален коэффициенту гармоник. Эта идея заложена в СК6-13.
gridinp
Цитата(AlexOr @ Dec 10 2009, 11:06) *
Применяют ли БПФ для измерения КНИ?


Применяют, но для этого нужен генератор со стабильной частотой, чем точнее нужно измерять тем стабильнее.
Необходимо, чтобы на периоде измерения равном степени двойки уложилось целое число периодов сигнала.
Например частота дискретизации 1000 Гц, включаем генератор на 31.25 Гц и записываем 1024 отсчета, получаем
32 периода - делаем БПФ и видим в спектре вертикальные палки, при увеличении фазового шума палки размываются.

Неплохой генератор можно получить, если запитать ЦАП от OCXO и на выходе поставить ФНЧ на UAF42.
ATname
Цитата(AlexOr @ Dec 10 2009, 11:06) *
А как работают современные измерители нелинейных искажений? Применяют ли БПФ для измерения КНИ?

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

Собственно стоит задача написания алгоритма измерителя КНИ для сигнальника с плавающей точкой. Непонятно каким путем идти…..

И как измеряют THD = 0.001 % ?

Для измерения предельно малых значений КНИ применяют исключительно спектральное оценивание, конкретно оценивание СПМ (спектральной плотности мощности). Для большей информации см. классический труд Марпла младшего. Иного способа измерения предельно малых КНИ не существует в природе. Дело в том, что чем длиннее БПФ (больше отсчетов входного сигнала, а не нулей, в расчетах) тем выше отношение сигнал/шум на выходе. Так БПФ от 4096 точек увеличивает исходное отношение сигнал/шум примерно на 33 дБ. Более детальную формулу можно найти у Кеслера (ADI). Точность по амплитуде достигается выбором типа окна, длинны БПФ, частоты дискретизации и величины перекрытия БПФ. Обычно выполняется БПФ в скользящем окне со сдвигом на 1/4 длинны БПФ. При этом длинна самой выборки сигнала должна быть не менее 2х длин БПФ (лучше 4), иначе будет сильно сказываться эффект конечной выборки, т.е. ограниченности времени наблюдения.
Там ещё есть "ньюансы" с построением входной части по линейности входного усилителя, джиттеру в АЦП и т.д. Но режекцию основной частоты никто не применяет, а вот компенсацию сигнала (СПЕКТРА) измерительного (эталонного) генератора - есть такое дело, поскольку сделать генератор с КНИ 0.0001% это задача для мужчин. Причем не для всех и не с плавной перестройкой по частоте.
Audio Precision Вам в помощь...

Кстати, выбор плавающей точки для данной задачи не есть гуд. Плавающая точка всегда дает приблизительный результат и, как следствие, более высокий вычислительный шум. На фиксированной можно получить более качественный результат, нужно только правильно масштабироваться по итерациям.
Alex11
Нужен ли генератор - это вопрос, КНИ чего нужно измерять. Если просто в откуда-то взявшемся сигнале - принимай и считай, если у усилителя - тогда, безусловно, туда нужно что-то подать. Генератор с КНИ 0.0001% - это тяжеловато, а с 0.0003 - уже вполне, причем на произвольную частоту (ЦАП). Я такое уже делал.
Что касается плавучки, то для счета с точностью до 0.001% ее можно использовать при длине в double, а алгоритмы будут куда как проще. Для фиксированной точки с той же точностью нужно уметь считать, как минимум, с точностью 32 бита (и множить уметь 32*32 бита), что для DSP сложнее, чем посчитать в double.
Считать БПФ можно и на одном окне, достаточно длинном, а чтобы не сказывались края, использовать оконную функцию, отличную от прямоугольной. По моему опыту, для высокой точности нужно использовать гауссовское окно. Оно обеспечивает, конечно, несколько меньшее спектральное разрешение, чем можно получить с другими, но зато гораздо лучшее амплитудное разделение, если между гармониками только белый шум.
ATname
Цитата(Alex11 @ Jan 22 2010, 22:03) *
Считать БПФ можно и на одном окне, достаточно длинном, а чтобы не сказывались края, использовать оконную функцию, отличную от прямоугольной. По моему опыту, для высокой точности нужно использовать гауссовское окно. Оно обеспечивает, конечно, несколько меньшее спектральное разрешение, чем можно получить с другими, но зато гораздо лучшее амплитудное разделение, если между гармониками только белый шум.

Нельзя, будь там окно любой длинны. Банально не получите необходимого разрешения в каждом отдельном частотном бине. Для перекрытия в гребенке полосовых фильтров бинов на уровне 0.707 (плоская АЧХ БПФ) необходимо иметь сдвиг на 1/4 длинны БПФ, при обработке в скользящем окне. См. Рабинера и Голда, там все подробно изложено.
Вопрос типа окна однозначно не решается: там либо разрешение по частоте, либо точность по амплитуде. НО! Вопрос точности по частоте можно перенести в область длинны БПФ (длительности времени выборки) при ограничении частоты дискретизации (и полосы сигнала, естественно).

При сравнении ДВОЙНОЙ ПЛАВАЮЩЕЙ (64 БИТА!) с фиксированной на 32 бита, я отдам предпочтение последней. Сомневаюсь, что проблем с умножением в двойной плавающей у Вас будет меньше, чем для фиксированной 32Х32. А вот вычислительных шумов в плавающей сто процентов больше. И весьма существенно больше...
thermit
Цитата
ATname:
При сравнении ДВОЙНОЙ ПЛАВАЮЩЕЙ (64 БИТА!) с фиксированной на 32 бита, я отдам предпочтение последней. Сомневаюсь, что проблем с умножением в двойной плавающей у Вас будет меньше, чем для фиксированной 32Х32. А вот вычислительных шумов в плавающей сто процентов больше. И весьма существенно больше...


Конечно же вычисления с пт64 существенно точнее, чем с фт32. Хотя бы потому, что мантисса у пт64 52 бита против 31-го в фт32.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.