k_kudra napisał: (...) stanąłem przed problemem skonstruowania urządzenia, które będzie w sposób losowy załączało wyjście, w dodatku zrobi to dla zadanego procentu losowań (...) chodzi o to aby np na 100 losowań tylko 20 zakończyło się załączeniem wyjścia, ale to 20 występowało losowo wśród wszystkich 100 losowań (...)
Z tego co piszesz wynika, że dopuszczalne - a wręcz zalecane - będzie użycie liczb pseudolosowych. Ciąg liczb pseudolosowych można generować np. w rejestrze ze sprzężeniem zwrotnym (Linear Feedback Shift Register, LFSR). Rejestr N-bitowy wytwarza ciąg liczb pseudolosowych, powtarzający się, o okresie (2^N)-1. W ramach jednego okresu każda liczba z zakresu od 1 do (2^N)-1 pojawia się dokładnie raz.
Użycie takich liczb miałoby tę zaletę, że ich ilość leżąca poniżej jakiejś wartości granicznej jest ściśle określona. Przykład: rejestr jest 16-bitowy, wytwarza liczby z zakresu 1...65535, wśród których 20% jest mniejszych niż 13108, 10% - mniejszych niż 6554 itp. A zatem dałoby się zagwarantować, że załączenie wyjścia spowoduje określony, zadany procent (np. 20).
Zaletą jest też fakt, że używanie takich pseudolosowych liczb nie wymaga "sztuczek" w rodzaju odczytu kanału ADC itp. Wystarczy zrealizować rejestr LFSR i np. co 0,1 sekundy generować w nim kolejną liczbę.
Z tego co piszesz wynika, że dopuszczalne - a wręcz zalecane - będzie użycie liczb pseudolosowych. Ciąg liczb pseudolosowych można generować np. w rejestrze ze sprzężeniem zwrotnym (Linear Feedback Shift Register, LFSR). Rejestr N-bitowy wytwarza ciąg liczb pseudolosowych, powtarzający się, o okresie (2^N)-1. W ramach jednego okresu każda liczba z zakresu od 1 do (2^N)-1 pojawia się dokładnie raz.
Użycie takich liczb miałoby tę zaletę, że ich ilość leżąca poniżej jakiejś wartości granicznej jest ściśle określona. Przykład: rejestr jest 16-bitowy, wytwarza liczby z zakresu 1...65535, wśród których 20% jest mniejszych niż 13108, 10% - mniejszych niż 6554 itp. A zatem dałoby się zagwarantować, że załączenie wyjścia spowoduje określony, zadany procent (np. 20).
Zaletą jest też fakt, że używanie takich pseudolosowych liczb nie wymaga "sztuczek" w rodzaju odczytu kanału ADC itp. Wystarczy zrealizować rejestr LFSR i np. co 0,1 sekundy generować w nim kolejną liczbę.