ЦМОС_Анишин_ММ

advertisement
Цифровые методы обработки сигналов
Введение
Сущность цифровой обработки состоит в том, что физический сигнал
(напряжение, ток и т. д.) преобразуется в последовательность чисел, которая затем
подвернется математическим преобразованиям
Трансформированный
цифровой
сигнал
в вычислительном устройстве.
(последовательность
чисел)
при
необходимости может быть преобразована обратно в напряжение или ток.
Далее будут рассмотрены принципы математического описания и анализа
дискретных сигналов. Но прежде всего следует пояснить некоторые терминологические тонкости.
Аналоговые, дискретные и цифровые сигналы
Исходный физический сигнал является непрерывной функцией времени.
Такие сигналы, определенные во все моменты времени, называют аналоговыми,
последовательность чисел, представляющая сигнал при цифровой обработке,
является дискретным рядом и не может полностью соответствовать аналоговому
сигналу. Числа, составляющие последовательность, являются колебаниями сигнала
в отдельные (дискретные) моменты времени и называются отсчетами сигнала.
Отсчеты берутся через равные промежутки времени Т, называемые п
ериодом дискретизации (или интервалом , шалом дискретизации). Величина,
обратная периоду дискретизации, называется частотой дискретизации: fд = 1/Т.
Соответствующая ей круговая частота определяется следующим образом: д = 2π fд.
Ясно, что в общем случае представление сигнала набором дискретных отсчетов
приводит к потере информации, так как мы ничего не знаем о поведении сигнала в
промежутках между отсчетами. Однако, как будет показано далее, существует класс
аналоговых сигналов, для которых такой потери информации не происходит, и
которые могут быть точно восстановлены по значениям своих дискретных
отсчетов.
Процесс преобразования аналогового сигнала в последовательность отсчетов называется дискретизацией, а результат такого преобразования — дискретным
сигналом.
При обработке сигнала в вычислительных устройствах его отсчеты представляются
в виде двоичных чисел, имеющих ограниченное число разрядов. Вследствие этого
отсчеты могут принимать лишь конечное множество значений и, следовательно,
при представлении сигнала неизбежно происходит его округление. Процесс
преобразования отсчетов сигнала в числа называется квантованием по уровню , а
возникающие при этом ошибки округления — ошибками (или шумами)
квантования.
Сигнал, дискретный во времени, но не квантованный по уровню, называется
дискретным
сигналом. Сигнал, дискретный во времени и квантованный по
уровню, называют цифровым сигналом. Сигналы, квантованные по уровню, но
непрерывные во времени, на практике встречаются редко. Разницу между
аналоговыми, дискретными и цифровыми сигналами иллюстрирует рис. 1.
Рис. 1. Аналоговый (слева), дискретный (в центре) и цифровой (справа)
сигналы
Вычислительные устройства, предназначенные для обработки сигналов,
могут оперировать только цифровыми сигналами. Существуют также устройства,
построенные в основном на базе аналоговой схемотехники, которые работают с
дискретными сигналами, представленными в виде импульсов различной амплитуды
или длительности.
В дальнейшем речь пойдет о дискретных сигналах и методах их обработки,
поскольку эффекты, связанные с квантованием по уровню, в большинстве случаев не
будут приниматься во внимание.
Аналого-цифровое и цифро-аналоговое преобразование
Обобщенная структура системы цифровой обработки сигналов приведена на рис.
2. На вход поступает аналоговый сигнал sBX(t). Его временная дискретизация и
квантование по уровню производятся в аналого-цифровом преобразователе (АЦП).
Выходным сигналом АЦП является последовательность чисел, поступающая в
цифровой процессор ЦП, выполняющий требуемую обработку. Процессор
осуществляет различные математические операции над входными отсчетами.
Результатом работы процессора является новая последовательность чисел,
представляющих собой отсчеты выходного сигнала. Аналоговый выходной сигнал
sBbIX(t) восстанавливается по последовательности чисел с помощью цифроаналогового преобразователя ЦАП.
Напряжение на выходе ЦАП имеет
ступенчатую форму при необходимости, оно может быть преобразовано в плавно
меняющийся выходной сигнал с помощью сглаживающего фильтра Ф.
Рис. 2. Структурная схема системы цифровой обработки сигналов
Частота Найквиста
Гармонический сигнал может быть адекватно представлен дискретными отсчетами,
если его частота не превышает половины частоты дискретизации (эта частота
называется частотой Найквиста - fN = fд /2 = 1/(2Т); N = д/2 = π/Т).
Происхождение этого ограничения поясняет рис. 3. В зависимости от соотношения
между частотой дискретизируемого гармонического сигнала и частотой Найквиста
возможны три случая:
1. Если частота гармонического сигнала меньше частоты Найквиста, дискретные
отсчеты позволяют правильно восстановить аналоговый сигнал (рис. 3, а).
2. Если частота гармонического сигнала равна частоте Найквиста, то дискретные
отсчеты позволяют восстановить аналоговый гармонический сигнал с той же
частотой, но амплитуда и фаза восстановленного сигнала (он показан
пунктирной линией) могут быть искажены (рис. 3, б). В худшем случае все
дискретные отсчеты синусоиды могут оказаться равными нулю.
3. Если частота гармонического сигнала больше частоты Найквиста, восстановленный по дискретным отсчетам аналоговый сигнал (как и в предыдущем случае,
он показан пунктирной линией) будет также гармоническим, но с иной частотой
(рис. 3, в). Данный эффект носит название появления ложных частот.
Рис. 3. Дискретизация гармонических сигналов с разной частотой
Ряд Фурье
Разложению в ряд Фурье могут подвергаться периодические сигналы. При этом
они представляются в виде суммы гармонических функций либо комплексных
экспонент с частотами, образующими арифметическую прогрессию. Для того чтобы
такое разложение существовало, фрагмент сигнала длительностью в один период
должен удовлетворять условиям Дирихле:
1. не должно быть разрывов второго рода (с уходящими в бесконечность ветвями
функции);
2. число разрывов первого рода (скачков) должно быть конечным;
3. число экстремумов должно быть конечным (в качестве примера функции, которая
на конечном интервале имеет бесконечное число экстремумов, можно привести
sin(l/x) в окрестности нуля).
В зависимости от конкретной формы базисных функций различают несколько
форм записи ряда Фурье.
Синусно-косинусная форма
В этом варианте ряд Фурье имеет следующий вид:

