SlideShare a Scribd company logo
1 of 44
НАЦИОНАЛЬНО ИССЛЕДОВАТЕЛЬССКИЙ УНИВЕРСИТЕТ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
им. А.Н.ТУПОЛЕВА

О.Г.МОРОЗОВ, Р.Р.САМИГУЛЛИН,
Н.В.ДОРОГОВ, А.Р.НАСЫБУЛЛИН
ЦИФРОВАЯ ОБРАБОТКА АУДИО И
ВИДЕОСИГНАЛОВ
Методические указания в лабораторным работам
731-734
Методические указания предназначены для бакалавров ИРЭТ,
обучающихся по бакалаврской программе направления 210400
«Радиотехника», профиль «Аудиовизуальная техника»
КАЗАНЬ
2010
Лабораторная работа №731
Сравнительный анализ аудиофайлов
записанных с внешних источников звука

Цель работы
• изучение возможностей редактирования звуковых
файлов в программном пакете Sound Forge;
• изучение возможностей анализа звуковых файлов в
программном пакете Sound Forge;
• изучение влияния частоты дискретизации и
разрядности
квантования
на
качественные
характеристики аудиофайлов.
2
Sound Forge
•Звуковой редактор Sound Forge компании Sonic Foundry считается
одним из лучших, а может быть, и лучшим звуковым редактором.
•Программа Sound Forge позволяет записывать звук со входов
звуковой карты встроенной в процессорный блок или с CD, монтировать
записанные фрагменты и обрабатывать их самыми разнообразными
способами.
Окно данных
Каждый аудиофайл, открытый в Sound
Forge, выводится в своем окне данных

Рабочее окно программы
3
Меню программы

Диалоговое окно Record

4
Создание новых аудиофайлов
•

Для
создание
нового
аудиофайла с помощью
программы Sound Forge
необходимо открыть пункт
меню File -> New и
определите
атрибуты
нового файла.
Порядок выполнение записи аудиосигнала
1. Выберите пункт меню File -> New для открытия диалогового
окна New Window, показанного на рис.
2. Выберите в раскрывающемся списке Sample rate (2.000 to
192.000 Hz) частоту сэмплирования для нового файла.
3. Выберите в группе Sample size разрядность для нового файла.
4. Определите в группе Channels, будет ли файл
монофоническим или стереофоническим.
5. Щелкните на кнопке ОК.

5
Сохранение аудиофайлов
•

1. Выберите пункт
меню File -> Save As
для
вывода
диалогового
окна
Save As, показанного
на
рис.
Обратите
внимание, что это
диалоговое
окно
имеет
большую
функциональность,
чем
стандартное
диалоговое
окно
сохранения файлов
операционной
системы Windows.

6
•
•
•
•
•
•

2. В раскрывающемся списке Save in найдите папку, в которой вы
хотите сохранить файл, или в раскрывающемся списке Recent
выберите одну из недавно использовавшихся папок.
3. Введите имя аудиофайла (если оно еще отсутствует) в поле File
name.
4. Выберите в раскрывающемся списке Save as type тип сохраняемого
аудиофайла.
5. В раскрывающемся списке Format выберите формат (РСМ, ADPCM и
т. п.) сохранения аудиоданных.
6. Выберите в раскрывающемся списке Attributes те атрибуты (частоту
сэмплирования, разрядность, моно или стерео), которые вы хотели бы
использовать при сохранении аудиоданных.
7. Если вы уже создали области или список воспроизведения для
вашего аудиофайла, вы можете сохранить эту информацию
несколькими способами с помощью списка Rgns/Playlist. Если вы не
хотите сохранять эту информацию, выберите из списка пункт Do Not
Save Regions or Playlist. Если вы хотите оставить эти данные
внедренными в файл (что возможно только для типов файлов Wave и
AVI), выберите пункт Save Regions and Playlist in .WAV/.AVI files. Вы
можете также сохранить информацию в отдельном файле в
специальном формате внешнего списка воспроизведения (файл с
расширением sfl) программы Sound Forge, в формате Session 8 (файл
с расширением prm — для использования с продуктом Digidesign
7
Session 8) или в формате Windows Media Script (файл с расширением
txt — для использования с файлами Windows Media).
8. Если вы сохраняете ваш файл как Microsoft Wave (расширение wav), Windows Media
(расширение asf), Video For Windows (расширение avi), RealMedia (расширение rm),
RealNetworks G2 (также расширение rm) или MPEG Audio (расширение трЗ), вы можете
внедрить в файл итоговую информацию. Для этого установите флажок Save Summary
Information in file (.WAV, .AVI, .ASF, .RM).
9. Чтобы отредактировать или просмотреть итоговую информацию для файла,
щелкните на кнопке Summary, после чего откроется диалоговое окно Properties.
10. Отредактируйте поля Title, Subject, Engineer, Copyright и Comments.
11. Вы можете также присоединить к файлу рисунок, щелкнув на кнопке Picture. В
диалоговом окне Open Picture просто выберите файл в формате Windows Bitmap (bmp),
Windows Cursor (cur) или Windows Icon (ico) для присоединения, а затем щелкните на
кнопке Open.
12. Если вы хотите включить в файл еще больше информации, щелкните на кнопке
Extended для открытия диалогового окна Extended Summary.
13. В поле Fields располагается вся дополнительная информация, которую вы можете
включить в файл. Чтобы включить в файл конкретную часть информации, установите
соответствующий флажок. После этого введите текст с информацией в поле Contents.
Чтобы увидеть описание каждого элемента, указанного в поле Fields, просто выделите
элемент и прочтите описание в нижней части диалогового окна.
14. Щелкните на кнопке OK в диалоговом окне Extended Summary - Running water with
very low frequencies.
15. Нажмите на кнопку OK в диалоговом окне Properties.
16. Если вы сохраняете файл как Microsoft Wave (wav) и включили в файл информацию
сэмплерной петли, вы можете сохранить эту информацию, установив флажок Save
8
Sampler Information in file.
17. Щелкните на кнопке Save для сохранения файла.
Окно данных
Окно данных позволяет
просматривать,
редактировать и
обрабатывать звуковые
данные.

Спектральный анализ
Для проведения спектрального
анализа аудиосигнала
необходимо во вкладке Tools
выбрать команду Spectrum
analysis .

9
•

В результате выполнения данной команды, будет построен график
спектральных составляющих выбранного аудиофайла

10
Практическая часть
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Соединить внешний звуковой источник с компьютером. На компьютере
соединять с линейным входом (синий).
Запустить программу Sound Forge. В программе создать новый файл. Меню
File → New.
Нажать на кнопку «Record» в меню. В появившемся окне установить
параметры записи: 8000 Hz, 8-bit, Mono. Включить пункт меню «Монитор».
Включить внешний звуковой источник.
Включить проигрывание музыкальной композиции предложенной для
исследования.
Убедиться в наличии сигнала в окне «Record». Нажать на кнопку записи,
записать один трек. Время записи одного фрагмента 1 мин.
Сохранить записанный трек.
Провести спектральный анализ полученной записи.
Зарисовать полученный график.
Нажать на кнопку «Record» в меню. В появившемся окне установить
параметры записи: 8000 Hz, 16-bit, Mono. Включить пункт меню «Монитор».
Повторите пункты 4-9.
Повторите пункты 4-11 для частоты 44100 Hz.
Повторите пункты 4-12 для режима Stereo/
Сделайте выводы.
11
КОНТРОЛЬНЫЕ ВОПРОСЫ
•
•
•
•
•
•
•

Какие возможности редактирования звуковых файлов предоставляет
Sound Forge?
Какие возможности анализа звуковых файлов предоставляет Sound
Forge?
Какими параметрами записи можно оперировать в Sound Forge?
Какую дополнительную информацию можно добавлять к сохраненным
файлам?
Как влияет частота дискретизации на спектральные характеристики
полученного цифрового аудиофайла?
Как влияет разрядность квантования на спектральные характеристики
полученного цифрового аудиофайла?
Какое влияние оказывает частота дискретизации и разрядность
квантования на субъективное восприятие аудиофайла.

12
Лабораторная работа №732
РАСЧЕТ ЦИФРОВЫХ ФИЛЬТРОВ В ПАКЕТЕ
MATLAB С УЧЕТОМ КВАНТОВАНИЯ
Целью работы является:
•изучение
возможностей
проектирования
цифровых фильтров с помощью пакета fdatool из
библиотеке Filter Desing;
•получение навыков проектирования цифровых
фильтров;
•изучение характеристик цифровых фильтров, у
которых все операции над данными выполняются с
машинной точностью;
•изучение характеристик цифровых фильтров с
13
учетом квантования по уровню.
•Проектирование цифровых фильтров с помощью пакета
Filter Desing

Главное окно программы fdatool

