Проектирование цифрового фильтра на основе сигнального процессора 1813ВЕ1
Микросхема 1813ВЕ1 представляет собой однокристальную программируемую микро — ЭВМ с аналоговыми устройствами вводавывода, предназначенную для цифровой обработки сигналов в реальном масштабе времени. Набор команд микро — ЭВМ в сочетании с высокой точностью (25 двоичных разрядов) работы АЛУ позволяет строить на ее основе сложные системы цифровой обработки сигналов. Содержание Структурная схема… Читать ещё >
Проектирование цифрового фильтра на основе сигнального процессора 1813ВЕ1 (реферат, курсовая, диплом, контрольная)
Содержание Структурная схема цифрового фильтра Расчет устойчивости фильтра Расчет X (jk1) и H (jk1) с помощью БПФ. Программа на языке высокого уровня Расчет (jk1). Расчет выходного воздействия с помощью ОБПФ. Расчет y (nT) с помощью линейной свертки Расчет мощности собственных шумов синтезируемого фильтра Реализация заданной характеристики H (Z) на сигнальном процессоре 1813ВЕ1
Заключение
Список литературы
1. СТРУКТУРНАЯ СХЕМА ЦИФРОВОГО ФИЛЬТРА Проектирование цифрового фильтра начнем с рассмотрения его передаточной характеристики H (Z), которая имеет, согласно заданию на курсовую работу, вид:
.
Подставив в общую формулу коэффициенты, получим передаточную характеристику, которая описывает проектируемый цифровой фильтр:
.
Известно, что передаточная характеристика это отношение выходного воздействия к входному. Следовательно можно записать:
.
На основании чего определим функцию, описывающую выходной сигнал:
И переходя к оригиналам, запишем разностное уравнение:
Так как значения выходной последовательности в любой момент определяется в любой момент лишь значениями входной последовательности в этот же момент и прошлыми значениями входной последовательности, то фильтр является рекурсивным.
Прямую форму рекурсивного фильтра реализуем непосредственно по разностному уравнению. Эта схема содержит один сумматор, умножители соответствующие необходимым коэффициентам и элементы задержки (для создания цепей, соответствующих числителю и знаменателю передаточной функции, используются отдельные элементы задержки). Схема рекурсивного фильтра прямой формы приведена на рис. 1.
Также для аппаратной реализации представляет интерес прямая каноническая форма дискретного фильтра позволяющая использовать лишь один набор элементов задержки. Структурная схема прямой канонической формы рекурсивного фильтра описываемого имеющейся передаточной функцией содержит три элемента задержки (минимальное число) и два сумматора. Структурная схема прямой канонической формы рекурсивного фильтра приведена на рисунке 2. Реализация данной структурной схемы с помощью специального вычислителя более выгодно, как с экономической так и с технической точки зрения, так как приводит к уменьшению количества элементов в цифровом фильтре, и как следствие снижение потребления тока и уменьшению размеров устройства по сравнению прямой формой.
рис. 1 Структурная схема рекурсивного фильтра прямой формы рис. 2 Структурная схема рекурсивного фильтрапрямой канонической формы
2. РАСЧЕТ УСТОЙЧИВОСТИ ФИЛЬТРА При анализе работы любой цифровой структуры важное место приобретает вопрос устойчивости. Если по каким-то причинам цепь оказывается неустойчивой, то вместо желаемого фильтра получают генератор Полюсы H (Z) дискретной цепи должны располагаться внутри единичного круга плоскости Z. Это и есть принцип устойчивости. Приравняем знаменатель H (Z) к нулю и найдем корни:
Уравнение будет иметь три корня: z1 = - 0,947
z2 = 0,213 — j 0,753
z3 = 0,213 + j 0,753
На комплексной плоскости корни будут располагаться в виде показанном на рисунке 3.
рис. 3 Так как все корни находятся внутри единичного круга Zплоскости, то цепь является устойчивой
3. РАСЧЕТ X (jk1) и H (jk1) С ПОМОЩЬЮ БПФ При расчете X (jk1) исходной последовательностью будет являться входной сигнал: x (nT) = { 0,899; 0,9999; 0,799; -0,001; 0,001; -0,001; 0; 0 }.
Количество отсчетов равно 8.
Значения весовых функций:
Для N = 4:
W0 = 1; W1 = - j;
Для N = 8:
W0 = 1; W1 = 0,7071 — j 0,7071;
W2 = - j; W3 = - 0,7071 — j 0,7071;
Для рассчетаX (jk1) будем использовать алгоритм БПФ бабочка. Алгоритм и результаты поэтапного вычисления приведены на рисунке 4.
рис.4
X (jk1) = {2,724; 1,626-j1,525; 0,101-j1,027; 0,17+j0,073; 0674; 0,17-j0,073; 0,101+j1,027; 1,629+j1,525.}
При расчете H (jk) исходной последовательностью является импульсная характеристика, которая представляет собой реакцию системы h (nT) на единичный импульс (nT) при нулевых начальных условиях.
Импульсную характеристику h (nT) рассчитаем путем решения разностного уравнения.
n = 0
n = 1
n = 2
n = 3
n = 4
n = 5
n = 6
n = 7
h (nT) = {0,982;0,515; 0,509; -0,422; -0,186; -0,1099; 0,3410; -0,0468.}
С помощью БПФ рассчитаемH (jk). Алгоритм и результаты поэтапного вычисления приведены на рисунке 5.
рис. 5
4. РАСЧЕТ Y (jk).РАСЧЕТ ВЫХОДНОГО ВОЗДЕЙСТВИЯ С ПОМОЩЬЮ ОБПФ. РАСЧЕТ y (nT) С ПОМОЩЬЮ ЛИНЕЙНОЙ СВЕРТКИ При расчете y (nT) с помощью алгоритма ОБПФ исходной последовательностью является Y (jk) — отсчеты выходного сигнала в частотной области. Y (jk) найдем из соотношения:
Отсчеты X (jk) иH (jk) были определены выше. После вычислений имеем:
Y (jk) = {4,3124; 2,5222-j3,4214; -0,9033-j0,0325; 0,0791+j0,0321; 1,1524; 0,0791-j0,0321; -0,9033+j0,0325; 2,5222+j3,4215 }
Реализация алгоритма ОБПФ аналогична реализации алгоритма БПФ, за исключением различия весовых коэффициентов и того, что конечный результат необходимо разделить на N.
Для N = 4:
W0 = 1; W1 = j;
Для N = 8:
W0 = 1; W1 = 0,7071 + j 0,7071;
W2 = j; W3 = - 0,7071 + j 0,7071;
С помощью ОБПФ рассчитаемy (nT). Алгоритм и результаты поэтапного вычисления приведены на рисунке 6.
рис.6
После деления получившихся отсчетов на N = 8 имеем:
y (nT) = {1,1076; 1,434; 1,772; 0,554; -0,193; -0,628; 0,046; 0,22.}
Как известно существует три вида свертки дискретных сигналов:
Линейная свертка, или же апериодическая которая выполняется при небольшом количестве отсчетов x (nT) и h (nT) и применяется к непериодическим сигналам.
Круговая свертка (периодическая),
которая применяется к периодическим сигналам. При выполнении круговой свертки необходимо, чтобы последовательности x (nT) и h (nT) имели одинаковый период повторения. Круговая свертка осуществляется на интервале равном одному периоду.
c) Секционированная свертка, с помощью которой осуществляется свертка сигналов большой длительности. Для этого сигнал разбивают на секции одинаковой длины. Способ обработки сигнала в каждой секции определяется импульсной характеристикой цепи h (nT). Каждая секция обрабатывается отдельно по формуле круговой свертки.
Так как входной сигал и импульсная характеристика, в нашем случае, имеют небольшое количество отсчетов, а входной сигнал — непериодический, то выходной сигнал y (nT) рассчитаем с помощью линейной свертки.
n = 0
n = 1
n = 2
n = 3
n = 4
n = 5
n = 6
n = 7
В результате выполнения линейной свертки имеем следующие значения выходной последовательности y (nT):
y (nT) = {0,8828; 1,4718; 1,7718; 0,5545; -0,1931; -0,6279; 0,0456; 0,2196}
Рассматривая результаты вычисления выходной последовательности y (nT), получившиеся после ОБПФ и линейной свертки, можно сказать, что при небольшом количестве отсчетов ОБПФ дает определенную погрешность. Следовательно в данном случае наиболее приемлемо, для вычисления выходной последовательности, использование линейной свертки.
Программа, для вычисления БПФ и ОБПФ приведена ниже.
1 CLX
10LETpi = 3,141 592 654: m = 3
11PRINTВведите длину последовательности n
20 INPUT n
25 PRINT
30 DIM A (n): DIM B (n): DIM C (n): DIM D (n)
40 FOR i = 0 TO (n — 1)
50 PRINT a (; i ;) =: INPUT A (i)
55 PRINT b (; i ;) =: INPUT B (i)
60NEXTi
70PRINT
80PRINTВведите 1, если БПФ или — 1, если ОБПФ
90 INPUT u
95 LET k =1
100 LET C (k) = cos (- 2*pi*(k — 1)/n)
101 LET D (k) = sin (- 2*pi*(k — 1)/n)
105 IF k <=(n/2) THEN LET k = k+1: GOTO 100
110 LET i = 1
111 LET l = 1
112 LET r = 1
115 LET p = (r — 1)+(l — 1)*2i
116 LET q = p + 2(i — 1)
117 LET s = (r — 1)*2(m — i)
118 LET C (s) = C (s): LET D (s) = D (s)*u
119 LET A = A (p): LET B = B (p)
120 LET T1 = A (q)*C (s) — B (q)*D (s)
121 LET T2 = A (q)*C (s) + B (q)*D (s)
122 LET A (p) = A + T1: LET A (q) = A — T1
123 LET B (p) = B + T2: LET B (q) = B — T2
130 IF r <> 2(i — 1) THEN LET r = r +1: GOTO 115
135 IF l <> 2(m — 1) THEN LET l = l +1: GOTO 112
140 IF i <> m THEN LET i = i +1: GOTO 111
145 IF n <> - 1 THEN GOTO 146
146 FOR k = 1 TO n
150 LET A (k) = A (k)/n: LET B (k) = B (k)/n: NEXT k
160 FOR k = 1 TO n
170 LET A1 = A (k): LET B1 = B (k)
180 PRINT k =; k — 1: PRINT A (k) = A1
190 PRINT B (k) =; B1: NEXT l: STOP
РАСЧЕТ МОЩНОСТИ СОБСТВЕННЫХ ШУМОВ СИНТЕЗИРУЕМОГО ФИЛЬТРА В основе процессов преобразования аналогового сигнала u (t) в цифровой сигнал x (t) лежит сравнение последовательности выборок мгновенных значений аналогового сигнала с некоторым набором эталонов, каждый из которых содержит определенное число уровней квантования. На первом этапе преобразования формируется последовательность выборок Ni=u (ti). При равномерной дискретизации интервал дискретизации (тактовый интервал) постоянен. Для точного восстановления аналогового сигналаu (t) по последовательности его дискретных значений Ni, необходимо, чтобы спектр этого сигнала был ограничен некоторой частотой fmax и чтобы частота дискретизации fд = 1 Т 2fmax. Поэтому обычно на входе АЦП включают полосовой фильтр с верхней частотой среза fc = fд2. На втором этапе происходит квантование выборок, т. е. каждая выборка представляется числом x (nT), содержащим b двоичных разрядов, каждая выборка округляется до ближайшего уровня квантования. Следовательно отсчет будет представлен приближенно.
Число уровней квантования определяется разрядностью кодовых слов. Чем больше разрядность кодовых слов, тем больше число уровней квантования и тем точнее будет представлен отсчет.
Расстояние между уровнями квантования равно шагу квантования =2-b.
e (n) — погрешность квантования, которая определяется разностью между истинным числом и ближайшим уровнем квантования:
e (n)2 — при округлении кодовых слов
e (n) — при усечении кодовых слов Погрешности квантования являются причиной появления шумов квантования на выходе ЦФ. Источниками шумов квантования являются АЦП и умножители.
Наряду с ошибками квантования существуют ошибки, обусловленные технологическими и эксплуатационными отклонениями характеристик, а так же погрешности, обусловленные инерционностью АЦП и изменением входного сигнала в процессе преобразования.
Рассчитаем шумы квантования. Расчет производится по шумовой модели, которую строят по исходной цепи (рис.7):
рис.7
0(n) — шум от АЦП (обусловлен квантованием входного сигнала)
1−7(n) — шумы от каждого умножителя (обусловлены квантованием коэффициентов умножителей) Энергия шума на выходе ЦФ при округлении (оно выгоднее, чем усечение, т.к. шум меньше) определяется выражением:
при условии, что разрядность умножителей одинакова.
В нашем случае используем формулу для расчета усредненной энергии шума. Так как расчет шума по условию наихудшего случая приводит к завышению уровня расчетного шума по отношению к реальному.
Формула справедлива, при условии отсутствия корреляции между источниками шума. Так как корреляция отсутствует, то расчетная формула дает результат близкий к реальному.
h0 — импульсная характеристика ЦФ
hi — импульсная характеристика участка дискретной цепи от выхода источника шума до выхода цепи Определим отсчеты импульсных характеристик hi (nT) и h0(nT) с помощью передаточных функций Hi (z) иH0(z).
h0(nT) = {0,982;0,515; 0,509; -0,422; -0,186; -0,1099; 0,3410; -0,0468.}
Определим отсчеты h1−7методом деления числителя на знаменатель. Это еще один способ нахождения импульсной характеристики.
6. РЕАЛИЗАЦИЯ ЗАДАННОЙ ПЕРЕДАТОЧНОЙ ХАРАКТЕРИСТИКИ H (z) НА СИГНАЛЬНОМ ПРОЦЕССОРЕ 1813ВЕ1
Микросхема 1813ВЕ1 представляет собой однокристальную программируемую микро — ЭВМ с аналоговыми устройствами вводавывода, предназначенную для цифровой обработки сигналов в реальном масштабе времени. Набор команд микро — ЭВМ в сочетании с высокой точностью (25 двоичных разрядов) работы АЛУ позволяет строить на ее основе сложные системы цифровой обработки сигналов.
Необходимо реализовать на ВМ 1813ВЕ1 цифровой фильтр третьего порядка, передаточная функция которого имеет вид:
Прейдем к разностному уравнению:
Введем обозначения: Y0 = y (nT)
X1 = x (nT)
X2 = x (nT — T)
X3 = x (nT — 2T)
X4 = x (nT — 3T)
Y1 = y (nT — T)
Y2 = y (nT — 2T)
Y3 = y (nT — 3T)
Для уменьшения времени при выполнении операций умножений, представим коэффициенты в следующем виде:
0,982 20 — 2−6
1,027 20
0,984 20 — 2−6
0,521 2−1 + 2−6+ 2−8
0,521 2−1 + 2−6 + 2−8
0,2099 2−2 — 2−5
0,5799 2−1 + 2−4
В этом случае, для того, чтобы умножить X (kT) на соответствующий коэффициент (0,2 929), достаточно сделать сдвиг вправо X (kT) на 8 и на 10 разрядов. Полученные величины вычесть друг из друга, т. е.
0,02929X (kT) =X*2−8 — X*2−10
В таблице 4 приведена программа реализации фильтра.
Таблица 4
№ п/п | КОП цифро-вой | Код опе; ранда В | Код опе; ранда А | Код.масшт. Устройства | КОП аналоговый | Комментарии | |
LDA | Y2 | Y1 | R00 | IN (0) | Y2=Y1 В аналоговой части осуществляется ввод сигнала по «» каналу. Команда ввода повторяется 8 раз подряд. | ||
LDA | Y1 | Y0 | R00 | IN (0) | Y1=Y0 | ||
LDA | Y0 | Y1 | R01 | IN (0) | Y0=Y1x2−1 | ||
ADD | Y0 | Y1 | R06 | IN (0) | Y0=Y0+2−6xY1 | ||
ADD | Y0 | Y1 | R08 | IN (0) | Y0=Y0+2−8xY1 | ||
SUB | Y0 | Y2 | R02 | IN (0) | Y0=Y0−2-2 xY2 | ||
SUB | Y0 | Y2 | R05 | IN (0) | Y0=Y0+2−5xY2 | ||
SUB | Y0 | Y3 | R01 | IN (0) | Y0=Y0−2-1xY3 | ||
ADD | Y0 | Y3 | R04 | IN (0) | Y0=Y0+2−4xY3 | ||
LDA | Y0 | Y0 | R00 | CVTS | В цифровой части холост. Операция. В аналоговой части преобр. знака | ||
LDA | Y0 | Y0 | R00 | NOP | холостые | ||
LDA | Y0 | Y0 | R00 | NOP | операции | ||
LDA | Y0 | Y0 | R00 | CVT (7) | Преобразование 7 разряда мантиссы | ||
LDA | Y0 | Y0 | R00 | NOP | холостые | ||
LDA | Y0 | Y0 | R00 | NOP | операции | ||
LDA | Y0 | Y0 | R00 | CVT (6) | Преобразование 6 разряда мантиссы | ||
LDA | Y0 | Y0 | R00 | NOP | |||
: | LDA | Y0 | Y0 | R00 | NOP | ||
LDA | Y0 | Y0 | R00 | CVT (0) | Преобразование младшего разряда мантиссы | ||
LDA | Y0 | Y0 | R00 | NOP | |||
LDA | Y0 | Y0 | R00 | NOP | |||
ADD | X1 | DAR | R00 | NOP | X1=DAR | ||
ADD | Y0 | Y0 | R00 | NOP | Y0=Y0+20 | ||
SUB | Y0 | X1 | R06 | NOP | Y0=Y0−2-6xX1 | ||
ADD | Y0 | X2 | R00 | NOP | Y0=Y0+20xX2 | ||
ADD | Y0 | X3 | R00 | NOP | Y0=Y0+20xX3 | ||
SUB | Y0 | X3 | R06 | NOP | Y0=Y0−2-6xX3 | ||
ADD | Y0 | X4 | R01 | NOP | Y0=Y0+2−1xX4 | ||
ADD | Y0 | X4 | R06 | NOP | Y0=Y0−2-4xX4 | ||
ADD | Y0 | X4 | R08 | NOP | Y0=Y0−2-8xX4 | ||
LDA | DAR | Y0 | NOP | DAR=Y0 | |||
: | LDA | Y0 | Y0 | R00 | OUT (1) | Вывод по первому выходу (повторяется 8 раз подряд) | |
LDA | Y0 | Y0 | R00 | OUT (1) | |||
LDA | Y0 | Y0 | R00 | EOP | Возврат в начало программы | ||
Программа начинается с переприсвоения переменных, что эквивалентно сдвигу выходного сигнала в первой и второй линиях задержки. Процесс умножения на заданные коэффициенты производится путем сдвигов вправо или влево операнда, А в масштабирующем устройстве. При сдвиге вправо используется мнемоническое обозначение R, а влево — L. Время, отводимое на выполнение всей программы составит 600нс*57=34,2мкс.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы был рассчитан и реализован на сигнальном процессоре 1813ВЕ1 цифровой рекурсивный фильтр третьего порядка.
В заключении хотелось бы еще раз отметить перспективность данной темы во многих отраслях, таких как цифровые системы передачи, приборостроение и многие другие.
цифровой синтезирующий фильтр процессор
СПИСОК ЛИТЕРАТУРЫ
Гольденберг Л. М., Матюшкин Б. Д., Цифровая обработка сигналов. Москва Радио и связь 1990 г.
Бизин А.Т.
Введение
в цифровую обработку сигналов. Учебное пособие. Новосибирск. 1998 г.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем. Т2. Москва. Радио и связь 1988 г.