Описываются базовые методы и алгоритмы цифровой обработки сигналов и средств их компьютерного моделирования в системе MATLAB. Даны основы алгоритмического языка MATLAB. Рассматриваются дискретные сигналы, линейные дискретные системы, дискретное преобразование Фурье с использованием алгоритмов БПФ, синтез и анализ КИХ- и БИХ-фильтров, в том числе с фиксированной точкой, спектральный анализ сигналов, многоскоростная обработка сигналов и адаптивная цифровая фильтрация.
Технология обучения в процессе компьютерного моделирования на основе созданных авторами программ или графического интерфейса пользователя MATLAB расширяет теоретические знания и позволяет понять многие важные проблемы и аспекты практического применения методов и алгоритмов ЦОС.
На прилагаемом CD хранятся обучающие программы и таблицы исходных данных.
Содержание
Часть I. Знакомство с MATLAB 13
Глава 1. Знакомство с MATLAB. Основные объекты языка MATLAB 15
1.1. Краткая теоретическая справка 15
1.1.1. Режим прямых вычислений 16
1.1.2. Базовые объекты языка MATLAB 16
1.1.3. Рабочая область памяти Workspace 25
1.1.4. Сохранение данных на диске 26
1.2. Содержание лабораторной работы 26
1.3. Задание на лабораторную работу 26
1.4. Задание на самостоятельную работу 31
1.5. Отчет и контрольные вопросы 32
1.6. Литература 33
Глава 2. Операции с матрицами 34
2.1. Краткая теоретическая справка 34
2.1.1. Функции генерации типовых матриц 36
2.1.2. Преобразование матриц 36
2.1.3. Поэлементные операции с матрицами 37
2.1.4. Операции с матрицами в задачах линейной алгебры 38
2.1.4.1. Арифметические операции с матрицами 38
2.1.4.2. Транспонирование и эрмитово сопряжение матриц 39
2.1.4.3. Обращение матриц 41
2.1.4.4. Матричное деление 41
2.1.5. Норма матрицы и вектора 42
2.1.6. Операции с матрицами в задачах математической статистики 43
2.2. Содержание лабораторной работы 44
2.3. Задание на лабораторную работу 45
2.4. Задание на самостоятельную работу 48
2.5. Отчет и контрольные вопросы 48
2.6. Литература 49
Глава 3. Типы массивов 50
3.1. Краткая теоретическая справка 50
3.1.1. Матрицы числового и логического типов 51
3.1.2. Матрицы символьного типа 51
3.1.3. Структуры (массивы записей) 53
3.1.4. Массивы ячеек 55
3.1.5. Определение типа массива 56
3.2. Содержание лабораторной работы 56
3.3. Задание на лабораторную работу 56
3.4. Задание на самостоятельную работу 58
3.5. Отчет и контрольные вопросы 59
3.6. Литература 59
Глава 4. Средства графики 60
4.1. Краткая теоретическая справка 60
4.1.1. Двумерные графики 61
4.1.2. Управление свойствами двумерных графиков 61
4.1.3. Трехмерные графики 64
4.1.4. Управление свойствами трехмерных графиков 65
4.2. Содержание лабораторной работы 66
4.3. Задание на лабораторную работу 66
4.4. Задание на самостоятельную работу 69
4.5. Отчет и контрольные вопросы 70
4.6. Литература 71
Глава 5. Режим программирования: script-файлы и function-файлы 72
5.1. Краткая теоретическая справка 72
5.1.1. Script-файлы 72
5.1.2. Function-файлы 73
5.1.3. Оформление и вывод листинга M-файлов 74
5.1.4. Ввод/вывод данных 75
5.1.5. Пауза и досрочное прерывание программы 76
5.1.6. Создание и хранение M-файлов 77
5.2. Содержание лабораторной работы 78
5.3. Задание на лабораторную работу 78
5.4. Задание на самостоятельную работу 80
5.5. Отчет и контрольные вопросы 81
5.6. Литература 82
Глава 6. Режим программирования: организация разветвлений и циклов 83
6.1. Краткая теоретическая справка 83
6.1.1. Операторы организации разветвлений 83
6.1.2. Операторы организации циклов 85
6.2. Содержание лабораторной работы 88
6.3. Задание на лабораторную работу 88
6.4. Задание на самостоятельную работу 90
6.5. Отчет и контрольные вопросы 91
6.6. Литература 91
Часть II. Моделирование цифровой обработки сигналов в MATLAB 93
Глава 7. Дискретные сигналы
95
7.1. Краткая теоретическая справка 95
7.1.1. Детерминированные дискретные сигналы 96
7.1.2. Случайные дискретные сигналы 97
7.2. Содержание лабораторной работы 101
7.3. Задание на лабораторную работу 101
7.4. Типовой script-файл для выполнения лабораторной работы 107
7.5. Задание на самостоятельную работу 115
7.6. Отчет и контрольные вопросы 118
7.7. Литература 119
Глава 8. Линейные дискретные системы 120
8.1. Краткая теоретическая справка 120
8.1.1. Описание ЛДС во временной области 121
8.1.2. Описание ЛДС в z-области 123
8.1.3. Описание ЛДС в частотной области 125
8.1.4. Структуры звеньев 2-го порядка 127
8.2. Содержание лабораторной работы 130
8.3. Задание на лабораторную работу 130
8.4. Типовой script-файл для выполнения лабораторной работы 134
8.4.1. Используемые внешние функции 140
8.5. Задание на самостоятельную работу 140
8.6. Отчет и контрольные вопросы 141
8.7. Литература 142
Глава 9. Дискретное преобразование Фурье (часть 1) 143
9.1. Краткая теоретическая справка 143
9.1.1. Дискретное преобразование Фурье 143
9.1.2. Выделение дискретных гармоник полезного сигнала 145
9.1.3. Восстановление спектральной плотности 146
9.1.4. Восстановление аналогового сигнала 147
9.2. Содержание лабораторной работы 148
9.3. Задание на лабораторную работу 148
9.4. Типовой script-файл для выполнения лабораторной работы 153
9.4.1. Используемые внешние функции 162
9.5. Задание на самостоятельную работу 163
9.6. Отчет и контрольные вопросы 164
9.7. Литература 165
Глава 10. Дискретное преобразование Фурье (часть 2) 166
10.1. Краткая теоретическая справка 166
10.1.1. Растекание спектра 166
10.1.2. Улучшение различения дискретных гармоник с близко расположенными частотами 167
10.1.3. Вычисление линейных и круговых сверток с помощью ДПФ 167
10.1.4. Вычисление секционированных сверток с помощью ДПФ 169
10.2. Содержание лабораторной работы 169
10.3. Задание на лабораторную работу 169
10.4. Типовой script-файл для выполнения лабораторной работы 175
10.4.1. Используемые внешние функции 184
10.5. Задание на самостоятельную работу 185
10.6. Отчет и контрольные вопросы 186
10.7. Литература 186
Глава 11. Синтез КИХ-фильтров методом окон 187
11.1. Краткая теоретическая справка 187
11.1.1. Свойства КИХ-фильтров 188
11.1.2. Задание требований к АЧХ 189
11.1.3. Структуры КИХ-фильтров 193
11.1.4. Процедура синтеза КИХ-фильтров методом окон 195
11.1.5. Синтез КИХ-фильтров методом окон в MATLAB 196
11.2. Содержание лабораторной работы 197
11.3. Задание на лабораторную работу 198
11.4. Типовой script-файл для выполнения лабораторной работы 202
11.4.1. Синтез и анализ КИХ-фильтра ФНЧ 202
11.4.2. Синтез и анализ КИХ-фильтра ФВЧ 205
11.4.3. Синтез и анализ КИХ-фильтра ПФ 208
11.4.4. Синтез и анализ КИХ-фильтра РФ 210
11.4.5. Используемые внешние функции 213
11.5. Задание на самостоятельную работу 216
11.6. Отчет и контрольные вопросы 217
11.7. Литература 218
Глава 12. Синтез КИХ-фильтров методом наилучшей равномерной (чебышевской) аппроксимации 219
12.1. Краткая теоретическая справка 219
12.1.1. Процедура синтеза КИХ-фильтров методом чебышевской аппроксимации 219
12.1.2. Синтез КИХ-фильтров методом чебышевской аппроксимации в MATLAB 222
12.1.3. Описание требований к характеристике затухания в виде объекта fdesign 223
12.1.4. Синтез КИХ-фильтров в виде объектов dfilt на основе объектов fdesign 225
12.2. Содержание лабораторной работы 226
12.3. Задание на лабораторную работу 226
12.4. Типовой script-файл для выполнения лабораторной работы 232
12.4.1. Синтез и анализ КИХ-фильтра ФНЧ 232
12.4.2. Синтез и анализ КИХ-фильтра ФВЧ 235
12.4.3. Синтез и анализ КИХ-фильтра ПФ 239
12.4.4. Синтез и анализ КИХ-фильтра РФ 242
12.4.5. Используемые внешние функции 245
12.5. Задание на самостоятельную работу 246
12.6. Отчет и контрольные вопросы 247
12.7. Литература 248
Глава 13. Синтез БИХ-фильтров методом билинейного Z-преобразования 249
13.1. Краткая теоретическая справка 249
13.1.1. Задание требований к характеристике затухания 249
13.1.2. Структуры БИХ-фильтров 250
13.1.3. Процедура синтеза БИХ-фильтров методом билинейного Z-преобразования 252
13.1.4. Синтез аналоговых фильтров в MATLAB 253
13.1.5. Синтез БИХ-фильтров методом билинейного Z-преобразования в MATLAB 253
13.1.6. Синтез БИХ-фильтров в виде объектов dfilt на основе объектов fdesign 255
13.1.7. Расстановка звеньев и масштабирование в каскадных структурах БИХ-фильтров 256
13.2. Содержание лабораторной работы 256
13.3. Задание на лабораторную работу 256
13.4. Типовой script-файл для выполнения лабораторной работы 261
13.4.1. Синтез и анализ БИХ-фильтра ФНЧ 261
13.4.2. Синтез и анализ БИХ-фильтра ФВЧ 266
13.4.3. Синтез и анализ БИХ-фильтра ПФ 270
13.4.4. Синтез и анализ БИХ-фильтра РФ 274
13.4.5. Используемые внешние функции 278
13.5. Задание на самостоятельную работу 279
13.6. Отчет и контрольные вопросы 280
13.7. Литература 280
Глава 14. Синтез цифровых фильтров средствами GUI FDATool и FilterBuilder 281
14.1. Краткая теоретическая справка 281
14.1.1. Синтез цифровых фильтров в GUI FDATool 281
14.1.2. Экспорт из GUI FDATool в Workspace 283
14.1.3. Синтез цифровых фильтров в FilterBuilder GUI 284
14.2. Содержание лабораторной работы 287
14.3. Задание на лабораторную работу 287
14.4. Задание на самостоятельную работу 297
14.5. Отчет и контрольные вопросы 298
14.6. Литература 298
Глава 15. Цифровые фильтры с фиксированной точкой 299
15.1. Краткая теоретическая справка 299
15.1.1. Эффекты квантования в структуре ЦФ с ФТ 300
15.1.2. Моделирование структуры исходного ЦФ в GUI FDATool 301
15.1.3. Моделирование структуры ЦФ с ФТ в GUI FDATool 301
15.1.3.1. Установка свойств ЦФ с ФТ на вкладке Coefficients 303
15.1.3.2. Установка свойств ЦФ с ФТ на вкладке Input/Output 305
15.1.3.3. Установка свойств ЦФ с ФТ на вкладке Filter Internals 309
15.1.4. Моделирование структуры ЦФ с ФТ в FilterBuilder GUI 313
15.2. Содержание лабораторной работы 316
15.3. Задание на лабораторную работу 317
15.4. Задание на самостоятельную работу 322
15.5. Отчет и контрольные вопросы 322
15.6. Литература 323
Глава 16. Спектральный анализ: непараметрические методы 324
16.1. Краткая теоретическая справка 324
16.1.1. Метод периодограмм 325
16.1.2. Основные показатели качества оценок СПМ 328
16.1.3. Метод периодограмм Даньелла 330
16.1.4. Метод периодограмм Бартлетта 332
16.1.5. Метод периодограмм Уэлча 333
16.1.6. Метод Блэкмана—Тьюки 334
16.1.7. Моделирование случайной последовательности с требуемой АКФ 337
16.1.8. Основные параметры окон 339
16.1.9. Спектрограмма 339
16.2. Содержание лабораторной работы 340
16.3. Задание на лабораторную работу 340
16.4. Типовой script-файл для выполнения лабораторной работы 346
16.5. Задание на самостоятельную работу 355
16.6. Отчет и контрольные вопросы 356
16.7. Литература 357
Глава 17. Спектральный анализ: параметрические методы 358
17.1. Краткая теоретическая справка 358
17.1.1. АРСС-, АР- и СС-модели 359
17.1.2. Метод Юла—Уолкера (автокорреляционный) оценки параметров АР-модели 361
17.1.3. Методы оценки параметров АР-модели 364
17.1.4. Методы оценки СПМ 366
17.1.5. Оценка порядка АР-модели 367
17.1.6. Сравнение оценок СПМ с истинной СПМ 368
17.2. Содержание лабораторной работы 368
17.3. Задание на лабораторную работу 369
17.4. Типовой script-файл для выполнения лабораторной работы 373
17.5. Задание на самостоятельную работу 380
17.6. Отчет и контрольные вопросы 381
17.7. Литература 382
Глава 18. Спектральный анализ средствами GUI SPTool 383
18.1. Краткая теоретическая справка 383
18.1.1. Обращение к GUI SPTool 383
18.1.2. Сигналы: группа Signals 384
18.1.3. Моделирование системы цифровой фильтрации: группа Filters 387
18.1.4. Спектральный анализ: группа Spectra 389
18.1.5. Экспорт данных из GUI SPTool 391
18.2. Содержание лабораторной работы 392
18.3. Задание на лабораторную работу 392
18.4. Задание на самостоятельную работу 397
18.5. Отчет и контрольные вопросы 399
18.6. Литература 400
Глава 19. Многоскоростные системы ЦОС 401
19.1. Краткая теоретическая справка 401
19.1.1. Система однократной интерполяции 402
19.1.2. Система однократной децимации 406
19.1.3. Система однократной передискретизации 409
19.1.4. Полифазные структуры многоскоростных систем 410
19.2. Содержание лабораторной работы 415
19.3. Задание на лабораторную работу 415
19.4. Типовой script-файл для выполнения лабораторной работы 421
19.5. Задание на самостоятельную работу 431
19.6. Отчет и контрольные вопросы 433
19.7. Литература 434
Глава 20. Моделирование полифазных структур многоскоростных систем средствами GUI FDATool и FilterBuilder 435
20.1. Краткая теоретическая справка 435
20.1.1. Моделирование полифазных структур в GUI FDATool 435
20.1.2. Моделирование полифазных структур в FilterBuilder GUI 440
20.1.3. Моделирование многоскоростных систем с полифазными структурами 441
20.2. Содержание лабораторной работы 441
20.3. Задание на лабораторную работу 441
20.4. Типовой script-файл для выполнения лабораторной работы 448
20.4.1. Система однократной интерполяции с полифазной структурой 449
20.4.2. Система однократной децимации с полифазной структурой 450
20.4.3. Система однократной передискретизации с полифазной структурой при повышении частоты дискретизации 452
20.4.4. Система однократной передискретизации с полифазной структурой при понижении частоты дискретизации 454
20.5. Задание на самостоятельную работу 456
20.6. Отчет и контрольные вопросы 456
20.7. Литература 457
Глава 21. Адаптивные фильтры 458
21.1. Краткая теоретическая справка 458
21.1.1. Фильтр Винера 460
21.1.2. Алгоритм LMS 463
21.1.3. Алгоритм RLS 467
21.1.4. Применение адаптивных фильтров 472
21.1.4.1. Идентификация систем 472
21.1.4.2. Оценка импульсной характеристики неизвестной системы 474
21.1.4.3. Очистка сигнала от шума 475
21.1.4.4. Выравнивание частотной характеристики неизвестной системы 477
21.2.4.5. Оценка параметров линейного предсказания сигнала 481
21.2. Содержание лабораторной работы 483
21.3. Задание на лабораторную работу 483
21.4. Типовой script-файл для выполнения лабораторной работы 491
21.5. Задание на самостоятельную работу 501
21.6. Отчет и контрольные вопросы 503
21.7. Литература 504
Список сокращений на английском языке 505
Список сокращений на русском языке 506
Предметный указатель 508