a0
s (t ) 
  (ak cos(k1t )  bk sin( k1t ))
2 k 1
Здесь 1 = 2π/Т — круговая частота, соответствующая периоду Т повторения сигнала.
Входящие в формулу кратные ей частоты k1 называются гармониками, гармоники
нумеруются в соответствии с индексом k, частота k = k1 называется k - й гармоникой
сигнала. Коэффициенты ряда аk и bk рассчитываются по формулам:
2 T /2
ak 
 s(t ) cos(k1t )dt
T T / 2
bk 
2 T /2
 s(t ) sin( k1t )dt
T T / 2
Константа a0 рассчитывается по общей формуле для ak. Ради этой общности и
введена несколько странная на первый взгляд форма записи постоянного слагаемого
(с делением на два). Само же это слагаемое представляет собой среднее значение
сигнала на периоде
a0 1 T / 2

 s(t )dt
2 T T / 2
Вещественная форма
Некоторое неудобство синусно-косинусной формы ряда Фурье состоит в том,
что для каждого значения индекса суммирования k (то есть для каждой гармоники с
частотой k1 ) в формуле фигурируют два слагаемых — синус и косинус.
Воспользовавшись формулами тригонометрических преобразований, сумму этих
двух слагаемых можно трансформировать в косинус той же частоты с иной амплитудой и некоторой начальной фазой:

a0
s (t ) 
  Ak cos(k1t   k )
2 k 1
(1)
Если s(t) является четной функцией, фазы φk могут принимать только значения 0 и
π, а если s(t) — функция нечетная, то возможные значения для фазы равны ±π/2.
Комплексная форма
Данная форма представления ряда Фурье является, пожалуй, наиболее
употребимой в радиотехнике. Она получается из вещественной формы
представлением косинуса в виде полусуммы комплексных экспонент (такое
представление вытекает из формулы Эйлера e jx  cos x  j sin x ):
1
cos x  (e jx  e  jx )
2
Применив данное преобразование к вещественной форме ряда Фурье, получим
суммы комплексных экспонент с положительными и отрицательными показателями:
s (t ) 
 A
a0
  k (exp( j1t  j k )  exp( j1t  j k ))
2 k 1 2
А теперь будем трактовать экспоненты со знаком «минус» в показателе как
члены ряда с отрицательными номерами. В рамках этого же общего подхода
постоянное слагаемое а0/2 станет членом ряда с нулевым номером. В результате
получится комплексная форма записи ряда Фурье:
s (t ) 
k 

