Реализация генератора шума

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
Rotor.h1kobra
Родился
Сообщения: 11
Зарегистрирован: Пн дек 03, 2012 15:15:58

Реализация генератора шума

Сообщение Rotor.h1kobra »

Надо написать генератор шума с нормальным распределением. Получил ПСП с помощью LFSR, дальше надо реализовать преобразование Бокса-Мюллера получения из равномерного распределения нормального, но как его сделать не знаю. Надо корень, ln и cos c sin.
Или есть другой способ получения из равномерного распределения нормального?

Что имею пока:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.std_logic_unsigned.all;

entity LFSR_1 is
PORT(
clk: in std_logic;
RND: out std_logic
);

end LFSR_1;

architecture Behavioral of LFSR_1 is
signal tmp: std_logic_vector(31 downto 0):= (others=>'1') ;
begin

process (clk, tmp)
begin
if tmp=0 then tmp <= (others=>'1');
elsif (clk'event and clk='1') then
for i in 0 to 30 loop
tmp(i+1) <= tmp(i);
end loop;
tmp(0) <= tmp(31) xor tmp(21) xor tmp(1) xor tmp(0);
end if;
end process;

RND <= tmp(31);

end Behavioral;
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Реализация генератора шума

Сообщение Meteor »

Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Re: Реализация генератора шума

Сообщение Pnjom-Penb »

Meteor писал(а):Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом.
В общем случае, для получения заданной функции распределения достаточно иметь обратную функцию:
Изображение
("Теория вероятности и ее инженерные приложения", Вентцель,Овчаров)
Meteor писал(а):И получить иначе чем через логарифм с тригонометрией не получается.
Ну почему же - таблично, или интерполяцией полиномами тоже можно - зависит от требований задачи и возможностей железа.
Вложения
MatStat.png
(28.38 КБ) 765 скачиваний
Rotor.h1kobra
Родился
Сообщения: 11
Зарегистрирован: Пн дек 03, 2012 15:15:58

Re: Реализация генератора шума

Сообщение Rotor.h1kobra »

Meteor писал(а):Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается.
Или 2 последовательности, а потом Бокс-Мюллер- но там логарифм, тригонометрия и корень- что не есть хорошо в VHDL
Или попробую через центральную предельную теорему- сложу min. 12 ПСП

Как выгрузить файл с ise webpack и потом построить ПРВ в матлабе?
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «ПЛИС»