Новости

Разработка программы цифрового фильтра сигналов для процессора 1892ВМ2Я

Работа добавлена:






Разработка программы цифрового фильтра сигналов для процессора 1892ВМ2Я на http://mirrorref.ru

Министерство образования и науки Российской Федерации

Муромский институт (филиал)

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

высшего образования

«Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(МИ ВлГУ)

          Факультет: РЭКС

          Кафедра:    радиотехники

КУРСОВАЯ

РАБОТА

            По дисциплине:Процессорная обработка сигналов

Тема:Разработка программы цифрового фильтра

сигналов для процессора 1892ВМ2Я

Руководитель

  Ракитин А.В.

(фамилия, инициалы)

___________________

(подпись) (дата)

Студент      РТз-114

  (группа)

    Царьков П.Н.

       (фамилия, инициалы)

___________________

(подпись)    (дата)

Муром 2017 год

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

микропроцессора 1892ВМ2Я (МС-24).

Содержание

    Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1. Анализ технического задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Выбор, обоснование и расчёт схемы электрической структурной. . . . . . . . . . . .9

3. Выбор, обоснование и расчёт схемы электрической принципиальной. . . . . . .  14

4. Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5. Список используемых источников. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

   Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . .. . . . . . . . . . . . . .32

Введение

Быстрое развитие вычислительных систем и переход на цифровые стандарты      привело к необходимости обрабатывать большие объёмы информации с высокой скоростью, реагировать на поступающие сигналы в реальном времени, измерять и преобразовывать сигналы. Обработка и фильтрация сигналов требует применения высокопроизводительных систем. Такие системы реализованы на устройствах с применением цифровых процессоров. Одной из основных функций данных микропроцессоров является цифровая обработка сигналов (ЦОС) в реальном масштабе времени. Часто такие микропроцессоры называются сигнальными микропроцессорами (СМП) или цифровыми процессорами обработки сигналов (ЦПОС).

Микросхемы сигнальных процессоров серии "Мультикор" - это однокристальные программируемые многопроцессорные "системы на кристалле" на базе IP-ядерной (IP-intellectual property)платформы "МУЛЬТИКОР", разработанной в ГУП НПЦ "ЭЛВИС".

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

Цифровая фильтрация является одним из наиболее мощных инструментальных средств ЦОС. Кроме очевидных преимуществ устранения ошибок в фильтре, связанных с флуктуациями параметров пассивных компонентов во времени и по температуре, дрейфом ОУ (в активных фильтрах) и т.д., цифровые фильтры способны удовлетворять таким техническим требованиям по своим параметрам, которых, в лучшем случае, было бы чрезвычайно трудноили даже невозможно достичь в аналоговом исполнении. Кроме того, характеристики цифрового фильтра могут быть легко изменены программно. Поэтому они широко используются в телекоммуникациях, в приложениях адаптивной фильтрации, таких как подавление эха в модемах, подавление шума и распознавание речи.

Процесс проектирования цифровых фильтров состоит из тех же этапов, что и процесс проектирования аналоговых фильтров. Сначала формулируются требования к желаемым характеристикам фильтра, по которым затем рассчитываются параметры фильтра. Амплитудная и фазовая характеристики формируются аналогично аналоговым фильтрам. Ключевое различие между аналоговым и цифровым фильтрами заключается в том, что, вместо вычисления величин сопротивлений, емкостей и индуктивностей для аналогового фильтра, рассчитываются значения коэффициентов для цифрового фильтра. Иными словами, в цифровом фильтре числа заменяют физические сопротивления и емкости аналогового фильтра. Эти числа являются коэффициентами фильтра, они постоянно находятся в памяти и используются для обработки (фильтрации) дискретных данных, поступающих от АЦП.

Цифровой фильтр, работающий в реальном масштабе времени, оперирует с дискретными по времени данными в противоположность непрерывному сигналу, обрабатываемому аналоговым фильтром. При этом очередной отсчет, соответствующий отклику фильтра, формируется по окончании каждого периода дискретизации. Вследствие дискретной природы обрабатываемого сигнала, на отсчеты данных зачастую ссылаются по их номерам, например, отсчет 1, отсчет 2, отсчет 3 и т.д. Вначале сигнал должен быть оцифрован с помощью АЦП для получения выборки x(n). Далее эта выборка поступает на цифровой фильтр, который в данном случае является НЧ-фильтром. Отсчеты выходных данных y(n) используются для восстановления аналогового сигнала с использованием ЦАП с низким уровнем ложного сигнала.

