Цифровой режекторный фильтр

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 17.10.2011
Размер файла 208,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

РЯЗАНСКАЯ ГОСУДАРСТВЕННАЯ РАДИОТЕХНИЧЕСКАЯ АКАДЕМИЯ

КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

По дисциплине «Техника цифровой обработки сигналов»

Студентка Шефлер Анастасии Михайловне

код __________ группа 111

1. Тема:

ЦИФРОВОЙ РЕЖЕКТОРНЫЙ ФИЛЬТР

2. Срок представления курсовой работы к защите «31» марта 2005г.

3. Исходные данные для проектирования:

а) Алгоритм обработки сигналов должен соответствовать режекторному фильтру.

б) Требования к характеристикам фильтра:

в) Характеристика входных данных - Analog

г) Характеристика выходных данных - Analog

д) Число разрядов операндов - 8

е) Ширина спектра флуктуаций помехи - ?fT =0.16

ж) Коэффициент подавления помех - Кп =-36 дБ

4. Обязательные разделы пояснительной записки курсовой работы

4.1. Титульный лист.

4.2. Задание на курсовую работу.

4.3. Содержание.

4.5. Анализ задачи и ее формализация.

4.6. Определение требований к АЦП и характеристикам цифрового фильтра.

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

4.8. Анализ частотных, импульсной и переходных характеристик фильтра.

4.9. Анализ ошибок квантования в цифровом фильтре и методов их минимизации.

4.10. Анализ эффективности подавления помех.

4.11. Выбор и технико-экономическое обоснование элементной базы для реализации.

4.12. Составление структурной схемы устройства и описание ее работы.

4.13. Расчет реального быстродействия устройства.

4.14. Заключение.

4.15. Список использованных источников.

Руководитель работы 13.02.05 В.И. Кошелев

Задание принял к исполнению 3.03.05 студент ___________

Содержание

  • Анализ задачи и ее формализация
  • Определение требований к АЦП и характеристикам цифрового фильтра
  • Выбор (синтез) структуры и параметров (порядка и коэффициентов, разрядности, частоты дискретизации) цифрового фильтра
  • Анализ частотных, импульсной и переходных характеристик фильтра
  • Анализ ошибок квантования в цифровом фильтре и методов их минимизации
  • Анализ эффективности подавления помех
  • Выбор и технико-экономическое обоснование элементной базы для реализации
  • Составление структурной схемы устройства и описание ее работы
  • Составление модуля рабочей программы
  • Расчет реального быстродействия устройства
  • Список использованных источников
  • Приложение
  • Анализ задачи и ее формализация
  • В данной курсовой работе требуется синтезировать и реализовать цифровой режекторный фильтр, который обеспечивал бы подавление низкочастотной помехи с требуемым коэффициентом подавления. Подобный фильтр может быть полезен при обработке радиолокационных сигналов для удаления из спектра принимаемого сигнала составляющих, соответствующих сигналу, отраженному от предметов, движущихся с малыми скоростями. Такой сигнал является низкочастотной помехой.
  • Для этого используется цифровой режекторный фильтр, вырезающий низкие частоты. АЧХ фильтра будет периодической. Существует несколько способов реализации цифрового фильтра с заданной АЧХ. Наиболее часто используемый - метод билинейного преобразования. Билинейное преобразование заключается в прямой подстановке в H(s) вместо комплексной частотной переменной s следующего выражения:
  • (1.1)
  • где k -- действительная положительная постоянная, выбираемая следующим образом. Ось частот в аналоговом случае в соответствии с (3.2) преобразуется в единичную окружность так, что
  • (1.2)
  • и поэтому частота среза АЧХ аналогового фильтра будет соответствовать частоте среза АЧХ цифрового фильтра, причем
  • (1.3)
  • Таким образом, зная две частоты среза, можно вычислить постоянную ky пользуясь выражением (1.3). Билинейное преобразование в виде, заданном формулами (1.1) -- (1.3), облегчает преобразование аналоговых фильтров с непрерывным временем (например, ФНЧ, ФВЧ и т. д.), когда они преобразуются в цифровые фильтры того же вида (т. е. в ФНЧ, ФВЧ и т. д.).
  • Такое преобразование применимо только к частотным характеристикам, являющимся кусочно-постоянными, и неприменимо, например, к интеграторам или другим фильтрам, имеющим частотную характеристику, не являющуюся кусочно-постоянной.
  • Устойчивость полученного таким способом цифрового фильтра гарантируется, если исходный аналоговый фильтр был устойчив и область устойчивости в одной комплексной плоскости путем преобразования (1.1) отображается в область устойчивости в другой комплексной плоскости.
  • По полученной таким образом можно составить разностное уравнение, которое реализуется програмно.
  • В данной курсовой работе для упрощения вычислений при расчете коэффициентов фильтра используется программное обеспечение.

