реклама на сайте
подробности

 
 
> белый шум, код
roman_golovenkov
сообщение Mar 18 2012, 10:37
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 10-02-09
Пользователь №: 44 637



Доброе время суток.
Подскажет кто программную реализацию на С белого или "псевдо белого" шума определенной амплитуды? В принципе, нужно реализовать генератор медленно изменяющегося сигнала (синус с периодом ~10с) 0-1 В, зашумленного в полосе частот примерно 1-100Гц амплитудой ~10мВ. На ЦАП сигнал не пойдет. Что-то вроде эмулятора приема сигнала с АЦП с интервалов отсчетов ~ 0,01с для дальнейшей обработки. Точность получения именно чисто белого шума не нужна.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
kovigor
сообщение Mar 18 2012, 11:23
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(roman_golovenkov @ Mar 18 2012, 14:37) *
Подскажет кто программную реализацию на С белого или "псевдо белого" шума определенной амплитуды?


Google молчит ? Я спросил про "алгоритм генерации шума":

http://forum.sources.ru/index.php?showtopi...mp;view=showall
Go to the top of the page
 
+Quote Post
roman_golovenkov
сообщение Mar 18 2012, 16:38
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 10-02-09
Пользователь №: 44 637



Да, на этом же сайте видел и еще коды, но не понятен принцип их работы. как установить амплитуду, например, частотный диаразон.
Откуда берутся такие числа?
Код
unsigned long GetRand(void)
{
    static unsigned long t = 1;
    unsigned long k;
    
    k = t / 12773;
    t = 16807 * (t - k * 12773) - 2836 * k;
    
    return t;
}


Код
private static double b_noise = 19.1919191919191919191919191919191919191919;
public double easyNoise()
{
//alternatively, the number 19 below can be replaced with a number of your choice, to get that particular flavour of noise.
    b_noise = b_noise * b_noise;
    int i_noise = (int)b_noise;
    b_noise = b_noise - i_noise;
    double b_noiseout = b_noise - 0.5;
    b_noise = b_noise + 19;
    return b_noiseout;
}


Сообщение отредактировал roman_golovenkov - Mar 18 2012, 16:39
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.03378 секунд с 7
ELECTRONIX ©2004-2016