Тем не менее, цифровые фильтры не могут являться решением всех возможных задач фильтрации, возникающих при обработке сигналов. Для работы в реальном масштабе времени, DSP-процессор должен быть рассчитан на выполнение всех шагов в программе фильтрации в пределах промежутка времени, соответствующего одному такту дискретизации, то есть 1/fs.

1. Анализ технического задания.

В данной курсовой работе необходимо разработать программу фильтра низких частотс конечной импульсной характеристикой (КИХ) на базе сигнального микропроцессора 1892ВМ2Я (МС-24). Алгоритм функционирования ФНЧ фильтра поясняется структурной схемой, приведенной на рисунке 1.

Рисунок 1. Фильтр с конечной импульсной характеристикой порядкаN.

КИХ-фильтр должен работать в соответствии с уравнением, задающим свертку:

                                                (1)

где h(k) – массив коэффициентов фильтра и x(n-k) – входной массив данных фильтра. Число N в уравнении представляет собой число звеньев и определяет эффективность фильтра, как было сказано выше. КИХ-фильтр с числом звеньев N требует N циклов (операций) умножения с накоплением.

Для проектирование КИХ-фильтра низких частот будем  использовать программу Паркса-Макклиллана (Parks-McClellan)

Метод проектирования, основанный на использовании окон для усечения импульсной характеристики и получения желаемой частотной характеристики, исторически был первым методом проектирования КИХ- фильтров. Метод частотной дискретизации был разработан в 70-ых годах и до сих пор популярен в тех случаях, где частотная характеристика является произвольной функцией.

Сегодня доступны современные программы САПР, которые существенно упрощают проектирование НЧ, ВЧ, полосовых и режекторных КИХ- фильтров. Популярная программа была разработана Парксом (Parks) и Макклилланом (McClellan) и использует алгоритм обмена Ремеза (Remez). Проектирование фильтра начинается с определения параметров, представленных на рисунке 2. неравномерности полосы пропускания, неравномерности полосы задержки (то же, что ослабление) и области перехода.

Рисунок 2.

Согласно техническому заданию мы будем проектировать звуковой НЧ фильтр, который работает при частоте дискретизации 44 кГц. Граничная частота полосы пропускания составляет 1 кГц. Полоса задержки начинается при 3 кГц, неравномерность полосы пропускания равна 0,01 дБ, неравномерность в полосе заграждения (ослабление) - 60 дБ.

2. Разработка алгоритма

Согласно рисунку 3, диаграммы КИХ-фильтров часто изображаются в упрощенном виде. Операции суммирования представляются стрелками, указывающими в точки, а операции умножения обозначают, помещая коэффициенты h(k) рядом со стрелками на линиях. Элемент задержки z-1 показывают, помещая его обозначение выше или рядом с соответствующей линией.

Рисунок 3.Упрощенная схема фильтра

В рядах, задаваемых уравнениями КИХ-фильтров, предполагается последовательное обращение к N коэффициентам от h(0) до h(N-1). Соответствующие точки данных циркулируют в памяти. При этом добавляются новые отсчеты данных, заменяя самые старые, и каждый раз производится вычисление выходного значения фильтра.

Выходной сигнал Y(n) должен быть вычислен до поступления следующего входного сигнала , т.е. за интервал T. В этом заключается суть работы устройства в реальном масштабе времени. Интервал времени T задается частотой дискретизации Fg (T=1/Fg).

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

Т. к. по ТЗ требуется разработать ФНЧ фильтр, то рассчитаем коэффициенты, которые позволяя нам использовать КИХ фильтр, показанный на рисунке 1, использовать как ФНЧ фильтр. Выходной сигнал в момент времениt =nTзависит от входного сигнала в данный момент времени и предшествующих значений входного сигнала:

;    (2)

гдеai. – коэффициенты фильтра.

Если на вход фильтра подать единичный импульсS(0) = 1, то на выходе сумматора возникает последовательность чисел имеющая смысл импульсной характеристики. Для данного фильтра числа совпадают с весовыми коэффициентами.