Определение требований к АЦП и характеристикам цифрового фильтра

Требования, предъявляемые к АЦП и цифровому фильтру в целом, основаны на техническом задании. Так необходимо обеспечить частоту дискретизации сигнала равную 15кГц . Это означает, что аналогово-цифровой преобразователь должен формировать на выходе последовательность кодов, соответствующих входному непрерывному воздействию, с частотой 15кГц. В качестве АЦП будем использовать микросхему КР572ПВ3. БИС КР572ПВ3 представляет собой АЦП последовательных приближений. Алгоритм преобразования реализуется с помощью регистра последовательных приближений.

Преобразователь этого типа, называемый в литературе также АЦП с поразрядным уравновешиванием, является наиболее распространенным вариантом последовательных АЦП.

В основе работы этого класса преобразователей лежит принцип дихотомии, т.е. последовательного сравнения измеряемой величины с 1/2, 1/4, 1/8 и т.д. от возможного максимального значения ее. Это позволяет для N-разрядного АЦП последовательного приближения выполнить весь процесс преобразования за N последовательных шагов (итераций) вместо 2N-1 при использовании последовательного счета и получить существенный выигрыш в быстродействии. Так, уже при N=10 этот выигрыш достигает 100 раз и позволяет получить с помощью таких АЦП до 105...106 преобразований в секунду. В то же время статическая погрешность этого типа преобразователей, определяемая в основном используемым в нем ЦАП, может быть очень малой, что позволяет реализовать разрешающую способность до 18 двоичных разрядов при частоте выборок до 200 кГц

Цифровой фильтр должен успевать обрабатывать входные отсчеты за то интервал дискретизации, чтобы работать в реальном времени.

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

Цифровой фильтр будет реализован на основе нерекурсивного фильтра, т.к. такие фильтры просты в расчетах и всегда устойчивы. Структура нерекурсивного фильтра выглядит следующим образом (рис.1):

цифровой режекторный фильтр помеха

Рис.1 Структура нерекурсивного цифрового фильтра

Коэффициенты определяются с помощью программы «Стрела 2.0» для оптимального фильтра.

Результаты сведены в таблицу1.

Порядок фильтра

1

2

3

4

5

6

Коэффициент подавления помехи, дБ

10,64

19,93

27,94

34,85

40,66

45,05

Табл.1. Зависимость коэффициента подавления помехи от порядка фильтра.

Т.о. можно остановиться на порядке фильтра = 5.

Значения коэффициентов приведены в таблице2.

0

1

2

3

4

5

значение

-1

3,66655

-6,280448

6,280448

-3,66655

1

Табл.2. Значения коэффициентов цифрового оптимального фильтра.

Т.о. сразу можно сказать, что выполняется требование к линейности ФЧХ фильтра. Теперь исследуем частотные характеристики, а так же импульсную и переходную характеристики.

Анализ частотных, импульсной и переходных характеристик фильтра

Программа вычисления частотных характеристик в системе MathLab выглядит следующим образом:

Полученные амплитудная и частотная характеристики изображены на рисунках 2 и 3 соответственно.

Рис.2. АЧХ полученного фильтра.

Рис.3. ФЧХ полученного фильтра.

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

Программа вычисления импульсной характеристики в системе MathLab выглядит следующим образом:

Рис.4. Импульсная характеристика полученного фильтра.

Полученная импульсная характеристика изображена на рисунке 4:

Переходная характеристика фильтра есть отклик фильтра на единичный скачок. Программа вычисления переходной характеристики в системе MathLab выглядит следующим образом:

Полученная переходная характеристика изображена на рисунке 5.

Рис.5. Переходная характеристика полученного фильтра.

