Книга. Речевых сигналов
Скачать 1.72 Mb.
|
Глава 8. ЛАБОРАТОРНЫЙ ПРАКТИКУМ Практикум состоит из шести лабораторных работ, выполняемых на персональной ЭВМ. Содержание занятий – изучение методов и базовых алгоритмов обработки речевых сигналов путем их моделирования в среде MATLAB. Подготовка к занятиям выполняется дома. Она заключается в изуче- нии теории и выполнении домашнего задания: подготовке тестовых при- меров, разработке схем алгоритмов, написании программ, разработке на- бора тестов, подготовке и оформлении теоретической части отчета. Для допуска к лабораторной работе студент обязан предъявить преподавателю результаты домашней подготовки. В программах необходимо предусмотреть максимально возможную визуализацию процедуры решения, входных, промежуточных и оконча- тельных данных. В лаборатории проводится отладка программ, исследова- ния на тестовых примерах, дополнительные исследования, необходимость в которых возникает в процессе выполнения работы, анализ результатов. Отчет по работе должен содержать полную информацию по проде- ланной работе и выводы по результатам исследований. ЛАБОРАТОРНАЯ РАБОТА № 1. ДИСКРЕТНЫЕ СИГНАЛЫ И ИХ ОПИСАНИЕ ВО ВРЕМЕННОЙ ОБЛАСТИ Цель работы : получить навыки формирования различных вариантов детерминированных и случайных сигналов дискретного времени и их гра- фического представления средствами MATLAB. 1. Основные теоретические сведения В теории дискретных систем рассматривается обработка сигналов, представляемых последовательностями. Чаще всего последовательности получаются путем дискретизации аналоговых сигналов. Последователь- ность чисел обозначается как ( ) { } 1 2 , X x n n n n = ≤ ≤ , (8.1) где ( ) x n – ее n -й член. Иногда для простоты выражение (8.1) записывают как ( ) x n , хотя это, строго говоря, некорректно. В этом случае следует учитывать кон- текст. 157 Дискретные сигналы (последовательности) часто графически изо- бражаются так, как это показано на рис. 8.1. Рис. 8.1. Графическое представление дискретного сигнала Примеры дискретных сигналов: а) единичный импульс; б) единичная ступенчатая последовательность; в) действительная экспоненциальная по- следовательность; г) синусоидальная последовательность (рис. 8.2). Хотя абсцисса (см. рис. 8.1) изображена в виде непрерывной линии, следует понимать, что ( ) x n определена только для целых значений n . Для других значений аргументов функция считается неопределенной. Рис. 8.2. Графики дискретных сигналов (последовательностей) Единичный импульс ( ) n δ определяется как последовательность со значениями ( ) 1, 0 0, 0 n n n δ = ⎧ = ⎨ ≠ ⎩ Единичный импульс играет для дискретных сигналов и систем ту же роль, какую играет дельта-функция для аналоговых сигналов и систем. Для удобства единичный импульс часто называется просто импульсом. Важно X(n) X(-1) X(0) X(-2) X(1) X(2) n -5 -4 -3 -2 -1 0 1 2 3 4 5 158 отметить, что с единичным импульсом не связаны те математические за- труднения, которые встречаются при использовании дельта-функции. Единичная ступенчатая последовательность ( ) u n имеет значения ( ) 1, 0 0, 0 n u n n ≥ ⎧ = ⎨ < ⎩ и связана с единичным импульсом соотношением: ( ) ( ) ( ) 0 n u n n k k k k δ δ ∞ = − = ∑ ∑ = = −∞ . (8.2) Единичный импульс связан с единичной ступенчатой последова- тельностью соотношением ( ) ( ) ( ) 1 n u n u n δ = − − . (8.3) Действительная экспоненциальная последовательность – это после- довательность n a , где a – действительное число. Эту последовательность можно, например, получить периодическим (с периодом Т или частотой 1 T F d = ) взятием отсчетов (выборок) экспоненты непрерывного времени ( ) t n T n t n T x n e e a α α − − = = = = , где T a e α − = Синусоидальная последовательность имеет вид ( ) ( ) 0 cos x n A n ω ϕ = + , ее также можно получить периодическим (с пе- риодом T ) взятием отсчетов синусоиды непрерывного времени ( ) ( ) ( ) ( ) 0 0 0 cos cos cos x n A t A nT A n t nT ϕ ϕ ϕ ω = + = + = + = Ω Ω , где 0 0 T ω = Ω Комплексная экспоненциальная последовательность имеет вид ( ) ( ) ( ) 0 0 0 cos sin j n x n j n n n e e σ σ ω ω ω + = = + Последовательность ( ) x n периодическая с периодом N , если ( ) ( ) x n x n N = + для всех n . Комплексная экспонента с 0 σ = и синусои- дальная последовательность имеют период 0 2 π ω только тогда, когда 0 2 π ω – целое действительное число. Если оно не целое, но рациональное число, то дискретная синусоидальная последовательность будет периоди- ческой, однако с периодом, большим 0 2 π ω . Если 0 2 π ω не рациональ- но, то синусоидальная и комплексная экспоненциальная последовательно- сти не будут периодическими. Параметр 0 ω называют цифровой часто- той синусоиды или комплексной экспоненты вне зависимости от того, пе- риодичны они или нет. 159 Произвольная последовательность может быть представлена как сумма взвешенных и задержанных единичных импульсов. Например, по- следовательность ( ) p n , изображенную на рис. 8.3, можно записать как ( ) ( ) ( ) ( ) 2 7 3 1 ( ) 3 1 2 7 p n a n a n a n a n δ δ δ δ − = + + − + − + − . В общем случае произвольная последовательность имеет вид ( ) ( ) ( ) x n x k n k k δ ∞ = ⋅ − ∑ = −∞ . (8.4) Рис. 8.3. Пример последовательности, представляющей сумму взвешенных задержанных единичных импульсов 2. Задание и методические указания по выполнению работы Дискретный сигнал есть последовательность чисел, поэтому в MATLAB он представляется в виде вектора-столбца. Если необходима многоканальная обработка сигналов, удобно использовать второе измере- ние, представив набор сигналов в виде матрицы. Многоканальная обра- ботка поддерживается многими функциями MATLAB. Если сигнал одномерный, то в большинстве случаев функции MATLAB правильно обработают его при любой ориентации вектора: как в виде строки, так и в виде столбца. Однако в многоканальном случае, когда входной сигнал представлен в виде матрицы, обработка проводится по столбцам. Таким образом, столбцы матрицы трактуются как сигналы разных каналов, а строки – как отдельные векторные отсчеты многоканального сигнала. Для избежания возможной путаницы рекомендуется и в однока- нальном случае формировать сигналы в виде столбцов. 1. Сформируйте единичный импульсный сигнал ( ) 15 n δ − и еди- ничный ступенчатый сигнал ( ) 10 u n − при значениях целочисленной пе- ременной 1 30 n = … . Отобразите их графически, используя функцию stem. С помощью команды help stem выясните, как пользоваться этой функцией. Сформируйте и представьте графически разностный сигнал P(n) 1 a 3 a− 2 7 8 n -5 -4 -3 -2 -1 0 1 3 4 5 6 2 a 7 a 160 ( ) ( ) ( ) 10 11 x n u n u n = − − − . Интерпретируйте этот сигнал как ( ) n k δ − в соответствии с соотношением (8.3) и найдите величину k из вашего ри- сунка. Сформируйте и представьте графически другой разностный сигнал ( ) ( ) ( ) 2 10 15 x n u n u n = − − − . Найдите из рисунка длительность получен- ного таким образом прямоугольного импульсного сигнала. Выразите этот сигнал как сумму единичных импульсов на основе соотношения (8.2) и сформируйте его таким образом. 2. Сформируйте сигнал, состоящий из 40 отсчетов дискретно- временной синусоиды ( ) ( ) sin , 1 40 x n n n ω = = … , с цифровыми частотами 0,1; 0,2; 0,4; 0,8 ω = рад соответственно. Отобразите их графически, ис- пользуя функцию stem. Предположив, что период выборок 0,1 T = с, вы- числите аналоговые частоты F (Гц) каждой из синусоид, используя задан- ный выборочный интервал и соответствующие цифровые частоты ω . Пе- рерисуйте графики сигналов с обозначением оси времени и зафиксируйте вычисленные аналоговые частоты соответствующих синусоид, используя функцию title. Как изменяются графики с увеличением частоты? 3. Предположим, что аналоговый косинусоидальный сигнал задан соотношением ( ) ( ) [ ] 0 1 cos 2 , , x t A t t t F t π ϕ = + ∈ с амплитудой 5 A = , час- тотой 10 F = Гц, начальной фазой 3 ϕ π = , 0 1 0, 100 t t = = с. Выполните дискретизацию этого сигнала с периодом взятия выборок 2 10 T − = с и отобразите полученный дискретный сигнал графически. Для визуализа- ции дискретных сигналов могут использоваться различные графические средства в зависимости от конкретной ситуации. Часто вполне допустимо соединение дискретных отсчетов линиями, что выполняется с помощью функции plot. При этом получается график аналогового сигнала с линей- ной интерполяцией его отсчетных значений, где сами отсчетные значения не видны. Если необходимо отобразить именно их, то, используя функ- цию plot, можно отказаться от соединения точек линиями. Кроме этого можно использовать функции stem и stairs, специально предназначенные для отображения дискретных сигналов в виде «стебельков» и в ступенча- том виде (кусочно-постоянная интерполяция) соответственно. Реализуйте все эти варианты графического представления сформированного дис- кретного сигнала, отображая их одновременно при помощи функции subplot. Вычислите частоту дискретизации сигнала d F , сравните ее с час- тотой F . Как должна выбираться частота дискретизации в соответствии с теоремой отсчетов (теоремой Котельникова)? Проверьте наличие эффекта наложения (подмены частот) в случае, если 2 N d F F F > = ( N F – час- тота Найквиста). 161 4. Создайте комплексный дискретный сигнал ( ) , 1 40 j n x n n e ω = = … с 0,2 ω = рад. Получите реальную и мнимую части сигнала с помощью функций real и imag, отобразите их графически. Используйте команды subplot (2,1,1) и subplot (2,1,2) перед каждой функцией stem, чтобы создать два графика реальной и мнимой частей сигнала, размещенных на одном экране. ЛАБОРАТОРНАЯ РАБОТА № 2. РАБОТА С РЕЧЕВЫМИ ДАННЫМИ В СРЕДЕ MATLAB Цель работы: получить начальные навыки со звуковыми сигналами в среде MATLAB. 1. Основные теоретические сведения приведены в гл. 1. 2. Задания и методические указания по выполнению работы 1. С помощью микрофонной гарнитуры введите в компьютер рече- вой сигнал (свою фамилию). Для этого удобно использовать программу «Звукозапись» из раздела «Стандартные – Развлечения». 2. С помощью команды wavread импортируйте речевой сигнал в среду MATLAB. Определить параметры: Fs, bits. 3. Постройте график сигнала с помощью команды plot и subplot. 4. Определите время звучания и объем памяти для записанного сиг- нала. 5. Выберите данные фрагмента сигнала, где n1=5000, а n2 рассчиты- вается по формуле n2=1000N, где N – номер фамилии студента в журнале. 6. Повторите пп. 3 и 4 для фрагмента сигнала, полученного по п. 5. 7. С помощью микрофонной гарнитуры и команды wavrecord введи- те в компьютер речевой сигнал (фамилию студента) , применив Fs =8000; 11025. 8. Запишите вектор (или матрицу) полученной по п. 7 записи на диск в виде wav-файла и mat-файла. ЛАБОРАТОРНАЯ РАБОТА № 3. КОРРЕЛЯЦИОННАЯ ОБРАБОТКА СИГНАЛОВ Цели работы: 1) практическое ознакомление с реализацией процедуры измерения автокорреляционной функции в среде MATLAB; 2) моделирование нескольких примеров применения корреляцион- ного анализа случайного стационарного процесса (ССП): – для выявления периодического сигнала, который маскируется шумом; – измерения частоты основного тона голосового сигнала. 162 1. Основные теоретические сведения приведены в гл. 2. 2. Задания и методические указания по выполнению работы 1. Решите задачу выявления периодического сигнала, который мас- кируется шумом, при условиях, что ССП ( ) Y t представляет собой адди- тивную смесь гармонического процесса 0 ( ) cos(2 ) S t A f t π ϕ = + с неизвест- ными амплитудой A , частотой 0 f (значение которой находится в преде- лах 100 – 500 Гц), случайной фазой, равномерно распределенной на интер- вале [0,2 ] π , и гауссовского белого шума в полосе частот 0 – 5 кГц; отно- шение сигнал-шум этой смеси равняется вх ρ 1.1. В среде MATLAB создайте модель аддитивной смеси с за- данными параметрами и постройте ее график. 1.2. Постройте график функции корреляции сгенерированной смеси. 1.3. Рассчитайте объем N экспериментальной выборки отсчетов сгенерированной смеси, которая необходима для обеспечения отношения сигнал-шум 10дБ вых ρ = на выходе коррелятора. 1.4. Вычислите и постройте график оценки автокорреляционной функции ССП ( ) Y t . 2. Осуществите натурный (полномасштабный) эксперимент измере- ния частоты основного тона голосового сигнала с применением автокорре- ляционного метода. 2.1. Используя телефонную гарнитуру и программу MATLAB, введите голосовой сигнал в компьютер, предварительно выбрав частоту дискретизации. 2.2. Выделите фрагменты введенного голосового сигнала, кото- рые отвечают гласным звукам, и осуществите их автокорреляционный анализ со следующим измерением частоты основного тона (см. табл. 1). Таблица 1 Варианты значений числовых параметров Вариант Параметры 1 2 3 4 5 6 7 8 вх ρ –10 –11 –12 –13 –14 –15 –16 –17 0 f 80 100 120 140 160 180 200 220 Слово Примечание. В графу «Слово» каждый записывает свою фамилию. 163 3. Вспомогательная теория Для выполнения данной лабораторной работы введите в рабочее про- странство программы MATLAB числовые значения параметров из табл. 1. 1. Выявление периодического сигнала, который маскируется шумом. Для аддитивной смеси ( ) ( ) ( ) Y t S t t ξ = + сигнала 0 ( ) cos(2π ) S t A f t ϕ = + и шума ( ) t ξ отношение сигнал-шум – это отношение средней мощности (дисперсии) 2 2 A сигнала к средней мощности (дисперсии) ξ D шума: 2 ξ 2 вх A D ρ = Для генерирования отсчетов процесса ( ) ( ) Y Y t Y i t i i = = ⋅ Δ с заданным отношением сигнал-шум можно произвольно задать A или ξ D , другой параметр при этом вычисляется через вх ρ . Например, если примем ξ 1 D = , тогда параметр A равняется: вх 10 lg 2 20 10 A ρ ⋅ + = 2. При построении графика процесса J(t) используйте следующие обозначения: t i t = ⋅ Δ , j t τ = ⋅ Δ . Выберите 1 2 t B Δ = , где B – верхняя гра- ничная частота белого шума в полосе [0, B ] Гц. Корреляционный анализ случайного процесса помогает решить за- дачу выявления периодического сигнала на фоне шума. Поскольку состав- ные части процесса ( ) Y t статистически независимы, то ( ) ( ) ( ) K K K Y S τ τ τ ξ = + , (8.5) где 0 2 sin 2 ( ) cos ; ( ) 2 2 A B K K D S B π τ τ ω τ τ ξ ξ π τ = = , (8.6) где B – верхняя граница частоты шума ( ) t ξ 3. Для построения графика корреляционных функций (8.5) и (8.6) дискретизуем функцию (8.5) с шагом 1 2 t B Δ = и получаем 0 2 sin ( ) cos ; ( ) 2 f A i K i K D S B i π π τ τ ξ ξ π ⎛ ⎞ = = ⎜ ⎟ ⎝ ⎠ Видим, что форма корреляционной функции процесса ( ) Y t для 1 2B τ ≥ практически не отличается от формы гармонического сигнала ( ) S t . Этот факт позволяет по частоте переходов через нуль оценить часто- ту 0 f . 164 Такой способ оценивания 0 f имеет смысл применять при малых от- ношениях сигнал-шум вх ρ , когда сигнал практически полностью маскиру- ется шумом. 4. На практике можно лишь оценить функцию корреляции, пото- му, конечно, результаты выявления гармонического сигнала на фоне шума будут не такими «красивыми». Структурная схема коррелометра показана в гл. 2. Для отрезка ( ) T Y t процесса ( ) Y t несмещенная оценка функции кор- реляции имеет вид: 1 * ( ) ( ) ( ) 0 T K Y t Y t dt Y T T T τ τ τ τ − = + ∫ − Коррелометр способен повышать отношение сигнал-шум при увели- чении числа некоррелированных отсчетов шума N , содержащихся в реа- лизации процесса, который анализируется. Формула для вычисления N для заданных входного и выходного отношений сигнал-шум имеет вид: ( ) 0,1 2 10 lg 2 вых вх 10 p p N − + ⋅ = Пример экспериментального измерения частоты основного тона можно найти в гл. 2. ЛАБОРАТОРНАЯ РАБОТА № 4. СПЕКТРАЛЬНАЯ ОБРАБОТКА СИГНАЛОВ |