Расчет коэффициентов КИХ фильтра по заданной спецификации с использованием алгоритмаPARKS-McCLELAN выполним в программеPMFIR.EXE. Она так же позволяет просмотреть амплитудно-частотную и импульсную характеристику полученного фильтра с учетом квантизации коэффициентов фильтра.

Произведем расчет фильтра низких частот согласно полученного ТЗ:

- значение частоты дискретизации 44 КГц;

- значение граничной частоты полосы пропускания 1 кГц;

- значение граничной частоты полосы подавления 3 КГц;

- минимальное затухание в полосе подавления 60 дБ;

- максимальная неравномерность в полосе пропускания 0,01 дБ;

- линейная фазовая характеристика.

Для расчета коэффициентов КИХ фильтра с использованием программы PMFIR.EXE по заданной спецификации сначала необходимо выбрать тип фильтра нажатием соответствующей кнопки клавиатуры:

1 –LOWPASS (фильтр низких частот)

2 –HIGHPASS(фильтр высоких частот)

3 –BANDPASS(фильтр полосовой пропускающий)

4 –BANDSTOP(фильтр полосовой задерживающий)

5 –MULTIBAND

6 –DIFFERENTIATOR (дифференциатор)

7 –HILBERTTRANSFORMER (преобразователь Гильберта)

Нажатием кн.«1» выбираем фильтр низких частот. Вводим значение частоты дискретизации 44,1 кГц, значение граничной частоты полосы пропускания 1 КГц, значение граничной частоты полосы подавления 3 КГц. Далее, программа требует ввода значения максимальной неравномерности в полосе пропускания Ap и минимального затухания в полосе подавления As выраженного в пределах допусков отклонения  и  соответственно. Выразим их из формул:

                            (3)

(4)

Вычисляем значения допусков, подставив дБ и  дБ и получаем , .

Вводим максимальное значение неравномерности в полосе пропускания 0,00115 и минимальное затухание в полосе подавления 0,001.

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

На экране отображаются характеристики разработанного фильтра, и предлагается изменить спецификацию фильтра. Отказавшись от изменения спецификации фильтра кн.«N» указываем необходимость квантизации коэффициентов фильтра кн. «Y» и вводим количество разрядов для хранения коэффициентов 16. На экране повторно отображаются характеристики разработанного фильтра с учетом квантизации и предлагается вывести результаты на печать. Отказавшись от печати кн. «N» выбираем запись рассчитанных коэффициентов в файл нажатием кн.«4» и указываем имя файла коэффициентов «PMFIR.FLT». Осуществляем выход из программы нажатием кн. «8».

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

Таблица 1. Коэффициенты рассчитанного фильтра

h(0)

-7082

h(1)

6059

h(2)

6768

h(3)

8624

h(4)

11101

h(5)

13866

h(6)

16629

h(7)

19158

h(8)

21253

h(9)

22752

h(10)

23533

h(11)

23533

h(12)

22752

h(13)

21253

h(14)

19158

h(15)

16629

h(16)

13866

h(17)

11101

h(18)

8624

h(19)

6768

h(20)

6059

h(21)

-7082

3. Разработка программы

Используя разработанную блок-схему и систему команд дляRISC ядра иDSP ядра разработаем программу фильтра низких частотс конечной импульсной характеристикой (КИХ). Текст программы можно написать в любом текстовом редакторе.

Текст программыRISC ядра:

#include "memory_24.h"

extern int Start_DSP;

extern int in_mas;

extern int out_mas;

void exit();

//int InputArray[256];

//int OutputArray[256];

main()