Анализ ошибок квантования в цифровом фильтре и методов их минимизации

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

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

Квантование чисел является нелинейной операцией; m-разряд-ное двоичное число А представляется b-разрядным двоичным числом B = F(A), причем b<т. В результате квантования число А представляется с ошибкой

e = B-A=F(A)-A (2.1)

Шаг квантования Q определяется весом младшего числового разряда При квантовании используется усечение или округление.

Усечение числа А состоит в отбрасывании младших разрядов числа, при этом ошибка усечения

(2.2)

Оценим величину ошибки в предположении . Для положительных чисел при любом способе кодирования . Для отрицательных чисел при использовании прямого и обратного кодов ошибка усечения неотрицательна:, а в дополнительном коде эта ошибка неположительна:. Таким образом, во всех случаях абсолютное значение ошибки усечения не превосходит шага квантования:

(2.3)

Округление m-разрядного числа А до b разрядов (): b-й разряд остается неизменным или увеличивается на единицу в зависимости от того, больше или меньше отбрасываемая дробь 0, , где ai -- i-й разряд числа А, . Округление можно практически выполнить путем прибавления единицы к (b+1)-му разряду и усечения полученного числа до b разрядов. В таком случае ошибка округления при всех способах кодирования лежит в пределах

(2.4)

и, следовательно,

(2.5)

Рис.6. Плотности вероятностей для ошибок квантования при округлении(слева) и усечении (справа).

В задачах ЦОС ошибки квантования чисел рассматриваются как стационарный шумоподобный процесс с равномерным распределением вероятности по диапазону распределения ошибок квантования. На рисунке 6 приведены плотности вероятности ошибки квантования при округлении и усечении.

Квантование дискретных сигналов (в АЦП и цифровых сигналов на выходах умножителей и сумматоров) состоит в представлении отсчета (выборки сигнала) числами х(пТ), содержащими b числовых разрядов. Квантование сигналов, как и квантование чисел, является нелинейной операцией. Однако при анализе процессов в ЦФ используется линейная модель квантования сигналов (рисунок 7), где f(nT) -- дискретный или m-разрядный цифровой сигнал (m>b), x(nT) -- квантованный b- разрядный цифровой сигнал, ошибка квантования е (п Т) = х (п Т) --f(n T).

Верхнее значение ошибки квантования определяется по-прежнему соотношением (2.4) или (2.5).

Вероятностные оценки ошибок квантования основаны на предположениях о том, что последовательность е(пТ) является стационарным случайным процессом с равномерным распределением вероятности по диапазону ошибок квантования и е(пТ) не коррелирован с f(nT). Математическое ожидание (среднее значение) и дисперсия ошибки квантования е определяются по формулам:

где ре -- плотность вероятности ошибки. По этим формулам легко вычислить математическое ожидание и дисперсию для ошибок округления и усечения:

(2.6)

(2.7)

Рис.7. Линейная модель квантования сигналов.

Т.о. возможность снижения ошибок квантования заключается в уменьшении значения шага квантования . Или, что эквивалентно, увеличении разрядов квантования.

Анализ эффективности подавления помех

При проектировании фильтра и выборе его порядка получен коэффициент подавления помехи 40,66 дБ, но это значение ухудшится из-за влияния шумов квантования. Значение мощности шумов квантования в 8-разрядном цифровом фильтре будет определяться следующим образом:

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

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

Выбор и технико-экономическое обоснование элементной базы для реализации

Для реализации потребуется:

1. 8-разрядный АЦП

2. Микропроцессор+ОЗУ+ПЗУ

3. ЦАП

В качестве АЦП выбрана микросхема K572ПВ3, которая для нормальной работы нуждается в наличии схемы выборки-хранения, в качестве которой выбрана микросхема K1100CK2.

Параметры АЦП:

- Тактовая частота до 1,5 МГц

- Опорное напряжение -10В, от +5 В

- Диапазон входного аналогового сигнала: от 0 В до 10В

- Время преобразования tпp= 8TCLK АЦП

В качестве микропроцессора выбран пакет К1821, который имеет в своем составе непосредственно сам микропроцессор К1821ВМ85, постоянное запоминающее устройство (ПЗУ) микросхему КР1821РФ55 и оперативное запоминающее устройство (ОЗУ) микросхему КР1821РУ55. Этот пакет выбран потому что изучался ранее.

