Ім'я файлу: ЛР1 КСОЗ.docx
Розширення: docx
Розмір: 77кб.
Дата: 01.04.2023
скачати

Лабораторна робота №1

Тема: Моделювання роботи препроцесора для попередньої обробки мовних сигналів.

Мета: Опрацювати та випробувати в середовищі MATLAB 6.0 програму, яка реалізує етапи попередньої обробки мовних зразків.

Виконання роботи:

Варіант 6

Смуга

Нижня частота

Середня частота

Верхня частота

6

458,7 Гц

581,6 Гц

717,5 Гц

Код програми:

clear all;

vybirka = 1 ;

signal = audioread('example.wav') ;

subplot(3,3,1); plot(signal);title('example.wav');

d = length(signal) ;

i = 1 ;

while i < d - 408

vybirka = vybirka + 1 ;

y = signal(i : i + 408) ;

S(1) = 0.0 ;

for n = 2 : 409

S(n) = y(n) - y(n - 1) ;

end;

for n = 1 : 409

D(n) = (0.54 - 0.46 * cos(2 * pi * (n - 1) / 408)) * S(n) ;

end;

B = abs(fft(D ,512)) ;

C = B(1:256);
%{

Hz = [0; 74.24; 156.4; 247.2; 347.6; 458.7; 531.6; 717.5; 867.9 ; 1034; 1213; 1422;1647; 1895; 2171;

2475; 2812; 3184; 3596; 4052; 4556; 5113; 5730;6412; 7166; 8000];

%}

Hz = [458.7; 561.6; 717.5];

for n = 1 : 3

V(n) = round (Hz(n) * 256 / 8000) ;

V(1) = 1;

end;

Sum = 0 ;

R(1 : 24) = 0;

for j = 1 : 1

N = V(j + 2) - V(j);

N1 = V(j + 1) - V(j);

D1 = 1 / N1;

for k = 1 : N1

Sum = Sum - S(k + V(j)) * D1 * k;

end;

N2 = V(j + 2) - V(j + 1);

D2 = 1 / N2;

for k = 1 : N2

Sum = Sum - S(k + V(j + 1)) * (1 - D2 * k) ;

end;

R(j) = Sum / N ;

Result (vybirka,j) = R(j);

end;

i = i + 160;

end;

subplot(3,3,2); plot(y);title(' 409 values ');

subplot(3,3,3); plot(S);title(' applying filters');

subplot(3,3,4); plot(D);title(' Hemming');

subplot(3,3,5); plot(B);title(' 512 fft ');

subplot(3,3,6); plot(C);title(' 256 elements ');

subplot(3,3,7); plot(Result(vybirka,1:3));

title(' 24-element vector');
Результат роботи програми:


Висновок: в ході виконання лабораторної роботи №1 я навчилась моделювати мовні сигнали в середовищі MATLAB 6.0 для подальшого їх використання, а саме обробки та дослідження.
скачати

© Усі права захищені
написати до нас