C k e  j1t
(2)
k  
Комплексные коэффициенты ряда связаны с амплитудами Ak и фазами φk,
фигурирующими в вещественной форме записи ряда Фурье (1), следующими не-
сложными соотношениями:
1
C k  Ak e j k , Ak  2 C k ,  k  arg( C k ) .
2
Несложно выглядят и формулы связи с коэффициентами аk и bk синуснокосинусной формы ряда Фурье
a
b
C k  k  j k , ak  2 Re(C k ) , bk  2 Im(C k ) .
2
2
Отсюда сразу же следует и формула непосредственного расчета коэффициентов
Ck ряда Фурье в комплексной форме:
1 T /2

Ck 
 s(t ) exp( jk1t )dt
T T / 2
(3)
Если s(t) является четной функцией, коэффициенты ряда Ck будут чисто вещественными, а если s(t) — функция нечетная, коэффициенты ряда окажутся чисто
мнимыми. Совокупность амплитуд гармоник ряда Фурье часто называют
амплитудным спектром, а совокупность их фаз — фазовым спектром.
Преобразование Фурье
Преобразование Фурье является инструментом спектрального анализа
непериодических сигналов. Для наглядной иллюстрации перехода от ряда Фурье к
преобразованию Фурье часто используется не вполне строгий математически, но
зато понятный подход. Представим себе периодическую последовательность
импульсов произвольного вида и сформируем ряд Фурье для нее. Затем, не меняя
формы одиночных импульсов, увеличим период их повторения (заполнив
промежутки нулевым значением) и снова рассчитаем коэффициенты ряда Фурье.
Формула (3) для расчета коэффициентов ряда показывает, что нам придется
вычислить тот же самый интеграл, но для более тесно расположенных частот k =
k1. Изменение пределов интегрирования не играет роли — ведь на добавившемся
между импульсами пространстве сигнал имеет нулевое значение. Единственное
дополнительное изменение будет состоять в уменьшении общего уровня гармоник
из-за деления результата интегрирования на увеличившийся период Т.
На рис. 4 описанные изменения иллюстрируются на примере двукратного
увеличения периода следования прямоугольных импульсов. Обратите внимание на
то, что горизонтальная ось спектральных графиков проградуирована в значениях
частот, а не номеров гармоник.
Рис. 4. Изменение спектра последовательности импульсов
при двукратном увеличении периода их следования
Итак, с ростом периода следования импульсов гармоники располагаются
ближе друг к другу по частоте, а общий уровень спектральных составляющих
становится все меньше. При этом вид вычисляемого интеграла (3) не меняется.
Наконец, если устремить период к бесконечности (превратив тем самым
периодическую последовательность в одиночный импульс), гармоники спектра
будут плотно занимать всю частотную ось, а их амплитуды упадут до нуля (станут
бесконечно малыми). Однако взаимное соотношение между уровнями гармоник
остается неизменным и определяется все тем же интегралом (3). Поэтому при
спектральном анализе непериодических сигналов формула для расчета коэффициентов комплексного ряда Фурье модифицируется следующим образом:
1. частота перестает быть дискретно меняющейся и становится непрерывным
параметром преобразования, (то есть k1 в формуле (3) заменяется на );
2. удаляется множитель 1/Т;
3. результатом вычислений вместо нумерованных коэффициентов ряда Сk является функция частоты S() — спектральная функция сигнала s(t). Иногда ее
называют также спектральной плотностью.
В результате перечисленных модификаций формула (3) превращается в
формулу прямого преобразования Фурье:
S ( ) 

 s(t )e
 jt
(3а)
dt

В формуле самого ряда Фурье суммирование заменяется интегрированием
(перед интегралом появляется деление на 2). Получающееся выражение
называется обратным преобразование Фурье:
s(t ) 
1
2

 S ( )e
jt
d
(3б)

Дискретное преобразование Фурье
При
дискретизации
аналогового
сигнала
его
спектр
становиться
периодическим с периодом повторения, равным частоте дискретизации.
Рассмотрим теперь, что представляет собой спектр дискретного периодического
сигнала. Итак, пусть последовательность отсчетов x(k) является периодической с
периодом N:
х (k + N) = х (k) для любого k.
Такая последовательность полностью описывается конечным набором
чисел, в качестве которого можно взять произвольный фрагмент длиной N,
например
x(k) { k = 0, 1,..., N-1}. Традиционным представлением является
поставленный в соответствие этой последовательности сигнал из смещенных по
времени дельта - функций:

 x(k ) (t  kT )
