1. НАЦИОНАЛЬНО ИССЛЕДОВАТЕЛЬССКИЙ УНИВЕРСИТЕТ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
им. А.Н.ТУПОЛЕВА
О.Г.МОРОЗОВ, Р.Р.САМИГУЛЛИН,
Н.В.ДОРОГОВ, А.Р.НАСЫБУЛЛИН
ЦИФРОВАЯ ОБРАБОТКА АУДИО И
ВИДЕОСИГНАЛОВ
Методические указания по выполнению курсовой работы
Методические указания предназначены для бакалавров ИРЭТ,
обучающихся по бакалаврской программе направления 210400
«Радиотехника», профиль «Аудиовизуальная техника»
КАЗАНЬ
2010
2. ВВЕДЕНИЕ
Курсовая работа по курсу «Цифровая обработка аудио и
видеосигналов» выполняется студентами радиотехнических
специальностей, обучающихся по профилю подготовки
«Аудиовизуальная
техника»
направления
210400
«Радиотехника».
Для выполнения курсовой работы по курсу «Цифровая
обработка аудио и видеосигналов» студент должен
применить знания, полученные при изучении курсов
«Радиотехнические цепи и сигналы», «Схемотехника
аналоговых
электронных
устройств»,
«Основы
телевидения», «Электроакустика», «Цифровая обработка
аудио и видеосигналов». Кроме этого, для выполнения
курсовой работы в настоящих методических указаниях
приводится
библиографический
список
рекомендуемой
литературы.
3. ЦЕЛЬ И ЗАДАЧИ КУРСОВОГО ПРОЕКТИРОВАНИЯ
Курсовая работа выполняется для закрепления и
расширения теоретических знаний по курсу «Цифровая
обработка аудио и видеосигналов», получения навыков
синтеза и расчета цифровых фильтров.
При выполнении курсовой работы студент должен:
- научиться самостоятельной работе
с технической
литературой и нормативными документами;
- ознакомиться с методами моделирования цифровых
фильтров.
Выполнение проекта дает опыт выполнения инженерных
расчетов, практику составления и оформления пояснительной
записки, выполне-ния функциональных схем, представления и
защиты технических решений.
За время курсового проектирования студент приобретает
навыки для выполнения итоговой работы в университете −
дипломного проек-та (работы).
4. СОДЕРЖАНИЕ КУРСОВОЙ РАБОТЫ
Задача студента - спроектировать один из 4-х
типов фильтров (ФНЧ, ФВЧ, РФ и ПФ) двух классов –
КИХ и БИХ, по трем методикам (для КИХ – метод
взвешивания,
метод
частотной
выборки,
оптимизационные методы; для БИХ – метод
инвариантного
преобразования
импульсной
характеристики,
билинейное
преобразование,
размещение нулей и полюсов). Расчет производится
в программном продукте Matlab, имеющем обширные
возможности для моделирования всевозможных
типов ЦФ. Индивидуальное задание основано на
конкретном применении цифровой фильтрации в
аудио или видео приложениях.
5. Содержание отчета
• титульный лист
• задание на проектирование
• листинг программы, вписанные в него авторучкой
комментарии к командам программы
• результаты проектирования:
- таблицу коэффициента передачи,
- график АЧХ
- график ФЧХ
- график расположения нулей и полюсов
- график реакции ЦФ на импульсное воздействие
- структурные схемы синтезированных ЦФ
• выводы.
6. ОБЩИЕ СВЕДЕНИЯ И ПРИМЕРЫ РАСЧЕТОВ
1.Разработка КИХ-фильтра с помощью MATLAB
Метод взвешивания.
Этапы вычисления коэффициентов стандартного частотно-избирательного КИХ-фильтра
с линейной фазовой характеристикой с помощью метода взвешивания можно упорядочить
следующим образом.
1.Задать необходимую частотную характеристику.
2.Выбрать весовую функцию и оценить число коэффициентов фильтра, N.
3.Получить идеальную частотную характеристику, hD(n) (усеченную до N значений).
4.Получить N коэффициентов весовой функции, ω(п).
5.Получить коэффициенты КИХ-фильтра, воздействовав на частотную характеристику
весовой функцией, h(n) = hD(n) × ω(n).
В этом случае используется такой синтаксис:
b = fir1(N-1, Fc, 'тип фильтра')
b = fir1(N-1, Fc, window)
b = fir1(N -1, Fc, 'тип фильтра', window)
MATLAB поддерживает использование различных весовых функций, включая функ-ции
Хэмминга (Hamming), Хеннинга (Hanning), прямоугольную (boxcar), Кайзера (Kai-ser) и
Чебышева (Chebyshev).
w = boxcar(N)
w = blackman(N)
w = hamming(N)
w = hanning(N)
w = kaiser(N, beta)
7. Пример 1
•
Вычисление коэффициентов КИХ-фильтра с использованием весовой функции Кайзера.
Определите коэффициенты и изобразите амплитудно-частотную ха-рактеристику
полосового КИХ-фильтра, используя весовую функцию Кайзера и MAT-LAB. Фильтр
должен удовлетворять следующим спецификациям:
полоса пропускания
150-250 Гц,
ширина полосы перехода 50 Гц,
неравномерность в полосе пропускания
0,1 дБ,
затухание в полосе подавления
60 дБ,
частота дискретизации
1 кГц.
•
•
•
•
•
Коэффициенты фильтра
АЧХ фильтра
n
h(n)
n
h(n)
n
h(n)
n
h(n)
0
-0,0001
10
-0, 0005
20
0,0069
30
0,0094
-0,0004
11
-0, 0044
21
0,0189
31
0,0856
2
-0,0001
12
-0,0022
22
0,0029
32
0,0453
3
-0,0001
13
0,0069
23
0, 0044
33
-0,1665
4
-0,0007
14
0,0066
24
0,0188
34
-0,2066
5
0, 0005
15
-0,0016
25
-0,0125
35
0,0891
6
0, 0023
16
0, 0000
26
-0,0520
36
0, 2998
7
0, 0008
17
0,0022
27
-0,0165
8
-0,0017
18
-0,0117
28
0,0333
9
-0,0005
19
-0,0164
29
0,0104
1
8. Программа 1. Реализация решения примера 1 в форме m-файла
MATLAB
FS=1000; % Частота дискретизации FN=FS/2; % Частота
Найквиста N=73; % Длина фильтра
beta=5.65; % Параметр неравномерности функциКайзера
fc1=125/FN; % Нормированные частоты среза fc2=275/FN;
FC=[fcl fc2]; % Вектор краевых частот
hn=fir1(N-l,FC,kaiser(N,beta)); % Получить
коэффициенты фильтра
[H,f]=freqz(hn,1,512,FS); % Вычислить частотную
характеристику
mag=20*loglO(abs(H));
plot(f,mag),
grid on
xlabel ('Частота (Гц)’)
ylabel('Амплитудная характеристика (дБ)')
9. Оптимизационные методы
Средство Signal Processing Toolbox в MATLAB содержит
несколько программ разработки и функций для создания
оптимальных КИХфильтров на основе алгоритмов ПарксаМак
Клиллана и Ремеза. Основной командой для вычисления
коэффициентов с помощью оптимального метода является remez.
Команда может использоваться для разработки многополосных
КИХфильтров с линейной фазовой характеристикой. В
стандартной форме она имеет следующий синтаксис:
b = remez(N - 1,F,M),
где N — длина фильтра, F — вектор нормированных
граничных частот, а М — вектор желаемой амплитудной
характеристики фильтра на заданных граничных частотах. Гра
ничные частоты нормированы на половину частоты дискретизации
и лежат в диапазоне от 0 до 1 (частота Найквиста соответствует
1).
10. Пример 2
Используя оптимальный метод, вычислите коэффициенты и изобразите
частотную характеристику полосового КИХфильтра с линейной фазовой
характеристикой, удовлетворяющего следующим спецификациям:
полоса пропускания
10001500 Гц,
полоса перехода
500 Гц,
длина фильтра
41,
частота дискретизации 10 000 Гц.
Программа 2. Реализация вычисления коэффициентов оптимального
КИХ-фильтра и вывода на экран частотной характеристики в форме mфайла MATLAB
Fs=1000; % Частота дискретизации N=41; % Длина фильтра
М=[0 0 1 1 0 0]; % Желаемая амплитудная характеристика
F=[0, 0.1, 0.2, 0.3, 0.4, 1]; % Края полос
b=remez(N-l, F, М); % Вычислить коэффициенты фильтра
[Н, f]=freqz(b, 1, 512, Fs); % Вычислить частотную
характеристику
mag=20*logl0(abs(Н)); % фильтра и нарисовать ее
plot(f ,mag)
xlabel ('Frequency (Hz)’)
ylabel ('Magnitude (dB)’)
12. Метод частотной выборки.
Для разработки КИХфильтров с произвольными
частотными характеристиками, подобных фильтрам,
рассмотренным при использовании метода частотной
выборки, предназначена команда fir2. Синтаксис
стандартной команды:
b = fir2(N-1,F,H)
Команда fir2 вычисляет коэффициенты КИХ
фильтра длины N. Вектор F задает нормированные
частоты в интервале от 0 до 1 (причем частоты, как и
ранее,
нормированы
на
половину
частоты
дискретизации). Вектор H определяет желаемую
амплитудную характеристику в точках, заданных в F.
Оба вектора должны иметь одинаковую длину.
13. 2. Разработка БИХ-фильтров с
помощью MATLAB
Средство MATLAB Signal Processing Toolbox предлагает много полезных
функций для разработки и анализа классических БИХ-фильтров (например,
Баттерворта, Чебышева типа I и II, эллиптических фильтров) для данного набора
спецификаций (напри-мер, граничные частоты полос пропускания и подавления,
неравномерность в полосе пропускания и затухание в полосе подавления).
В частности, Toolbox предлагает функции преобразования классических
аналоговых фильтров в эквивалентные фильтры дискретного времени.
Напомним, что критичным этапом разработки цифрового БИХ-фильтра
является расчет коэффициентов. Для классических цифровых БИХ-фильтров
можно следующим образом подытожить действия на этом этапе.
1.Задать дискретный фильтр.
2.Определить подходящий аналоговый фильтр нижних частот, например, с
характери-стикой Баттерворта, Чебышева типа I, Чебышева типа II или
эллиптической харак-теристикой.
3.Преобразовать аналоговый фильтр-прототип в фильтр нижних частот,
верхних ча-стот, полосовой или режекторный.
4.Перевести преобразованный фильтр в эквивалентный фильтр дискретного
времени (например, используя метод инвариантного преобразования импульсной
характери-стики или билинейного z-преобразования).
14. Пример 3
Разработка простого фильтра нижних частот с использованием билинейного zпреобразования и MATLAB. Требуется цифровой БИХ-фильтр с
характеристикой Баттерворта, удовлетворяющий следующим спецификациям:
частота среза
150 Гц,
частота дискретизации
1,28 кГц,
порядок фильтра, N
2.
• Решение. Соответствующий m-файл MATLAB приведен в программе 3 .
• 1.
С помощью m-файла получаем следующие векторы коэффициентов (b и
a) нулей и полюсов (z и р) БИХ-фильтра:
• b= [0.0878, 0.1756, 0.0878]
• a= [1.0000, -1.0048, 0.3561]
• z =[-1,-1]
• р = [0.5024 ± 0.3220i]
• k = 0.0878
• Используя коэффициенты, записываем передаточную функцию:
H ( z) =
0, 0878(1 + 2 z −1 + z −2 )
1 − 1, 0308 z −1 + 0,3553 z −2
15. Программа 3. Решение примера 9 в форме m-файла
MATLAB
% Простой фильтр нижних частот %
N=2; % Порядок фильтра
Fs=1280; % Частота дискретизации
FN=Fs/2;
fc=150; % Частота среза
Fc=fc/FN; % Нормированная частота среза
[b, a]=butter (N,Fc); % Создать и оцифровать
аналоговый фильтр
[z, р, k]=butter (N, Fc);
subplot (2,1,1) % Вывести на экран амплитудночастотную характеристик
[Н, f]=freqz(b, а, 512, Fs);
plot(f, abs(H))
x label ('Frequency (Hz)[1])
ylabel('Magnitude Response (dB)')
subplot(2,1,2) % Вывести на экран диаграмму
нулей и полюсов zplane(b, а)
Амплитудно-частотная характеристика и
диаграмма нулей и полюсов