Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Калачиков математические основы mu_dsp_2811

.pdf
Скачиваний:
48
Добавлен:
11.04.2015
Размер:
1.53 Mб
Скачать

1

2

 

3

4

5

6

7

22

фнч

70

 

2800

 

2100

9600

23

фнч

75

 

1800

 

1690

7200

24

фвч

80

 

2500

 

2475

9600

25

фнч

80

 

3000

 

2500

9600

26

фнч

75

 

1100

 

900

4500

27

фнч

80

 

3100

 

1700

9600

Синтез нерекурсивных ЦФ методом весовых окон в системе MATLAB осуществляется функциями fir1, fir2, находящимися в пакете Signal Processing. Различия между ними состоит в типе аппроксимируемой АЧХ: функция fir1 предназначена для синтеза многополосных фильтров, аппроксимируемая АЧХ которых скачкообразно изменяется в заданных частотных точках, принимая значения 0 или 1, а функция fir2 допускает задание произвольной кусочнолинейной аппроксимируемой АЧХ.

Функция fir1 позволяет синтезировать нерекурсивные цифровые фильтры с линейной ФЧХ методом обратного преобразования Фурье с использованием окон.

Синтаксис вызова функции fir1 следующий: h = fir1 (n, Wn, ‘ftype’, window, ‘normalization’).

Здесь n – порядок синтезируемого фильтра (его импульсная характеристика будет содержать n+1 ненулевых отсчётов).

Параметры Wn и ‘ftype’ (который может отсутствовать) совместно определяют тип синтезируемого фильтра и его частоту (частоты) среза. Частоты среза нормируются к частоте Найквиста FN = f д /2. Значения этих параметров зависят от типа фильтра:

ФНЧ: скаляр Wn – частота среза, параметр ‘ftype’ отсутствует;

ФВЧ: скаляр Wn – частота среза, параметр ‘ftype’ = ‘high’;

полосовой фильтр: двухэлементный вектор Wn = [w1 w2], где w1 и w2 – границы полосы пропускания, параметр ‘ftype’ отсутствует;

режекторный фильтр: двухэлементный вектор Wn = [w1 w2], где w1 и w2 – границы полосы задерживания, параметр ‘ftype’ = ‘stop’;

многополосный фильтр, пропускающий нижние частоты: многоэлементный вектор Wn = [w1 w2 … wn], где wi – границы полос пропускания, упорядоченные по возрастанию, параметр ‘ftype’ = ‘DC-1’. Такой фильтр будет иметь полосы пропускания (0, w1), (w2, w3), (w4, w5) и т. д.;

многополосный фильтр, задерживающий нижние частоты: многоэлементный вектор Wn = [w1 w2 … wn], где wi – границы полос пропускания, упорядоченные по возрастанию, параметр ‘ftype’ = ‘DC-0’. Такой фильтр будет иметь полосы пропускания (w1, w2), (w3, w4), (w5, w6) и т. д.

61

Для ФВЧ и режекторных фильтров, а также многополосных фильтров с ненулевым коэффициентом передачи на частоте Найквиста возможен только чётный порядок. Если задать нечётное n, то будет рассчитан ЦФ, порядок которого на единицу больше заданного.

Параметр window задаёт используемое при синтезе окно. Это должен быть вектор-столбец, содержащий n+1 элементов. По умолчанию используется окно Хэмминга, рассчитываемое путём вызова функции hamming (n+1).

Другие виды окон, задаваемых параметром window:

boxcar – прямоугольное окно,

triang – треугольное окно,

barlett – окно Барлетта,

hann – окно Ханна,

blackman – окно Блэкмана,

kaiser – окно Кайзера,

chebwin – окно Чебышева.

Результатом работы функции fir1 является вектор коэффициентов передаточной функции h нерекурсивного фильтра. Синтезированный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную n/2 отсчётов.

Синтез фильтра выполняется следующим образом – обратное преобразование Фурье от заданной идеальной АЧХ даёт бесконечный набор отсчётов импульсной характеристики, который симметрично усекается до n+1отсчётов и для ослабления эффектов усечения умножается на используемую оконную функцию.

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

h = fir2 (n, f, a, Npt, lap, window).

Здесь n – порядок синтезируемого фильтра (его импульсная характеристика будет содержать n+1 ненулевых отсчётов).

Параметры f и a совместно определяют желаемую АЧХ (аппроксимируемую функцию) проектируемого ЦФ. Вектор f содержит значения частот, нормированных к частоте FN = f д /2 (частота Найквиста), а вектор a – соответствующие этим частотам значения АЧХ. В промежутках между заданными точками АЧХ интерполируется по линейному закону. Частоты в векторе f должны образовывать неубывающую последовательность, кроме того, должны выполняться равенства f(1)=0 и f(end)=1. Частоты могут дублироваться, что даёт возможность задавать скачкообразное изменение АЧХ. Вывести график синтезируемой АЧХ (аппроксимируемой функции) можно командой plot (f, h)=1.

62

Для фильтров, коэффициент передачи которых на частоте Найквиста не равен нулю, возможен только чётный порядок. Если задать нечётное n, то будет рассчитан ЦФ, порядок которого на единицу больше заданного.

Остальные входные параметры функции fir2 являются необязательными. Параметр Npt задаёт число точек, используемое при интерполяции заданной АЧХ (по умолчанию его значение равно 512). Параметр lap задаёт ширину переходных полос вокруг скачков аппрокимируемой АЧХ. При интерполяции в этих полосах вместо скачка будет сформирован линейный переход. Ширина переходов измеряется в точках интерполяции и по умолчанию равна 25.

