форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
29 строки
1.2 KiB
Python
29 строки
1.2 KiB
Python
# noise_gen.py
|
|
# Тема 8. Генератор равномерного белого шума
|
|
|
|
import random
|
|
|
|
def generate_uniform_noise(min_val, max_val, num_samples, filename):
|
|
"""
|
|
Генерирует последовательность равномерно распределённого белого шума.
|
|
|
|
Аргументы:
|
|
min_val (float): нижняя граница диапазона
|
|
max_val (float): верхняя граница диапазона
|
|
num_samples (int): количество отсчётов
|
|
filename (str): имя текстового файла для записи
|
|
|
|
Возвращает:
|
|
list: список сгенерированных чисел
|
|
"""
|
|
# Генерация списка
|
|
noise = [random.uniform(min_val, max_val) for _ in range(num_samples)]
|
|
|
|
# Запись в файл: по 3 элемента в строке, через запятую
|
|
with open(filename, 'w', encoding='utf-8') as f:
|
|
for i in range(0, len(noise), 3):
|
|
line = noise[i:i+3]
|
|
f.write(','.join(f"{x:.6f}" for x in line) + '\n')
|
|
|
|
return noise
|