{

   inti;

   int j;

   int coeff_mas[22]={-7082, 6059, 6768, 8624, 11101, 13866, 16629, 19158, 21253, 22752, 23533, 23533, 22752, 21253, 19158, 16629, 13866, 11101, 8624, 6768, 6059,   -7082};

   int output_signal[1764000];

   int input_signal[1764000];

   int order;

   int *ptr_in;

   int *ptr_out;

   int *ptr_coeff;

   int *ptr_YRAM;

  DCSR   = 0;

  SR     = 0;

   SAR    = 0xFFFF;

   PC=((unsigned int)&Start_DSP - (unsigned int)&PRAM)>>2;

   A0=((unsigned int)&in_mas- (unsigned int)&XRAM)>>2;

   A1=((unsigned int)&out_mas- (unsigned int)&XRAM)>>2;

ptr_YRAM=&YRAM;

   ptr_coeff=ptr_YRAM;

   ptr_in=&in_mas;

   ptr_out=&out_mas;

   order=22;

   AT_0=(unsigned int)ptr_coeff>>2;

   IT_0=1;

   M0=order-1;

   MT_0=order-1;

   R10_0=order;

   //for (i=0; i<order; i++)

   //     coeff_mas[i]=1;

   for (i=0; i<order; i++)

        *(ptr_coeff+i)=coeff_mas[i];

   for (j=0; j<order; j++)

        *(ptr_in+j)=input_signal[j];

       DCSR = 0x4000;

       while((~(QSTR))&(1<<31));

   i=0;

   for (; j<441000; j++)

   {

       output_signal[j-order]=*(ptr_out);

       if (i==order) i=0;

       *(ptr_in+i)=input_signal[j];

       i++;

       DCSR = 0x4000;

       while((~(QSTR))&(1<<31));

   }

//TDIV0=0x1f0001;

//RDIV0=0x1f0001;

//SRCTL0=0x21f1;

//IR_SpRx0=((unsigned int)&InputArray-0xA0000000);

//OR_SpRx0=1;

//CSR_SpRx0=0x1000001;

  //while((CSR_SpRx0&0x01)!=0) {;}

   //for(i=0; i<256; i++)

//OutputArray[i]=InputArray[i];

   //STCTL0=0x65f1;

   //IR_SpTx0=((unsigned int)&OutputArray-0xA0000000);

    //OR_SpTx0=1;

   //CSR_SpTx0=0x1000001;

   //while((CSR_SpTx0&0x01)!=0) {;}

exit();

}

void exit()

{

while(1);

}

Текстпрограммы DSPядра:

.text

   .global Start_DSP

   .global out_mas

   .global in_mas

Start_DSP:

       CLRL R6  (A0)+,R2  (AT)+IT,R0

CLRL R4

       ;расчет одного отвода

       DO R10,odin_otvod

NOP

   odin_otvod:

       MPSS R0,R2,R4  ADDL R4,R6,R6  (A0)+,R2  (AT)+IT,R0

;расчет одного отвода закончен

       ASRL 1,R6,R6    ;ослабляем выходной сигнал в 2 раза

       FTRL R6,R8  ;преобразуем long в short

       FTR  R8,R6  ;преобразуем short в long путём расширения знака

       MOVE R6,(A1)

       ;сохраняем сигнал

       ;устанавливаем указатели на базу и на сигнал

STOP

       J Start_DSP

.data

in_mas:  .space 0x16*4

out_mas: .space 0x1*4

.end

Массив coeff_masсодержиткоэффициентыфильтра,массив output_signalсодержитвыходнойсигнал,причёмколичествоэлементовзадаётсявбайтах,массив input_signalсодержитвходнойсигнал,количествоэлементовзадаётсявбайтах,переменной orderзадаётсяпорядокфильтра,циклпо jвыполняетсядо j =размерфайла in.datвбайтах / 4 ,т.к.элементымассива 32разрядные.

4. Тестирование программы

Для создания звукового файла с шумом в программе Cool Edit Pro 2.0, в меню Generated выбратьNoise…: Задаём параметры сигнала (рисунок 4) и далее выбираем White (белый шум) (рисунок 5), длительность 10 секунд.

Рисунок 4.Окно выбора параметров сигнала

Рисунок 5.Окно выбора параметров сигнала

Полученный сигнал необходимо сохранить в WAV формате. Для того в меню File выбираем Save As (рисунок 6).

Рисунок 6.

Задаём тип файла Windows PCM (*.wav) и сохраняем под именем in.wav в каталог с программой WavToDatConverter.

Далее запустив программу WavToDatConverter вводим «1» (рисунок 7).

Рисунок 7.

В каталоге с программой появится файл out.dat. Его необходимо скопировать в каталог с проектом FIR_filter, под именем in.dat.

