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

Исследование алгоритмов обработки речевых сигналов в телефонии. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
864 Кб
Скачать

V=V0(25e3:38e3); %Выделяем заданный фрагмент сигнала figure;plot(V);grid on;title('Заданный фрагмент сигнала')

Рис. 5.8. Заданный фрагмент сигнала

2. Вводим исходные данные для исследования.

ds=200;%размер сегмента (кол-во отсчетов) do=100;%размер перекрытия соседних сегментов pre_order=10; %порядок предсказания

3.Определяем КЧК, коэффициент усиления G и число сегментов

ввыделенном фрагменте РС. Формируем сигнал Predct_V остатка предсказания.

%вычисление K коэффициентов частной корреляции фильтра, %энергию E остатка предсказания

[K,E,n]=analyse2(V,ds,do,pre_order); G=E.^0.5; % коэффициент усиления

%Формирование сигнала остатка предсказания

Predct_V=filt_error2(V,ds,do,K,n);

4. Определяем зависимость энергии остатка предсказания от порядка предсказания (рис. 5.9) и выбираем минимальное значение порядка предсказания, при превышении которого энергия остатка предсказания меняется незначительно.

51

pre_order1max=15;%Максимальное значение порядка предсказания

EE=zeros(pre_order1max,1); k=0;

for pre_order1=1:pre_order1max k=k+1;

[K1, E1, n1]=analyse2(V,ds,do,pre_order1); EE(k)=mean(E1);

end

figure;stem(EE);grid on;title('Зависимость энергии остатка предсказа- ния от порядка предсказания');

Рис. 5.9. Зависимость энергии остатка предсказания

от порядка предсказания

Устанавливаем порядок предсказания pre_order=10.

5. Синтезируем сигнал по остатку предсказания и анализируем результаты синтеза (рис. 5.10).

Predct_V_sgmnt=buffer(Predct_V,ds-do); [filt_synth]=synthesis2(K,Predct_V_sgmnt,n);

%Пропускаем синтезированный сигнал через корректирующий ФНЧ

Filt_xf=filter(1,[1 -.95],filt_synth);

Filt_xf_corr=Filt_xf(1:length(V)); figure;

52

subplot(4,1,1);plot(V0);grid on;title('Заданный сигнал'); subplot(4,1,2);plot(V);grid on;title('Заданный фрагмент сигнала'); subplot(4,1,3);plot(Filt_xf_corr);grid on;title('Сигнал, синтезированный по остатку предсказания');

subplot(4,1,4);plot(Predct_V);grid on;title('Сигнал остатка предсказания');

Рис. 5.10. Формы соответствия сигналов

6. Анализируя «осциллограммы» РС и остатка предсказания, формируем результат (переменная class2) идеальной классификации сегментов сигнала на вокализованные и невокализованные.

class2=ones(1,n); %матрица классификатора, заполненная единицами %Ставим нули для сегментов пауз и невокализованных звуков class2(1:8)=zeros(1,8);

class2(11:13)=zeros(1,3);

class2(30:87)=zeros(1,58);

class2(91:99)=zeros(1,9);

class2(124:n)=zeros(1,8);

7. Устанавливаем предварительное значение порога классификации и наблюдаем результат реализованной автоматической классификации сегментов РС. По результатам наблюдения корректируем значение порога. Необходимо обеспечить значение порога, которое превышает отношение ymin/ymax минимального значения функции AMDF к его

53

максимальному значению для вокализованных сегментов. После коррекции фиксируем результат автоматической классификации и определяем наиболее вероятное значение периода pitch основного тона

(рис. 5.11).

porog=0.55; %установка порогового значения porogGraph=zeros(n,1)+porog;%массив пороговых значений

%для графического отображения %Определение функции AMDF и результата %автоматической классификации

[AMDF,class1,class,pitch]=AMDF3(Predct_V,ds,do,porog); figure; stem(AMDF(:,107)); grid on; title('AMDF');%просмотр

%нормированной по максимуму функции AMDF для выбранного сегмента figure;

subplot(4,1,1);stem(class2);grid on;title('Результат идеальной классификации')

subplot(4,1,2);stem(class);grid on;title('Результат реализованной классификации')

subplot(4,1,3);stem(class1);grid on;title('Отношение ymin/ymax'); hold on;plot(porogGraph,'r');

hold off;

subplot(4,1,4);stem(pitch);grid on;title('Период основного тона')

Рис. 5.11. Результаты классификации и определения

частоты основного тона

54

Значение порога равно 0.55. Устанавливаем для дальнейшей работы значение периода основного тона равным 76 отсчетам сигнала.

Наблюдаем за формой функции AMDF для 107 сегмента сигнала

(рис. 5.12).

Рис. 5.12. Форма функции AMDF

Видно, что для данного вокализованного сегмента период основного тона равен 75 периодам частоты дискретизации сигнала.

8. С учетом выбранного значения периода основного тона (T = 76) формируем сигнал возбуждения синтезирующего фильтра и синтезируем речевой сигнал. По осциллограммам сигналов оцениваем уровень искажений синтезированного сигнала для случаев идеальной и реализованной классификаций (рис. 5.13). По результатам прослушивания оцениваем качество сигнала по шкале: хорошо, удовлетворительно, плохо.

T=76;%Выбранное значение периода основного тона class=class2;%использование идеальной классификации

при формировании сигнала возбуждения

[Vozbud]=sigVozbud(class,T,G,n,do,Fs);%формирование сигнала

возбуждения %Синтез сигнала

sgmntVozbud=buffer(Vozbud,do,0);

