2016-12-31 19 views
0

Как я могу генерировать шум 500 мс, отснятый на частоте 1280 Гц, с плоским распределением частот между 0,1 - 640 Гц и нормальными значениями распределенной амплитуды?Как создать ограниченный по диапазону случайный шум с плоским спектром?

См. Снимок экрана ниже для иллюстрации желаемого результата.

Timeplot of waveform, frequency distribution, and histogram of amplitudes

+0

Не могли бы вы подтвердить, что ваше сообщение можно резюмировать следующим образом: «Как я могу генерировать шум 500 мс, отбираемый при 1280 Гц, с плоским распределением частот между 0,1 - 640 Гц и нормальными значениями амплитуды?» – Sheljohn

+0

@ Шелджон да, это, безусловно, гораздо более сжатый способ поставить его! Извиняюсь за мою многословие! Единственное дополнение, которое я бы сделал, это то, что значения амплитуды должны нормально распределяться в диапазоне от -500 до +500 (ну, по крайней мере, например, 99,7% амплитуд лежат в пределах диапазона выше). – Hans

+0

Это излишне ограничительно; любой нормально распределенный выход можно линейно масштабировать до любого требуемого диапазона. Я могу отредактировать ваш пост, чтобы сделать его более кратким, но хотите ли вы это сделать? – Sheljohn

ответ

0

Параметры вашего вопроса делают ответ тривиален:

  • 640 Гц составляет ровно половину 1280 Гц, так что это самая высокая частота (Найквиста) в разложении Фурье;
  • 0,1 Гц ниже 1/500 мс = 2 Гц, что является частотным разрешением вашего разложения Фурье и, следовательно, самой низкой положительной частотой, которую вы можете контролировать.

Так что в вашем случае «ограниченной полосой» ограничение тривиально, и вы можете просто генерировать нужный шум с:

duration = 500e-3; 
rate  = 1280; 
amplitude = 500; 

npoints = duration * rate; 
noise  = amplitude * randn(1, npoints); % normally distributed white noise 
time  = (0:npoints-1)/rate; 

Однако, в более общем плане, создавая шум в определенной полосе частот с ограничениями на форму спектра (например, плоские) и статистикой значений (например, нормально распределенными) может быть сложно. Есть два простых приближения я могу думать:

  • Работа во временной области, первое исполнение ограничений по статистике стоимости рисуя от распределения выбора, а затем фильтрации результирующего сигнала с использованием КИХ-фильтра полосовой например. Для этого приближения обратите внимание, что фильтр также повлияет на распределение значений, и поэтому в целом ваши ограничения на статистику значений будут плохо соблюдены, если вы не тщательно разработаете фильтр.
  • Работая назад от домена Фурье, сначала применяя ограничения на амплитудные коэффициенты, принимая случайный шум для фазы и используя обратное преобразование, чтобы вернуться во временную область. Для этого приближения обратите внимание, что распределение фаз будет влиять на временное распределение значений нетривиальными способами в зависимости от ограничений амплитуды и что, если ваша частота дискретизации намного больше, чем частота среза, вам может потребоваться принудительное ограничение гармоник амплитуды также, чтобы избежать артефактов.