Дальнейшую отладку разработанной программы производим в системе MCStudio, которая представляет собой интегрированную среду (IDE) разработки и отладки программного обеспечения для изделий, построенных на базесигнальных процессоров "Мультикор". MCStudio функционирует на персональном компьютере под операционной системой Windows XP. Интегрированная среда проектирования включает: средства разработки программ для CPU- и DSP-ядер, средства отладки программ в исходных текстах, исполняемых на программном симуляторе.

ВMCStudio 2, в менюFile выбрать пунктLoadProject (рисунок 8)

Рисунок 8.

Загрузим проект FIR_filter.

Далее проект необходимо собратьProject ->Build и запустить отладку Debug ->Start ->Simulator. Выполнить до первой точки останова Debug ->Run(F9). Открыть окноView -> Watches (рисунок 9).

рисунок 9.

В нём содержится информация об адресах начала массивов для входного и выходного сигналов.

Для загрузки входного сигнала в память процессора необходимо выбрать пункт Debug ->LoadMemory (рисунок 10)

Рисунок 10.

В появившемся окне выбираем файлin.dat,Fileposition задать 0, размер блока равен размеру файлаin.dat в байтах, адрес в памяти равен адресу первого элемента массиваinput_signal (берём изWatches).

Далее открываем окноView ->Memory (рисунок11).

Рисунок 11.

Настроим режим отображения и перейдём по адресу первого элемента массива для проверки правильности наших действий.

Затем откроем окноView -> DSP (рисунок 12).

Рисунок 12.

Запускаем отладку до следующей точки останова, при этом вYRAM DSP ядра должны загрузиться коэффициенты, а в XRAM 22 отсчёта входного сигнала.

Выполнив отладку до последней точки останова, необходимо выгрузить

выходной сигнал из массива output_signal в файл out.dat. Для этого открываем меню  Debug -> Dump Memory

Рисунок 13

В появившемся окне выбираем файлout.dat,Fileposition задать 0, размер блока равен размеру файлаin.dat в байтах, адрес в памяти равен адресу первого элемента массиваoutput_signal (берём изWatches). Файл out.dat необходимо скопировать в каталог с программой WavToDatConverter, переименовав его вin.dat.

Запустив программу WavToDatConverter вводим «2» (рисунок 14).

Рисунок 14.

В каталоге с программой появится файл out.wav.

В программе Cool Edit Pro 2.0, в меню File выбираемOpen, указываем путь к каталогу с программой WavToDatConverter и открываем файлыin.wav и out.wav (рисунок 15).

Рисунок 15.

Затем в менюAnalyze выбираем пунктShowFrequencyAnalyze (рисунок 16-17).

Рисунок 16. Входной сигнал (белый шум)

Рисунок 17. Выходной сигнал (сигнал после обработки нч фильтром

с заданными параметрами).

Заключение

В данной курсовой работе была разработана программа ФНЧ фильтра на базе сигнального микропроцессора 1892ВМ2Я (МС-24). Частота дискретизации разработанного фильтра составляет 44 кГц, а частота среза 1 кГц. В процессе разработки программы данного фильтра были получены спектры входного и выходного смоделированных сигналов, которые подавались на вход данного фильтра. Моделирование входных сигналов производилась с использование программыCoolEdit2000Pro. Отладка программы производилась в MCStudio

Список использованной литературы

1. http://multicore.ru

2.МИКРОСХЕМА ИНТЕГРАЛЬНАЯ 1892ВМ2Я. Руководство пользователя. РАЯЖ.431280.002Д

3.MIPS TECHNOLOGIES. MIPS32 4KTM Processor Core Family Software User’s Manual. Revision 01.17.

4.ПРОЦЕССОРНОЕЯДРО RISCCorE 32.00.Системакоманд.РАЯЖ. 431280.003Д1

5.DSP-ядро ELcore_x4.Система инструкций. РАЯЖ. 431280.003Д2

Приложение А

Приложение Б

Текст программыRISC ядра:

#include "memory_24.h"

extern int Start_DSP;

extern int in_mas;

extern int out_mas;

void exit();

//int InputArray[256];

//int OutputArray[256];

main()