14
Программа fdatool предлагает следующие типы
фильтров:
- Low pass (нижних частот);
*High pass (высоких частот);
*Band pass (полосовой фильтр);
*Band stop (режекторный фильтр);
Область
Filter
type
имеет
еще
ниспадающее меню, в котором расположены
специализированные цифровые цепи:
*Differentiator (диффенциатор);
*Hilbert Transformer (преобразователи
Гильберта);
*Multiband (многополосный фильтр) и т.д.

15
В поле Filter Specifications заданы контуры АЧХ проектируемого фильтра, а в
поле Freguency Speccifications и Magnutide Specifications требования к фильтру
принимают конкретный вид, заданный соответствующими цифрами. Например, из
полей Freguency Speccifications и Magnutide Specifications следует, что первая
полоса задерживания простирается от 0 до 7200 Гц. при ослаблении - 80 Дб., а
вторая полоса задерживания простирается от 12800 Гц. до 24000 Гц. при
ослаблении - 80 Дб.

Параметр проектирующего фильтра, заданные в полях окна программы
fdatool

16
АЧХ проектируемого
фильтра

17

Рис. Область Current Filter Information

Рис. Меню Edit, подменю Convert Structure
Меню Analysis делает доступным команды,
позволяющие
всесторонне
охарактеризовать
проектирующий фильтр:
•Filter Specifications (спецификация фильтра);
•Magnitude
Response
(амплитудно-частотная
характеристика);
•Phase Response (фазо-частотная характеристика);
•Magnitude and Phase Response (АЧХ, ФЧХ);
•Group Delay (групповое время задержки);
•Impulse Response (импульсная характеристика);
•Step Response (переходная характеристика);
•Pole/Zero Plot (полюса и нули);
•Filter Coefficients (коэффициенты фильтра);

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

18
Программа fdatool имеет команду "Реализация модели"
(Realize model) создающая mdl файлы, проектируемых
фильтров.

В левой части окна имеются
кнопки,
управляющие
разделом
Quantization. Установим параметры
квантования
(Set
Quantization
Parameters).
В главном окне появиться новое поле,
содержащее 3 пункта выбора: Doubleprecision floating-point, Single-precision
floating-point, Fixed-point.

19
АЧХ фильтра-прототипа и квантованного
фильтра с конечной импульсной
характеристикой
Параметры
квантователя
коэффициентов
КИХ-фильтра
20
АЧХ БИХ-фильтра

Параметры квантователя коэффициентов БИХ-фильтра

