Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Моделирование КИХ фильтра в программном симуляторе ЦПОС TMS320C25

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Рисунок 2.1. Алгоритм нерекурсивной фильтрации сигнала Алгоритм обработки заключается в следующем. На вход устройства поступает отсчет сигнала и записывается в первую ячейку памяти линии задержки, состоящей из таких ячеек. В других ячейках памяти находятся сигналы, принятые на предыдущих тактах работы устройства. После этого отсчеты с выходов элементов памяти поступают на умножители, на вторые… Читать ещё >

Моделирование КИХ фильтра в программном симуляторе ЦПОС TMS320C25 (реферат, курсовая, диплом, контрольная)

Санкт-Петербургский государственный политехнический университет Институт физики, нанотехнологий и телекоммуникаций Кафедра «Радиотехника и телекоммуникации»

КУРСОВой проект Моделирование КИХ фильтра в программном симуляторе ЦПОС TMS320C25

по дисциплине «Применение программируемой элементной базы в РТС»

Выполнил студент гр.53 422/3 Е. К. Тихонова Руководитель Е. С. Поклонская Санкт-Петербург

Задание на задание на курсовое проектирование Вариант 2

Рассчитать фильтр с указанными параметрами несколькими методами и написать программу, реализующую рассчитанный фильтр на процессоре TMS320C25.

Параметры фильтра

1. Порядок фильтра: 19;

2. Тип фильтра: ВЧ;

3. Частота дискретизации: FS=10 кГц; частота среза: Fc1=1.2 кГц.

СОДЕРЖАНИЕ Задание на задание на курсовое проектирование ВВЕДЕНИЕ

1. Описание архитектуры процессора TMS320C25

2. Моделирование фильтра в модуле FDATool программной среды Matlab

2.1 Алгоритм нерекурсивной фильтрации сигнала

2.2 Расчет коэффициентов КИХ фильтра

2.3 Расчет массива отсчетов входного сигнала

3. Программа моделирования КИХ фильтра

3.1 Симулятор SSIM25

3.2 Описание программы КИХ фильтра

3.3 Корректировка программы КИХ фильтра

3.4 Моделирование КИХ фильтра при различных частотах входного сигнала

3.5 Обработка результатов моделирования КИХ фильтра ЗАКЛЮЧЕНИЕ Библиографический список ВВЕДЕНИЕ Цель данной работы — расчёт фильтра с указанными параметрами несколькими методами и написание программы, реализующей рассчитанный фильтр на процессоре TMS320C25.

В процессе выполнения курсового проекта предполагается выполнение следующих пунктов:

1. Описание архитектуры процессора TMS320C25.

2. Моделирование фильтра в модуле FDATool программной среды Matlab двумя методами.

3. Описание программы работы фильтра на выбранной программируемой элементной базе.

4. Сравнение результатов моделирования в Matlab и на симуляторе ЦПОС.

1. Описание архитектуры процессора TMS320C25

Высокая производительность сигнальных процессоров семейства TMS320 обеспечивается внутренней Гарвардской архитектурой (разделение шин данных и программ), использованием специальных команд, ориентированных на цифровую обработку сигналов (ЦОС), выполняемых аппаратными средствами микросхемы.

Второе поколение процессоров Texas Instruments, относящееся к классу16-тиразрядных процессоров с фиксированной точкой, включает в себя — TMS32020 (командный цикл 200 нс), TMS320C25, TMS320C25−50(внешняя тактовая частота 50 МГц), TMS320E25 (ПЗУ с ультрафиолетовым стиранием), TMS320C26 (внутренне ОЗУ на 1568 слов). Архитектура этих устройств базируется на архитектуре процессора первого поколения TMS32010.

Характеристики процессора TMS320C25:

? командный цикл — 100 нс.

? внутренняя память данных (RAM) — 544 слова.

? внутренняя память программ (ROM) — 4 Кслова.

? адресуемая внешняя память программ/данных — 128 Кслов (64КЧ16 — память данных, 64КЧ16 — память программ).

? 16-разрядныйпараллельный интерфейс.

? прямой доступ к памяти от внешних устройств.

? 32-разрядные умножитель MPL и арифметико-логическое устройство ALU с32-разрядным аккумулятором.

? одноцикловые команды умножения/накопления.

? масштабирующий сдвигатель от 20 до 216.

? набор команд, поддерживающих операции с плавающей точкой.

? возможность перемещения блоков памяти программ/данных.

? возможность многократного повторения команд.

? 8 вспомогательных регистров для хранения данных и для косвенной адресации памяти с возможностью автоинкремента/автодекремента.

? отдельное арифметическое устройство для операций со вспомогательными регистрами.

? последовательный порт для построения мультипроцессорных систем, подключения кодеков и последовательных АЦП и ЦАП.

?циклы ожидания для связи с медленными внешними устройствами или памятью.

? внутренний таймер.

? три внешних маскируемых прерывания.

? напряжение питания + 5 В.

? внутренний тактовый генератор.

АРХИТЕКТУРА TMS320C25

Функциональная схема процессора TMS320C25 (рисунок 1.1) включает следующие аппаратные средства:

? ALU — 32-разрядноеарифметико-логическоеустройство, оперирующее с числами в дополнительном коде;

? ACCH (31−16), ACCL (15−0)-32-разрядный аккумулятор — накопитель старших и младших разрядов, соответственно;

