Как проанализировать «шумность» массива точек - PullRequest
2 голосов
/ 30 сентября 2008

Сделали fft (см. Публикацию ранее, если вам интересно!) И получили результат, который мне помогает. Хотелось бы проанализировать шумность / пикантность массива (на самом деле это коллекция vb.nre сингла). Хм, как объяснить ...

Когда сигнал хороший, результаты мощности БПФ равны 512 точкам данных (частотным сегментам) с низкими значениями во всех, кроме, может быть, 2 или 3 записях массива, и приличным диапазоном (т. Е. Пик высокий, относительно значения шума в почти пустые ведра. Поэтому, когда мы получим график, у нас будет большой всплеск значений в этих нескольких ведрах.

Когда сигнал слабый / шумный, разброс значений данных (от максимального до минимального) низкий, и во многих других сегментах наблюдается пропорционально более высокий уровень шума.

Что хорошего в вычислительном отношении не требовало интенсивного анализа зашумленности этого набора данных? Какой-то статистический метод, стандартные отклонения или что-то поможет?

Ответы [ 4 ]

1 голос
/ 30 сентября 2008

Ключ определяет, что такое шум и что такое сигнал, для чего должны быть сделаны предположения моделирования. Часто делается предположение о белом шуме (постоянная мощность на полосу частот) или шуме некоторого другого спектра мощности, и эта модель подгоняется к данным. Отношение сигнал / шум может затем использоваться для измерения количества шума.

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

Надеюсь, я не покровительствую вам упоминать проблемы, присущие оконным функциям при выполнении БПФ: они могут привести к появлению ложного «шума» в частотном спектре, который фактически является артефактом периодического характера FFT. Существует компромисс между получением резких пиков и шумом "боковой полосы" - подробнее здесь www.ee.iitm.ac.in / ~ nitin / _media / ee462 / fftwindows.pdf

1 голос
/ 30 сентября 2008

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

В Knuth есть хороший однопроходный алгоритм stddev. Вот ссылка, которая описывает реализацию.

Стандартное отклонение

0 голосов
/ 30 сентября 2008

не будет ли шип рассматривается как шумовой сбой в SNR, как выбросить выбросы?

Если из данных во временной области ясно, что есть такие пики, то они, безусловно, создадут много шума в частотном спектре. Выбор игнорировать их - хорошая идея, но, к сожалению, FFT не может принимать данные с «дырами» в них, где были удалены шипы. Есть два метода, чтобы обойти это. Метод «грязного трюка» состоит в том, чтобы установить выборку выброса как среднее из двух выборок на любом сайте и вычислить БПФ с полным набором данных.

Более сложным, но более правильным методом является использование нормализованной периодограммы Ломба (см. Книгу «Числовые рецепты» WHPress и др.), Которая выполняет работу, аналогичную FFT, но может правильно справиться с отсутствующими данными. 1007 *

0 голосов
/ 30 сентября 2008

рассчитать отношение сигнал / шум http://en.wikipedia.org/wiki/Signal-to-noise_ratio

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

...