s (t ) 
(4)
k  
также, разумеется, будет периодическим с минимальным периодом N Т.
0, t  0,
где  (t )  
, t  0
Так как сигнал (4) является дискретным, его спектр должен быть периодическим с
периодом 2/Т. Так как этот сигнал является также и периодическим, его спектр,
должен быть дискретным с расстоянием между гармониками, равным 2/(NT).
Итак, периодический дискретный сигнал имеет периодический дискретный
спектр, который также описывается конечным набором из N чисел.
Рассмотрим процедуру вычисления спектра периодического дискретного
сигнала. Так как сигнал периодический, будем раскладывать его в ряд Фурье.
Коэффициенты Х(n) этого ряда, согласно общей формуле (3), равны
1
X (n) 
NT


NT
1
NT
1
NT

s(t )e
 j n t
0
N 1

k 0
N 1

k 0
NT
x(k )

1
dt 
NT
NT N 1
 
x(k ) (t  kT )e  j n t dt 
0 k 0
 (t  kT )e  j n t dt 
0
x(k ) exp( j
1
NT
N 1

x(k )e  j n kT 
k 0
2nk
).
N
(5)
Таким образом, формула для вычисления комплексных амплитуд гармоник
представляет собой линейную комбинацию отсчетов сигнала.
В выражении (5) реальный масштаб времени фигурирует только в множителе 1/Т
перед оператором суммирования. При рассмотрении дискретных последовательностей обычно оперируют номерами отсчетов и спектральных гармоник без
привязки к действительному масштабу времени и частоты. Поэтому множитель
1/Т из (5) удаляют, то есть считают частоту дискретизации равной единице.
Удаляют обычно и множитель 1/N. Получившиеся выражение называется
дискретным преобразованием Фурье (ДПФ):
X (n) 
N 1
 x(k ) exp( j
k 0
2 nk
)
N
(6)
Существует и обратное дискретное преобразование Фурье. Переход от
дискретного спектра к временным отсчетам сигнала выражается следующей
формулой:
1
x(k ) 
N
N 1
2 nk
X (n) exp( j
)
N
n0