? MULTIPLIER — параллельный 16Ч16 умножитель;

? SHIFTER — сдвиговые регистры;

? ARAU — 16-разрядноеустройство беззнаковой арифметики, для операций над адресами (данными), содержащимися во вспомогательных регистрах;

? AR0-AR7- файл16-разрядных вспомогательных регистров, используемых для адресации памяти данных и хранения других данных;

? ARP — 3-разрядный указательный регистр. Содержит номер одного из вспомогательных регистров;

? DATA BUS — 16-разрядная внутренняя шина данных;

? PROGRAMM BUS — 16-разрядная внутренняя шина программ;

? DAB — 16-разрядная шина адреса памяти данных;

? DRB — 16-разрядная шина непосредственного адреса памяти данных (образуется объединением содержимого DP — регистра и семи младших бит кода команды;

? AFB — 16-разрядная шина вспомогательных регистров AR (n);

? D0-D15- внешняя шина данных;

? A0-A15- внешняя шина адреса;

? RSR — входной 16-разрядный сдвиговый регистр последовательного порта;

? XSR — выходной 16-разрядный сдвиговый регистр последовательного порта;

? DRR — 16-разрядный регистр-приемник последовательного порта;

? DXR — 16-разрядный регистр-передатчик последовательного порта;

? TIM — 16-разрядный таймер;

? IMR — 6-разрядный регистр масок прерываний;

? GREG — 8-разрядный регистр местоположения и размера глобальной памяти;

? PRD — 16-разрядный регистр периода для загрузки таймера;

? DP — 9-разрядный указатель страницы адреса памяти данных;

? RAM (B0) — ОЗУ (256Ч16) с произвольным доступом для хранения данных или программ;

? RAM (B1) — ОЗУ (256Ч16) с произвольным доступом для хранения данных;

? RAM (B2) — ОЗУ (32Ч16) с произвольным доступом для хранения данных;

? ROM — память программ, объемом 4КЧ16;

? PC — 16-разрядныйсчетчик команд для адресации памяти команд;

? PFC — 16-разрядныйсчетчик предзахвата команд;

? MCS — однословный стек для временного хранения содержимого PFC;

? Stack — аппаратный стек объемом 8Ч16 для размещения значений PC во время прерываний или программных вызовов;

? QIR — 16-разрядный регистр для хранения предварительно захваченной команды;

? IR — 16-разрядный регистр выполняемой команды;

? RPTC — 8-разрядный счетчик повторения одной команды;

? IFR — 6-разрядный флаговый регистр для захвата внешних или внутренних прерываний;

? ST0, ST1 — 16-разрядные регистры состояния для хранения управляющих битов и битов состояния;

? MUX — мультиплексоры.

Архитектура TMS320C25 построена вокруг двух основных шин — шины команд (Program Bus) и шины данных (Data Bus). Шина команд служит для передачи кодов команд и непосредственных операндов, расположенных в памяти программ. Шина данных подсоединяет CALU (ALU, SHIFTER, ACC и MPL) к ОЗУ данных (RAM).

TMS320C25 обладает высокой степенью параллелизма, т. е. в то время когда происходит обработка данных в CALU, арифметические операции могут выполняться в арифметическом устройстве вспомогательных регистров (ARAU). Это позволило создать мощный набор одноцикловых команд, выполняющих арифметические, логические операции и операции, манипулирующие битами. [1,2]

2. Моделирование фильтра в модуле FDATool программной среды Matlab

2.1 Алгоритм нерекурсивной фильтрации сигнала Структура устройства, реализующего данный алгоритм, показана на рисунке 2.1. Формирование отсчета выходного сигнала производится в течение интервала дискретизации T непрерывного сигнала, через который на вход устройства поступают отсчеты входного сигнала. Интервал времени T задается частотой дискретизации при. Целочисленный аргумент является номером входного и выходного отсчетов. [3]

Рисунок 2.1. Алгоритм нерекурсивной фильтрации сигнала Алгоритм обработки заключается в следующем. На вход устройства поступает отсчет сигнала и записывается в первую ячейку памяти линии задержки, состоящей из таких ячеек. В других ячейках памяти находятся сигналы, принятые на предыдущих тактах работы устройства. После этого отсчеты с выходов элементов памяти поступают на умножители, на вторые входы которых поступают коэффициенты фильтра. Результаты произведений складываются и формируют отсчет выходного сигнала. Последний этап работы нерекурсивного фильтра заключается в сдвиге содержимого линии задержки на один элемент вправо, при этом первый элемент освобождается для приема нового отсчета сигнала. С его приходом цикл работы нерекурсивного фильтра повторяется.

Набор из коэффициентов при определяет тип нерекурсивного фильтра — ФНЧ, ФВЧ, полосовой фильтр, преобразователь Гильберта. Величина называется порядком нерекурсивного фильтра.

Аналитически алгоритм работы нерекурсивного фильтра можно записать в виде:

(2.1)

где — конечная импульсная характеристика (КИХ) фильтра;

— количество отсчетов КИХ.

Формула (2.1) представляет собой свертку отсчетов входного дискретного сигнала и отсчетов конечной импульсной характеристики фильтра. Нерекурсивный фильтр, реализующий алгоритм обработки (2.1), часто называют КИХ фильтром.

2.2 Расчет коэффициентов КИХ фильтра Расчет фильтра производится в среде MatLab с использованием пакета Filter Design and Analysis Tool (FDATool).

Исходные данные для расчёта:

— Граничная частота полосы прозрачности = 1.2 кГц;

— Частота дискретизации = 10 кГц;

— Порядок фильтра: 19;

— Метод расчета — с использованием сглаживающего окна Кайзера с параметром =2,5 (используем в первом случае);

— Второй используемый метод расчёта — метод с использованием окна Хэмминга.

После ввода заданных параметров осуществляется расчет КИХ фильтра (с помощью кнопки Design Filter). [4]

Окно Кайзера с параметром в=2,5; порядок фильтра =19; частота дискретизации = 10 кГц; граничная частота полосы прозрачности фильтра = 1.2 кГц.

Листинг 2.1.Массив коэффициентов h (k) КИХ фильтра в редакторе Edit в среде MatLab. При расчёте фильтра использовался метод Кайзера с в=2.5.

% Generated by MATLAB® 8,4 and the Signal Processing Toolbox 6,22,

% Generated on: 08-May-2015 07:14:18

% Coefficient Format: Decimal

% Discrete-Time FIR Filter (real)

% ———————————————;

% Filter Structure: Direct-Form FIR

% Filter Length: 20

% Stable: Yes

% Linear Phase: Yes (Type 4)

Numerator:

— 0,65 041 457 740 196 224

— 0,15 124 649 328 759 584

— 0,17 578 729 886 695 460

— 0,56 461 390 879 967 664

0,22 115 438 826 829 220

0,54 925 411 643 134 320

0,69 918 239 399 893 736

0,36 865 024 553 908 160

— 0,88 380 802 089 546 736

— 0,59 144 964 730 382 496

0,59 144 964 730 382 496

0,88 380 802 089 546 736

— 0,36 865 024 553 908 160

— 0,69 918 239 399 893 736

— 0,54 925 411 643 134 320

— 0,22 115 438 826 829 220

0,56 461 390 879 967 664

0,17 578 729 886 695 460

0,15 124 649 328 759 584

0,65 041 457 740 196 224

Для дальнейшей обработки коэффициентов h (k) произведено копирование массива коэффициентов в буфер обмена и введите их в электронную таблицу Excel. После ряда манипуляций (значения коэффициентов h (k) переведены в область целых чисел, вычислены и шестнадцатеричные значения и сформированы их 4-хразрядные значения) таблица обработки данных представлена в следующем виде.

Таблица 2.1. Представление коэффициентов в форме 4-х разрядных шестнадцатеричных чисел. При расчёте фильтра использовался метод Кайзера с в=2.5.

k

h (k)

h (k)*214

ДЕС.В.ШЕСТН (Ck;4)

ПРАВСИМВ (Dk;4)

— 0,0065

— 107

FFFFFFFF95

FF95

— 0,1 512

— 248

FFFFFFFF08

FF08

— 0,1 758

— 288

FFFFFFFEE0

FEE0

— 0,565

— 93

FFFFFFFFA3

FFA3

0,22 115

016A

016A

0,54 925

0,69 918

047A

047A

0,36 865

025C

025C

— 0,8 838

— 1448

FFFFFFFA58

FA58

— 0,59 145

— 9690

FFFFFFDA26

DA26

0,59 145

25DA

25DA

0,88 381

05A8

05A8

— 0,3 687

— 604

FFFFFFFDA4

FDA4

— 0,6 992

— 1146

FFFFFFFB86

FB86

— 0,5 493

— 900

FFFFFFFC7C

FC7C

— 0,2 212

— 362

FFFFFFFE96

FE96

0,5 646

005D

005D

0,17 579

0,15 125

00F8

00F8

0,6 504

006B

006B

Вышеприведённые характеристики были получены для расчёта методом окна Кайзера с параметром в=2.5. Теперь проведём расчёт другим методом — посредством окна Гаусса с параметром б =1,4. В итоге получаем АЧХ и импульсную характеристику КИХ фильтра, рассчитанного методом окна Гаусса с параметром б =1,4.

Листинг 2.2.Массив коэффициентов h (k) КИХ фильтра в редакторе Edit в среде MatLab. При расчёте фильтра использовался метод Гаусса с б=1.4.

% Generated by MATLAB® 8,4 and the Signal Processing Toolbox 6,22,

% Generated on: 14-May-2015 17:52:54

% Coefficient Format: Decimal

% Discrete-Time FIR Filter (real)

% ———————————————;

% Filter Structure: Direct-Form FIR

% Filter Length: 20

% Stable: Yes

% Linear Phase: Yes (Type 4)

Numerator:

— 0,80 386 346 104 561 328

— 0,17 002 249 040 225 202

— 0,18 694 504 122 804 432

— 0,5 816 381 426 908 445

0,22 391 970 242 300 672

0,55 145 974 779 394 576

0,69 968 823 664 196 944

0,36 868 388 738 027 400

— 0,88 423 686 507 553 600

— 0,59 199 176 438 460 488

0,59 199 176 438 460 488

0,88 423 686 507 553 600

— 0,36 868 388 738 027 400

— 0,69 968 823 664 196 944

— 0,55 145 974 779 394 576

— 0,22 391 970 242 300 672

0,5 816 381 426 908 445

0,18 694 504 122 804 432

0,17 002 249 040 225 202

0,80 386 346 104 561 328

Таблица 2.2. Представление коэффициентов в форме 4-х разрядных шестнадцатеричных чисел. При расчёте фильтра использовался метод Гаусса с б=1.4.

k

h (k)

h (k)*214

ДЕС.В.ШЕСТН (Ck;4)

ПРАВСИМВ (Dk;4)

— 0,804

— 132

FFFFFFFF7C

FF7C

— 0,017

— 279

FFFFFFFEE9

FEE9

— 0,1 869

— 306

FFFFFFFECE

FECE

— 0,582

— 95

FFFFFFFFA1

FFA1

0,22 392

016F

016F

0,55 146

0,69 969

047A

047A

0,36 868

025C

025C

— 0,8 842

— 1449

FFFFFFFA57

FA57

— 0,59 199

— 9699

FFFFFFDA1D

DA1D

0,591 992

25E3

25E3

0,88 424

05A9

05A9

— 0,3 687

— 604

FFFFFFFDA4

FDA4

— 0,6 997

— 1146

FFFFFFFB86

FB86

— 0,5 515

— 904

FFFFFFFC78

FC78

— 0,2 239

— 367

FFFFFFFE91

FE91

0,5 816

005F

005F

0,18 695

0,17 002

0,8 039

2.3 Расчет массива отсчетов входного сигнала

В качестве входного сигнала будем использовать гармоническую функцию. Дискретные отсчеты этой функции можно представить в виде:

(2.2)

где — относительная частота дискретного сигнала .

Заданы следующие значения частоты исходной гармонической функции:

— В левой полосе задерживания КИХ фильтра ==0.8 кГц;

— В полосе пропускания КИХ фильтра ==1.6 кГц;

— В правой полосе задерживания КИХ фильтра ==3.2 кГц.

При заданной частоте дискретизации = 10 кГц для частот, и определим соответствующие относительные частоты дискретных сигналов и их фундаментальные периоды. Результаты расчетов представлены в таблице 2.3.

Таблица 2.3. Определение фундаментального периода

№ пп

Заданные значения частоты

Относительная частота

Фундаментальный период

кГц

0.8

1.6

3.2

В ходе выполнения работы получим таблицу расчета входного сигнала в форме 4-х разрядных шестнадцатеричных чисел для заданной частоты ==0.8 кГц (Таблица 2.3):

Таблица 2.4. Представление отсчетов входного сигнала для частоты F=F1=0.8 кГц в форме 4-х разрядных шестнадцатеричных чисел.

n

x (n)=SIN (2*ПИ ()*2/25*Ak)

Bk*210

ДЕС.В.ШЕСТН (Ck;4)

ПРАВСИМВ (Dk;4)

0,4818

01ED

01ED

0,8443

0,998

03FE

03FE

0,9048

039F

039F

0,5878

025A

025A

0,1253

— 0,3681

— 377

FFFFFFFE87

FE87

— 0,7705

— 789

FFFFFFFCEB

FCEB

— 0,9823

— 1006

FFFFFFFC12

FC12

— 0,9511

— 974

FFFFFFFC32

FC32

— 0,6845

— 701

FFFFFFFD43

FD43

— 0,2487

— 255

FFFFFFFF01

FF01

0,2487

00FF

00FF

0,6845

02BD

02BD

0,9511

03CE

03CE

0,9823

03EE

03EE

0,7705

0,3681

— 0,1253

— 128

FFFFFFFF80

FF80

— 0,5878

— 602

FFFFFFFDA6

FDA6

— 0,9048

— 927

FFFFFFFC61

FC61

— 0,998

— 1022

FFFFFFFC02

FC02

— 0,8443

— 865

FFFFFFFC9F

FC9F

— 0,4818

— 493

FFFFFFFE13

FE13

Аналогично получим данные для ==1.6 кГц и ==3.2 кГц.

Таблица 2.5. Представление отсчетов входного сигнала для частоты F=F1=1.6 кГц в форме 4-х разрядных шестнадцатеричных чисел.

n

x (n)=SIN (2*ПИ ()*4/25*Ak)

Bk*210

ДЕС.В.ШЕСТН (Ck;4)

ПРАВСИМВ (Dk;4)

0,8443

0,9048

039F

039F

0,1253

— 0,7705

— 789

FFFFFFFCEB

FCEB

— 0,9511

— 974

FFFFFFFC32

FC32

— 0,2487

— 255

FFFFFFFF01

FF01

0,6845

FFFFFFFE87

FE87

0,9823

03EE

03EE

0,3681

— 0,5878

— 602

FFFFFFFDA6

FDA6

— 0,998

— 1022

FFFFFFFC02

FC02

— 0,4818

— 493

FFFFFFFE13

FE13

0,4818

01ED

01ED

0,998

03FE

03FE

0,5878

025A

025A

— 0,3681

— 377

FFFFFFFE87

FE87

— 0,9823

— 1006

FFFFFFFC12

FC12

— 0,6845

— 701

FFFFFFFD43

FD43

0,2487

00FF

00FF

0,9511

03CE

03CE

0,7705

— 0,1253

— 128

FFFFFFFF80

FF80

— 0,9048

— 927

FFFFFFFC61

FC61

— 0,8443

— 865

FFFFFFFC9F

FC9F

Таблица 2.6. Представление отсчетов входного сигнала для частоты F=F1=3.2 кГц в форме 4-х разрядных шестнадцатеричных чисел.

n

x (n)=SIN (2*ПИ ()*8/25*Ak)

Bk*210

ДЕС.В.ШЕСТН (Ck;4)

ПРАВСИМВ (Dk;4)

0,9048

039F

039F

— 0,7705

— 789

FFFFFFFCEB

FCEB

— 0,2487

— 255

FFFFFFFF01

FF01

0,9823

03EE

03EE

— 0,5878

— 602

FFFFFFFDA6

FDA6

— 0,4818

— 493

FFFFFFFE13

FE13

0,998

FFFFFFFE87

FE87

— 0,3681

— 377

FFFFFFFE87

FE87

— 0,6845

— 701

FFFFFFFD43

FD43

0,9511

03CE

03CE

— 0,1253

— 128

FFFFFFFF80

FF80

— 0,8443

— 865

FFFFFFFC9F

FC9F

0,8443

0,1253

— 0,9511

— 974

FFFFFFFC32

FC32

0,6845

02BD

02BD

0,3681

— 0,998

— 1022

FFFFFFFC02

FC02

0,4818

01ED

01ED

0,5878

025A

025A

— 0,9823

— 1006

FFFFFFFC12

FC12

0,2487

00FF

00FF

0,7705

— 0,9048

— 927

FFFFFFFC61

FC61

3. Программа моделирования КИХ фильтра

Для моделирования КИХ фильтра будем использовать программный симулятор SSIM25. EXE цифрового процессора сигналов TMS320C25.

3.1 Симулятор SSIM25

Симулятор SSIM25 предназначен для отладки программ цифрового процессора сигналов TMS320C25. После запуска программы симулятора открывается основное окно, представленное на рисунке 3.1. Верхняя строка окна представляет основное меню симулятора, которое содержит 6 разделов: Program, Data, Run, Break, Option и Tool.

Основное окно симулятора разделено на четыре поля: INSTRUCTIONS, REGISTERS, DATA, PROG.

В поле INSTRUCTIONS отображаются команды выполняемой программы. С указанием абсолютного адреса размещения команды, ее машинного кода и мнемонического вида на языке ассемблер.

В поле REGISTERS отображаются содержимое регистров цифрового процессора сигналов TMS320C25 в шестнадцатеричном коде, включая счетчик команд PC.

В поле DATA в шестнадцатеричном коде отображается содержимое памяти данных цифрового процессора сигналов TMS320C25, а в поле PROG отображается содержимое памяти программ.

3.2 Описание программы КИХ фильтра

Каждый отсчет выходного сигнала должен быть вычислен в течение интервала дискретизации T от момента поступления текущего отсчета входного сигнала до момента поступления следующего отсчета входного сигнала. В этом заключается суть работы устройства в реальном масштабе времени. Поэтому сокращение времени вычисления отсчетов выходного сигнала является актуальным вопросом при реализации устройств ЦОС в реальном масштабе времени. В системе команд ЦПОС второго поколения предусмотрены универсальные команды, реализующие операции умножения, аккумулирования и сдвига данных за один машинный такт. В цифровом процессоре сигналов TMS320C25 такой универсальной командой является MACD (multiplay and accumulate with data move).

Цифровой процессор сигналов TMS320C25 имеет внутреннюю память данных объемом 544 16-ти разрядных слова, разделенных на три блока B0, B1 и B3. При этом блоки B1 и B3 размером 256 и 32 слова, соответственно, всегда являются памятью данных, а блок B0 размером 256 слов программируется либо как память данных, либо как память программ. Для конфигурации блока B0 служат две команды. Команда CNFD конфигурирует блок B0 как память данных, а команда CNFP конфигурирует блок B0 как память программ, т. е. указанные команды позволяют динамически изменять карту памяти процессора программными средствами, как это изображено на рисунках 3.2 и 3.3. [5]

Текст программы КИХ фильтра, использующей память данных в соответствии со схемой распределения памяти на рисунке 3.4, представлен в таблице 3.1.

Таблица 3.1. Программа КИХ фильтра.

Адрес

Команда

Описание

CNFP

Блок B0 определяется как память программ.

LDPK >0007

Загрузка указателя DP страницы памяти данных номером 7.

IN >XX, PA0

Cчитывание 16-разрядного слова из внешнего порта PA0 ввода/вывода и запись его в ячейку памяти данных с относительным адресом >ХХ на странице № 7. В нашем случае это адрес верхней границы (младший адрес) буфера входных отсчетов, который равен >XX=>007FN+1. Соответствующий абсолютный адрес равен >380+>007FN+1= >3FF-N+1, что совпадает с распределением памяти на рисунке 3.4.

LRLK AR1,>03FF

Абсолютный адрес >03FF последней ячейки 7-ой страницы загружается в регистр AR1 для использования в качестве нижней (старший адрес) границы буфера входных отсчетов. Длина буфера равна N.

MAR *, AR1

Выбор регистра AR1 в качестве рабочего регистра.

MPYK 0

Обнуление Р-регистра

ZAC

Обнуление аккумулятора

RPTK >N-1

Повторить выполнения следующей команды N раз.

MACD >FF00,*;

Первый операнд команды MACD равен (PMA)= FF00, что соответствует верхней границе (младший адрес) буфера отсчетов импульсной характеристики КИХ фильтра. Указанное значение загружается в счетчик команд PC. Второй операнд (DMA) команды MACD равен содержимому рабочего регистра, в качестве которого был выбран регистр AR1, и соответствует нижней границе (старший адрес >3FF) буфера входных отсчетов. Команда перемножает текущие значения и. Предварительно производится сложение предыдущего произведения с содержимым аккумулятора. Затем ячейка памяти данных, адресуемая через AR1, копируется в следующую более старшую ячейку памяти данных. Содержимое регистра AR1 уменьшается на 1, а содержимое счетчика команд увеличивается на 1.

002B

APAC

Команда является вспомогательной для выполнения команд LTA, LTD, MAC, MACD и SQRA.

002C

SACH >YY, 1

Команда SACH копирует аккумулятор со сдвигом. 32-разрядное число сдвигается влево на 1 разряд и затем старшие 16 бит помещаются в ячейку >YY памяти данных. В нашем случае ячейка >YY используется для хранения выходного отсчета. Адрес >YY можно выбрать любой в диапазоне от >00 до> 007FN ячеек памяти данных не занятом отсчетами на странице № 7.

002D

OUT >YY, PA1

Вывод данных из ячейки памяти в порт PA1.

002E

B >0022

Безусловный переход по указанному адресу.

В нашем случае — это организация бесконечного цикла путем перехода к команде считывания очередного выборочного значения сигнала .

3.3 Корректировка программы КИХ фильтра

Перед запуском программы КИХ фильтра в папке C:/306/dsp/ присутствуют следующие файлы:

— FILT — файл, содержащий программу КИХ фильтра;

— Coeff. txt — файл, содержащий массив отсчетов импульсной характеристики. В случае второго метода расчёта фильтра используется файл Coeff1. txt

— IN_F1.TXT — файл, содержащий массив отсчетов входного сигнала для частоты = в форме 4-х разрядных шестнадцатеричных чисел;

— IN_F2.TXT — то же, для частоты =;

— IN_F3.TXT — то же, для частоты =.

Далее необходимо внести изменения в программу КИХ фильтра в соответствии с заданной длиной импульсной характеристики.

Вычислим верхний адрес массива отсчетов входного сигнала в памяти данных симулятора:

>XX = >7 °F — N + 1 = >7 °F — >13 = >6C.

С помощью клавиши Tab переходим в поле INSTRUCTIONS и клавишами стрелки выбираем и производим коррекцию адреса ячейки

>XX в следующей команде:

0022 IN >6C, PA0

Выберем t команду RPTK и откорректируем операнд = >13 в этой команде:

0028 RPTK >13

Выберем команды SACH и OUT для корректировки адрес ячейки >YY = >XX-1= >6C — 1 = 6B в этих командах:

002C SACH > 6B, 1

002D OUT > 6B, PA1

Измененную программу сохраняем в файле C:/306/dsp/FILT.

Затем приступаем к моделированию КИХ фильтра при различных частотах входного сигнала.

3.4 Моделирование КИХ фильтра при различных частотах входного сигнала

Фильтрация сигнала на частоте =.

Настраиваем симулятор для работы с файлом C:/306/dsp/IN_F1.TXT входных данных и определяем имя выходного файла — OUT_F1.TXT. После проверки в подменю Option/Data type установки опции TXT записываем в строках IN 0 и OUT 1 подменю Option/ i/o files окна Files for I/O and Serial Ports IN_F1.TXT и OUT_F1.TXT (соответственно).

Затем следует записать массив коэффициентов КИХ фильтра в память данных с адресами от >200 до >213 из подготовленного ранее файла Coeff.txt. Для этого необходимо в открытом окне симулятора войти в основное меню нажатием клавиши F10. В подменю Data/Mem limits вводим следующие адреса:

Start Adr: >200

End Adr: >213.

После в подменю Data/Data Load в открывшемся окне Input RAM LOAD File Name вводим имя файла Coeff. txt и нажимаем клавишу Enter. Далее устанавливаем стартовый адрес >20 программы в счетчике команд (РС) симулятора.

Теперь симулятор готов к проведению программного моделирования работы КИХ фильтра.

Запускаем программу с помощью подменю Run/Run и клавиши Enter.

В результате работы программы КИХ фильтра с входным файлом IN_F1.TXT в файле OUT_F1.TXT записан массив отсчетов выходного сигнала в форме 4-х разрядных шестнадцатеричных чисел для частоты F=F1.

После каждого эксперимента необходимо перевести программу КИХ фильтра в исходное состояние, после чего повторяем эти манипуляции для частот F=F2 и F=F3.

Затем проделаем всё это для второго метода расчёта — метода окна Гаусса с б=1.4. В этом случае используем файл Coeff1. txt, а не Coeff1.txt. В этом случае массивы отсчетов выходного сигнала в форме 4-х разрядных шестнадцатеричных чисел для частот F=F1, F=F2, F=F3 будут записаны в файлы OUT_F11.TXT, OUT_F22.TXT, OUT_F33.TXT соответственно.

3.5 Обработка результатов моделирования КИХ фильтра

Для дальнейшей обработки результатов фильтрации сигналов на частотах F1, F2 и F3, содержащихся в файлах OUT_F1.TXT, OUT_F2.TXT и OUT_F3.TXT, соответственно, переписываем по 41 первому отсчету из каждого файла в электронную таблицу Excel. При этом отрицательные 4-х разрядные числа преобразовываются в 10-ти разрядные (путём дополнения каждого такого числа слева символами FFFFFF). Так же поступим и с файлами OUT_F11.TXT, OUT_F22.TXT, OUT_F33.TXT — для второго метода расчёта фильтра.

В этой таблице для каждой из трех заданных частот приведены выходные отсчеты в виде шестнадцатеричных и десятичных чисел.

Таблица 3.2. Результаты программного моделирования КИХ фильтра

В качестве метода расчёта использовался метод окна Кайзера с в=2.5.

n

y (n) при F=0.8 кГц

y (n) при F=1.6кГц

y (n) при F=3.2 кГц

FFFFFFFFFB

— 5

FFFFFFFE14

— 492

FFFFFFFFEE

— 18

00CB

FFFFFFFFE6

— 26

01AF

FFFFFFFFE6

— 26

000F

FE40

— 492

FFFFFFFFEF

— 17

FFFFFFFFB

— 37

FFFFFFFFF1

— 15

000D

FFFFFFFFCF

— 49

FFFFFFFFE0

— 32

001F

FFFFFFFFB8

— 72

FFFFFFFFC4

— 60

FFFFFFFFD0

— 48

01DF

FFFFFFFFC1

— 63

FFFFFFFEFA

— 262

FFFFFFFDF8

— 520

FFFFFFFED7

— 297

00E0

FFFFFFFE92

— 366

01D1

FFFFFFFFF4

— 12

FFFFFFFFC7

— 57

FFFFFFFE5C

— 420

FFFFFFFFE8

— 24

012A

FFFFFFFFEC

— 20

FFFFFFFFE6

— 18

001E

FFFFFFFFEB

— 21

01CB

FFFFFFFFF6

— 10

FFFFFFFFF5

— 11

FFFFFFFEF6

— 266

FFFFFFFFD7

— 41

FFFFFFFE09

— 503

01D5

000C

FFFFFFFF0B

— 245

FFFFFFFE89

— 375

00E7

FFFFFFFEFF

— 257

01DA

01F0

FFFFFFFF2A

— 214

000C

FFFFFFFF3A

— 198

FFFFFFFEC6

— 314

FFFFFFFE25

— 475

01F9

FFFFFFFFF6

— 10

FFFFFFFED

— 307

FFFFFFFFA4

— 92

FFFFFFFFED

— 19

FFFFFFFE62

— 414

FFFFFFFFE9

— 23

01D7

01BF

FFFFFFFFEA

— 22

FFFFFFFFF1

— 15

FFFFFFFFA4

— 92

FFFFFFFE24

— 476

FFFFFFFFFB

— 5

FFFFFFFE3B

— 453

FFFFFFFE72

— 398

FFFFFFFDA

— 518

01A1

01A7

010E

002A

FFFFFFFE14

— 492

FFFFFFFE93

— 365

00C4

FFFFFFFFFB

— 5

FFFFFFFE61

— 415

01A5

FFFFFFFFF1

— 15

FFFFFFFFB8

— 72

FFFFFFFE3E

— 450

FFFFFFFFEA

— 22

FFFFFFFFE2

— 30

Исходя из данных таблицы 3.2., получаем графики сигнала на выходе КИХ фильтра при значениях частоты входного сигнала F1, F2 и F3.

В качестве метода расчёта использовался метод окна Кайзера с в=2.5.

Согласно графикам на рисунках 3.5−3.7 при одинаковой амплитуде входного сигнала амплитуда выходного сигнала в установившемся режиме равна:

— единиц на частоте F1=0.8 кГц;

— единиц на частоте F2=1.6 кГц;

— единиц на частоте F3=3.2 кГц;

Для сравнения полученных результатов программного моделирования с теоретическим расчетом АЧХ КИХ фильтра на Рис. 7 оценим величины подавления внеполосных сигналов на частотах

F1=0.8 кГц и F3=3.2 кГц по сравнению с прохождением сигнала на частоте F21.6 кГц в пределах полосы прозрачности фильтра:

дБ;

дБ.

Теперь вновь вернёмся к варианту расчёта методом окна Гаусса с б=1.4

Таблица 3.3. Результаты программного моделирования КИХ фильтра

В качестве метода расчёта использовался метод окна Гаусса с б=1.4

n

y (n) при F=0.8 кГц

y (n) при F=1.6кГц

y (n) при F=3.2 кГц

000B

FFFFFFFFFD

— 3

FFFFFFFFEF

— 17

FFFFFFFFF7

— 9

FFFFFFFFF9

— 7

FFFFFFFFCD

— 51

FFFFFFFFF0

— 16

FFFFFFFFD3

— 45

FFFFFFFFB7

— 73

FFFFFFFFEF

— 17

FFFFFFFFAE

— 82

FFFFFFFFD0

— 48

FFFFFFFFFB

— 5

FFFFFFFFB3

— 77

005D

0,00E+00

005F

FFFFFFFE0D

— 499

FFFFFFFED5

— 299

00CF

FFFFFFFE90

— 368

01B4

FFFFFFFFE3

— 29

FFFFFFFFC8

— 56

FFFFFFFE47

— 441

FFFFFFFFD8

— 40

012C

FFFFFFFFE5

— 27

FFFFFFFFDD

008B

FFFFFFFFE9

— 23

01CB

FFFFFFFFFB

— 5

FFFFFFFFF6

— 10

FFFFFFFEF3

— 269

FFFFFFFFDA

— 38

FFFFFFFE06

— 506

01D5

FFFFFFFF09

— 247

FFFFFFFE89

— 375

0,00E+00

2,32E+02

FFFFFFFEFF

— 257

01DD

01EF

FFFFFFFF2A

— 214

FFFFFFFF39

— 199

FFFFFFFEC7

— 313

FFFFFFFE23

— 477

01FB

FFFFFFFFF8

— 8

FFFFFFFECC

— 308

FFFFFFFFA5

— 91

FFFFFFFFF1

— 15

FFFFFFFE62

— 414

FFFFFFFFED

— 19

01DA

01BF

FFFFFFFFEE

— 18

FFFFFFFFF4

— 12

FFFFFFFFA4

— 92

FFFFFFFE24

— 476

FFFFFFFFFC

— 4

FFFFFFFE38

— 456

FFFFFFFE6F

— 401

000D

FFFFFFFDF8

— 520

01A3

01AA

010E

000D

002A

FFFFFFFE14

— 492

FFFFFFFE91

— 367

00C4

FFFFFFFFFC

— 4

FFFFFFFE5E

— 418

01A5

FFFFFFFFF4

— 12

FFFFFFFFB8

— 72

FFFFFFFE3E

— 450

FFFFFFFFEE

— 18

FFFFFFFFE2

— 30

В качестве метода расчёта использовался метод окна Гаусса с б=1.4.

В качестве метода расчёта использовался метод окна Гаусса с б=1.4.

Согласно графикам на рисунках 3.9−3.11 при одинаковой амплитуде входного сигнала амплитуда выходного сигнала в установившемся режиме равна:

— единиц на частоте F1=0.8 кГц;

— единиц на частоте F2=1.6 кГц;

— единиц на частоте F3=3.2 кГц;

Для сравнения полученных результатов программного моделирования с теоретическим расчетом АЧХ КИХ фильтра на Рис. 7 оценим величины подавления внеполосных сигналов на частотах

F1=0.8 кГц и F3=3.2 кГц по сравнению с прохождением сигнала на частоте F21.6 кГц в пределах полосы прозрачности фильтра:

дБ;

дБ.

ЗАКЛЮЧЕНИЕ

В ходе выполнения работы была изучена архитектура процессора TMS320C25, проведено моделирование фильтра в модуле FDATool программной среды Matlab двумя методами (методом окна Кайзера с параметром в=2.5 и методом окна Гаусса с б=1.4).

Дано описание программы работы фильтра на выбранной программируемой элементной базе. Также были представлены:

1. описание и результаты расчета коэффициентов КИХ фильтра;

2. описание и результаты расчета массивов отсчетов входного сигнала;

3. описание и результаты программного моделирования КИХ фильтра при различных частотах входного сигнала;

4. обработка результатов программного моделирования КИХ фильтра при различных частотах входного сигнала.

Результаты, полученные при расчёте фильтра двумя методами, близки друг другу, что соответствует истине. Приведённые графики сигнала на выходе КИХ фильтра при различных частотах входного сигнала и частоте дискретизации FS= 10 кГц, а также графики входного сигнала данного фильтра свидетельствуют о корректной работе фильтра. Расхождения между начальными областями графиков сигнала на выходе КИХ фильтра при частоте входного сигнала F1=0.8 кГц и частоте дискретизации FS= 10 кГц объясняются разницей в плане подходов к расчёту у двух методов — это расхождение повторяет расхождение участков АЧХ фильтра для F1=0.8 кГц для двух методов. Также при использовании метода окна Кайзера с в=2.5

=-26.6 дБ, при использовании метода окна Гаусса с б=1.4 — =-28.2., это в достаточной степени отличается от других участков, где расхождение не превышает 0.1 дБ (к примеру, в случае частоты F3=3.2 кГц 0.056 дБ).

Теоретически и экспериментально полученные характеристики фильтра в достаточной степени близки: для начальной области графика наибольшее совпадение с экспериментальными имеется у данных, рассчитанных по методу окна Гаусса с б=1.4, для области частот от 1 кГц — у данных, рассчитанных по методу окна Кайзера с в=2.5.

Таким образом, задание курсового проекта можно считать выполненным.

Библиографический список

1) Журнал «Электроника» том 59, No.03 (736), 1986 г — пер. с англ. М.: Мир, 1986, стр. 11.

2) Интернет-ресурс: http://www.ti.com.

3) Цикин И. А. Свойства сигналов, используемых в радиосистемах. Учебное пособие.- Л., изд. ЛПИ, 1980. 64с.

4) Справочная система MATLAB 6. Filter Design Toolbox.

5) Ветров Ю. В., Радченко Н. Н. Применение программируемой элементной базы в радиотехнических системах. Учебное пособие. СПб., Издательство Политехнического Университета, 2010

Показать весь текст
Заполнить форму текущей работой