В качестве ЦАП выбрана микросхема AD7533, которая представляет из себя 10-разрядный ЦАП. Обладает следующими параметрами:

- разрешение 10 бит

- время установления 800 нс

- выходные токи 50 нА

- VDD = +15V (опорное напряжение)

- VREF = +1OV (напряжение питания)

Составление структурной схемы устройства и описание ее работы

Т.о. в состав спроектированного фильтра входят АЦП, микропроцессорный комплект К1821, ЦАП. Входной сигнал поступает на предварительный усилитель (операционный усилитель), который приводит размах напряжения к уровню, необходимому для работы АЦП (10В). Усиленный сигнал поступает на вход АЦП. Также на АЦП подается напряжение смещения (5В) для перевода входного напряжения в положительный диапазон. АЦП формирует 8-разрядный код, соответствующий уровню входного сигнала. Как только отсчет сформирован АЦП формирует сигнал BUSY .

По этому сигналу на вход CLK прекращают поступать тактовые импульсы. Это продолжается до тех пор, пока микропроцессор не считает код по команде прерывания.

Бинарный код поступает в МПС через порт А микросхемы КР1821РУ55. Микропроцессор обрабатывает код в соответствии с программой, хранящейся в микросхеме ПЗУ КР1821РФ55.

Преобразованный код поступает на цифровой вход ЦАП через порт А микросхемы КР1821РФ55.

Цифро-аналоговый преобразователь формирует ток на аналоговом выходе в соответствии с входным кодом и опорным напряжением.

Два операционных усилителя на выходе предназначены для преобразования тока на выходе ЦАП в напряжение.

Составление модуля рабочей программы

По вычисленным коэффициентам фильтра можно составить разностное уравнение следующего вида:

0,280448(D) = 0,01000111(B)

Предположим, x(n-2) хранится в ОЗУ с адресом X2, а результат надо записать по адресу P2 тогда модуль умножения отсчета на 0,280448 будет выглядеть следующим образом:

Число тактов на выполнение команды

LDA X2

13

ARHL

7

ARHL

7

ADD H

4

ARHL

7

ARHL

7

ARHL

7

ARHL

7

ADD H

4

ARHL

7

ADD H

4

ARHL

7

ADD H

4

MOVE P2,H

7

Всего: 92

0.66655(D) = 0.10101010(B);

Предположим, x(n-1) хранится в ОЗУ с адресом X1, а результат надо записать по адресу P2 тогда модуль умножения отсчета на 0,66655 будет выглядеть следующим образом:

Число тактов на выполнение команды

LDA X1

13

ARHL

7

MOV H,A

7

ARHL

7

ARHL

7

ADD H

4

ARHL

7

ARHL

7

ADD H

4

ARHL

7

ARHL

7

ADD H

4

MOVE P1,H

7

Всего: 89

Расчет реального быстродействия устройства

Как было подсчитано ранее число тактов на выполнение умножений равно 2(92+89)=362. Помимо этого в процессе определения выходного отсчета необходимо выполнить 24 операции сложения, которые занимают в общей сложности 24(7+4+7)=432 такта. Т.о. в общее число тактов, необходимых для вычисления одного выходного отсчета равно 794 такта.

Мы дискретизируем входной сигнал с частотой 15 кГц, тогда максимальное время, затрачиваемое на обработку одного выходного отсчета равно .

При тактовой частоте 1,5 МГц время обработки одного выходного отсчета равно . Это нас не устраивает, поэтому придется поменять элементную базу. Вместо микропроцессора будет использоваться ПЛИС фирмы ALTERA семейства FLEX10K. Программа разрабатывалась на языке AHDL с помощью пакета MAX+2.

Модуль программы без вычитателя выглядит следующим образом:

*************************************************************

INCLUDE "ku";

INCLUDE "summator";

INCLUDE "n";

INCLUDE "nn";

SUBDESIGN filter

(

VHOD[7..0] : INPUT =GND;

TAKT : INPUT;

VIHOD[15..0] : OUTPUT;

)

VARIABLE

REG_HRAN : ku;

SUMMER[3..0] : summator;

shesty[1..0] : nn;

