Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаб4 / lab4_1

.m
Скачиваний:
1
Добавлен:
27.08.2024
Размер:
1.25 Кб
Скачать
clc; clear; close all;

Fd = 44100; % Частота дискретизации в Гц
Td = 1 / Fd; % Период дискретизации
Ts = 60; % Длительность сигнала в секундах
N = Fd * Ts; % Количество отсчетов

% Генерация белого шума
x = randn(N, 1);

% Параметры фильтра
fc_low = 400; % Граница ФНЧ (для имитации основного тон звука моря)
fc_high = 12000; % Граница ФВЧ (для добавления шороха)

% Создаем ФНЧ
[b_low, a_low] = butter(6, fc_low / (Fd / 2), 'low');
% Создаем ФВЧ
[b_high, a_high] = butter(6, fc_high / (Fd / 2), 'high');

% Применяем фильтры
y = filter(b_low, a_low, x) + 0.05 * filter(b_high, a_high, x);

% Имитация эффекта прибоя путем модуляции амплитуды
for i = 1:N
y(i) = y(i) * (1 + 0.3 * sin(2 * pi * (1/5) * i * Td))^2;
end

% Нормализация сигнала
y = 0.99 * y / max(abs(y));

% Перевод в int16
output_signal = int16(y * 32767);

% Запись аудиофайла
audiowrite('simulated_sea.wav', output_signal, Fd);

Соседние файлы в папке лаб4