55

[fil_synth]=synthesis2(K,sgmntVozbud,n);

%Пропускаем синтезированный сигнал через корректирующий ФНЧ

Filtr_xf=filter(1,[1 -.95],fil_synth);

Filtr_xf_corr=Filtr_xf(1:length(V)); figure;

subplot(4,1,1);plot(V);grid on;title('Заданный фрагмент сигнала'); subplot(4,1,2);plot(Filtr_xf_corr);grid on;title('Синтезированный фрагмент сигнала');

subplot(4,1,3);plot(Vozbud);grid on;title('Реализованный сигнал возбуждения');

subplot(4,1,4);plot(Predct_V);grid on;title('Сигнал остатка предсказания'); soundsc(Filtr_xf_corr)

Рис. 5.13. результаты синтеза речевого сигнала и сигнала возбуждения

9. Формулируем выводы по работе

Содержание отчета о работе

Номер варианта задания и цель работы.

Структурные схемы кодека и его составляющих.

«Осциллограммы» сигналов.

Выводы по работе.

Тексты используемых сценариев и функций.

56

Контрольные вопросы

1.Какова основная причина искажений синтезированного сигнала?

2.Каким образом осуществляется классификация сегментов?

3.Каким образом определяют период основного тона речевого сигнала?

4.Каковы достоинства и недостатки LPC-кодека?

Варианты задания для выполнения работы

Номер

Имя звукового файла

вари-

(название)

анта

 

 

 

1

m0_4.wav(1,2)

 

 

2

fm17.wav(0,1)

 

 

3

m16.wav(3,4)

 

 

4

m7.wav(0,1)

 

 

5

m0_4.wav(3,4)

 

 

6

fm17.wav(2,3)

7

m16.wav(5,6)

8

m7.wav(7,8)

9

m0_4.wav(0,1)

10

fm17.wav(4,5)

 

 

11

m16.wav(8,9)

 

 

12

m7.wav(ошиб)

 

 

13

m0_4.wav(2,3)

 

 

14

fm17.wav(3,4)

 

 

15

m16.wav(6,7)

 

 

16

m7.wav(да,нет)

 

 

17

m0_4.wav(3,4)

18

m7.wav(0,1)

19

m0_4.wav(3,4)

20

fm17.wav(2,3)

21

m16.wav(5,6)

 

 

22

m7.wav(7,8)

 

 

23

m0_4.wav(0,1)

 

 

24

fm17.wav(4,5)

 

 

25

m16.wav(8,9)

 

 

26

m7.wav(ошиб)

 

 

27

m0_4.wav(2,3)

 

57

ЗАКЛЮЧЕНИЕ

В лабораторном практикуме представлены основные подходы к сжатию потока данных речи. Описаны следующие виды квантования РС: квантование с постоянным шагом, квантование с использованием компандирования сигнала, адаптивное квантование, разностное квантование.

Рассмотрено построение речевого кодека на основе метода линейного предсказания, в котором возбуждение синтезирующего фильтра происходит импульсами основного тона РС.

Для оценки качества РС используются объективная оценка – отношение мощности сигнала к мощности шума квантования, а также субъективная оценка по результатам прослушивания РС.

58

РЕКОМЕНДАТЕЛЬНЫЙ БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Сергиенко, А. Б. Цифровая обработка сигналов / А. Б. Серги-

енко. – СПб. : Питер, 2002. – 608 с. – ISBN 5-318-00666-3.

2.Исследование алгоритмов обработки сигналов в системе MATLAB : метод. указания к лаб. работам / Владим. гос. ун-т ; сост. Е. К. Левин. – Владимир : Изд-во Владим. гос. ун-та, 2011. – 78 с.

Электронный ресурс ВлГУ

Обработка сигналов звука и изображений в системах связи : конспект лекций по дисциплине «Обработка сигналов» для студентов ВлГУ, обучающихся по направлению 11.03.01 «Радиотехника» [Электронный ресурс] / Владим. гос. ун-т им. А. Г. и Н. Г. Столето-

вых ; авт.-сост. Е. К. Левин. – URL: dspace.www1.vlsu.ru/ handle/123456789/7065 (дата обращения: 01.10.2023).

59

ПРИЛОЖЕНИЕ

Листинги сценариев системы Matlab, используемых при выполнении лабораторных работ

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

ИССЛЕДОВАНИЕ КВАНТОВАТЕЛЯ С ПОСТОЯННЫМ ШАГОМ КВАНТОВАНИЯ

Листинг сценария для определения порогов ограничения сигнала

(OpredPorog3.m)

%Определение порогов ограничения сигнала clear;close all;

%[data,fs]=wavread('m5_9.wav');%чтение звукового файла

[data,fs]=audioread('m5_9.wav');%чтение звукового файла

%для поздних версий Matlab Procnt=0.35e-2;%относительное число отсчетов сигнала, % которые попадают под ограничение

L=length(data);

L_Procnt=L*Procnt;% число отсчетов сигнала, которые % попадают под ограничение

hist(data,15);grid on;title('Гистограмма входного сигнала');

Листинг сценария для расчета квантователя и проверки правильности расчета

(RaschetProverka4.m)

%Расчет квантователя и проверка расчета

clear; close all;

q_dB=20;%заданное отношение сигнал-шум porog_max=0.644;

porog_min=-0.5;

[data,fs]=wavread('m5_9.wav');%чтение звукового файла

% [data,fs]=audioread('m5_9.wav');%чтение звукового файла

%для поздних версий Matlab

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]