try[1..0] : n;

BEGIN

REG_HRAN.takt = TAKT;

SUMMER[].takt = TAKT;

shesty[1..0].takt = TAKT;

try[1..0].takt = TAKT;

REG_HRAN.vhod[7..0] = VHOD[7..0];

try[0].vhod[7..0] = REG_HRAN.vihod[15..8];

try[1].vhod[7..0] = REG_HRAN.vihod[39..32];

shesty[0].vhod[7..0] = REG_HRAN.vihod[23..16];

shesty[1].vhod[7..0] = REG_HRAN.vihod[31..24];

%суммируем коэффициенты с отрицательным знаком%

SUMMER[0].a[7..0] = REG_HRAN.vihod[7..0];

SUMMER[0].b[7..0] = shesty[0].vihod[7..0];

SUMMER[1].a[7..0] = try[1].vihod[7..0];

SUMMER[1].b[7..0] = SUMMER[0].sum[7..0];

%суммируем коэффициенты с положительным знаком%

SUMMER[2].a[7..0] = REG_HRAN.vihod[47..40];

SUMMER[2].b[7..0] = shesty[1].vihod[7..0];

SUMMER[3].a[7..0] = try[0].vihod[7..0];

SUMMER[3].b[7..0] = SUMMER[2].sum[7..0];

VIHOD[7..0] = SUMMER[3].sum[7..0];

VIHOD[15..8] = SUMMER[1].sum[7..0];

END;

************************************************************

Модули подпрограмм, использованных в головном проекте:

*************************************************************

Include "summator";

Include "mult";

SUBDESIGN N

(

VHOD[7..0] : INPUT =GND;

VIHOD[7..0] : OUTPUT;

TAKT : INPUT;

)

VARIABLE

SUMMER[2..0] : summator;

MULTI :mult;

BEGIN

%подсоединен тактовый сигнал%

SUMMER[2..0].takt = TAKT;

MULTI.takt = TAKT;

%блок домножения входного отсчета на коэффициент 0,280448%

MULTI.vhod[7..0] = VHOD[7..0];

%блок суммирования для n-1 отсчета%

SUMMER[0].a[7..0] = VHOD[7..0];

SUMMER[0].b[7..0] = VHOD[7..0];

SUMMER[1].a[7..0] = VHOD[7..0];

SUMMER[1].b[7..0] = MULTI.vihod[7..0];

SUMMER[2].a[7..0] = SUMMER[0].sum[7..0];

SUMMER[2].b[7..0] = SUMMER[1].sum[7..0];

VIHOD[7..0] = SUMMER[2].sum[7..0];

END;

*************************************************************

%регистр хранения входных отсчетов

7..0 последний отсчет по убыванию

15..8 предпоследний отсчет по убыванию и т.д.

23..16

31..24

39..32

47..40 n-5 отсчет %

SUBDESIGN ku

(

VHOD[7..0] : INPUT ;

takt : INPUT;

VIHOD[47..0] : OUTPUT;

)

VARIABLE

Tr[47..0] : dffe;

BEGIN

Tr[].clk = takt;

Tr[].ena = VCC;

Tr[7..0] = VHOD[7..0];

for i in 9 to 48 generate

Tr[i-1].d = Tr[i-9].q;

end generate;

VIHOD[]=Tr[].q;

END;

*************************************************************

%программа перемножитель 8-битного числа на коэффициент 0,280448%

INCLUDE "summator.inc";

SUBDESIGN mult

(

vhod[7..0] : INPUT;

takt : INPUT;

vihod[7..0] : OUTPUT;

)

VARIABLE

su1 : summator;

su0 : summator;

BEGIN

su1.takt=takt;

su0.takt=takt;

su0.a[5..0]=vhod[7..2];

su0.b[1..0]=vhod[7..6];

su1.a[6..0]=su0.sum[6..0];

su1.b[0]=vhod[7];

vihod[7..0]=su1.sum[7..0];

END;

*************************************************************

%программа перемножитель 8-битного числа на коэффициент 0,66655

10101010%

INCLUDE "summator.inc";

SUBDESIGN multt

(

vhod[7..0] : INPUT;

takt : INPUT;

vihod[7..0] : OUTPUT;

)

VARIABLE

su1 : summator;