21
Домашнее задание
•Изучить разделы, посвященные цифровой обработки сигналов, в которых
определяются числовые характеристики, задающие параметры АЧХ.
•Изучить разделы, в которых используются фильтры с конечной и
бесконечной импульсными характеристиками.
•Изучить АЧХ характеристики наиболее распространенных типов фильтров.
•Определить параметры проектируемого фильтра и способы их задания.
•Порядок выполнения работы
•Для заданного варианта (табл.1) заполнить поля, определяющие параметры
АЧХ проектируемого фильтра.
•Для фильтра с конечной импульсной характеристикой найти:
•АЧХ.
•ФЧХ.
•Импульсную переходную характеристику.
•Переходную характеристику.
•Расположение нулей и полюсов.
•Структурную схему фильтра и его коэффициенты
Для определения вышеперечисленных характеристик следует войти в меню
Analysis или воспользоваться соответствующими кнопками, расположенными ниже
главного меню.
Для определения структуры следует воспользоваться кнопкой Realize Model,
расположенной снизу - слева. После нажатия этой кнопки становится активной
вторая кнопка Realize Model, распложенная внизу главного окна программы fdatool.
22
Воспользовавшись второй кнопкой Realize Model (предварительно поставив
•Перенести структурную схему в отсчет.
•Определить параметры фильтра с бесконечной импульсной характеристикой
•АЧХ.
•ФЧХ.
•Импульсную переходную характеристику.
•Переходную характеристику.
•Расположение нулей и полюсов.
•Структурную схему фильтра и его коэффициенты
5. Определим характеристику FIR фильтра с учетом квантования. Для этого
воспользуемся кнопкой Set Quatization Parametrs. После выполнения этой команды
открывается поле для построения характеристик фильтра с учетом квантования.
Введем команду Fixed-point, делающую активными поля, в которых задаются
требования к форме представления коэффициентов. В окне, представляющим АЧХ
фильтров появится два графика. Один - определяет АЧХ, в которой коэффициенты
передаточной функции заданы с машинной точностью, а второй график АЧХ - в
коэффициентах которого учтены квантования по уровню.
•Вычислим АЧХ фильтра с учетом квантования при разрядности коэффициентов
передаточной характеристики равном 8.
•Вычислим АЧХ фильтра с учетом квантования при разрядности коэффициентов
передаточной характеристики равном 8 и применении функции Best-precision fraction
lenth.
•Сравним характеристики цифровых FIR фильтров для трех вариантов
расчета.Приступаем к проектированию IIR фильтров.
9. Выполняем пункты 5-8 применительно к IIR. фильтрам.
23
10. Сравним характеристики FIR и IIR. фильтров и сделаем выводы.
Исходные данные для выполнения лабораторной работы
№

Fs

F stopl

F passl

F pass2 F stop2

A stopl A pass A stop2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

50000
60000
60000
60000
70000
80000
80000
100000
40000
50000
50000
50000
50000
70000
70000
70000
200000
200000
200000
200000
200000

8000
10000
8000
4000
10000
8000
10000
50000
10000
12000
13000
14000
14000
18000
18000
18000
40000
45000
46000
47000
47000

10000
12000
12000
12000
12000
9000
15000
60000
11000
15000
15000
15000
15000
20000
21000
22000
50000
50000
50000
50000
50000

12000
16000
16000
16000
16000
10000
25000
70000
15000
20000
20000
20000
20000
30000
29000
28000
60000
60000
60000
60000
60000

60
80
80
60
60
80
40
60
80
40
40
40
80
80
80
80
60
60
60
60
60

14000
20000
22000
26000
18000
11000
30000
80000
16000
23000
22000
21000
21000
32000
32000
32000
70000
65000
66000
63000
65000

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

80
80
60
60
60
80
40
60
80
40
40
40
80
80
80
80
60
60
60
60
60

24
Контрольные вопросы
• Какой фильтр называется фильтром с конечной импульсной характеристикой
(КИХ-фильтр)?
•Какой фильтр называется
характеристикой (БИХ-фильтр)?

фильтром

с

бесконечной

импульсной

•Какие типы КИХ и БИХ-фильтров присутствуют в пакета fdatool?
•Какими характеристиками описываются фильтры?
•Как сказывается на характеристиках КИХ-фильтра применение арифметики
расчета фильтра с фиксированной точкой (fixed-point) и почему?
•Как сказывается на характеристиках КИХ-фильтра уменьшение разрядности
коэффициентов квантования и почему?
•Как сказывается на характеристиках БИХ-фильтра применение арифметики
расчета фильтра с фиксированной точкой (fixed-point) и почему?
•Как сказывается на характеристиках БИХ-фильтра уменьшение разрядности
коэффициентов квантования и почему?
•Какой смысл функции Best-precision fraction lenth, и как ее применение
25
сказывается на характеристиках КИХ и БИХ-фильтров?
ЛАБОРАТОРНАЯ РАБОТА № 733
ЦИФРОВАЯ ФИЛЬТРАЦИЯ РЕЧЕВЫХ
СИГНАЛОВ В ПАКЕТЕ MATLAB
Цель работы:
- освоение приемов фильтрации речевых сигналов с
помощью пакета Matlab;
- освоение приемов НЧ фильтрации речевого сигнала,
маскируемого белым шумом;
- освоение способов синтеза цифровых винеровских
фильтров.

26
Формантные области

100

300

1000

5000

Гц

Спектр речевого сигнала
Спектр белого шума воспринимается ухом человека в области частот 2020000 Гц, его приближенно можно считать существующим в области частот 020000 Гц. Если осуществить фильтрацию аддитивной смеси речевого сигнала и
шума с помощью НЧ фильтра, частота среза которого fc=3500 Гц, тогда мощность
помехи понизится в 20000/3500 = 5,7 раза (рис.3) или в 10log5,7=7,6 дБ.
Рис. НЧ фильтрация речевого
сигнала

27
Фильтрация речевых сигналов с помощью пакета SPTool.
Импортируем речевой сигнал формата WAVE в программный пакет Matlab, для
этого в меню File выберите вкладку Import Data… и откройте файл Speech.wav.

Диалоговое окно
Workspace

После этого в диалоговом окне Workspace
должен появится массив данных data и fs (рис.4),
соответствующие исходному звуковому сигналу.
Переименуйте data в rech для удобства дальнейшей
работы. В окне Workspace отображается основная
информация
о
звуковом
файле:
частота
дискретизации Fs=44100 Гц; количество отсчетов
сигнала n=306940; моно; «double» – опция,
указывающая на запись в формате 16 бит/отсчет.

Прослушать загруженный речевой сигнал можно с помощью команды:
wavplay(rech,44100);
Ознакомление с фильтрацией звуковых сигналов начнем с программы SPTool.
Для активизации пакета SPTool нужно в командном окне программы Matlab
набрать команду sptool.
Для импорта массива rech из среды Matlab необходимо:
- в появившемся окне SPTool активизировать позицию меню «File– Import»;
- в появившемся окне Import to SPTool выделите имя переменной rech и
перенесите переменную в строку Data, нажав на кнопку со стрелкой вправо;
28
- укажите частоту дискретизации 44100;
- введите имя сигнала rech;
В результате в окне SPTool в разделе Signals появится вектор rech.
Для просмотра формы сигнала нажмите кнопку View в разделе Signals – в
результате появится окно Signal Browser с графиком сигнала.
Для прослушивания сигнала укажите вертикальными маркерами границы
прослушиваемого участка и нажмите пиктограмму с громкоговорителем.
Вычислим спектр речевого сигнала, для этого в разделе Spectra окна SPTool
нажмите кнопку Create и в появившемся окне Spectrum Viewer задайте параметры
спектрального анализа: Method – FFT (быстрое преобразование Фурье); Nfft 50000.
После нажатия кнопки Apply появится график амплитудного спектра сигнала
rech (рис.).

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

29
Определите в какой полосе частот сосредоточена основная часть спектра
речевого сигнала. Приблизительно ее можно принять за полосу частот на которой
уровень частотных состовляющих спадают не более чем 20 дБ от максимального
значения.
Сформируем средствами SPTool КИХ-фильтр низких частот синтезированный
методом окон Кайзера с граничной частотой 500 Гц, для этого в окне SPTool в
разделе Filters нажмите кнопку New.
В появившемся окне Filter Designer:
- задайте частоту дискретизации 44100;
- выберите Algoritm - Kaiser Window FIR;
- отключите флажок Minimum Order;
- задайте Type - lowpass;
- задайте частоту среза Fc = 500;
- задайте Beta - 5;
-нажмите кнопку Apply.
В результате будет сформирован
нужный фильтр filt1 – его АЧХ будет
показана в окне Filter Designer (рис.4),
а его имя появится в окне SPTool
в разделе Filters.
АЧХ фильтра НЧ Кайзера.
30
Моделирование процесса фильтрации речевого сигнала сформированным
фильтром производится следующим образом:
- в окне SPTool в разделе Signals выделите имя фильтруемого сигнала rech , а
в разделе Filters – имя фильтра filt1.
- нажмите в разделе Filter кнопку Apply – в результате появится окно Apply
Filter, в котором оставьте имя выходного сигнала таким, каким его предлагают, т.е.
sig1, и нажмите кнопку OK.
В результате в окне SPTool появится имя вектора sig1 – это и есть результат
фильтрации. Просмотреть форму сигнала sig1 и его спектр можно точно так же,
как это делалось для исходного сигнала rech.
Прослушайте полученный результат и оцените разборчивость голосового
сигнала. Измените частоту среза фильтра на 3000 Гц, проследите изменения в
сигнале.
Повторите проделанные действия для высокочастотного (ФВЧ) фильтра с
частотой среза 500 Гц и для полосового фильтра (ПФ) с частотами среза 500 Гц и
3000 Гц. Метод синтезирования фильтра используйте прежний - Kaiser Window
FIR. Определите какой из использованных фильтров дал наилучшую
разборчивость речевого сигнала, сделайте выводы.
31
Низкочастотная фильтрация аддитивной смеси речевого
сигнала и белого шума.

Располагая массивом rech, далее проделаем следующие действия:
- оценим стандартное отклонение речевого сигнала (среднее на интервале
существования сигнала);
- сгенерируем отрезок дискретного белого гауссовского шума с утроенным
стандартным отклонением;
- сложим речевой сигнал с помехой, в результате отношение сигнал-шум для
полученной смеси будет равно 1/9 (-10 дБ).
Команды Matlab для реализации таких действий:
std_rech=std(rech); % измерение станд.откл. речевого сигнала
std_noise=3*std_rech; % станд.откл. шума
n=std_noise*randn(length(rech),1); % генерирование шума
rech_noise = rech+n; % аддитивн.смесь
Прослушаем полученную смесь:
wavplay(rech_noise,44100);
НЧ фильтрацию этой смеси удобно реализовать с помощью программы
sptool, которая вызывается из командного окна командой:
sptool
Для того, чтобы такая обработка сигналов стала возможной, сигнал
rech_noise следует импортировать в среду программы sptool. Просмотрите
форму и спектр сигнала. Сформируйте НЧ фильтр (КИХ фильтр с окном Кайзера,
частота среза 4000 Гц, частота дискретизации 44100 Гц,
32
β =3, порядок фильтра 34) и примените его для фильтрации сигнала rech_noise
Синтез оптимального цифрового Винеровского КИХ
фильтра методом обратного преобразования Фурье.
Синтез винеровского фильтра в среде Matlab осуществим с помощью функции
fir2, позволяющей синтезировать цифровые КИХ фильтры с АЧХ значительно
более сложной формы. При этом, в сущности, требуемая АЧХ задается массивами
значений частоты и соответствующих значений АЧХ.
Для измерения спектров смеси
Gz ( f ) и помехи Gn ( f )
используем оценку Уэлча (Welch) с параметрами: длина сегментов и длина
весового окна Хэннинга Nfft=Nwin=1024; сегменты перекрываются на 512 отсчетов.
Таким образом, разрешающая способность спектрального анализа равна
44100/1024=43 Гц (что близко к минимальной ширине критической полосы слуха).
Fs=44100; nfft = 1024; window = hanning(nfft); noverlap = 512; % параметры
окна Хэннинга
[Gz,fz] = pwelch(rech_noise,window,noverlap,nfft,Fs); % оценка спектра смеси
plot(fz(1:128),Gz(1:128));
title('Спектр мощности смеси, Gz');
xlabel('Частота, Гц');ylabel('Уровень');
figure; [Gn,fn] = pwelch(n,window,noverlap,nfft,Fs); % оценка спектра помехи
plot(fn(1:128),Gn(1:128));
title('Спектр мощности помехи, Gn');
33
xlabel('Частота, Гц');ylabel('Уровень');
Примерный вид графиков оценок спектров смеси
Оценка спектра смеси

Оценка спектра помехи

34
Оценка требуемой АЧХ
фильтраH=abs(1-Gn./Gz);
figure;

винеровского

H( f )

plot(fz(1:128),H(1:128));
title('Оценка АЧХ винеровского фильтра, H');
xlabel('Частота, Гц');ylabel('Уровень');
Синтез винеровского фильтра 34-го порядка осуществим с помощью функции
fir2:
f=fz/22050; m=H;
a=fir2(250,f,m); % 34 – порядок фильтра
[h,w]=freqz(a,1); % АЧХ синтезированного фильтра
figure; plot(w(1:180)*22050/pi,abs(h(1:180)));
title('АЧХ синтезированного винеровского фильтра, H');
xlabel('Частота, Гц');ylabel('Уровень');

Синтезированная
АЧХ (34 порядок)

Оценка требуемой
АЧХ винеровского
фильтра

35
Синтезированная АЧХ (250 порядок)

Произведем теперь цифровую фильтрацию смеси сигнала с шумом, используя
коэффициенты синтезированного винеровского КИХ фильтра 250-го порядка.
rech2_denoise_10dB_wien250_spec=filter(a,1,rech_noise);

36
Прослушайте
речевой
сигнал,
отфильтрованный
синтезированным
винеровским фильтром 250-го порядка, убедитесь, что уровень маскирующего
шума
понизился.
С
помощью
утилиты
SPTool
посмотрите
форму
отфильтрованного сигнала и егшо спектр. Проследите тот факт что при
уменьшении шума существенно понизилась разборчивость речи. При этом в
первую очередь следует отметить плохое воспроизведение согласных звуков,
вполне объяснимое тем, что спектры согласных звуков содержат
высокочастотные компоненты.
Контрольные вопросы
•Что такое форманты речи?
•Как сказывается на разборчивость речи применение ФНЧ (частоты среза
500 и 3000 Гц) и почему?
•Как сказывается на разборчивость речи применение ФВЧ (частота среза
500 Гц) и почему?
•Как сказывается на разборчивость речи применение ПФ (частоты среза 500
и 3000 Гц) и почему?
•Насколько эффективно использование ФНЧ для фильтрации аддитивного
шума и почему?
•Что такое Винеровский КИХ-фильтр?
•Насколько эффективно использование Винеровского КИХ-фильтра для
фильтрации аддитивного шума и почему?
•Как сказывается на разборчивость речи применение Винеровского КИХ37
фильтра и почему?
ЛАБОРАТОРНАЯ РАБОТА № 734
ЦИФРОВАЯ ФИЛЬТРАЦИЯ В ЗАДАЧАХ УЛУЧШЕНИЯ
ИЗОБРАЖЕНИЙ

Целью работы является:
•изучение методов фильтрации изображений от шумов
в пакете Matlab;
•изучение генераторов шума в пакете Matlab;
•освоение приемов фильтрации
различных типов шумов.

изображений

для

38
Существует несколько основных причин появления шума, которые зависят
также от способа формирования изображений. Например:
- если изображение получено путем сканирования фотографической пленки, то
зерна пленки являются источником шума. Появление шума может объяснятся
также повреждением самой пленки или вносится сканирующим устройством.
- если изображение захвачено в цифровом формате, то механизм
формирования данных (CCD-детектор, квантирование) является источником шума.
- электронная передача данных изображения также может быть источником
шума.
Matlab обеспечивает несколько путей полного или частичного устранения
шума на изображениях. Для устранения различных видов шума разработаны
различные методы. Среди них:
•Использование медианной фильтрации;
•Использование адаптивной фильтрации.

39
Моделирование шума в Matlab. Добавить шум к изображению можно с
помощью команды:
J = imnoise(I,type)
J = imnoise(I,type,parameters)
Строковая переменная type может принимать одно из значений:
•'gaussian' - для гауссового белого шума;
•'localvar' - для гауссового белого шума с нулевым математическим ожиданием
и мощностью, зависящей от яркости;
•'poisson' – пуассоновский шум;
•'salt & pepper' – для шума в виде черных и белых пикселов («соль и перец»);
•'speckle' – для мультипликативного шума.
Строковая переменная parameters дополнительно задает параметры
соответствующего типа шума.
Например:
J = imnoise(I,'gaussian',m,v) – добавление к изображению I гауссового БШ со
средним m и дисперсией v. По умолчанию задается m=0, v=0.01.
J = imnoise(I,'localvar',V) - добавление к изображению I гауссового БШ с
нулевым m и локальной дисперсией V (должен являться массивом того же
размера, что и I).
J = imnoise(I,'localvar',image_intensity,var) - добавление к изображению I
гауссового БШ с нулевым m и локальной дисперсией var, где var является
функцией интенсивности I. image_intensity и var – векторы одинакового размера,
40
так что график plot(image_intensity,var) изображает функциональную зависимость
между дисперсией шума и интенсивностью изображения.
Вектор image_intensity должен содержать нормализованные интенсивности в
диапазоне от 0 до 1.
J = imnoise(I,'poisson') – генерирует пуассоновский шум из данных, вместо того
чтобы добавлять к данным искусственный шум.
J = imnoise(I,'salt & pepper',d) – параметр d есть плотность шума. В результате
генерируется примерно d*prod(size(I)) пикселей шума. По умолчанию d=0.05.
J = imnoise(I,'speckle',v) – к изображению I добавляется мультипликативный
шум, в соответствии с выражением J = I+n*I, где n – равномерно распределенный
случайный шум с нулевым средним и дисперсией v. По умолчанию v=0.04.
I может принадлежать классу uint8, uint16, или double. Результирующее
изображение J принадлежит тому же классу, что и I.
Пример:
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
imshow(I);title('Исходное изображение');
figure, imshow(J) ; title('Зашумленное изображение');

41
Применительно к помехе «соль и перец», пример с которой рассмотрен выше,
весьма эффективны медианные фильтры.
Команда выполнения медианной фильтрации:
B = medfilt2(A,[m n])
B = medfilt2(A)
B = medfilt2(A,'indexed',...)
Простейшая команда B = medfilt2(A) означает применение к изображению
двумерного медианного фильтра в виде размером 3х3.
Команда B = medfilt2(A,[m n]) означает применение к изображению двумерного
медианного фильтра в виде размером mхn.
Команда B = medfilt2(A,'indexed',...) применяется к индексному изображению.
Пример:
K_med = medfilt2(J);
imshow(J)
figure, imshow(K_med)
title('Фильтрованное изображение');
Результат медианной фильтрации показан на рис.

42
Функция wiener2 лучше работает с "белым" шумом, например гауссовским.
Команды:
K_gaus = wiener2(J_g,[m n],noise)
[K_gaus,noise] = wiener2(J_g,[m n])
Команда [K_gaus,noise] = wiener2(J_g,[m n]) позволяет вычислить мощность
noise гауссового шума в окрестности матрицы mхn пикселов.
Команда K_gaus = wiener2(J_g,[m n],noise) реализует винеровскую
фильтрацию.
Пример:
J_g = imnoise(I,'gaussian',0,0.005);
K_gaus = wiener2(J_g,[5 5]);
figure, imshow(J_g)
title('Зашумленное изображение (гаус.помеха)');
figure, imshow(K_gaus)
title('Фильтрованное изображение (гаус.помеха)');
Результат зашумления и последующей фильтрации гауссового шума показан
на рис.

43
Порядок выполнения работы
1. Переместить в рабочее пространство пакета Matlab тестовое изображение
“lena”. Для этого требуется ввести I = imread('lena.tif').
2. Добавить к изображению гауссовый белый шум (изображение I_gwn),
пуассоновский шум (изображение I_pn), шум «соль и перец» (изображение I_snp) и
мультипликативный шум (изображение I_mn).
3. Применить ко всем зашумленным изображениям медианный и адаптивный
фильтр.
4. Выявить для каждого вида шума наиболее оптимальный метод фильтрации.
Контрольные вопросы
•Причины возникновения шумов в изображении.
•Типы шумов, доступные для генерирования в пакете Matlab.
•Дополнительные параметры генерирования для каждого типа шума.
•Что такое медианная фильтрация?
•Что такое адаптивная (винеровская) фильтрация?
•Какой тип фильтрации предпочтителен для устранения гауссового белого шума?
•Какой тип фильтрации предпочтителен для устранения пуассоновского шума и
почему?
•Какой тип фильтрации предпочтителен для устранения шума «соль и перец» и
почему?
•Какой тип фильтрации предпочтителен для устранения мультипликативного шума
и почему?
44

More Related Content

Similar to P lr dsp a&v

Мультимедиа технологии
Мультимедиа технологииМультимедиа технологии
Мультимедиа технологии
Imperiu3
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with Android
UA Mobile
 
добавление звука и речевого сопровождения в презентацию
добавление звука и речевого сопровождения в презентациюдобавление звука и речевого сопровождения в презентацию
добавление звука и речевого сопровождения в презентацию
ANSevrukova
 
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Ontico
 
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
ivanov15548
 
диссертационная презентация
диссертационная презентациядиссертационная презентация
диссертационная презентация
Son Ingvar
 
Добавление речевого сопровождения в презентацию
Добавление речевого сопровождения в презентациюДобавление речевого сопровождения в презентацию
Добавление речевого сопровождения в презентацию
IrinaJ
 

Similar to P lr dsp a&v (20)

332 информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
332  информатика. 10кл. заборовский, пупцев-минск, 2011 -151с332  информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
332 информатика. 10кл. заборовский, пупцев-минск, 2011 -151с
 
Adobe audition cs6
Adobe audition cs6Adobe audition cs6
Adobe audition cs6
 
Мультимедиа технологии
Мультимедиа технологииМультимедиа технологии
Мультимедиа технологии
 
Компиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDAКомпиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDA
 
Проектирование аппаратно-студийных комплексов радиовещания
Проектирование аппаратно-студийных комплексов радиовещанияПроектирование аппаратно-студийных комплексов радиовещания
Проектирование аппаратно-студийных комплексов радиовещания
 
12.pptx
12.pptx12.pptx
12.pptx
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with Android
 
Maleev
MaleevMaleev
Maleev
 
добавление звука и речевого сопровождения в презентацию
добавление звука и речевого сопровождения в презентациюдобавление звука и речевого сопровождения в презентацию
добавление звука и речевого сопровождения в презентацию
 
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
 
Ngs 2
Ngs 2Ngs 2
Ngs 2
 
8 клас урок 15 рус
8 клас урок 15 рус8 клас урок 15 рус
8 клас урок 15 рус
 
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
 
8 клас урок 15 рус
8 клас урок 15 рус8 клас урок 15 рус
8 клас урок 15 рус
 
диссертационная презентация
диссертационная презентациядиссертационная презентация
диссертационная презентация
 
Видео + Конференция. Делаем звук качественным. Константин Смирнов
Видео + Конференция. Делаем звук качественным. Константин СмирновВидео + Конференция. Делаем звук качественным. Константин Смирнов
Видео + Конференция. Делаем звук качественным. Константин Смирнов
 
Видео + Конференция. Делаем звук качественным. Константин Смирнов
Видео + Конференция. Делаем звук качественным. Константин СмирновВидео + Конференция. Делаем звук качественным. Константин Смирнов
Видео + Конференция. Делаем звук качественным. Константин Смирнов
 
Добавление речевого сопровождения в презентацию
Добавление речевого сопровождения в презентациюДобавление речевого сопровождения в презентацию
Добавление речевого сопровождения в презентацию
 
Форматы видео и аудио файлов для мобильных устройств.
Форматы видео и аудио файлов для мобильных устройств. Форматы видео и аудио файлов для мобильных устройств.
Форматы видео и аудио файлов для мобильных устройств.
 
Obzor 2013 presentation
Obzor 2013 presentationObzor 2013 presentation
Obzor 2013 presentation
 

More from student_kai

презентация
презентацияпрезентация
презентация
student_kai
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
student_kai
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
student_kai
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
student_kai
 
лекция№34
лекция№34лекция№34
лекция№34
student_kai
 
лекция№32
лекция№32лекция№32
лекция№32
student_kai
 
лекция№33
лекция№33лекция№33
лекция№33
student_kai
 
лекция№31
лекция№31лекция№31
лекция№31
student_kai
 
лекция№30
лекция№30лекция№30
лекция№30
student_kai
 
лекция№29
лекция№29лекция№29
лекция№29
student_kai
 
лекция№28
лекция№28лекция№28
лекция№28
student_kai
 
лекция№27
лекция№27лекция№27
лекция№27
student_kai
 
лекция№26
лекция№26лекция№26
лекция№26
student_kai
 
лекция№25
лекция№25лекция№25
лекция№25
student_kai
 
лекция№25
лекция№25лекция№25
лекция№25
student_kai
 
лекция№24
лекция№24лекция№24
лекция№24
student_kai
 
лекция№23
лекция№23лекция№23
лекция№23
student_kai
 
лекция№22
лекция№22лекция№22
лекция№22
student_kai
 
лекция№21
лекция№21лекция№21
лекция№21
student_kai
 
лекция№20
лекция№20лекция№20
лекция№20
student_kai
 

More from student_kai (20)

презентация
презентацияпрезентация
презентация
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
 
лекция№34
лекция№34лекция№34
лекция№34
 
лекция№32
лекция№32лекция№32
лекция№32
 
лекция№33
лекция№33лекция№33
лекция№33
 
лекция№31
лекция№31лекция№31
лекция№31
 
лекция№30
лекция№30лекция№30
лекция№30
 
лекция№29
лекция№29лекция№29
лекция№29
 
лекция№28
лекция№28лекция№28
лекция№28
 
лекция№27
лекция№27лекция№27
лекция№27
 
лекция№26
лекция№26лекция№26
лекция№26
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№24
лекция№24лекция№24
лекция№24
 
лекция№23
лекция№23лекция№23
лекция№23
 
лекция№22
лекция№22лекция№22
лекция№22
 
лекция№21
лекция№21лекция№21
лекция№21
 
лекция№20
лекция№20лекция№20
лекция№20
 

P lr dsp a&v

  • 1. НАЦИОНАЛЬНО ИССЛЕДОВАТЕЛЬССКИЙ УНИВЕРСИТЕТ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А.Н.ТУПОЛЕВА О.Г.МОРОЗОВ, Р.Р.САМИГУЛЛИН, Н.В.ДОРОГОВ, А.Р.НАСЫБУЛЛИН ЦИФРОВАЯ ОБРАБОТКА АУДИО И ВИДЕОСИГНАЛОВ Методические указания в лабораторным работам 731-734 Методические указания предназначены для бакалавров ИРЭТ, обучающихся по бакалаврской программе направления 210400 «Радиотехника», профиль «Аудиовизуальная техника» КАЗАНЬ 2010
  • 2. Лабораторная работа №731 Сравнительный анализ аудиофайлов записанных с внешних источников звука Цель работы • изучение возможностей редактирования звуковых файлов в программном пакете Sound Forge; • изучение возможностей анализа звуковых файлов в программном пакете Sound Forge; • изучение влияния частоты дискретизации и разрядности квантования на качественные характеристики аудиофайлов. 2
  • 3. Sound Forge •Звуковой редактор Sound Forge компании Sonic Foundry считается одним из лучших, а может быть, и лучшим звуковым редактором. •Программа Sound Forge позволяет записывать звук со входов звуковой карты встроенной в процессорный блок или с CD, монтировать записанные фрагменты и обрабатывать их самыми разнообразными способами. Окно данных Каждый аудиофайл, открытый в Sound Forge, выводится в своем окне данных Рабочее окно программы 3
  • 5. Создание новых аудиофайлов • Для создание нового аудиофайла с помощью программы Sound Forge необходимо открыть пункт меню File -> New и определите атрибуты нового файла. Порядок выполнение записи аудиосигнала 1. Выберите пункт меню File -> New для открытия диалогового окна New Window, показанного на рис. 2. Выберите в раскрывающемся списке Sample rate (2.000 to 192.000 Hz) частоту сэмплирования для нового файла. 3. Выберите в группе Sample size разрядность для нового файла. 4. Определите в группе Channels, будет ли файл монофоническим или стереофоническим. 5. Щелкните на кнопке ОК. 5
  • 6. Сохранение аудиофайлов • 1. Выберите пункт меню File -> Save As для вывода диалогового окна Save As, показанного на рис. Обратите внимание, что это диалоговое окно имеет большую функциональность, чем стандартное диалоговое окно сохранения файлов операционной системы Windows. 6
  • 7. • • • • • • 2. В раскрывающемся списке Save in найдите папку, в которой вы хотите сохранить файл, или в раскрывающемся списке Recent выберите одну из недавно использовавшихся папок. 3. Введите имя аудиофайла (если оно еще отсутствует) в поле File name. 4. Выберите в раскрывающемся списке Save as type тип сохраняемого аудиофайла. 5. В раскрывающемся списке Format выберите формат (РСМ, ADPCM и т. п.) сохранения аудиоданных. 6. Выберите в раскрывающемся списке Attributes те атрибуты (частоту сэмплирования, разрядность, моно или стерео), которые вы хотели бы использовать при сохранении аудиоданных. 7. Если вы уже создали области или список воспроизведения для вашего аудиофайла, вы можете сохранить эту информацию несколькими способами с помощью списка Rgns/Playlist. Если вы не хотите сохранять эту информацию, выберите из списка пункт Do Not Save Regions or Playlist. Если вы хотите оставить эти данные внедренными в файл (что возможно только для типов файлов Wave и AVI), выберите пункт Save Regions and Playlist in .WAV/.AVI files. Вы можете также сохранить информацию в отдельном файле в специальном формате внешнего списка воспроизведения (файл с расширением sfl) программы Sound Forge, в формате Session 8 (файл с расширением prm — для использования с продуктом Digidesign 7 Session 8) или в формате Windows Media Script (файл с расширением txt — для использования с файлами Windows Media).
  • 8. 8. Если вы сохраняете ваш файл как Microsoft Wave (расширение wav), Windows Media (расширение asf), Video For Windows (расширение avi), RealMedia (расширение rm), RealNetworks G2 (также расширение rm) или MPEG Audio (расширение трЗ), вы можете внедрить в файл итоговую информацию. Для этого установите флажок Save Summary Information in file (.WAV, .AVI, .ASF, .RM). 9. Чтобы отредактировать или просмотреть итоговую информацию для файла, щелкните на кнопке Summary, после чего откроется диалоговое окно Properties. 10. Отредактируйте поля Title, Subject, Engineer, Copyright и Comments. 11. Вы можете также присоединить к файлу рисунок, щелкнув на кнопке Picture. В диалоговом окне Open Picture просто выберите файл в формате Windows Bitmap (bmp), Windows Cursor (cur) или Windows Icon (ico) для присоединения, а затем щелкните на кнопке Open. 12. Если вы хотите включить в файл еще больше информации, щелкните на кнопке Extended для открытия диалогового окна Extended Summary. 13. В поле Fields располагается вся дополнительная информация, которую вы можете включить в файл. Чтобы включить в файл конкретную часть информации, установите соответствующий флажок. После этого введите текст с информацией в поле Contents. Чтобы увидеть описание каждого элемента, указанного в поле Fields, просто выделите элемент и прочтите описание в нижней части диалогового окна. 14. Щелкните на кнопке OK в диалоговом окне Extended Summary - Running water with very low frequencies. 15. Нажмите на кнопку OK в диалоговом окне Properties. 16. Если вы сохраняете файл как Microsoft Wave (wav) и включили в файл информацию сэмплерной петли, вы можете сохранить эту информацию, установив флажок Save 8 Sampler Information in file. 17. Щелкните на кнопке Save для сохранения файла.
  • 9. Окно данных Окно данных позволяет просматривать, редактировать и обрабатывать звуковые данные. Спектральный анализ Для проведения спектрального анализа аудиосигнала необходимо во вкладке Tools выбрать команду Spectrum analysis . 9
  • 10. • В результате выполнения данной команды, будет построен график спектральных составляющих выбранного аудиофайла 10
  • 11. Практическая часть 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Соединить внешний звуковой источник с компьютером. На компьютере соединять с линейным входом (синий). Запустить программу Sound Forge. В программе создать новый файл. Меню File → New. Нажать на кнопку «Record» в меню. В появившемся окне установить параметры записи: 8000 Hz, 8-bit, Mono. Включить пункт меню «Монитор». Включить внешний звуковой источник. Включить проигрывание музыкальной композиции предложенной для исследования. Убедиться в наличии сигнала в окне «Record». Нажать на кнопку записи, записать один трек. Время записи одного фрагмента 1 мин. Сохранить записанный трек. Провести спектральный анализ полученной записи. Зарисовать полученный график. Нажать на кнопку «Record» в меню. В появившемся окне установить параметры записи: 8000 Hz, 16-bit, Mono. Включить пункт меню «Монитор». Повторите пункты 4-9. Повторите пункты 4-11 для частоты 44100 Hz. Повторите пункты 4-12 для режима Stereo/ Сделайте выводы. 11
  • 12. КОНТРОЛЬНЫЕ ВОПРОСЫ • • • • • • • Какие возможности редактирования звуковых файлов предоставляет Sound Forge? Какие возможности анализа звуковых файлов предоставляет Sound Forge? Какими параметрами записи можно оперировать в Sound Forge? Какую дополнительную информацию можно добавлять к сохраненным файлам? Как влияет частота дискретизации на спектральные характеристики полученного цифрового аудиофайла? Как влияет разрядность квантования на спектральные характеристики полученного цифрового аудиофайла? Какое влияние оказывает частота дискретизации и разрядность квантования на субъективное восприятие аудиофайла. 12
  • 13. Лабораторная работа №732 РАСЧЕТ ЦИФРОВЫХ ФИЛЬТРОВ В ПАКЕТЕ MATLAB С УЧЕТОМ КВАНТОВАНИЯ Целью работы является: •изучение возможностей проектирования цифровых фильтров с помощью пакета fdatool из библиотеке Filter Desing; •получение навыков проектирования цифровых фильтров; •изучение характеристик цифровых фильтров, у которых все операции над данными выполняются с машинной точностью; •изучение характеристик цифровых фильтров с 13 учетом квантования по уровню.
  • 14. •Проектирование цифровых фильтров с помощью пакета Filter Desing Главное окно программы fdatool 14
  • 15. Программа fdatool предлагает следующие типы фильтров: - Low pass (нижних частот); *High pass (высоких частот); *Band pass (полосовой фильтр); *Band stop (режекторный фильтр); Область Filter type имеет еще ниспадающее меню, в котором расположены специализированные цифровые цепи: *Differentiator (диффенциатор); *Hilbert Transformer (преобразователи Гильберта); *Multiband (многополосный фильтр) и т.д. 15
  • 16. В поле Filter Specifications заданы контуры АЧХ проектируемого фильтра, а в поле Freguency Speccifications и Magnutide Specifications требования к фильтру принимают конкретный вид, заданный соответствующими цифрами. Например, из полей Freguency Speccifications и Magnutide Specifications следует, что первая полоса задерживания простирается от 0 до 7200 Гц. при ослаблении - 80 Дб., а вторая полоса задерживания простирается от 12800 Гц. до 24000 Гц. при ослаблении - 80 Дб. Параметр проектирующего фильтра, заданные в полях окна программы fdatool 16
  • 17. АЧХ проектируемого фильтра 17 Рис. Область Current Filter Information Рис. Меню Edit, подменю Convert Structure
  • 18. Меню Analysis делает доступным команды, позволяющие всесторонне охарактеризовать проектирующий фильтр: •Filter Specifications (спецификация фильтра); •Magnitude Response (амплитудно-частотная характеристика); •Phase Response (фазо-частотная характеристика); •Magnitude and Phase Response (АЧХ, ФЧХ); •Group Delay (групповое время задержки); •Impulse Response (импульсная характеристика); •Step Response (переходная характеристика); •Pole/Zero Plot (полюса и нули); •Filter Coefficients (коэффициенты фильтра); Для отображения той или иной характеристики фильтра, необходимо выбрать соответствующую команду или нажать одну из кнопок, расположенных вверху главного окна под строкой меню. 18
  • 19. Программа fdatool имеет команду "Реализация модели" (Realize model) создающая mdl файлы, проектируемых фильтров. В левой части окна имеются кнопки, управляющие разделом Quantization. Установим параметры квантования (Set Quantization Parameters). В главном окне появиться новое поле, содержащее 3 пункта выбора: Doubleprecision floating-point, Single-precision floating-point, Fixed-point. 19
  • 20. АЧХ фильтра-прототипа и квантованного фильтра с конечной импульсной характеристикой Параметры квантователя коэффициентов КИХ-фильтра 20
  • 21. АЧХ БИХ-фильтра Параметры квантователя коэффициентов БИХ-фильтра 21
  • 22. Домашнее задание •Изучить разделы, посвященные цифровой обработки сигналов, в которых определяются числовые характеристики, задающие параметры АЧХ. •Изучить разделы, в которых используются фильтры с конечной и бесконечной импульсными характеристиками. •Изучить АЧХ характеристики наиболее распространенных типов фильтров. •Определить параметры проектируемого фильтра и способы их задания. •Порядок выполнения работы •Для заданного варианта (табл.1) заполнить поля, определяющие параметры АЧХ проектируемого фильтра. •Для фильтра с конечной импульсной характеристикой найти: •АЧХ. •ФЧХ. •Импульсную переходную характеристику. •Переходную характеристику. •Расположение нулей и полюсов. •Структурную схему фильтра и его коэффициенты Для определения вышеперечисленных характеристик следует войти в меню Analysis или воспользоваться соответствующими кнопками, расположенными ниже главного меню. Для определения структуры следует воспользоваться кнопкой Realize Model, расположенной снизу - слева. После нажатия этой кнопки становится активной вторая кнопка Realize Model, распложенная внизу главного окна программы fdatool. 22 Воспользовавшись второй кнопкой Realize Model (предварительно поставив
  • 23. •Перенести структурную схему в отсчет. •Определить параметры фильтра с бесконечной импульсной характеристикой •АЧХ. •ФЧХ. •Импульсную переходную характеристику. •Переходную характеристику. •Расположение нулей и полюсов. •Структурную схему фильтра и его коэффициенты 5. Определим характеристику FIR фильтра с учетом квантования. Для этого воспользуемся кнопкой Set Quatization Parametrs. После выполнения этой команды открывается поле для построения характеристик фильтра с учетом квантования. Введем команду Fixed-point, делающую активными поля, в которых задаются требования к форме представления коэффициентов. В окне, представляющим АЧХ фильтров появится два графика. Один - определяет АЧХ, в которой коэффициенты передаточной функции заданы с машинной точностью, а второй график АЧХ - в коэффициентах которого учтены квантования по уровню. •Вычислим АЧХ фильтра с учетом квантования при разрядности коэффициентов передаточной характеристики равном 8. •Вычислим АЧХ фильтра с учетом квантования при разрядности коэффициентов передаточной характеристики равном 8 и применении функции Best-precision fraction lenth. •Сравним характеристики цифровых FIR фильтров для трех вариантов расчета.Приступаем к проектированию IIR фильтров. 9. Выполняем пункты 5-8 применительно к IIR. фильтрам. 23 10. Сравним характеристики FIR и IIR. фильтров и сделаем выводы.
  • 24. Исходные данные для выполнения лабораторной работы № Fs F stopl F passl F pass2 F stop2 A stopl A pass A stop2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 50000 60000 60000 60000 70000 80000 80000 100000 40000 50000 50000 50000 50000 70000 70000 70000 200000 200000 200000 200000 200000 8000 10000 8000 4000 10000 8000 10000 50000 10000 12000 13000 14000 14000 18000 18000 18000 40000 45000 46000 47000 47000 10000 12000 12000 12000 12000 9000 15000 60000 11000 15000 15000 15000 15000 20000 21000 22000 50000 50000 50000 50000 50000 12000 16000 16000 16000 16000 10000 25000 70000 15000 20000 20000 20000 20000 30000 29000 28000 60000 60000 60000 60000 60000 60 80 80 60 60 80 40 60 80 40 40 40 80 80 80 80 60 60 60 60 60 14000 20000 22000 26000 18000 11000 30000 80000 16000 23000 22000 21000 21000 32000 32000 32000 70000 65000 66000 63000 65000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 80 80 60 60 60 80 40 60 80 40 40 40 80 80 80 80 60 60 60 60 60 24
  • 25. Контрольные вопросы • Какой фильтр называется фильтром с конечной импульсной характеристикой (КИХ-фильтр)? •Какой фильтр называется характеристикой (БИХ-фильтр)? фильтром с бесконечной импульсной •Какие типы КИХ и БИХ-фильтров присутствуют в пакета fdatool? •Какими характеристиками описываются фильтры? •Как сказывается на характеристиках КИХ-фильтра применение арифметики расчета фильтра с фиксированной точкой (fixed-point) и почему? •Как сказывается на характеристиках КИХ-фильтра уменьшение разрядности коэффициентов квантования и почему? •Как сказывается на характеристиках БИХ-фильтра применение арифметики расчета фильтра с фиксированной точкой (fixed-point) и почему? •Как сказывается на характеристиках БИХ-фильтра уменьшение разрядности коэффициентов квантования и почему? •Какой смысл функции Best-precision fraction lenth, и как ее применение 25 сказывается на характеристиках КИХ и БИХ-фильтров?
  • 26. ЛАБОРАТОРНАЯ РАБОТА № 733 ЦИФРОВАЯ ФИЛЬТРАЦИЯ РЕЧЕВЫХ СИГНАЛОВ В ПАКЕТЕ MATLAB Цель работы: - освоение приемов фильтрации речевых сигналов с помощью пакета Matlab; - освоение приемов НЧ фильтрации речевого сигнала, маскируемого белым шумом; - освоение способов синтеза цифровых винеровских фильтров. 26
  • 27. Формантные области 100 300 1000 5000 Гц Спектр речевого сигнала Спектр белого шума воспринимается ухом человека в области частот 2020000 Гц, его приближенно можно считать существующим в области частот 020000 Гц. Если осуществить фильтрацию аддитивной смеси речевого сигнала и шума с помощью НЧ фильтра, частота среза которого fc=3500 Гц, тогда мощность помехи понизится в 20000/3500 = 5,7 раза (рис.3) или в 10log5,7=7,6 дБ. Рис. НЧ фильтрация речевого сигнала 27
  • 28. Фильтрация речевых сигналов с помощью пакета SPTool. Импортируем речевой сигнал формата WAVE в программный пакет Matlab, для этого в меню File выберите вкладку Import Data… и откройте файл Speech.wav. Диалоговое окно Workspace После этого в диалоговом окне Workspace должен появится массив данных data и fs (рис.4), соответствующие исходному звуковому сигналу. Переименуйте data в rech для удобства дальнейшей работы. В окне Workspace отображается основная информация о звуковом файле: частота дискретизации Fs=44100 Гц; количество отсчетов сигнала n=306940; моно; «double» – опция, указывающая на запись в формате 16 бит/отсчет. Прослушать загруженный речевой сигнал можно с помощью команды: wavplay(rech,44100); Ознакомление с фильтрацией звуковых сигналов начнем с программы SPTool. Для активизации пакета SPTool нужно в командном окне программы Matlab набрать команду sptool. Для импорта массива rech из среды Matlab необходимо: - в появившемся окне SPTool активизировать позицию меню «File– Import»; - в появившемся окне Import to SPTool выделите имя переменной rech и перенесите переменную в строку Data, нажав на кнопку со стрелкой вправо; 28 - укажите частоту дискретизации 44100; - введите имя сигнала rech;
  • 29. В результате в окне SPTool в разделе Signals появится вектор rech. Для просмотра формы сигнала нажмите кнопку View в разделе Signals – в результате появится окно Signal Browser с графиком сигнала. Для прослушивания сигнала укажите вертикальными маркерами границы прослушиваемого участка и нажмите пиктограмму с громкоговорителем. Вычислим спектр речевого сигнала, для этого в разделе Spectra окна SPTool нажмите кнопку Create и в появившемся окне Spectrum Viewer задайте параметры спектрального анализа: Method – FFT (быстрое преобразование Фурье); Nfft 50000. После нажатия кнопки Apply появится график амплитудного спектра сигнала rech (рис.). Спектр речевого сигнала 29
  • 30. Определите в какой полосе частот сосредоточена основная часть спектра речевого сигнала. Приблизительно ее можно принять за полосу частот на которой уровень частотных состовляющих спадают не более чем 20 дБ от максимального значения. Сформируем средствами SPTool КИХ-фильтр низких частот синтезированный методом окон Кайзера с граничной частотой 500 Гц, для этого в окне SPTool в разделе Filters нажмите кнопку New. В появившемся окне Filter Designer: - задайте частоту дискретизации 44100; - выберите Algoritm - Kaiser Window FIR; - отключите флажок Minimum Order; - задайте Type - lowpass; - задайте частоту среза Fc = 500; - задайте Beta - 5; -нажмите кнопку Apply. В результате будет сформирован нужный фильтр filt1 – его АЧХ будет показана в окне Filter Designer (рис.4), а его имя появится в окне SPTool в разделе Filters. АЧХ фильтра НЧ Кайзера. 30
  • 31. Моделирование процесса фильтрации речевого сигнала сформированным фильтром производится следующим образом: - в окне SPTool в разделе Signals выделите имя фильтруемого сигнала rech , а в разделе Filters – имя фильтра filt1. - нажмите в разделе Filter кнопку Apply – в результате появится окно Apply Filter, в котором оставьте имя выходного сигнала таким, каким его предлагают, т.е. sig1, и нажмите кнопку OK. В результате в окне SPTool появится имя вектора sig1 – это и есть результат фильтрации. Просмотреть форму сигнала sig1 и его спектр можно точно так же, как это делалось для исходного сигнала rech. Прослушайте полученный результат и оцените разборчивость голосового сигнала. Измените частоту среза фильтра на 3000 Гц, проследите изменения в сигнале. Повторите проделанные действия для высокочастотного (ФВЧ) фильтра с частотой среза 500 Гц и для полосового фильтра (ПФ) с частотами среза 500 Гц и 3000 Гц. Метод синтезирования фильтра используйте прежний - Kaiser Window FIR. Определите какой из использованных фильтров дал наилучшую разборчивость речевого сигнала, сделайте выводы. 31
  • 32. Низкочастотная фильтрация аддитивной смеси речевого сигнала и белого шума. Располагая массивом rech, далее проделаем следующие действия: - оценим стандартное отклонение речевого сигнала (среднее на интервале существования сигнала); - сгенерируем отрезок дискретного белого гауссовского шума с утроенным стандартным отклонением; - сложим речевой сигнал с помехой, в результате отношение сигнал-шум для полученной смеси будет равно 1/9 (-10 дБ). Команды Matlab для реализации таких действий: std_rech=std(rech); % измерение станд.откл. речевого сигнала std_noise=3*std_rech; % станд.откл. шума n=std_noise*randn(length(rech),1); % генерирование шума rech_noise = rech+n; % аддитивн.смесь Прослушаем полученную смесь: wavplay(rech_noise,44100); НЧ фильтрацию этой смеси удобно реализовать с помощью программы sptool, которая вызывается из командного окна командой: sptool Для того, чтобы такая обработка сигналов стала возможной, сигнал rech_noise следует импортировать в среду программы sptool. Просмотрите форму и спектр сигнала. Сформируйте НЧ фильтр (КИХ фильтр с окном Кайзера, частота среза 4000 Гц, частота дискретизации 44100 Гц, 32 β =3, порядок фильтра 34) и примените его для фильтрации сигнала rech_noise
  • 33. Синтез оптимального цифрового Винеровского КИХ фильтра методом обратного преобразования Фурье. Синтез винеровского фильтра в среде Matlab осуществим с помощью функции fir2, позволяющей синтезировать цифровые КИХ фильтры с АЧХ значительно более сложной формы. При этом, в сущности, требуемая АЧХ задается массивами значений частоты и соответствующих значений АЧХ. Для измерения спектров смеси Gz ( f ) и помехи Gn ( f ) используем оценку Уэлча (Welch) с параметрами: длина сегментов и длина весового окна Хэннинга Nfft=Nwin=1024; сегменты перекрываются на 512 отсчетов. Таким образом, разрешающая способность спектрального анализа равна 44100/1024=43 Гц (что близко к минимальной ширине критической полосы слуха). Fs=44100; nfft = 1024; window = hanning(nfft); noverlap = 512; % параметры окна Хэннинга [Gz,fz] = pwelch(rech_noise,window,noverlap,nfft,Fs); % оценка спектра смеси plot(fz(1:128),Gz(1:128)); title('Спектр мощности смеси, Gz'); xlabel('Частота, Гц');ylabel('Уровень'); figure; [Gn,fn] = pwelch(n,window,noverlap,nfft,Fs); % оценка спектра помехи plot(fn(1:128),Gn(1:128)); title('Спектр мощности помехи, Gn'); 33 xlabel('Частота, Гц');ylabel('Уровень'); Примерный вид графиков оценок спектров смеси
  • 34. Оценка спектра смеси Оценка спектра помехи 34
  • 35. Оценка требуемой АЧХ фильтраH=abs(1-Gn./Gz); figure; винеровского H( f ) plot(fz(1:128),H(1:128)); title('Оценка АЧХ винеровского фильтра, H'); xlabel('Частота, Гц');ylabel('Уровень'); Синтез винеровского фильтра 34-го порядка осуществим с помощью функции fir2: f=fz/22050; m=H; a=fir2(250,f,m); % 34 – порядок фильтра [h,w]=freqz(a,1); % АЧХ синтезированного фильтра figure; plot(w(1:180)*22050/pi,abs(h(1:180))); title('АЧХ синтезированного винеровского фильтра, H'); xlabel('Частота, Гц');ylabel('Уровень'); Синтезированная АЧХ (34 порядок) Оценка требуемой АЧХ винеровского фильтра 35
  • 36. Синтезированная АЧХ (250 порядок) Произведем теперь цифровую фильтрацию смеси сигнала с шумом, используя коэффициенты синтезированного винеровского КИХ фильтра 250-го порядка. rech2_denoise_10dB_wien250_spec=filter(a,1,rech_noise); 36
  • 37. Прослушайте речевой сигнал, отфильтрованный синтезированным винеровским фильтром 250-го порядка, убедитесь, что уровень маскирующего шума понизился. С помощью утилиты SPTool посмотрите форму отфильтрованного сигнала и егшо спектр. Проследите тот факт что при уменьшении шума существенно понизилась разборчивость речи. При этом в первую очередь следует отметить плохое воспроизведение согласных звуков, вполне объяснимое тем, что спектры согласных звуков содержат высокочастотные компоненты. Контрольные вопросы •Что такое форманты речи? •Как сказывается на разборчивость речи применение ФНЧ (частоты среза 500 и 3000 Гц) и почему? •Как сказывается на разборчивость речи применение ФВЧ (частота среза 500 Гц) и почему? •Как сказывается на разборчивость речи применение ПФ (частоты среза 500 и 3000 Гц) и почему? •Насколько эффективно использование ФНЧ для фильтрации аддитивного шума и почему? •Что такое Винеровский КИХ-фильтр? •Насколько эффективно использование Винеровского КИХ-фильтра для фильтрации аддитивного шума и почему? •Как сказывается на разборчивость речи применение Винеровского КИХ37 фильтра и почему?
  • 38. ЛАБОРАТОРНАЯ РАБОТА № 734 ЦИФРОВАЯ ФИЛЬТРАЦИЯ В ЗАДАЧАХ УЛУЧШЕНИЯ ИЗОБРАЖЕНИЙ Целью работы является: •изучение методов фильтрации изображений от шумов в пакете Matlab; •изучение генераторов шума в пакете Matlab; •освоение приемов фильтрации различных типов шумов. изображений для 38
  • 39. Существует несколько основных причин появления шума, которые зависят также от способа формирования изображений. Например: - если изображение получено путем сканирования фотографической пленки, то зерна пленки являются источником шума. Появление шума может объяснятся также повреждением самой пленки или вносится сканирующим устройством. - если изображение захвачено в цифровом формате, то механизм формирования данных (CCD-детектор, квантирование) является источником шума. - электронная передача данных изображения также может быть источником шума. Matlab обеспечивает несколько путей полного или частичного устранения шума на изображениях. Для устранения различных видов шума разработаны различные методы. Среди них: •Использование медианной фильтрации; •Использование адаптивной фильтрации. 39
  • 40. Моделирование шума в Matlab. Добавить шум к изображению можно с помощью команды: J = imnoise(I,type) J = imnoise(I,type,parameters) Строковая переменная type может принимать одно из значений: •'gaussian' - для гауссового белого шума; •'localvar' - для гауссового белого шума с нулевым математическим ожиданием и мощностью, зависящей от яркости; •'poisson' – пуассоновский шум; •'salt & pepper' – для шума в виде черных и белых пикселов («соль и перец»); •'speckle' – для мультипликативного шума. Строковая переменная parameters дополнительно задает параметры соответствующего типа шума. Например: J = imnoise(I,'gaussian',m,v) – добавление к изображению I гауссового БШ со средним m и дисперсией v. По умолчанию задается m=0, v=0.01. J = imnoise(I,'localvar',V) - добавление к изображению I гауссового БШ с нулевым m и локальной дисперсией V (должен являться массивом того же размера, что и I). J = imnoise(I,'localvar',image_intensity,var) - добавление к изображению I гауссового БШ с нулевым m и локальной дисперсией var, где var является функцией интенсивности I. image_intensity и var – векторы одинакового размера, 40 так что график plot(image_intensity,var) изображает функциональную зависимость между дисперсией шума и интенсивностью изображения.
  • 41. Вектор image_intensity должен содержать нормализованные интенсивности в диапазоне от 0 до 1. J = imnoise(I,'poisson') – генерирует пуассоновский шум из данных, вместо того чтобы добавлять к данным искусственный шум. J = imnoise(I,'salt & pepper',d) – параметр d есть плотность шума. В результате генерируется примерно d*prod(size(I)) пикселей шума. По умолчанию d=0.05. J = imnoise(I,'speckle',v) – к изображению I добавляется мультипликативный шум, в соответствии с выражением J = I+n*I, где n – равномерно распределенный случайный шум с нулевым средним и дисперсией v. По умолчанию v=0.04. I может принадлежать классу uint8, uint16, или double. Результирующее изображение J принадлежит тому же классу, что и I. Пример: I = imread('eight.tif'); J = imnoise(I,'salt & pepper',0.02); imshow(I);title('Исходное изображение'); figure, imshow(J) ; title('Зашумленное изображение'); 41
  • 42. Применительно к помехе «соль и перец», пример с которой рассмотрен выше, весьма эффективны медианные фильтры. Команда выполнения медианной фильтрации: B = medfilt2(A,[m n]) B = medfilt2(A) B = medfilt2(A,'indexed',...) Простейшая команда B = medfilt2(A) означает применение к изображению двумерного медианного фильтра в виде размером 3х3. Команда B = medfilt2(A,[m n]) означает применение к изображению двумерного медианного фильтра в виде размером mхn. Команда B = medfilt2(A,'indexed',...) применяется к индексному изображению. Пример: K_med = medfilt2(J); imshow(J) figure, imshow(K_med) title('Фильтрованное изображение'); Результат медианной фильтрации показан на рис. 42
  • 43. Функция wiener2 лучше работает с "белым" шумом, например гауссовским. Команды: K_gaus = wiener2(J_g,[m n],noise) [K_gaus,noise] = wiener2(J_g,[m n]) Команда [K_gaus,noise] = wiener2(J_g,[m n]) позволяет вычислить мощность noise гауссового шума в окрестности матрицы mхn пикселов. Команда K_gaus = wiener2(J_g,[m n],noise) реализует винеровскую фильтрацию. Пример: J_g = imnoise(I,'gaussian',0,0.005); K_gaus = wiener2(J_g,[5 5]); figure, imshow(J_g) title('Зашумленное изображение (гаус.помеха)'); figure, imshow(K_gaus) title('Фильтрованное изображение (гаус.помеха)'); Результат зашумления и последующей фильтрации гауссового шума показан на рис. 43
  • 44. Порядок выполнения работы 1. Переместить в рабочее пространство пакета Matlab тестовое изображение “lena”. Для этого требуется ввести I = imread('lena.tif'). 2. Добавить к изображению гауссовый белый шум (изображение I_gwn), пуассоновский шум (изображение I_pn), шум «соль и перец» (изображение I_snp) и мультипликативный шум (изображение I_mn). 3. Применить ко всем зашумленным изображениям медианный и адаптивный фильтр. 4. Выявить для каждого вида шума наиболее оптимальный метод фильтрации. Контрольные вопросы •Причины возникновения шумов в изображении. •Типы шумов, доступные для генерирования в пакете Matlab. •Дополнительные параметры генерирования для каждого типа шума. •Что такое медианная фильтрация? •Что такое адаптивная (винеровская) фильтрация? •Какой тип фильтрации предпочтителен для устранения гауссового белого шума? •Какой тип фильтрации предпочтителен для устранения пуассоновского шума и почему? •Какой тип фильтрации предпочтителен для устранения шума «соль и перец» и почему? •Какой тип фильтрации предпочтителен для устранения мультипликативного шума и почему? 44