Создание маскирующего шума для имитации виброакустического зашумления
Автор: 20em1.orel.d • Сентябрь 20, 2022 • Практическая работа • 481 Слов (2 Страниц) • 194 Просмотры
Тема: Создание маскирующего шума для имитации виброакустического зашумления.
Практическая часть
1. Построение нормированной гистограммы для каждого шума.
Основные характеристики шума ХИП представлены на рисунке 1 и рисунке 2.
Шум ХИП
[pic 1]
Рисунок 1 – Шум ХИП
[pic 2]
Рисунок 2 – Спектр шума ХИП
Нормированная гистограмма шума ХИП представлена на рисунке 3.
[pic 3]
Рисунок 3 – Нормированная гистограмма шума ХИП
Основные характеристики белого шума представлены на рисунке 4 и рисунке 5.
Белый шум
[pic 4]
Рисунок 4 – Белый шум
[pic 5]
Рисунок 5 – Спектр белого шума
Нормированная гистограмма белого шума представлена на рисунке 6.
[pic 6]
Рисунок 6 – Нормированная гистограмма белого шума
Основные характеристики созданного мною шума представлены на рисунке 7 и рисунке 8.
Мой шум
[pic 7]
Рисунок 7 – Мой шум
[pic 8]
Рисунок 8 – Спектр моего шума
Нормированная гистограмма моего шума представлена на рисунке 9.
[pic 9]
Рисунок 9 – Нормированная гистограмма моего шума
2. Измерить и рассчитать характеристики шумов
Код для построения нормированной гистограммы шума и вычисления характеристик шума представлен в листинге 1.
Листинг 1 – Код для построения нормированной гистограммы и вычисления характеристик шумов close all clear all
T=1;
[noise,Fs]=audioread('D:\звуки\шум В.wav'); dN=T*Fs; n=0;
noise_n=noise(n*dN+1:(n+1)*(dN+1)); figure('Color','w'); [f,x]=hist(real(noise_n),18); bar(x,f/trapz(x,f)); hold on;
hhL=plot(x,f/trapz(x,f),'g'); hold on;
set(hhL, 'LineWidth',1.5); mu=0; Dn=var(real(noise_n)); sigma=sqrt(Dn);
g=(1/(sqrt(2*pi)*sigma))*exp(-((x-mu).^2)/(2*sigma^2)); hhL=plot(x,g,'r'); hold off; grid on;
set(hhL,'LineWidth',1.5); xlim([-3 3]);
xlabel('Значение сигнала, х'); legend('Нормированная гистограмма','Закон распределения белогошума','Нормальный закон распределения'); ylabel('F(x)'); grid on;
Dns=var(real(noise_n),1); M=real(mean((noise_n)));
g1=((sum((noise_n-M).^4)./length(noise_n))/(Dns^2))-3; g2=(((sum((noise_n-M).^3)./length(noise_n))/((sqrt(Dns))^2))-3); gs = mean(g);
k = (2.7^(2*gs))/(2*3.14*2.7);
...