p kr dsp a&v

Post on 28-Jan-2018

271 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

НАЦИОНАЛЬНО ИССЛЕДОВАТЕЛЬССКИЙ УНИВЕРСИТЕТ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯКАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТим. А.Н.ТУПОЛЕВА

О.Г.МОРОЗОВ, Р.Р.САМИГУЛЛИН,

Н.В.ДОРОГОВ, А.Р.НАСЫБУЛЛИН

ЦИФРОВАЯ ОБРАБОТКА АУДИО И ВИДЕОСИГНАЛОВ

Методические указания по выполнению курсовой работыМетодические указания предназначены для бакалавров ИРЭТ, обучающихся по бакалаврской программе направления 210400

«Радиотехника», профиль «Аудиовизуальная техника»

КАЗАНЬ

2010

ВВЕДЕНИЕ

Курсовая работа по курсу «Цифровая обработка аудио и видеосигналов» выполняется студентами радиотехнических специальностей, обучающихся по профилю подготовки «Аудиовизуальная техника» направления 210400 - «Радиотехника».

Для выполнения курсовой работы по курсу «Цифровая обработка аудио и видеосигналов» студент должен применить знания, полученные при изучении курсов «Радиотехнические цепи и сигналы», «Схемотехника аналоговых электронных устройств», «Основы телевидения», «Электроакустика», «Цифровая обработка аудио и видеосигналов». Кроме этого, для выполнения курсовой работы в настоящих методических указаниях приводится библиографический список рекомендуемой литературы.

ЦЕЛЬ И ЗАДАЧИ КУРСОВОГО ПРОЕКТИРОВАНИЯ

Курсовая работа выполняется для закрепления и расширения теоретических знаний по курсу «Цифровая обработка аудио и видеосигналов», получения навыков синтеза и расчета цифровых фильтров.

При выполнении курсовой работы студент должен: - научиться самостоятельной работе с технической

литературой и нормативными документами;- ознакомиться с методами моделирования цифровых

фильтров.Выполнение проекта дает опыт выполнения инженерных

расчетов, практику составления и оформления пояснительной записки, выполне-ния функциональных схем, представления и защиты технических решений.

За время курсового проектирования студент приобретает навыки для выполнения итоговой работы в университете − дипломного проек-та (работы).

СОДЕРЖАНИЕ КУРСОВОЙ РАБОТЫ

Задача студента - спроектировать один из 4-х типов фильтров (ФНЧ, ФВЧ, РФ и ПФ) двух классов – КИХ и БИХ, по трем методикам (для КИХ – метод взвешивания, метод частотной выборки, оптимизационные методы; для БИХ – метод инвариантного преобразования импульсной характеристики, билинейное преобразование, размещение нулей и полюсов). Расчет производится в программном продукте Matlab, имеющем обширные возможности для моделирования всевозможных типов ЦФ. Индивидуальное задание основано на конкретном применении цифровой фильтрации в аудио или видео приложениях.

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

• титульный лист• задание на проектирование• листинг программы, вписанные в него авторучкой

комментарии к командам программы• результаты проектирования:- таблицу коэффициента передачи, - график АЧХ- график ФЧХ- график расположения нулей и полюсов- график реакции ЦФ на импульсное воздействие- структурные схемы синтезированных ЦФ• выводы.

ОБЩИЕ СВЕДЕНИЯ И ПРИМЕРЫ РАСЧЕТОВ

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)

Пример 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

1 -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. Реализация решения примера 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('Амплитудная характеристика (дБ)')

Оптимизационные методы

Средство Signal Processing Toolbox в MATLAB содержит несколько программ раз­работки и функций для создания оптимальных КИХ­фильтров на основе алгоритмов Паркса­Мак­Клиллана и Ремеза. Основной командой для вычисления коэффициентов с помощью оптимального метода является remez. Команда может использоваться для разработки многополосных КИХ­фильтров с линейной фазовой характеристикой. В стандартной форме она имеет следующий синтаксис:

b = remez(N - 1,F,M), где N — длина фильтра, F — вектор нормированных

граничных частот, а М — вектор желаемой амплитудной характеристики фильтра на заданных граничных частотах. Гра­ничные частоты нормированы на половину частоты дискретизации и лежат в диапазоне от 0 до 1 (частота Найквиста соответствует 1).

Пример 2Используя оптимальный метод, вычислите коэффициенты и изобразите

частотную характеристику полосового КИХ­фильтра с линейной фазовой характеристикой, удо­влетворяющего следующим спецификациям:

полоса пропускания 1000­1500 Гц,полоса перехода 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)’)

n h(n) n h(n)

0 -0,0001 11 -0,0044

1 -0,0004 12 -0, 0022

2 -0,0001 13 0,0069

3 -0,0001 14 0,0066

4 -0,0007 15 -0,0016

5 0,0005 16 0,0000

6 0,0023 17 0,0022

7 0,0008 18 -0,0117

8 -0,0017 19 -0,0164

9 -0,0005 20 0,0069

10 -0,0005 21 0,0189

Коэффициенты фильтра АЧХ фильтра

Метод частотной выборки.

Для разработки КИХ­фильтров с произвольными частотными характеристиками, по­добных фильтрам, рассмотренным при использовании метода частотной выборки, пред­назначена команда fir2. Синтаксис стандартной команды:

b = fir2(N-1,F,H)Команда fir2 вычисляет коэффициенты КИХ­

фильтра длины N. Вектор F задает нормированные частоты в интервале от 0 до 1 (причем частоты, как и ранее, нормирова­ны на половину частоты дискретизации). Вектор H определяет желаемую амплитудную характеристику в точках, заданных в F. Оба вектора должны иметь одинаковую длину.

2. Разработка БИХ-фильтров с

помощью MATLAB Средство MATLAB Signal Processing Toolbox предлагает много полезных

функций для разработки и анализа классических БИХ-фильтров (например, Баттерворта, Чебышева типа I и II, эллиптических фильтров) для данного набора спецификаций (напри-мер, граничные частоты полос пропускания и подавления, неравномерность в полосе пропускания и затухание в полосе подавления).

В частности, Toolbox предлагает функции преобразования классических аналоговых фильтров в эквивалентные фильтры дискретного времени.

Напомним, что критичным этапом разработки цифрового БИХ-фильтра является расчет коэффициентов. Для классических цифровых БИХ-фильтров можно следующим образом подытожить действия на этом этапе.

1.Задать дискретный фильтр.2.Определить подходящий аналоговый фильтр нижних частот, например, с

характери-стикой Баттерворта, Чебышева типа I, Чебышева типа II или эллиптической харак-теристикой.

3.Преобразовать аналоговый фильтр-прототип в фильтр нижних частот, верхних ча-стот, полосовой или режекторный.

4.Перевести преобразованный фильтр в эквивалентный фильтр дискретного времени (например, используя метод инвариантного преобразования импульсной характери-стики или билинейного z-преобразования).

Пример 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• Используя коэффициенты, записываем передаточную функцию:

1 2

1 2

0,0878(1 2 )( )

1 1,0308 0,3553

z zH z

z z

− −

− −

+ +=− +

Программа 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, а)

Амплитудно-частотная характеристика и диаграмма нулей и полюсов

top related