2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Расчет шума и гармоник по FFT
Сообщение06.05.2014, 04:37 


18/05/10
75
Есть FFT, надо получить уровень шума в $nV \sqrt{Hz}$ или хотя бы на одной частоте, если он будет сильно неровный. Как правильно посчитать его? Просто усреднить по выборке или как-то еще?

То же самое по гармоникам. Находим частоту, где максимум, потом усредняем максимумы?

 Профиль  
                  
 
 Re: Расчет шума и гармоник по FFT
Сообщение06.05.2014, 19:55 
Аватара пользователя


31/10/08
1244
d1234
Вначале надо правильно записать формулу. По поводу правильного расчёта, надо знать как звучит правильно задача.
Да и исходные данные не полные, что на входе FFT?

d1234 в сообщении #859663 писал(а):
То же самое по гармоникам. Находим частоту, где максимум, потом усредняем максимумы?
В такой постановке надо Гц пересчитать в гармоники. Но я умаю вы тут что-то путаете.

 Профиль  
                  
 
 Re: Расчет шума и гармоник по FFT
Сообщение06.05.2014, 20:40 


18/05/10
75
Pavia, я сейчас хочу понять, в каком направлении двигаться, чтобы решить задачу. У меня есть библиотека FFTReal, которая на выходе дает вектора действительных и мнимых чисел. По примеру из библиотеки я считаю $\sqrt{r^2 + i^2}$, что должно, как я понял, давать "спектральную мощность" или как это правильно называется.

Я не очень хорошо понял, как соотносится "мощность" по FFT и входное напряжение, которое я меряю в вольтах. Мне показалось, что входная эталонная синусоида поделилась пополам после преобразования. Но это я проверю.

Вот из этих условий мне бы хотелось посчитать параметры своих девайсов: их шум, соотношение сигнал/шум, АЧХ. Возможно еще коэффициент гармоник, если я пойму, как это делать. Для этого мне надо научиться считать этот самый шум и определять амплитуду основной и боковых гармоник тестового сигнала. Фундамент целиком я вряд ли осилю, хотелось бы более практические формулы и правильное понимание "мощности", "гармоник" и может быть чего-то еще, чего я не учел.

-- Вт май 06, 2014 22:17:08 --

Я стал разбираться с амплитудами и обнаружил, что величина выходной амплитуды зависит от размера сэмпла. То есть надо $\sqrt{r^2 + i^2} / {nsamples} / 2$. Тогда получается, что синусоида с пиковой амплитудой 1 дает линию величиной 1.

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

 Профиль  
                  
 
 Re: Расчет шума и гармоник по FFT
Сообщение06.05.2014, 21:34 
Аватара пользователя


31/10/08
1244
d1234
Тогда совет начать с основ. Наиболее доходчиво расписано в книгах, правда не знаю с какой лучше начать:
Г. Лем Аналоговые и цифровые фильтр. Расчёт
А.Б.Сергиенко Цифровая обработка сигналов

Мощность сигнала и его напряжения формула известная и записывается через сопротивление. У Сергиенко расписано. Также добавлю что принято работать в относительных единицах дБ.

d1234 в сообщении #859958 писал(а):
Мне показалось, что входная эталонная синусоида поделилась пополам после преобразования. Но это я проверю.

Такое может быть. Если частоты по которым идет разложение БПФ не совпадает с частотой вашей синусойды.

Цитата:
Вот из этих условий мне бы хотелось посчитать параметры своих девайсов:

Тогда что касается правильного измерения, то советую почитать ГОСТы по методам измерения параметров электронной аппаратуры, а также звуковой.

d1234 в сообщении #859958 писал(а):
Вот из этих условий мне бы хотелось посчитать параметры своих девайсов: их шум, соотношение сигнал/шум, АЧХ. Возможно еще коэффициент гармоник, если я пойму, как это делать. Для этого мне надо научиться считать этот самый шум и определять амплитуду основной и боковых гармоник тестового сигнала. Фундамент целиком я вряд ли осилю, хотелось бы более практические формулы и правильное понимание "мощности", "гармоник" и может быть чего-то еще, чего я не учел.

На самом деле тут нет ничего сложного. Берёшь измеренные данные. Фильтруешь их отделяя сигнал и шум. Как правило просто берут соседние частотные диапазоны. Нормируешь уровень сигнала и шума по ширине полосы. Тем самым и получаешь среднее значение уровня сигнала и шума.

 Профиль  
                  
 
 Re: Расчет шума и гармоник по FFT