{

   inti;

   int j;

   int coeff_mas[22]={-7082, 6059, 6768, 8624, 11101, 13866, 16629, 19158, 21253, 22752, 23533,  23533, 22752, 21253, 19158, 16629, 13866, 11101, 8624, 6768, 6059,  -7082};

   int output_signal[1764000];

   int input_signal[1764000];

   int order;

   int *ptr_in;

   int *ptr_out;

   int *ptr_coeff;

   int *ptr_YRAM;

  DCSR   = 0;

  SR     = 0;

   SAR    = 0xFFFF;

   PC=((unsigned int)&Start_DSP - (unsigned int)&PRAM)>>2;

   A0=((unsigned int)&in_mas- (unsigned int)&XRAM)>>2;

   A1=((unsigned int)&out_mas- (unsigned int)&XRAM)>>2;

ptr_YRAM=&YRAM;

   ptr_coeff=ptr_YRAM;

   ptr_in=&in_mas;

   ptr_out=&out_mas;

   order=22;

   AT_0=(unsigned int)ptr_coeff>>2;

   IT_0=1;

   M0=order-1;

   MT_0=order-1;

   R10_0=order;

   //for (i=0; i<order; i++)

   //     coeff_mas[i]=1;

   for (i=0; i<order; i++)

        *(ptr_coeff+i)=coeff_mas[i];

   for (j=0; j<order; j++)

        *(ptr_in+j)=input_signal[j];

       DCSR = 0x4000;

       while((~(QSTR))&(1<<31));

   i=0;

   for (; j<441000; j++)

   {

       output_signal[j-order]=*(ptr_out);

       if (i==order) i=0;

       *(ptr_in+i)=input_signal[j];

       i++;

       DCSR = 0x4000;

       while((~(QSTR))&(1<<31));

   }

//TDIV0=0x1f0001;

//RDIV0=0x1f0001;

//SRCTL0=0x21f1;

//IR_SpRx0=((unsigned int)&InputArray-0xA0000000);

//OR_SpRx0=1;

//CSR_SpRx0=0x1000001;

  //while((CSR_SpRx0&0x01)!=0) {;}

   //for(i=0; i<256; i++)

//OutputArray[i]=InputArray[i];

   //STCTL0=0x65f1;

   //IR_SpTx0=((unsigned int)&OutputArray-0xA0000000);

    //OR_SpTx0=1;

   //CSR_SpTx0=0x1000001;

   //while((CSR_SpTx0&0x01)!=0) {;}

exit();

}

void exit()

{

while(1);

}

Текстпрограммы DSPядра:

.text

   .global Start_DSP

   .global out_mas

   .global in_mas

Start_DSP:

       CLRL R6  (A0)+,R2  (AT)+IT,R0

CLRL R4

       ;расчет одного отвода

       DO R10,odin_otvod

NOP

        odin_otvod:

       MPSS R0,R2,R4  ADDL R4,R6,R6  (A0)+,R2  (AT)+IT,R0

;расчет одного отвода закончен

       ASRL 1,R6,R6    ;ослабляем выходной сигнал в 2 раза

       FTRL R6,R8  ;преобразуем long в short

       FTR  R8,R6  ;преобразуем short в long путём расширения знака

       MOVE R6,(A1)

       ;сохраняем сигнал

       ;устанавливаем указатели на базу и на сигнал

STOP

       J Start_DSP

.data

in_mas:  .space 0x16*4

out_mas: .space 0x1*4

.end

ПриложениеВ

Результаты работы

Входной сигнал (белый шум)

Выходной сигнал (сигнал после обработки нч фильтром

с заданными параметрами).

Разработка программы цифрового фильтра сигналов для процессора 1892ВМ2Я на http://mirrorref.ru


Похожие рефераты, которые будут Вам интерестны.

1. Разработка цифрового вокодера с расчетом цифрового нерекурсивного фильтра

2. Синтез и моделирование низкочастотного цифрового фильтра с бесконечной импульсной характеристикой (БИХ) с помощью пакета программ MATLAB

3. Реализация драйвера-фильтра и управляющей программы

4. Разработка цифрового измерительного прибора

5. Разработка цифрового таймера на базе микропроцессора К1810ВМ88

6. Разработка программы игры Ним

7. Проведение Фурье – анализа периодических сигналов. Фильтрация сигналов

8. Разработка программы продвижения инновации

9. Разработка программы для создания кроссвордов

10. Разработка программы лексического анализа