Добавил:
Да поможет вам Котельников Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая / 2chast

.docx
Скачиваний:
2
Добавлен:
23.06.2024
Размер:
156.84 Кб
Скачать

-МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение высшего образования

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

СВЯЗИ И ИНФОРМАТИКИ

Кафедра Многоканальные телекоммуникационные системы

Курсовая работа

Выполнил: студент группы БЗС2002

Ломакин А. А.

Проверил: Мирошниченко А.В.

1. Исходные данные

В таблице 1 приведены исходные данные для синтеза БИХ-фильтра:

Таблица 1 – исходные данные

Вид фильтра

Тип фильтра

Неравномерность в полосе пропускания

Неравномерность в полосе задерживания

Частота среза

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

Частота дискретизации

Чебышев 2-го

ФНЧ

3 дБ

20 дБ

1500 Гц

4

8 кГц

2. Расчёт коэффициентов БИХ-фильтра

Для расчёта коэффициентов БИХ-фильтра была написана программа в математическом пакете Scilab:

[hz] = iir(4, 'lp', 'cheb2', [1500/8000], [0, 0.1]);

[hzm, fr] = frmag(hz, 256);

plot2d(fr, hzm);

С помощью данной программы была получена следующая передаточная функция:

где коэффициенты числителя — это b-коэффициенты фильтра, коэффициенты знаменателя – a-коэффициенты фильтра.

При этом получится следующая АЧХ:

Рисунок 1 – АЧХ БИХ-фильтра

3. Реализация в VisualDSP++

.section/dm vars;

.var/circ coef_b[5] = 2318, 895, 3165, 895, 2318;

.var/circ coef_a[4] = -20151, 17296, -5122, 1181;

.var/circ simples[5] = 0, 0, 0, 0, 0;

.var/circ feedback[4] = 0, 0, 0, 0;

.section/pm program;

jump main; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

jump iir; rti; rti; rti;

rti; rti; rti; rti;

main:

ena m_mode;

mr = 0;

I0 = simples;

L0 = length(simples);

I1 = coef_b;

L1 = length(coef_b);

I2 = feedback;

L2 = length(feedback);

I3 = coef_a;

L3 = length(coef_a);

M1 = 1;

M0 = 0;

ar = 4;

dm(0x3ffb) = ar;

ar = 999;

dm(0x3ffc) = ar;

dm(0x3ffd) = ar;

ifc = 0x00ff; nop;

ena timer;

imask = b#0000000001; nop;

end: jump end;

iir:

mr = 0;

CNTR = 4;

do c1 until CE;

mx0 = dm(I0, M1);

my0 = dm(I1, M1);

c1: mr = mr + mx0 * my0 (ss);

mx0 = dm(I0, M0);

my0 = dm(I1, M1);

mr = mr + mx0 * my0 (ss);

ax0 = IO(0);

dm(I0, M0) = ax0;

CNTR = 3;

do c2 until CE;

mx0 = dm(I2, M1);

my0 = dm(I3, M1);

c2: mr = mr + mx0 * my0 (ss);

mx0 = dm(I2, M0);

my0 = dm(I3, M1);

mr = mr + mx0 * my0 (ss);

mr = mr (rnd);

if mv sat mr;

dm(I2, M0) = mr1;

IO(1) = mr1;

rti;

4. Результаты работы программы

Проверим правильность работы фильтра. Для этого сформируем и подадим на вход фильтра сигнал длительностью в 0.5 секунды, имеющий постоянную амплитуду и линейное нарастание частоты от 0 до 4 кГц. В результате получим сигнал, повторяющий АЧХ, что свидетельствует о корректой работе программы.

Рисунок 2 - ЛЧМ сигнал на выходе фильтра

Москва 2023

Соседние файлы в папке Курсовая
  • #
    23.06.20241.41 Кб12chast.asm
  • #
    23.06.2024156.84 Кб22chast.docx
  • #
    23.06.2024101 б12chast.sce
  • #
    23.06.20241.63 Кб1FILTR.asm
  • #
    23.06.20241.19 Mб1Kyrsovaia.docx
  • #
    23.06.20242.31 Кб1SciLABAB.sce