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, Парджеттер, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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