Форум РадиоКот https://radiokot.ru/forum/ |
|
Реализация генератора шума https://radiokot.ru/forum/viewtopic.php?f=60&t=125055 |
Страница 1 из 1 |
Автор: | Rotor.h1kobra [ Пт дек 25, 2015 09:04:07 ] |
Заголовок сообщения: | Реализация генератора шума |
Надо написать генератор шума с нормальным распределением. Получил ПСП с помощью 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 [ Пт дек 25, 2015 18:30:24 ] |
Заголовок сообщения: | Re: Реализация генератора шума |
Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается. |
Автор: | Pnjom-Penb [ Пт дек 25, 2015 20:31:54 ] | ||
Заголовок сообщения: | Re: Реализация генератора шума | ||
Meteor писал(а): Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. В общем случае, для получения заданной функции распределения достаточно иметь обратную функцию:("Теория вероятности и ее инженерные приложения", Вентцель,Овчаров) Meteor писал(а): И получить иначе чем через логарифм с тригонометрией не получается. Ну почему же - таблично, или интерполяцией полиномами тоже можно - зависит от требований задачи и возможностей железа.
|
Автор: | Rotor.h1kobra [ Сб дек 26, 2015 04:22:05 ] |
Заголовок сообщения: | Re: Реализация генератора шума |
Meteor писал(а): Насколько помню, для генерации нормального распределения, нужен не один, а два независимых псевдослучайных генератора с одинаковым периодом. И получить иначе чем через логарифм с тригонометрией не получается. Или 2 последовательности, а потом Бокс-Мюллер- но там логарифм, тригонометрия и корень- что не есть хорошо в VHDL Или попробую через центральную предельную теорему- сложу min. 12 ПСП Как выгрузить файл с ise webpack и потом построить ПРВ в матлабе? |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |