Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KP_MZOS_14.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.49 Mб
Скачать

5. Розробка програми виконання заданої функції

Нижче наведена граф-схема алгоритму роботи програми.

Рис. 12 Граф-схема алгоритму роботи програми

Висновки

У результаті виконання курсового проекту розроблено функціональну схему процесора для реалізації швидкого перетворення Фур’є. У якості обчислювального процесора взято цифровий сигнальний мікропроцесор ADSP-BF516F. Для реалізації заданого алгоритму використано один такий процесор.

Програма роботи ADSP-BF516F реалізує 2048-точкове дискретне перетворення Фур’є на основі алгоритму ШПФ за основою 2 з часовим прорідженням.

Список використаної літератури

  1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов /Пер. с англ. А.Л.Зайцева, Э.Г.Назаренко, Н.Н.Тетекина; Под ред. Ю.Н.Александрова. - М.:Мир, 1978. - 848 с.

  2. Цифровые фильтры и устройства обработи сигналов на интегральных микросхемах: Справочное пособие/Ф.Б.Высоцкий, В.И. Алексеев, В.П. Пачин и др.; Под ред. Б.Ф.Высоцкого.-М.: Радио и связь, 1984.-216с.

  3. Куприянов М. С., Матюшкин Б. Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования. – Спб. : Политехника, 1998.

  4. Марков С. Цифровые сигнальные процессоры. Книга 1, М.:фирма МИКРОАРТ, 1996-144 с.

  5. http://www.analog.com.

  6. http://www.ti.com.

  7. Бабак В.П., Хандецький А.І., Шрюфер Е. Обробка сигналів: підручник для вузів., К., Либідь, 1996.- 390с.

  8. Применение цифровой обработки сигналов/ Под ред. Э.Оппенгейма.- М. Мир, 1980.- 552с.

  9. Яцимірський М. М. Швидкі алгоритми ортогональних тригонометричних перетворень. - Львів: Академічний Експрес, 1997. - 219 с.

Додатки

Лістинг А. Текст програми

for k=1:1:N

W(k)=0.5*(1+cos(pi*((k-(N/4))/(N/2))));

y(k)=y(k)*W(k);

end

for i=0:1: floor(z/N)-1

y1=y(i*N+1:i*N+N);

y3=my_fft(y1);

y3=abs(y3);

fft_y= [fft_y; y3];

if (i==2)

end;

end;

function x = my_fft(x)

W =[];

N=length(x);

A=nextpow2(N);

x(N+1:(2^A))=0;

x = bitrevorder(x);

N = length(x);

level = A;

for k=1:1:N/2

W(k)= 0.5*(1+cos(pi*((k-(N/4))/(N/2))));

end

phase = cos(2*pi/N*[0:(N/2-1)])-j*sin(2*pi/N*[0:(N/2-1)]);

for a = 1:level

L = 2^a;

phase_level = phase(1:N/L:(N/2));

for k = 0:L:N-L

for n = 0:L/2-1

first = x(n+k+1);

second = x(n + k + L/2 +1)*phase_level(n+1);

x(n+k+1) = first + second;

x(n+k + L/2+1) = first - second;

end

end

end

Лістинг Б. Результати виконання програми

Рис. 13. Вхідний сигнал

Рис. 14. Результат ШПФ для N=2048, другий пакет відліків.

Рис. 15. Результат ШПФ для N=2048, всі відліки

Рис. 16. Вагова функція.

Примітка:

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

    2. В Додатках до курсового проекту була наведена функціональна схема.

    3. Згідно з наведеною методологією оцінювання даний курсовий проект може бути оцінений на «добре», при оцінці за усну компоненту «відмінно».

Приклад штампу:

6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]