elf2aexe.exe %1.dxe %1

del %1.lda

del %1.sym

ren %1.exe %1.lda

Здесь вначале производится очистка дисплея, затем вызывается утилита elf2aexe.exe с именем преобразовываемого файла в качестве входного параметра. После чего выполняются операции удаления вспомогательных файлов и переименования полученного файла. Данный командный файл можно назвать именем dxe_lda.bat и использовать для его вызова команду: dxe_lda.bat имя_файла.

Полученный таким образом файл с расширением «lda» можно использовать для загрузки в аппаратный эмулятор или тестовую плату через интерфейс IDMA.

Глава 25. Спектральный анализ сигнала в среде Visual DSP++

В этой главе рассматривается программный метод спектрального анализа цифрового сигнала на примере программы, выполняемой в среде разработки Visual DSP++.

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

Одним из наиболее распространенных и известных методов получения спектра является метод дискретного преобразования Фурье (ДПФ). Этот метод активно применяется в анализаторах спектра, устройствах обработки звука и изображений, распознавания образов и т.п.

ДПФ позволяет преобразовать N комплексных отсчетов сигнала во временной области в N комплексных отсчетов спектра в частотной области. Из многих теоретических источников известно, что во временной области входному сигналу с частотой, равной f, в частотной области соответствует спектр сигнала, отображаемый в диапазоне от -f/2 до f/2, где отрицательные значения составляют мнимую, а положительные значения — действительную часть спектра сигнала. Причем действительная часть спектра обладает четной симметрией, а мнимая часть нечетной. С целью сокращения количества операций и ускорения тем самым расчетов спектра сигнала, обычно ограничиваются вычислением модуля спектра сигнала в области частот от 0 до f/2.

Вычисление N отсчетов спектра сигнала с помощью ДПФ производится с помощью уравнения, приведенного на рис. 25.1. Здесь X(k) являются искомыми отсчетами спектра сигнала, а x(n) — исходными отсчетами сигнала во временной области. N представляет собой количество отсчетов при вычислении ДПФ.

Рис. 25.1. Вычисление N отсчетов спектра сигнала с помощью ДПФ

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

Рассмотрим очередной пример программы, демонстрирующей реализацию метода дискретного преобразования Фурье для получения спектра сигнала в среде Visual DSP++. Откройте в программном пакете Visual DSP++ очередной проект из каталога C:Program FilesAnalogDevicesVisualDSP218xExamples Example4 и разверните в нем программу, находящуюся в файле с именем «Dft.asm». В этой программе производится расчет спектра сигнала по N отсчетам сигнала, используя алгоритм дискретного преобразования Фурье. Текст этой программы с переведенными автором книги комментариями приведен ниже:

/*============================================================== ======

Файл:DFT.ASM Процессор:ADSP-218х Дискретное Преобразование Фурье (ДПФ)

Эта программа выполняет ДПФ для N точек согласно следующему уравнению:

                     N-1

real(k)+j *imag(k) = SUM input(n) [С - j*S]; k=0 до N-1

                     n=0

где: C=cos(2*pi*k*n/N), S=sin(2*pi*k*n/N), j=sqrt(-1)

================================================================ ====*/

#define N   64      /* Константа - количество входных отсчетов * /

#define COS 0x000C1 /* Адрес буфера временных данных COS */

#define SIN 0x000C5 /* Адрес буфера временных данных SIN */

.section/data data1;

.VAR input[N]=etest64.date; /* Таблица данных тестируемого сигнала */

.VAR real[N];               /* Буфер действительных значений спектра * /

.VAR imag[N];               /* Буфер мнимых значений спектра */

.section/pm pm_da;

.VAR sine[N]='sine64.dat';/* Таблица данных гармонического сигнала */

.section/pm interrupts;

__reset: JUMP start; rti; rti; rti; /* 0x0000: reset */

rti; rti; rti; rti;                 /* 0x0004: IRQ2 */

rti; rti; rti; rti;                 /* 0x0008: IRQL1 */

rti; rti; rti; rti;                 /* 0x000c: IRQL0 */

rti; rti; rti; rti;                 /* 0x0010: SPORT0 tx */

rti; rti; rti; rti;                 /* 0x0014: SPORT1 rx */

rti; rti; rti; rti;                 /* 0x0018: IRQE */

rti; rti; rti; rti;                 /* 0x001c: BDMA */

rti; rti; rti; rti;                 /* 0x0020: SPORT1 tx or IRQ1 */

rti; rti; rti; rti;                 /* 0x0024: SPORT1 rx or IRQ0 */

rti; rti; rti; rti;                 /* 0x0028: timer */

rti; rti; rti; rti;                 /* 0x002c: power down */

.section/pm seg_code; /* Пример установки программы ДПФ */

start:

M1=1;

M2=0;

M7=1;

M5=0;

I0=input;

L0=64; /* Входной буфер циклический */

I1=imag;

L1=0; /* Нециклический буфер Image */

I2=real;

L2=0; /* Нециклический буфер Real */

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

1

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

Отметить Добавить цитату
×