Студопедия — Сжатие речевого сигнала
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сжатие речевого сигнала






Модифицируем алгоритм, описанный в предыдущей главе, для сжатия речевого сигнала посредством ДИКМ. Для этого записанный отрезок речи подвергнем дискретизации с частотой 8000 Гц и квантуем полученные отсчеты 2048 уровнями (11 бит и 1 бит на знак). Получим разностный сигнал также, как и в случае для синусоидального сигнала.

Значения разностного сигнала, полученного при использовании оптимальных коэффициентов, можно записать при помощи 9-10 бит. Очевидно, что такое сжатие разностного сигнала является недостаточным, а следовательно, необходимо подвергнуть разностный сигнал дальнейшей обработке. Для этого будем еще раз квантовать сигнал, чтобы была возможность записать его при помощи 6 бит.

На приемной стороне умножим полученный отсчет на использованный шаг квантования и продолжим алгоритм, как и в предыдущей главе.

 

Листинг соответствующей программы представлен ниже:

 

clear all;

Fs=8000;

t=0.5;

a1=1.8;

a2=-0.8;

 

beep

x = wavrecord(t*Fs, Fs);

[x1,sh,kvbin,x]=DAC(x,Fs,t,12,2);

beep;

wavplay(x*sh, Fs);

%mu=255;

%koef=32;

 

%beep;

%wavplay(x*sh, Fs);

q = fft(x,Fs*t);

q = q(1:(Fs*t/2));

m = abs(q);

m1=m/(Fs*t/2);

f = (0:((Fs*t)-1)/2)/t;

 

tm=0:1/Fs:t;

tm=tm(1:Fs*t);%

 

for n=1:Fs*t

if n==1

pr_x(n)=0;

elseif n==2

pr_x(n)=round((a1*x(n-1)));

else

pr_x(n)=round(((a1*x(n-1)+a2*x(n-2))));

end

 

end

for n=1:Fs*t

if n==1

e(n)=x(n);

else

e(n)=x(n)-pr_x(n);

end

 

end

e2=e;

ma=max(abs(e));

[x1,sh_e,kvbin,e]=DAC(e,Fs,t,6,2);

%for n=1:Fs*t

%e(n)=round((sign(e(n))*koef*((log(1+mu*abs(e(n)/ma)))/(log(mu+1)))));

%end

 

e1=e;

%for n=1:Fs*t

% e(n)=round(sign(e(n))*(1/255)*((256^(abs(e(n)/koef))-1))*ma);

%end

e=round(e*sh_e);

 

for n=1:Fs*t

if n==1

y(n)=e(n);

pr_y(n)=0;

elseif n==2

pr_y(n)=round((a1*y(n-1)));

y(n)=e(n)+pr_y(n);

else

pr_y(n)=round(((a1*y(n-1)+a2*y(n-2))));

y(n)=e(n)+pr_y(n);

end

 

 

end

 

w = fft(e,Fs*t);

w = w(1:(Fs*t/2));

r = abs(w);

r1=r/(Fs*t/2);

 

 

beep;

wavplay(y*sh, Fs);

 

 

figure

plot(tm,y,'--b',tm,x,':r',tm,e1,'y');

title('Синий - y, красный - x, желтый - разностный сжатый');% Подпись графика

 

 

figure% Создаем новое окно

plot(f,m1,'b',f,r1,'m')

title('Спектры сигналов. Синий - исходный сигнал, сиреневый - с удаленными формантами');% Подпись графика

xlabel('Частота (Гц)'), grid on;% Подпись оси х графика

ylabel('Амплитуда'), grid on;% Подпись оси у графика

 

 

file_x=fopen('x_predicted.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', pr_x(n));

end

fclose(file_x);

 

file_x=fopen('x.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', x(n));

end

fclose(file_x);

 

file_x=fopen('e_before_commpression.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', e2(n));

end

fclose(file_x);

 

file_x=fopen('e_commpressed.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', e1(n));

end

fclose(file_x);

 

 

file_x=fopen('e_reconstructed.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', e(n));

end

fclose(file_x);

 

 

file_x=fopen('y_predicted.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', pr_y(n));

end

fclose(file_x);

 

file_x=fopen('y.txt','wt');

for n=1:Fs*t;%

 

fprintf(file_x,'%f\n', y(n));

end

fclose(file_x);

 

При помощи вышеописанной программы получим осциллограммы и спектрограммы речевого сигнала при произношении фразы «sixty two» и определим какие коэффициенты будут оптимальными в этом случае.


Эксперимент № 1

 

а1=1.8 и а2=-0.8

 

Рис. 18

 

 

Рис. 19

 

 

Эксперимент № 2

 

а1=1.8 и а2=-0.9

 

 

Рис. 20

 

 

Рис. 21

 

Эксперимент № 3

 

а1=1.4 и а2=-0.9

 

Рис. 22

 

 

Рис. 23

 

Эксперимент № 4

 

а1=1 и а2=-0.9

 

Рис. 24

 

 

Рис. 25

 

Эксперимент № 5

 

а1=1.8 и а2=-1

 

 

Рис. 26

 

 

Рис. 27

 

 

Проанализировав полученные результаты: таблицы значений, осциллограммы и спектрограммы сигналов следует сделать вывод о том, что оптимальными для передачи речевого сигнала являются коэффициенты а1=1.8 и а2=-0.9. Именно при этих значениях можно соблюсти баланс между заметным уменьшением разностного сигнала и качеством восстановленного сигнала.

 

 







Дата добавления: 2015-08-12; просмотров: 731. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия