Перейти к содержанию

Центральная Предельная Теорема


nikellanjilo

Рекомендуемые сообщения

Доброго времени суток, уважаемые форумчане.

Вопрос состоит в следующем - мне нужно по ЦПТ получить нормальное распределение. Я решил сделать сделать это по ЦПТ (возможно как-то еще можно).

Я генерирую рандом, используя сдвиговый регистр с линейной обратной связью, затем суммирую полученные значения. Но вот если посмотреть то, что у меня получается - это далеко не колокол Гауссовский.

Собственно вопрос. У меня есть уже сумма из 12 или n слабозависимых величин, какую мне нужно сделать над ними операцию, чтобы получить свой колокол с нужным матожиданием и дисперсией.

Собственно - матожидание понятно, просто сумма: матожидание+(выражение) , но что мне нужно сделать в выражении чтобы значения укладывались в заданное мною СКО.

Ссылка на ЦПТ в википедии ====>.

https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Просто посчитай получающуюся дисперсию. Затем умножь числа на 2 и посчитай снова. И тебе станет ясно на сколько надо умножать, чтобы получить требуемую дисперсию.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

То есть если поэтапно.

1. Я считаю сумму всех значений, делю на количество - получаю среднее значение (чтобы потом найти дисперсию),

2. Затем нахожу дисперсию каждой величины

3. Нахожу дисперсию суммарную

4. Проделываю снова все для 2хЗНАЧЕНИЙ

5. Нахожу нужный коэффициент, на который буду домножать, чтобы значения укладывались в СКО

Так?

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Эм... проще так:

У тебя есть набор случайных чисел, допустим 1000 штук в массиве noise. Выполни в Matlab или Octave функцию mean(noise) - получишь матожиданее, выполни std(noise) получишь СКО (соответственно std(noise)^2 - это дисперсия).

Это чтобы не запутаться в вычислениях.

Затем умножь массив noise на 2 и повтори вычисления матожидания и дисперсии.

P.S. 1000 значений может быть мало, возьми миллион.

Вот пример

octave:8> n=normrnd(1,5,1000000,1);
octave:9> mean(n)
ans = 1.0031
octave:10> std(n)
ans = 5.0054
octave:11> std(n*2)
ans =  10.011

В первой строке создаётся одномерный массив из миллиона элементов с матожиданием 1 и СКО (sigma) 5. Вычисления mean и std довольно точны.

Если умножим числа на 2, то и СКО увеличится в два раза, а дисперсия в 4 раза.

Изменено пользователем Vascom
Ссылка на комментарий
Поделиться на другие сайты

Я генерирую рандом, используя сдвиговый регистр с линейной обратной связью, затем суммирую полученные значения. Но вот если посмотреть то, что у меня получается - это далеко не колокол Гауссовский.

может это поможет?

http://www.microchip.su/showthread.php?t=4487&page=43

посты 1074-1077

Ссылка на комментарий
Поделиться на другие сайты

Ну можно (нужно) промоделировать всё это в симуляторе перед программированием ПЛИС.

Мы же не знаем конкретную твою задачу. Например нужно ли тебе менять матожидание и дисперсию в процессе работы.

Ты начинай делать, показывай свой код, verilog. И в процессе всё станет понятно, поможем где надо.

Ссылка на комментарий
Поделиться на другие сайты

module gauss(
input [7:0] MO,
input [7:0] CKO,
input CLK,
output reg [7:0] GAUS,
output reg [7:0] CH,
output reg [7:0] SUMMER
);
reg [7:0] change = 8'd12;
wire feed = change[7]^change[5]^change[4]^change[3];
reg [7:0] count=8'd0;
reg [7:0] sum = 8'd0;
always @(posedge CLK)
begin
change[0]<=feed;
change[7:1]<=change[6:0];
if (count<12)
begin
 count<=count+1;
 sum<=$signed(sum)+$signed(change);
end
else
begin
 count<=0;
 sum<=0;
 SUMMER<=$signed(sum);
 CH<=$signed(change);
 GAUS<=$signed(MO)+(($signed(sum)*$signed(CKO))/144);	
end

end
endmodule

По-сути:

1. Делаю методом Фебоначи на сдвиговом регистре с линейной обратной связью рандом,