su0 : summator;

su2 : summator;

BEGIN

su1.takt=takt;

su0.takt=takt;

su2.takt=takt;

su0.a[6..0]=vhod[7..1];

su0.b[4..0]=vhod[7..3];

su1.a[2..0]=vhod[7..5];

su1.b[0]=vhod[7];

su2.a[7..0]=su0.sum[7..0];

su2.b[7..0]=su1.sum[7..0];

vihod[7..0]=su2.sum[7..0];

END;

*************************************************************

Include "summator";

Include "multt";

SUBDESIGN NN

(

VHOD[7..0] : INPUT =GND;

VIHOD[7..0] : OUTPUT;

TAKT : INPUT;

)

VARIABLE

SUMMER[5..0] : summator;

MULTTI :multt;

BEGIN

%подсоединен тактовый сигнал%

SUMMER[5..0].takt = TAKT;

MULTTI.takt = TAKT;

%блок домножения входного отсчета на коэффициент 0,280448%

MULTTI.vhod[7..0] = VHOD[7..0];

%блок суммирования для n-1 отсчета%

SUMMER[0].a[7..0] = VHOD[7..0];

SUMMER[0].b[7..0] = VHOD[7..0];

SUMMER[1].a[7..0] = VHOD[7..0];

SUMMER[1].b[7..0] = VHOD[7..0];

SUMMER[2].a[7..0] = VHOD[7..0];

SUMMER[2].b[7..0] = VHOD[7..0];

SUMMER[3].a[7..0] = SUMMER[0].sum[7..0];

SUMMER[3].b[7..0] = MULTTI.vihod[7..0];

SUMMER[4].a[7..0] = SUMMER[1].sum[7..0];

SUMMER[4].b[7..0] = SUMMER[2].sum[7..0];

SUMMER[5].a[7..0] = SUMMER[3].sum[7..0];

SUMMER[5].b[7..0] = SUMMER[4].sum[7..0];

VIHOD[7..0] = SUMMER[5].sum[7..0];

END;

*************************************************************

Include "summator";

Include "mult";

SUBDESIGN N

(

VHOD[7..0] : INPUT =GND;

VIHOD[7..0] : OUTPUT;

TAKT : INPUT;

)

VARIABLE

SUMMER[2..0] : summator;

MULTI :mult;

BEGIN

%подсоединен тактовый сигнал%

SUMMER[2..0].takt = TAKT;

MULTI.takt = TAKT;

%блок домножения входного отсчета на коэффициент 0,280448%

MULTI.vhod[7..0] = VHOD[7..0];

%блок суммирования для n-1 отсчета%

SUMMER[0].a[7..0] = VHOD[7..0];

SUMMER[0].b[7..0] = VHOD[7..0];

SUMMER[1].a[7..0] = VHOD[7..0];

SUMMER[1].b[7..0] = MULTI.vihod[7..0];

SUMMER[2].a[7..0] = SUMMER[0].sum[7..0];

SUMMER[2].b[7..0] = SUMMER[1].sum[7..0];

VIHOD[7..0] = SUMMER[2].sum[7..0];

END;

*************************************************************

%программа сумматор для двух восьмибитных чисел%

SUBDESIGN summator

(

a[7..0],b[7..0] : INPUT = GND;

takt : INPUT;

sum[7..0] : OUTPUT;

)

VARIABLE

c[7..1]:node;

sum[7..0]: dff;

cr:dff;

BEGIN

sum[7..0].clk = takt;

sum[7..0].prn = VCC;

sum[7..0].clrn = VCC;

cr.clk=takt;

cr.prn=VCC;

if (a[0]&b[0])==VCC then

sum[0]=GND;

c[1]=VCC;

