exponenta event banner

Генераторы случайного шума в Simulink

Можно генерировать шум для моделирования системы связи с помощью блока MATLAB ® Function с генератором случайных чисел. В этом примере создаются и отображаются гистограммы гауссова, рэлеевского, рисийского и однородного шума.

Генераторы шума выводят векторы 1e5 на 1 каждую секунду, что эквивалентно 0,00001 секундному времени выборки. В этой модели каждый функциональный блок MATLAB определяет конкретный генератор шума, используя его основную функцию. Для просмотра базового кода функционального блока MATLAB в редакторе MATLAB откройте модель, выберите требуемый функциональный блок MATLAB и нажмите Ctrl + u. Каждый функциональный блок MATLAB содержит параметры маски блока, которые сопоставляются с аргументами функции в базовом коде.

Для каждого функционального блока MATLAB параметр Samples per frame сопоставляется с аргументом базовой функции spf. Аналогично, Seed сопоставляет seed.

Функциональный блок Gaussian Noise MATLAB отображает параметр Power (dBW) в p, и определяет функцию

$$y = wgn(spf,1,p)$$

Функциональный блок Rayleigh Noise MATLAB отображает параметр Sigma на alpha, и определяет функцию

$$y = abs(alpha*(randn(spf,1)+1i*randn(spf,1)))$$

Функциональный блок Rician Noise MATLAB отображает параметр Rician K-factor в K и параметр Sigma для s, и определяет функцию

$$m1 = sqrt(2*K) .* s$$

$$m2 = 0$$

$$y = sqrt((s^2*randn(spf,1)+m1)^2+(s^2*randn(spf,1)+m2)^2)$$

Блок функции равномерного шума MATLAB отображает параметр нижней границы шума в lb и параметр верхней границы Noise для ub, и определяет функцию

$$y = lb + (ub-lb).*rand(spf,1)$$

Модель генерирует эти графики гистограммы, чтобы показать распределение шума по спектру для каждого генератора шума.

Для дальнейшего изучения откройте модель и настройте одну из настроек генерации шума. Например, генератор шума Rician имеет K-коэффициент, равный 10, что заставляет среднее значение шума быть больше, чем среднее значение распределенного шума Rayleigh. Дважды щелкните функциональный блок Rician Noise MATLAB, чтобы открыть маску блока и изменить коэффициент K с 10 на 2. Повторно запустите модель, чтобы увидеть сдвиг спектра шума.