Сообщение06.05.2014, 22:46 


18/05/10
75
Pavia, спасибо за ссылки и подсказки! Вариант в конце - это когда у нас есть одновременно тестовый сигнал и шум. Тогда мы фильтруем две полосы, считаем (или меряем) RMS и делим одно на другое. Я хочу без фильтрации, а с последовательной подачей сигнала и измерением шума на той же частоте, что и сигнал.

На данный момент я понимаю, что для расчета SNR надо брать мощность, которую считать по среднеквадратической, то есть действующей амплитуде (RMS):
$SNR = \frac{P_s}{P_n} = (\frac{A_{rms s}}{A_{rms n}})^2$
Действующую амплитуду можно посчитать по сырому сэмплу или по FFT. Сырые сэмплы не подходят, так как мне нужна узкая полоса частот в спектре, и делать фильтрацию с последующим обоснованием примененных фильтров как-то не очень удобно. Поэтому я хочу взять FFT.

Если я правильно понял, FFT дает нам пиковую амплитуду для синусоид (в некотором приближении). Причем синусоид и тестовых, и шумовых.

Я предполагаю применить следующий алгоритм:
1. Подаем тестовый сигнал, находим максимум в спектре. Это пиковая амплитуда. Переводим ее в действующую амплитуду по формуле для синусоиды:
$A_{rms} = A/\sqrt2$
2. Повторяем процедуру n раз, чтобы посчитать среднее арифметическое (здесь оно должно подойти?).
3. Подаем только шум, находим пиковую амплитуду на той же частоте, что и тестовый сигнал (другие частоты не интересуют или их можно померить по тому же алгоритму отдельно). Находим действующую амплитуду по той же самой формуле для синусоиды (ведь FFT считает синусоидальные компоненты в идеале).
4. Повторяем процедуру n раз, чтобы посчитать среднее арифметическое для шума (или здесь тоже считать среднеквадратическое?).
5. Применяем формулу для SNR.

Как такое? Размытием линий и неточным попаданием частот в полосы FFT (разделением на две полосы) я думаю пока пренебречь. Дрожание частоты вроде небольшое, поэтому не должно бы быть разделения на две полосы. Так или иначе, этот разброс должен быть виден на АЧХ.

Про нормировку я все забыл... Или не знал... То есть лучше сложить мощности в некотором диапазоне частот вокруг тестового пика?

-- Ср май 07, 2014 00:15:47 --

Блин, вот что я не учел то - это что мощность шума распределена по широкой полосе, то есть надо складывать все это. Значит считаем RMS амплитуд линий в некотором диапазоне, возводим в квадрат, чтобы перевести в пропорции мощности, складываем эти мощности и уже по ним считаем SNR? То есть SNR будет зависеть от выбранной полосы частот?

 Профиль  
                  
 
 Re: Расчет шума и гармоник по FFT
Сообщение07.05.2014, 20:59 
Аватара пользователя


31/10/08
1244
d1234
1. Не правильно. Ваша формула работает при условии что в вашем буфере будет целое число длин волн вашего полезного сигнала. Что уж больно идеальный случай и на практике недостижим.
2. Среднее или СКО разница не большая. Я бы выбрал СКО для маленьких n он точнее.

Измерения лучше делать однотипные, что для сигнала, что для шума. Если мы мерим шум в полосе, то и сигнал лучше мерить в полосе.

d1234 в сообщении #860005 писал(а):
Блин, вот что я не учел то - это что мощность шума распределена по широкой полосе, то есть надо складывать все это. Значит считаем RMS амплитуд линий в некотором диапазоне, возводим в квадрат, чтобы перевести в пропорции мощности, складываем эти мощности и уже по ним считаем SNR? То есть SNR будет зависеть от выбранной полосы частот?

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

d1234 в сообщении #860005 писал(а):
То есть лучше сложить мощности в некотором диапазоне частот вокруг тестового пика?

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

 Профиль  
                  
 
 Posted automatically
Сообщение07.05.2014, 23:07 
Админ форума
Аватара пользователя


19/03/10
8952
 i  Тема перемещена из форума «Computer Science» в форум «Механика и Техника»

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: photon, profrotter, Парджеттер, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: mihaild


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group