Файл: А. Б. Сергиенко минобрнауки россии санктПетербургский государственный электротехнический университет лэти им. В. И. Ульянова (Ленина) А. В. Петров а. Б. Сергиенко цифровая обработка сигналов лабораторный практикум.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.01.2024
Просмотров: 246
Скачиваний: 12
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
42
Внимание!
Все измерения должны осуществляться на одном и том же компьютере.
Последняя строка таблицы заполняется при подготовке отчета путем де- ления измеренных значений времени на использованное число повторений цикла K.
Внимание!
Время работы кода растет пропорционально N
2
, поэтому для последнего зна- чения 8192 оно будет составлять около 1 минуты.
6. Измерение скорости расчетов при вычислении ДПФ с использо-
ванием быстрого алгоритма. Функция fft гибко выбирает алгоритм вы- числения в зависимости от длины преобразуемого сигнала, и при длине, рав- ной степени двойки, будет использован широко известный алгоритм Кули—
Тьюки, число операций в котором пропорционально N log
2
(N).
Для измерения скорости вычислений необходимо реализовать следую- щий код. Его общая структура аналогична коду, приведенному выше, однако в явном виде дополнять сигнал нулями не нужно — функции fft можно пе- редать дополнительный входной параметр, указывающий размерность вы- числяемого ДПФ: y = fft(x, N).
Внимание!
Число повторений цикла (в приведенном примере — 100 000) необходимо подобрать экспериментально, чтобы время расчета при N = 1024 составляло
примерно 1 секунду. Это число должно оказаться примерно в 100 раз больше, чем в предыдущем случае.
N = 1024; % размер ДПФ
y = zeros(1, N); % массив для результатов ДПФ
tic % старт таймера
for k = 1:100000 % цикл для измерения времени
y = fft(x, N); % вычисление БПФ
end
toc % отображение измеренного времени
Запишите подобранное число повторений цикла K и занесите измерен- ное время выполнения кода при N = 1024 в таблицу, по форме повторяющую табл. 3.2.
43
Повторите эксперимент для остальных значений N, указанных в табли- це, не меняя подобранное число повторений цикла K.
Внимание!
Все измерения должны осуществляться на том же компьютере, на котором производились измерения при вычислении ДПФ непосредственно по теоре- тической формуле.
Последняя строка таблицы заполняется при подготовке отчета путем де- ления измеренных значений времени на использованное число повторений цикла K.
7. Подготовка материалов для отчета. В завершение работы необхо- димо скопировать в документ Microsoft Word (в качестве заготовки для отче- та) созданный программный код и все полученные графики:
• исходный дискретный сигнал;
• модуль и фазу результатов ДПФ;
• дискретный сигнал, восстановленный после обнуления части гармо- ник, и исходный сигнал, построенные в общих координатных осях;
• модуль и фазу результатов ДПФ при дополнении сигнала нулями.
3.5. Содержание отчета
Отчет должен содержать созданный в процессе работы программный код, оформленный в виде законченного документа (с заголовками разделов, формулами и комментариями к коду). Полученные в ходе работы графики и заполненные таблицы размещаются в соответствующих разделах отчета.
Используя значение N
max
, необходимо рассчитать ширину спектра сиг- нала в герцах.
Кроме того, в соответствующем разделе должны быть построены графи- ки затрат времени на однократное вычисление ДПФ прямым и быстрым ме- тодами. Для получения этих данных следует разделить занесенные в таблицы значения времени на использованное количество повторений цикла. Вдоль горизонтальной оси следует откладывать log
2
(N). Вертикальная ось также должна быть представлена в логарифмическом масштабе.
Совместно с этими экспериментальными графиками следует построить аппроксимирующие зависимости:
• для прямого расчета ДПФ: t = k
1
N
2
;
• для быстрого расчета ДПФ: t = k
2
N log
2
(N).
44
Коэффициенты k
1
и k
2
необходимо подобрать самостоятельно так, что- бы аппроксимирующая зависимость при значениях N = 1024 и 8192 была как можно ближе к результатам измерений. Значения k
1
и k
2
должны быть при- ведены в отчете.
В конце отчета необходимо привести выводы по результатам работы.
3.6. Контрольные вопросы
1. Запишите матрицу ДПФ для N = 4.
2. Как вычислить энергию сигнала через его ДПФ?
3. Является ли монотонной зависимость энергии сигнала после обнуле- ния части спектра и обратного ДПФ от числа использованных гармоник? От- вет обосновать.
4. Можно ли найти такой сигнал {x(k)} длиной N отсчетов, чтобы его
ДПФ совпадало с самим сигналом, т. е. чтобы для всех n выполнялось равен- ство
( )
( )
X n
x n
=
ɺ
?
5.
Длину дискретного сигнала увеличили в 2 раза путем дублирования каждого отсчета ({x(0), x(0), x(1), x(1), …, x(N
−
1), x(N
−
1)}). Как изменятся результаты ДПФ?
6.
Сигнал представляет собой сумму двух синусоид с частотами 300 и
320 Гц. Частота дискретизации равна 10 кГц, длина сигнала 500 отсчетов.
Как примерно будет выглядеть модуль ДПФ этого сигнала?
7.
Сигнал представляет собой сумму двух синусоид с частотами 400 и
450 Гц. Частота дискретизации равна 5 кГц, длина сигнала 200 отсчетов. Как примерно будет выглядеть модуль ДПФ этого сигнала?
8.
Сигнал представляет собой сумму двух синусоид с частотами 500 и
525 Гц. Частота дискретизации равна 10 кГц, к сигналу длиной 400 отсчетов добавлено столько же нулевых значений. Как примерно будет выглядеть мо- дуль ДПФ этого сигнала?
9.
Последовательность отсчетов {x(k)} длиной N (k = 0, 1, …, N
−
1) подвергли прямому ДПФ. К полученному результату еще раз применили прямое ДПФ. Чему будет равен результат? (Выразить его через {x(k)}.)
10.
Последовательность отсчетов {x(k)} длиной N (k = 0, 1, …, N
−
1) подвергли обратному ДПФ. К полученному результату еще раз применили обратное ДПФ. Чему будет равен результат? (Выразить его через {x(k)}.)
45 11.
Отсчеты последовательности {x(k)} являются чисто мнимыми. Каки- ми свойствами благодаря этому будет обладать ее ДПФ?
12.
Придумайте максимально эффективную (по числу арифметических операций) схему реализации ДПФ для N = 3. Сколько вещественных сложе- ний/вычитаний и умножений она требует? (Считать, что вычитание — от- дельная операция, по сложности эквивалентная сложению, так что операции умножения на
−
1 не требуются.)
13.
Как с помощью ДПФ можно получить N равномерно расположенных отсчетов спектра (
(
)
2
X j
n N
π
ɺ
, n = 0, 1, …, N − 1) последовательности ко- нечной длины, состоящей из M > N отсчетов?
14.
Запишите матрицу ДПФ для N = 6.
15.
К спектральному отсчету
(
2)
X N
ɺ
прибавили единицу. Как изменит- ся последовательность отсчетов {x(k)}, которой это ДПФ соответствует?
16.
Экспериментальные и аппроксимирующие зависимости временных затрат на однократное вычисление ДПФ прямым и быстрым методами рас- ходятся при низких значениях N. Как это можно объяснить?
46
4. ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ ФИЛЬТРОВ
4.1. Цели работы
Синтез дискретного ФНЧ, удовлетворяющего заданным требованиям, путем использования нескольких алгоритмов:
• билинейного преобразования и четырех стандартных аналоговых про- тотипов;
• синтеза с использованием оконных функций;
• минимаксного синтеза;
• минимизации среднеквадратической ошибки.
4.2. Теоретические сведения
Под проектированием (или синтезом) цифрового фильтра понимается выбор таких наборов коэффициентов {a
i
} и {b
i
}, при которых характеристи- ки получающегося фильтра удовлетворяют заданным требованиям.
При синтезе ФНЧ набор задаваемых параметров может выглядеть сле- дующим образом (рис. 4.1):
• F
д
— частота дискретизации;
• F
pass
— граница полосы пропускания;
• F
stop
— граница полосы задерживания;
• A
pass
— допустимая неравномерность АЧХ в полосе пропускания;
• A
stop
— требуемое подавление сигнала в полосе задерживания.
0
f
|
K( )
f
|
F
pass
A
pass
A
stop
F
stop
F
д
/2
Рис. 4.1. Параметры, требуемые для синтеза ФНЧ
Серые области на рисунке демонстрируют допуски, в которые должна укладываться АЧХ фильтра в полосах пропускания и задерживания. В пере-
47 ходной зоне (диапазон частот F
pass
…F
stop
) никаких требований к АЧХ рас- считываемого фильтра не предъявляется.
Номинальное значение коэффициента передачи фильтра в полосе про- пускания, как правило, равно единице (0 дБ). В зависимости от способа рас- чета фильтра отклонения коэффициента передачи в полосе пропускания от единицы могут быть как односторонними, так и двусторонними.
Методы синтеза цифровых фильтров можно классифицировать по раз- личным признакам:
• по типу получаемого фильтра:
‒ методы синтеза рекурсивных фильтров;
‒ методы синтеза нерекурсивных фильтров;
• по наличию аналогового прототипа:
‒ методы синтеза с использованием аналогового прототипа (метод би- линейного z-преобразования);
‒ прямые (без использования аналогового прототипа) методы синтеза:
оптимальные, в которых численными итерационными метода- ми ищется минимум заданной функции качества (минимаксный син- тез и минимизация квадратической ошибки);
субоптимальные, не дающие оптимального решения, но позво- ляющие значительно упростить вычисления по сравнению с опти- мальными методами (синтез с использованием окон).
Метод билинейного z-преобразования
позволяет синтезировать рекур- сивный дискретный фильтр по частотной характеристике аналогового прото- типа. При синтезе дискретного фильтра по аналоговому прототипу необхо- димо реализовать переход из p-области в z-область, т. е. преобразовать функ- цию передачи аналогового фильтра H(p) в функцию передачи дискретного фильтра H(z). Получающийся дискретный фильтр не может быть полностью идентичен аналоговому по своим характеристикам — хотя бы потому, что частотные характеристики дискретного фильтра являются периодическими.
Можно говорить только об определенном соответствии характеристик ана- логового и дискретного фильтров.
Функция передачи аналоговой цепи с сосредоточенными параметрами представляет собой дробно-рациональную функцию переменной p. Чтобы по- лучить функцию передачи дискретного фильтра, необходимо перейти из
p-области в z-область, причем дробно-рациональный характер функции должен
48 сохраниться. Поэтому замена для переменной p должна представлять собой также дробно-рациональную функцию переменной z. Чтобы частотные харак- теристики аналогового и дискретного фильтров были связаны простой зависи- мостью, искомая замена переменной должна отображать мнимую ось в
p-области на единичную окружность в z-области. В этом случае частотные ха- рактеристики аналогового и дискретного фильтров будут связаны лишь транс- формацией частотной оси, и никаких искажений «по вертикали» не будет.
Простейшей из функций, удовлетворяющих перечисленным требовани- ям, является билинейное преобразование (bilinear transformation):
1
д
1 2
1 1
2 1
1
z
z
p
F
T z
z
−
−
−
−
=
=
+
+
Частотные характеристики аналогового а
( )
K ω
ɺ
и дискретного д
( )
K
ω
ɺ
фильтров, как уже было сказано, связаны друг с другом лишь трансформаци- ей частотной оси (для наглядного сопоставления формул частотная характе- ристика дискретного фильтра представлена как функция абсолютной частоты
T
ω = ωɶ ): д
а
2
( )
tg
2
T
K
K
T
ω
ω =
ɺ
ɺ
, а
д
2
( )
arctg
2
T
K
K
T
ω
ω =
ɺ
ɺ
На низких частотах, когда ωT << 1, тангенс примерно равен своему ар- гументу, откуда следует
2
tg
2
T
T
ω
≈ ω
Поэтому в области низких частот частотные характеристики аналогово- го и дискретного фильтров почти совпадают. Далее, по мере ускорения роста функции тангенса, частотная характеристика дискретного фильтра все силь- нее сжимается по горизонтали (по сравнению с аналоговым прототипом) и на частоте Найквиста, равной π/T, достигает значения, которое частотная харак- теристика аналогового фильтра имела бы на бесконечной частоте (рис. 4.2).
При билинейном z-преобразовании левая половина p-плоскости отобра- жается внутрь единичной окружности на z-плоскости, поэтому синтез по ус-
49 тойчивому аналоговому прототипу даст гарантированно устойчивый дис- кретный фильтр.
0
w
0
w д
/2
w
|
( )|
K
а w
|
( )|
K
д w
Рис. 4.2. Трансформация частотной оси при билинейном
z-преобразовании
Для получения дискретного фильтра с заданными частотами среза необ- ходимо скорректировать частоты среза аналогового прототипа, чтобы ком- пенсировать искажения частотной оси. Так, для синтеза дискретного ФНЧ с частотой среза ω
0д аналоговый фильтр-прототип должен иметь частоту среза
ω
0а
, связанную с ω
0д следующим образом:
0д
0а
2
tg
2
T
T
ω
ω =
1 2 3 4 5 6 7 8
Оптимальные методы.
Чаще всего отправной точкой при расчете фильтра служит его желаемая частотная характеристика — либо АЧХ (когда фазовые характеристики не важны), либо комплексный коэффициент переда- чи. В качестве минимизируемой меры отклонения характеристики фильтра от заданной в общем случае используется p-норма ошибки e(ω) (ошибка представляет собой разность желаемой и получаемой характеристик): д
0
( )
p
p
p
L
e
d
ω
=
ω
ω
∫
(4.1)
Чаще всего используются 2 значения p: p = 2 (квадратическая ошибка) и
p = ∞ (максимальное абсолютное значение ошибки). Поскольку корень p-й степени, входящий в (4.1), при любом p является монотонно возрастающей функцией, при расчете минимизируемой величины его можно не вычислять.
50
Если при синтезе фильтра интерес представляет только его АЧХ, мини- мизируемая функция при использовании p-нормы ошибки рассчитывается следующим образом: д
0
( )
( )
( )
p
p
L
w
D
K
d
ω
=
ω
ω −
ω
ω
∫
ɺ
,
(4.2) где D(ω) — желаемая АЧХ;
( )
K ω
ɺ
— АЧХ фильтра; w(ω) — неотрицательная вещественная весовая функция. Использование весовой функции позволяет придать разную значимость различным участкам частотной оси. В частности, это дает возможность задать переходные зоны, поведение АЧХ в которых не имеет значения. В этих зонах значение весовой функции должно быть нуле- вым. Как правило, функция w(ω) является кусочно-постоянной.
Если необходимо аппроксимировать заданную частотную зависимость
комплексного коэффициента передачи, норма ошибки аппроксимации рас- считывается так: д
0
( )
( )
( )
p
p
L
w
D
K
d
ω
=
ω
ω −
ω
ω
∫
ɺ
ɺ
(4.3)
Здесь
( )
D ω
ɺ
— желаемая комплексная частотная характеристика;
( )
K ω
ɺ
— частотная характеристика реального фильтра.
Для рекурсивных фильтров минимизация критерия (4.2) или (4.3) требу- ет применения методов численной оптимизации. В случае же нерекурсивных фильтров, коэффициенты которых связаны с частотной характеристикой ли- нейно, возможны более простые подходы. В частности, синтез оптимальных нерекурсивных фильтров по критерию (4.3) при p = 2 приводит к минимиза- ции квадратической ошибки, а при p = ∞ — к минимаксной оптимизации.
Минимизация квадратической ошибки
сводится к решению системы линейных уравнений относительно коэффициентов нерекурсивного фильтра.
Получающаяся при этом АЧХ фильтра имеет неравномерные пульсации
(рис. 4.3, а), уровень которых возрастает вблизи частот, где желаемая частот- ная характеристика изменяется скачкообразно. Это связано с явлением Гиб- бса. Введение переходных полос, для которых w(ω) = 0, позволяет умень- шить уровень пульсаций на краях полос пропускания и задерживания, но эти пульсации все равно остаются неравномерными.