Параметр window задаёт используемое при синтезе окно. Это должен быть вектор-столбец, содержащий n+1 элементов. По умолчанию используется окно Хэмминга, рассчитываемое путём вызова функции hamming (n+1).

Результатом работы функции fir2 является вектор a коэффициентов передаточной функции нерекурсивного фильтра. Синтезированный фильтр имеет линейную ФЧХ и вносит групповую задержку, независимо от частоты равную n/2 отсчётов.

Синтез фильтра выполняется следующим образом: заданная АЧХ (аппроксимируемая функция) интерполируется кусочно-линейно на равномерную сетку из Npt точек, обратное дискретное преобразование Фурье даёт импульсную характеристику, она симметрично усекается до n+1 отсчётов и для ослабления эффектов усечения умножается на используемую оконную функцию.

Построение графиков АЧХ и ФЧХ осуществляется командой freqz(h,1) или freqz(h,1,N) % N – число отсчетов АЧХ и ФЧХ.

Графики АЧХ и ФЧХ строятся в диапазоне 0 – 1 нормированных (по частоте Найквиста Fd/2) значений частоты частот.

Вычисление сигнала на выходе цифрового фильтра выполняется с помощью функции свертки: y=conv(x,h) с помощью функции дискретной фильтра-

ции: y=filter(h, 1, x).

ЗАДАЧА 4

Выполнить операцию преобразования частоты дискретизации для входного сигнала. Входной сигнал состоит из суммы двух гармонических составляющих с частотами F1 и F2. Получить реализацию сигнала на длительности 1 сек.

Определить параметры цифрового ФНЧ фильтра-интерполятора и филь- тра-дециматора для предотвращения наложения спектральных составляющих при интерполяции и децимации (определить порядок фильтра и границы полос). Выбрать фильтр, отвечающий требованиям, как интерполяции, так и децимации. Метод расчета – весовых окон или частотной выборки. Подавление в полосе задерживания – 50 дБ. Порядок интерполяции l и децимации m.

Расчет, построение временных и спектральных диаграмм в точках преобразований можно выполнять при помощи пакетов Matlab fdatool и sptool.

63

Интерполяция и децимация с соответствующей фильтрацией выполняется при помощи команды y = upfirdn(x,h,l,m), где y – выходной сигнал, х – входной сигнал, h – вектор отсчетов импульсной реакции фильтра, l – коэффициент интерполяции, m – коэффициент децимации. При интерполяции коэффициент децимации m выбирается равным 1, аналогично при децимации коэффициент интерполяции l выбирается равным 1.

Привести результаты проектирования:

Структурная схема преобразования частоты дискретизации.

Параметры цифровых фильтров интерполяции и децимации, общего фильтра.

Отрезок входного сигнала. Спектр входного сигнала.

Спектр сигнала после интерполяции. АЧХ, ФЧХ и ИР рассчитанного фильтра.

Отрезок выходного сигнала после децимации. Спектр сигнала после децимации.

Номер

F1,

F2,

Коэффициент

Коэффициент

Частота дис-

интерполяции

децимации

кретизации

варианта

Гц

Гц

L

M

Fs, Гц

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

1

400

800

3

5

2000

 

 

 

 

 

 

2

1200

2400

3

4

9600

3

600

1200

2

7

4800

4

250

1300

2

3

5000

5

2400

5200

5

3

19200

6

400

3800

2

5

13000

7

240

2400

3

8

6400

8

200

1000

3

7

2400

9

1400

2500

2

5

5500

10

800

2600

4

7

7700

11

2200

4500

3

5

9600

12

600

1100

2

5

2400

13

800

2000

6

4

4500

14

200

1200

7

2

3200

15

300

800

4

7

2700

16

2800

4400

3

8

14200

17

2000

3800

4

5

8400

18

300

2500

3

7

7500

19

250

2100

7

9

4800

20

2500

6400

3

5

15000

21

120

400

5

8

1200

 

 

 

64

 

 

1

2

3

4

5

6

22

430

960

3

7

2300

23

200

1800

2

5

4800

24

2000

5400

5

3

12000

25

280

1600

2

7

4200

26

450

1200

4

5

3600

65

Литература

1.Рабинер Л, Гоулд Б. Теория и применение цифровой обработки сигналов: Пер. с англ./ под ред. Ю. И. Александрова.- М.: Мир, 1978.

2.Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов: Пер. с англ. / под ред. С. Я. Шаца.- М.: Связь, 1979.

3.Сергиенко А.Б. Цифровая обработка сигналов: Учеб. пособие.- 3-е изд.- СПб. БХВ-Петербург, 2011.- 768 с.

4.Солонина А. И., Арбузов С. М. Цифровая обработка сигналов. Моделирование в MATLAB: БХВ-Петербург, 2008 г.- 814 с.

5.Дьяконов В. П. MATLAB 7.*/R2006/2007: Самоучитель.- «ДМК-Пресс», Москва, 2008.- С. 768.

66

Калачиков Александр Александрович

Математические основы цифровой обработки сигналов

Методические указания к практическим занятиям

Редактор: С.В. Воробьева Корректор: В.В. Сиделина

Подписано в печать 03.02.2014г.

формат бумаги 60x84/16, отпечатано на ризографе, шрифт №10 изд.л. 4,2; заказ № 07, тираж 50, СибГУТИ.

630102, Новосибирск, ул.Кирова 86