(7)
Это выражение отличается от формулы прямого ДПФ (6) лишь знаком в
показателе комплексной экспоненты и наличием множителя 1/N перед
оператором суммирования.
Практическое задание №1.
Создать программу на языке СИ++, реализующую алгоритм
преобразования
Фурье
(6).
Осуществить
обработку
данной
дискретного
программой
различных импульсов и сигналов, представленных в приложении 1 с целью
получения их амплитудных и фазовых спектров.
1. Программа должна выводить амплитудный и фазовый спектр произвольного
импульса (сигнала) на экран ПК или в текстовый файл.
2. Выводить
амплитудный и фазовый спектр на экран ПК в виде графиков,
используя графические возможности языка СИ++.
3. Разработать программу расчета амплитудного спектра по формуле (3а) с
использованием численных методов (например метод Симсона )
Примечание.
Сигнал х(k) представлять в виде набора N отчетов следующих с одинаковым
шагом по времени Т. Таким образом суммарная длительность сигнала составит
NT. Для программы в формуле (6) необходимо разделить действительную и
мнимую части и получить следующие выражения (такое представление вытекает
из формулы Эйлера e jx  cos x  j sin x ):
Re(n) 
N 1
2 nk
)
N
 x(k ) cos(
k 0
N 1
Im( n)    x(k ) sin(
k 0
2 nk
)
N
где n = 0, 1, 2….., N-1
Амплитудный спектр сигнала получается в виде набора отсчетов на частотной оси
по формуле:
S (n)  Re(n) 2  Im(n) 2 для n = 0, 1, 2….., N-1
Фазовый спектр соответственно:
 Im(n) 
 для n = 0, 1, 2….., N-1
Re(
n
)


 s (n)  arctg 
Пример представления аналогового прямоугольного сигнала длительностью
Т1=NТ на временной оси в дискретном виде :
Т
0
Т1
0 1 ….. N-1
Практическое задание №2.
Составить аналогичную программу на языке СИ++ для обратного
дискретного преобразования Фурье (7).
Алгоритм быстрого преобразования Фурье
Для вычисления одного коэффициента ДПФ по формуле (6) необходимо
выполнить N комплексных умножений и сложений. Таким образом, расчет всего
ДПФ, содержащего N коэффициентов, потребует N2 пар операций «умножениесложение». Число операций возрастает пропорционально квадрату размерности
ДПФ. Однако, если N не является простым числом и может быть разложено на
множители, процесс вычислений можно ускорить, разделив анализируемый набор
отсчетов на части, вычислив их ДПФ и объединив результаты. Такие способы вычисления
ДПФ называются быстрым преобразованием Фурье (БПФ) и
повсеместно используются на практике.
При реализации БПФ возможно несколько вариантов организации
вычислении в зависимости от способа деления последовательности отсчетов на
части (прореживание по времени либо по частоте) и от того, на сколько
фрагментов производится разбиение последовательности на каждом шаге
(основание БПФ).
БПФ с прореживанием по времени
Рассмотрим идею БПФ с прореживанием по времени на примере деления
набора отсчетов пополам.
Итак, пусть N — четное число. Выделим в формуле (6) два слагаемых, соответствующих элементам исходной последовательности с четными и нечетными номерами:
X (n) 
N / 2 1

j
x ( 2 m) e
2 2mn
N

m0
N / 2 1

x(2m  1)e
j
2 ( 2 m 1) n
N
(8)
m0
Введем обозначения y (m)  x(2m) и z (m)  x(2m  1) , а также вынесем из второй
суммы общий множитель e
X (n) 
N / 2 1

m0
j
y ( m) e
j
2n
N
2mn
N /2
:
e
j
2n
2mn
N / 2 1
j
N
z ( m) e N / 2

(9)
m0
Две суммы в (9) представляют собой ДПФ последовательностей {у(т)} (отсчеты с
четными номерами) и {z(m)} (отсчеты с нечетными номерами). Каждое из этих
ДПФ имеет размерность N/2. Таким образом,
X (n)  Y (n)  e
j
2n
N Z (n)
(10)
где Y (n) и Z (n) — ДПФ соответственно последовательностей отсчетов с четными
и нечетными номерами.
Так как ДПФ размерности N/2 дает лишь N/2 спектральных коэффициентов,
непосредственно использовать формулу (10) можно только при 0 < n < N/2. Для
остальных n (N/2 < n < N) следует воспользоваться периодичностью спектра
дискретного сигнала (и, соответственно, периодичностью результатов ДПФ):
N
N
Y (n  )  Y (n) , Z (n  )  Z (n)
2
2
Следовательно при n ≥ N/2 формула (10) представляется в виде:
N j

X (n)  Y  n    e
2

2
N
(n  ) 
N
2 Z  n 

N

2
(11)
Процесс вычисления 8-точечного ДПФ путем разбиения его на два 4точечных ДПФ иллюстрируется на рис. 5.
Рис. 5. Вычисление 8-точечного ДПФ с помощью двух 4-точечных ДПФ
Блоки, выполняющие на рис. 5. объединение результатов двух ДПФ, требуют
дополнительных комментариев. Каждый такой блок имеет два входных и два
выходных сигнала. Один из входных сигналов умножается на комплексную
экспоненту W k , после чего суммируется со вторым входным сигналом и
вычитается из него, формируя таким образом два выходных сигнала. Это
соответствует реализации формул (10) и (11). Данная операция получила название
«бабочки». Расшифровка ее структуры представлена на рис. 6.
Рис. 6. Условное обозначение «бабочки» БПФ с прореживанием по времени
(слева) и ее структурная схема (справа)
Оценим количество операций, необходимое для
вычисления ДПФ
указанным способом. Каждое из двух ДПФ половинной размерности требует N2/4
операций. Кроме того, при вычислении окончательных результатов каждый
спектральным коэффициент Z(n) умножается на экспоненциальный комплексный
множитель. Это добавляет еще N/2 операций. Итого получается 2N2/4 + N/2 = N(N
+ l)/2, что почти вдвое меньше, чем при вычислении ДПФ прямым способом.
Если N/2 тоже является четным числом (то есть если N делится на 4), можно
продолжить описанную процедуру, выразив результат через четыре ДПФ размерности N/4. Это позволяет еще больше сократить число требуемых вычислительных операций.
Наибольшая степень ускорения вычислений может быть достигнута при N =
2k, в этом случае деление последовательностей на две части можно продолжать до
тех пор, пока не получатся двухэлементные последовательности, ДПФ которых
рассчитывается вообще без использования операций умножения (достаточно
вычислить сумму и разность двух отсчетов). Число требуемых при этом пар операций «умножение — сложение» можно оценить как Nlog2(N). Таким образом,
вычислительные затраты по сравнению с непосредственным использованием формулы (6) уменьшаются в N/log2(N) раз.
Практическое задание №3.
Сделать программу на языке СИ++, реализующую алгоритм вычисления 8точечного ДПФ с помощью двух 4-точечных ДПФ изображенный на рис. 5.
Осуществить обработку данной программой различных импульсов и сигналов,
представленных в приложении 1 с целью получения их амплитудных и фазовых
спектров.
1. Программа должна выводить амплитудный и фазовый спектр произвольного
импульса (сигнала) на экран ПК или в текстовый файл.
2. Выводить
амплитудный и фазовый спектр на экран ПК в виде графиков,
используя графические возможности языка СИ++.
БПФ с прореживанием по частоте
Формулы прямого и обратного ДПФ (6) и (7) отличаются только знаком в
показателе экспоненты и множителем перед суммой. Поэтому можно получить
еще один вариант алгоритма БПФ, выполнив преобразования, показанные на
схеме рис. 5, в обратном порядке. Этот способ вычислений называется
прореживанием по частоте. Покажем, как получить описание этого метода на
основе формулы прямого ДПФ (6).
Разделим исходную последовательность {x(k)} на две следующие друг за
другом половины (как и в предыдущем случае, N должно быть четным числом):
X (n) 
N / 2 1

 j 2mn
x ( m) e N

m0
N / 2 1

m0
N
x ( m  )e
2
 j 2 ( m  N / 2) n
N
Из второй суммы можно выделить множитель
j
e
2 ( N / 2) n
N
 e  jn  (1) n
Этот множитель равен 1 или - 1 в зависимости от четности номера
вычисляемого спектрального отсчета n, поэтому дальше рассматриваем четные и
нечетные n по отдельности. После выделения множителя ±1 комплексные
экспоненты в обеих суммах становятся одинаковыми, поэтому выносим их за
скобки, объединяя, две суммы:
X (2k ) 
N / 2 1

m0
N  j

 x ( m )  x ( m  ) e
2 

2mk
N /2
,
(12)
X (2k  1) 
N / 2 1

m0
N  j

 x ( m )  x ( m  ) e
2 

2mk
2m
j
N /2 e
N
.
(13)
Фигурирующие здесь суммы представляют собой ДПФ суммы и разности
половин исходной последовательности, при этом разность перед вычислением
ДПФ умножается на комплексные экспоненты ехр(-j2m/N). Каждое из двух
используемых здесь ДПФ имеет размерность N/2.
Итак, при прореживании по частоте вычисления организуются следующим образом:
1. Из исходной последовательности {x(k)} длиной N получаются две последовательности {у(m)} и {z(m)} длиной N/2 согласно следующим формулам:
N
),
2
y(m)  x(m)  x(m 
N  j

z ( m )   x ( m )  x ( m  ) e
2 

2m
N .
2. ДПФ последовательности {у(m)} дает спектральные отсчеты с четными
номерами, ДПФ последовательности {z(m)} - с нечетными:
X (2k )  Y (k ) 
N / 2 1

j
y ( m) e
2km
N /2
,
m0
X (2k  1)  Z (k ) 
N / 2 1

j
z ( m) e
2km
N /2 .
m0
Все
сказанное
в
предыдущем
разделе
о
возможности
деления
последовательности на иное, отличное от двух, число частей и об уменьшении
числа операций, требуемых для расчетов, относиться и к алгоритму прореживания
по частоте.
Процесс вычисления 8-точечного ДПФ путем разбиения его на два 4точечных ДПФ с прореживанием по частоте показан на рис. 7.
Рис. 7. Вычисление 8-точечного ДПФ с помощью двух 4-точечных ДПФ путем
прореживания по частоте
Поскольку комплексный экспоненциальный множитель в данном алгоритме
применяется к результату вычитания двух сигналов, «бабочка» БПФ с прореживанием по частоте имеет несколько иную структурную схему (рис. 8.).
Рис. 8. Условное обозначение «бабочки» БПФ с прореживанием по частоте (слева
и ее структурная схема (справа)
Практическое задание №4.
Разработать
программу
на
языке
СИ++,
реализующую
алгоритм
вычисления 8-точечного ДПФ с помощью двух 4-точечных ДПФ путем
прореживания по частоте
изображенный на рис. 7. Осуществить обработку
данной программой различных импульсов и сигналов, представленных в
приложении 1 с целью получения их амплитудных и фазовых спектров. Отсчеты
амплитудных и фазовых спектров выводить в файл или на экран ПК в текстовом и
графическом режиме.
Корреляционный анализ
Корреляционный анализ наряду со спектральным играет большую роль в
теории сигналов. Говоря кратко, его смысл состоит в количественном измерении
степени сходства различных сигналов. Для этого служат корреляционные
функции.
Корреляционная функция
Корреляционная функция (КФ) детерминированного сигнала с конечной
энергией представляет собой интеграл (в бесконечных пределах) от произведения
двух копий сигнала, сдвинутых друг относительно друга на время τ:
Bs ( ) 

 s(t ) s(t   )dt

Корреляционная функция показывает степень сходства между сигналом и
его сдвинутой копией — чем больше значение корреляционной функции, тем это
сходство сильнее. Кроме того, корреляционная функция обладает следующими
свойствами:
1. Значение КФ при τ = 0 равно энергии сигнала, то есть интегралу от его квадрата: Bs (0) 

s
2
(t )dt  E

2. КФ является четной функцией своего аргумента τ: Bs ( )  Bs ( )
3. Значение КФ при τ = 0 является максимально возможным значением:
Bs ( )  Bs (0)
4. С ростом абсолютного значения τ КФ сигнала с конечной энергией затухает:
lim Bs ( )  0
t 
5. Если сигнал s(t) не содержит особенностей в виде дельта - функций, его КФ не
может иметь разрывов, то есть обязана быть непрерывной функцией.
График КФ прямоугольного импульса показан на рис. 9.
Рис. 9. Корреляционная функция прямоугольного импульса
В случае периодического сигнала (и вообще любого сигнала с бесконечной
энергией) воспользоваться приведенным определением не удастся. Поэтому КФ
периодического сигнала с периодом Т вычисляют, усредняя произведение сдвинутых копий в пределах одного периода:
1 T /2
Bs ( ) 
 s(t ) s(t   )dt
T T / 2
Набор свойств такой КФ несколько меняется.
1. Значение при τ = 0 равно не энергии, а средней мощности анализируемого
сигнала.
2. Свойство четности сохраняется.
3. Значение КФ при τ = 0 по-прежнему является максимально возможным:
4. КФ периодического сигнала является периодической функцией с тем же
периодом, что и сам сигнал: Bs (  T )  Bs ( )
5. Если сигнал не содержит дельта - функций, его КФ будет непрерывной
функцией.
Взаимная корреляционная функция
Если КФ показывает степень сходства между сдвинутыми копиями
одного и того же сигнала, то взаимная корреляционная функция (ВКФ)
позволяет измерить аналогичную величину для сдвинутых экземпляров двух
разных сигналов.
Общий вид формулы КФ сохраняется, но под интегралом стоит
произведение двух разных сигналов, один из которых задержан на время τ:
B12 ( ) 

 s1 (t )s2 (t   )dt

График ВКФ прямоугольного и треугольного импульса показан на рис. 10.
Рис. 10. ВКФ прямоугольного и треугольного импульсов
Автокорреляционная функция стационарной случайной
последовательности отсчетов
Итак, пусть есть последовательность отсчетов {x(k)}, где каждый отсчет
является случайной величиной. Величину x(k) можно представить как x(nТ), где
Т – временной интервал между отсчетами.
Если известна реализация случайной последовательности, состоящая из Nотсчетов, то оценкой математического ожидания является выборочное среднее:
1
x
N
N 1
 x(nT )
n0
Оценка автокорреляционной функции определяется как
1 N  m 1
r ( m) 
 x(nT )  x x((n  m)T )  x 
N  m n0
(14)
Автокорреляционная функция служит мерой корреляции между отсчетами
случайной последовательности.
Практическое задание №5.
Создать программу на языке СИ++, по расчету оценки автокорреляционной
функции с помощью формулы (14) для произвольной последовательности
отсчетов. Определить данной программой автокорреляцию различных импульсов
и сигналов, представленных в приложении 1. Полученные, в результате расчетов
отсчеты автокорреляционной функции выводить в файл или на экран ПК в
текстовом и графическом режиме.
Линейная свертка
Линейная свертка двух бесконечных дискретных последовательностей
{x1(k)} и {x2(k)} определяется следующим образом:
y (k ) 
n
 x1(n) x 2(k  n)
n  
Для
двух
конечных
последовательностей
по
N1
и
N2
отсчетов
соответственно линейная свертка будет определяться соотношением:
y (k ) 
nk
 x1(n) x 2(k  n) , где
k=0,…., N1+N2-2
(15)
n 0
Круговая свертка
Если мы рассматриваем периодические последовательности, то и
суммирование при вычислении свертки таких последовательностей следует
производить по одному периоду. Такую операцию называют круговой сверткой'.
y (k ) 
N 1
N 1
i 0
i 0
 x1(i) x 2(k  i) 
 x1(i) x 2((k  i) mod N )
В этой формуле выражение (k  i) mod N означает взятие (k  i) по модулю N, то
есть вычисление остатка от деления (k  i) на N.
Практическое задание №6.
Разработать программу на языке СИ++, по расчету линейной свертки с
помощью формулы (15) для двух разных конечных последовательностей по N1 и
N2 отсчетов.
В качестве последовательностей взять
импульсы и сигналы
различной формы из приложения 1, представленные дискретным рядом, то есть
в виде последовательности отсчетов. Отсчеты линейной свертки выводить в файл
или на экран ПК в текстовом и графическом режиме.
Контрольные вопросы.
1. Что такое частота Найквиста? Какая необходима частота дискретизации
исходного сигнала, чтобы однозначно
восстановить его по отсчетам
дискретизированного сигнала?
2. Что такое АЦП и ЦАП?
3. Какие существуют формы представления ряда Фурье?
4. Дать определение непрерывного прямого и обратного преобразования Фурье.
5. Записать и объяснить формулу для прямого дискретного преобразования
Фурье (ДПФ).
6. Как определяется амплитудный и фазовый спектр дискретизированного
сигнала?
7. Пояснить схему работы быстрого дискретного преобразования
Фурье с
прореживанием по частоте?
8. Пояснить схему работы быстрого дискретного преобразования
Фурье с
прореживанием по времени?
9. Дать понятие автокорреляционной функции сигнала. Какие свойства у
корреляционной функции сигнала?
10.Поясните физический смысл взаимной корреляционной функции.
11.Что такое линейная и круговая свертка сигнала?
ЛИТЕРАТУРА
1. Сергиенко А. Б. Цифровая обработка сигналов — СПб.: Питер, 2003, 608с.
2. Гольденберг Л.М., Матюшкин Б.Д., Поляк М.Н. Цифровая обработка сигналов
— М.: Радио и связь, 1985, 312 с.
3. Голд Б., Рэйдер Ч. Цифровая обработка сигналов / Пер. с англ.; Под ред.
А. М. Трахтмана. — М.: Сов. радио, 1973, 368 с.
4. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов
Пер. с англ.; Под ред. Ю. И. Александрова. — М.: Мир, 1978.
5. Марпл-мл. С. Л. Цифровой спектральный анализ и его приложения / Пер. с
англ. - М.: Мир, 1990, 584с.
Приложение 1.
Примечание.
Все импульсы и сигналы различной формы должны быть представлены
дискретным рядом, то есть в виде последовательности отсчетов:
1. Прямоугольный импульс:
 A, t   / 2,
s(t )  
0, t   / 2.
2. Прямоугольный импульс, задержанный во времени:
 A, 0  t   ,
s(t )  
0, t  0, t   .
3. Несимметричный треугольный импульс:
 t
A , 0  t  T ,
s(t )   T
0, t  0, t  T .
4. Симметричный треугольный импульс:
t
 
 A1  , t  T ,
s(t )    T 
0, t  T .

5. Односторонний экспоненциальный импульс:
 Ae  at , t  0,
s (t )  
0, t  0.
6. Двухсторонний экспоненциальный импульс:
s (t )  Ae
a t
.
7. Гауссов импульс:
s(t )  Ae  a
2 2
t
.
8. Сигнал вида sin(х)/х:
s(t )  A
sin( t / T )
.
 t /T
9. Сигнал вида sin(х):
s(t )  A sin(
2 t
)
T
10. Сигнал вида cos(х):
2 t
s(t )  A cos(
)
T
11. Меандр – последовательность прямоугольных импульсов со скважностью
равной двум:

 A, t  (4n  1)T / 4,
s(t )  

0, t  (4n  1)T / 4.
n = 0, 1, 2…. N.
12. Пилообразный сигнал:
2A
(t  kT ),
T
(k  1 / 2)T  t  (k  1 / 2)T
s (t ) 
13. Последовательность треугольных импульсов:
t  kT 

,
s (t )  A1  4
T


(k  1 / 2)T  t  (k  1 / 2)T
14 Гауссов радиоимпульс:
s(t )  exp(at 2 ) cos(2 f ct )
Download