elsIf (a[0]#b[0])==GND then

sum[0]=GND;

c[1]=GND;

else sum[0]=VCC;

c[1]=GND;

end if;

for i in 1 to 6 generate

if (a[i]&b[i]&c[i])==VCC then

sum[i]=VCC;

c[i+1]=VCC;

elsif (a[i]#b[i]#c[i])==GND then

sum[i]=GND;

c[i+1]=GND;

elsif

(((a[i]&b[i])#(a[i]&c[i])#(b[i]&c[i]))&!(a[i]&b[i]&c[i]))==VCC then

sum[i]=GND;

c[i+1]=VCC;

else sum[i]=VCC;

c[i+1]=GND;

End if ;

end generate;

if (a[7]&b[7]&c[7])==VCC then

sum[7]=VCC;

cr=VCC;

elsif (a[7]#b[7]#c[7])==GND then

sum[7]=GND;

cr=GND;

elsif (((a[7]&b[7])#(a[7]&c[7])#(b[7]&c[7]))&!(a[7]&b[7]&c[7]))==VCC then

sum[7]=GND;

cr=VCC;

else sum[7]=VCC;

cr=GND;

end if;

END;

*************************************************************

Правильность работы программы можно проверить по временным диаграммам. Время работы программы 3 тактовых импульса. Поэтому тактовая частота должна быть 45 кГц, что вполне реализуемо, если учесть, что границы тактовых частот для ПЛИС семейства FLEX10K исчисляются МГц.

EFP10K10LC84-3

Список использованных источников

Литература

1. Гольденберш Л.М., Матюшкин Б.Д., Поляк М.Н. «Цифровая обработка сигналов», Москва, «Радио и связь», 1990г.

2. Капеллини В., Константинидис А.Дж., Эмилиани П. «Цифровые фильтры и их применение», Москва, «Энергоатомиздат», 1983г.

3. Потемкин В.Г. «Вычисления в среде MathLab», Москва, «Диалог мифи», 2004г.

4. Стешенко В.Б. «ПЛИС фирмы ALTERA: элементная база, система проектирования и языки описания аппаратуры», Москва, издательский дом «Додэка-21», 2002г.

Internet

1. Сайт фирмы Analog Device

Программное обеспечение

1. Программный пакет MathLab

2. Программный пакет MAX+plus2

Размещено на Allbest.ru


Подобные документы

  • Разработка и описание общего алгоритма функционирования цифрового режекторного фильтра на основе микропроцессорной системы. Обоснование аппаратной части устройства. Отладка программы на языке команд микропроцессора. Расчёт быстродействия и устойчивости.

    курсовая работа [266,1 K], добавлен 03.12.2010

  • Проектирование режекторного фильтра с заданной амплитудно-частотной характеристикой и вычисление его коэффициентов. Графическое изображение воздействия и реакции на прямоугольный импульс. Метод взвешивания окном Кайзера. Спектры сигнала на входе фильтра.

    курсовая работа [871,7 K], добавлен 21.01.2016

  • Разработка электрической принципиальной схемы цифрового фильтра и отладка рабочей программы на языке ассемблера, которая будет обеспечивать взаимодействие и работоспособность БИС входящих в состав фильтра, для реализации заданных свойств фильтра.

    курсовая работа [683,2 K], добавлен 21.03.2011

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

    контрольная работа [1,9 M], добавлен 19.09.2012

  • Самолетные и вертолетные доплеровские измерители скорости и угла сноса (ДИСС). Разработка цифрового фильтра для системы ДИСС. Требования к разрабатываемому устройству. Теоретические основы реализации цифровой фильтрации. Экономическое обоснование проекта.

    дипломная работа [1,7 M], добавлен 11.02.2013

  • Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.

    курсовая работа [564,8 K], добавлен 24.10.2012

  • Изучение сущности цифровой фильтрации - выделения в определенном частотном диапазоне с помощью цифровых методов полезного сигнала на фоне мешающих помех. Особенности КИХ-фильтров. Расчет цифрового фильтра. Моделирование работы цифрового фильтра в MatLab.

    курсовая работа [2,0 M], добавлен 21.09.2010

  • Расчет цифрового фильтра нижних частот с конечной импульсной характеристикой. Синтез фильтра методом окна (параболического типа). Свойства фильтра: устойчивость, обеспечение совершенно линейной фазочастотной характеристики. Нахождение спектра сигнала.

    курсовая работа [28,6 K], добавлен 07.07.2009

  • Аналитическое выражение передаточной функции аналогового фильтра. Построение структурной схемы реализации цифрового фильтра прямым и каноническим способами. Определение реализационных характеристик фильтра. Проверка коэффициентов передаточной функции.

    курсовая работа [604,4 K], добавлен 24.10.2012

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

    курсовая работа [860,6 K], добавлен 28.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.