2. По ЦПТ - считаю сумму 12 элементов,

3. Перевожу значения чтобы получилось нормальное распределение

Но получается бячное что-то...

Ты начинай делать, показывай свой код, verilog. И в процессе всё станет понятно, поможем где надо.

Собственно вот так :thank_you2: :thank_you2:

Ссылка на комментарий
Поделиться на другие сайты

Основная проблема - переполнение регистра sum. Увеличь его разрядность и всё станет лучше.

Я тут переписал твой код чтобы проще и понятнее было.

Сам модуль http://paste.fedorap...215922/15779614

И тестбенч для его запуска http://paste.fedorap...215923/01578031

Получаемое распределение

post-164632-0-81944900-1430158014.png

Конечно не чистый гаусс, но и метод генерации у тебя очень простой.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Всё может быть ещё хуже. Заказывал на али 741, приехали ОУ хуже по параметрам и со ступенькой при тесте на скорость нарастания. Полез ковырять интернет, выяснил, что это кристалл оу 709. То есть, по сути, китайцы подсунули 140уд1 Сейчас потихоньку слезаю с утыканных во все схемы БП TL07x, 358 и прочего древнего хлама, который китайцы преимущественно подделывают. Сначала взял в чипе LF353 как замену TL072, но в 2 раза дешевле, а потом открыл для себя мир китайских КМОП ОУ и забыл про все эти древние микрухи. Вот парочка, которые я заказал, и сейчас потихоньку внедряю в схемы для теста их способностей: TP2272, сочетает в себе полевиковые входы, рейл-ту-рейл выход и работу около минусовой шины. Стоит в чипе 24 рубля/шт, минимальная партия 19шт. Единственный минус, который я пока что выявил, который "спрятан" в даташите - судя по всему, у нее, как у LM318, между входами стоят диоды, отчего дифференциальное напряжение по входу ограничено +/-0,5В, т.е. как компаратор ее использовать конечно можно будет но потребуется ограничивать ток по входу при превышении заданного диапазона дифф напряжения. Питание у неё 36В, но в даташнике максимум  указывают 40. RS8551 (а так же сдвоенные 8552/счетверенные 8554) - на удивление дешевый (65р за сот23-5, 120р за 8554) и быстрый (4,5МГц 2,7В/мкс) пятивольтовый чоппер, с неплохими заявленными параметрами на уровне тех же аналоговых девайсов, у которого в даташите даже отдельно указан шум в полосе 0,01-1 и 0,01-10 Герц, что намекает на области применения. Я пока вожусь в микрокапе с его аналогом по скоростным параметрам от AD, в попытках заставить работать в "схеме шелестова" от +/-2,5В. В прототипе самопального двухвольтового "калибратора" на DAC8830 и REF3120 он уже себя отлично показал как выходной буфер по диапазону напряжений выхода и смещению. Жаль, что заявленные характеристики мне подтвердить особо нечем (могу замерить разве что смещение и скорость нарастания). Но, даже если китайцы и обманывают, например, раза в два по значениям - при таком порядке величин, и такой цене, это всё ещё нормальная альтернатива.   В итоге философская ситуация получается - довериться китайцам, пишущим даташит на исконно китайские ОУ, или довериться китайцам, продающим "не китайские" ОУ по импортным даташитам известных фирм...
    • Добрый день. Случилась такая же беда. Маркировку  китайцы тоже затёрли. Подскажите пожалуйста, Вы решили проблему и каким образом? Спасибо.
    • Резонит выпустил справочник по разработке плат для заводского изготовления: https://disk.yandex.ru/d/WF9AS5mbKdCjrQ Для тех. кто всё это знал, но немного подзабыл справочник тоже будет полезен 
    • Бред какой. Они в ИИП  работают в аналоговом режиме, через ФНЧ. Ну и в даташит вам не мешает заглянуть.
    • Возможно, во входных блоках пропал контакт с общим проводом. Если гудения нет при нулевой громкости, то проблема до регулятора громкости.
    • я бы по первости, - присоединил (поменял ) блоки питания у разных аппаратов... проверил БП 2 - далее присоединил бы (поменял) усилители у разных аппаратов...проверил усилители - Ремонтировать аппарат не видя его,- то ещё удовольствие...
  • Похожий контент

×
×
  • Создать...