Надо написать генератор шума с нормальным распределением. Получил ПСП с помощью 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;
Реализация генератора шума
-
Rotor.h1kobra
- Родился
- Сообщения: 11
- Зарегистрирован: Пн дек 03, 2012 15:15:58
- Реклама
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Реализация генератора шума
Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Реализация генератора шума
В общем случае, для получения заданной функции распределения достаточно иметь обратную функцию:Meteor писал(а):Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом.
("Теория вероятности и ее инженерные приложения", Вентцель,Овчаров)
Ну почему же - таблично, или интерполяцией полиномами тоже можно - зависит от требований задачи и возможностей железа.Meteor писал(а):И получить иначе чем через логарифм с тригонометрией не получается.
- Вложения
-
- MatStat.png
- (28.38 КБ) 765 скачиваний
-
Rotor.h1kobra
- Родился
- Сообщения: 11
- Зарегистрирован: Пн дек 03, 2012 15:15:58
Re: Реализация генератора шума
Или 2 последовательности, а потом Бокс-Мюллер- но там логарифм, тригонометрия и корень- что не есть хорошо в VHDLMeteor писал(а):Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается.
Или попробую через центральную предельную теорему- сложу min. 12 ПСП
Как выгрузить файл с ise webpack и потом построить ПРВ в матлабе?

