49366

Прямий перетворювач Фурє (з використанням ШПФ)

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

Вибір певної структури побудови мікропроцесорного пристрою обробки сигналів залежить від особливостей реалізуємого алгоритму і певного набору мікропроцесорних засобів

Украинкский

2014-01-12

881 KB

9 чел.

Міністерство освіти науки, молоді та спорту України

Національний університет „Львівська політехніка”

Кафедра „Комп'ютеризовані системи автоматики”

КУРСОВИЙ ПРОЕКТ

З курсу : „ Проектування та програмування мікропроцесорних пристроїв автоматики”

На тему : „Прямий перетворювач Фур'є (з використанням ШПФ)”

Варіант - 46

Виконав : студент групи КСАм-14

Бідзюра В.В.        

Перевірив: Наконечний А.Й.

Львів 2011

ТЕХНІЧНЕ ЗАВДАННЯ

На тему :  „ Пристрій швидкого перетворення Фур'є ”

  1.  Вхідні дані:

Вхідна напруга, В – 0÷10

Вхідна частота, кГц – 0 ÷30

  1.  Проміжні дані:

Кількість вибірок, шт.. - 2000

  1.  Результат:

Визначити значення для 150 спектральних ліній

  1.  Точність пристрою: δ=0,3%
  2.  Розробити конструкцію пристрою який працює в лабораторних умовах.
  3.  Стикувати з КЗК відповідно ІЕЕЕ-488.

Зміст

Арк.

Вступ …….……………………………………………………………………. 4

  1.  Обчислення дискретного перетворення Фур’є…………………………. 5
    1.  Реалізація ДПФ на ЕОМ……………………………………………… 6
    2.  Швидке перетворення Фур'є………………………………………….  7
  2.  Вибір елементної бази…………………………………………………….. 9
  3.  Вибір структурної схеми………………………………………………….  10
  4.  Розрахунок об'єму пам'яті………………………………………………...  15
  5.  Опис функціонування пристрою…………………………………………. 16
  6.  Опис конструкції…………………………………………………………..  17
  7.  Розрахунок частотокомпенсованого дільника напруги………………… 18
  8.  Стикування з каналом загального зв’язку.………………………………..19
  9.  Аналіз похибок……………………………………………………………...21
  10.  Список літератури…………………………………………………………. 22
  11.  Додатки……………………………………………………………………... 23

ВСТУП

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

Вибір певної структури побудови мікропроцесорного пристрою обробки сигналів залежить від особливостей реалізуємого алгоритму і певного набору мікропроцесорних засобів, на базі яких реалізовуватиметься вихідний алгоритм. Це породжує множину варіантів побудови мікропроцесорної системи (МПС).

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

Основні принципи побудови МПС: мікропроцесорне управління, модульність побудови, магістральний обмін інформацією і нарощуваність обчислювальної потужності дозволяють розробляти МПП, структура, система команд, швидкодія і розрядність яких враховують особливість реалізуємих алгоритмів.

Одна з основних вимог, які ставляться перед МПП, є реальний масштаб часу обчислення вирішуваних алгоритмів. Тобто час виконання програми залежить від допустимого можливого часу цього алгоритму (ТПР< ТДОП ).

Використання МПП забезпечує гнучкість проектування як по апаратних рішеннях, так і по реалізації необхідної системи команд.

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

Пристрої обробки сигналів складаються з аналогової, аналогово-цифрової і цифрової частини.

 

  1.  ОБЧИСЛЕННЯ ДИСКРЕТНОГО ПЕРЕТВОРЕННЯ ФУР’Є

Перетворення Фур'є дає можливість виявити частоти, які знаходяться в деякому залежному від часу сигналі. Такі виміри досить часто проводяться для сигналів з періодичними компонентами. Ці сигнали зустрічаються при вимірюванні коливань, і змінюються так швидко, що їх не можна отримати графічно або обчислити їх в залежності від часу. В такому випадку проводять числовий аналіз сигналів і отримують спектр сигналу.

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

Метод обчислення дискретного перетворення Фур'є (ДПФ) виник в техніці передачі інформації і служить для аналізу сигналів, звуку і зображення. Використовується в техніці вимірювань електричних і неелектричних величин. Однією з областей застосування є контроль, рання діагностика і виявлення дефектів машин з обертовими частинами. (турбіни, генератори або насоси). В технологічних циклах для виявлення тріщин і в трубопроводах.

Із теорії систем відомо, що з допомогою перетворення Фур'є обмеженої в часі функції f(t) можна визначити спектр F() і навпаки.

                                       (1.1)

                               (1.2)

Дискретним перетворенням Фур'є  називають обчислення спектральної функції із дискретних значень амплітуди .

Для отримання алгоритму обчислення ДПФ необхідно апроксимувати інтеграл, як суму прямокутників з висотою  і шириною , тобто

                                    (1.3)

Враховуючи кругову функцію отримаємо алгоритм

                 (1.4)

 де N- кількість вибірок

- період дискретизації

Т=N- час спостереження

Спектри ДПФ, які повторюються, не повинні накладатися, щоб не заважати один одному. Такий випадок можливий, коли найбільша частота сигналу fMAX не є меншою за половину частоти дискретизації fA.

                                                        (1.5)

Значення амплітуд можуть бути пораховані для обмеженого числа дискретних частот.

Кожна спектральна лінія складається з однієї дійсної та однієї уявної частини. Тобто з N вибірок можна визначити амплітуди і фази для N/2 дискретних частот, які знаходяться в інтервалі від f=0 до  . Відповідні спектральні лінії повторяються в інтервалі від  до .

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

Також відомо, що спектральна здатність, збільшується зі збільшенням часу спостереження.

Перед початком обчислень необхідно записувати значення вибірок в пам'ять, яка буде заповнена тим швидше, чим частіше будуть робитися вибірки, продовжуватиметься час спостереження, або чим більшою буде розрядність анолого-цифрового перетворювача (АЦП).

  1.   Реалізація ДПФ на ЕОМ

Для цього необхідно зображати часову і спектральну функції, як послідовності

                             (1.1.1)

                     (1.1.2)

де                                                                                                          (1.1.3)

Тоді

                                         (1.1.4)

Пряме обчислення спектру по цій формулі потребує N2 операцій комплексного множення і N (N-1) операцій комплексного додавання.

Машинний час в значній мірі пропорційний числу операцій множення. Тому навіть на ЕОМ ДПФ для великих послідовностей виконується досить довго.

Із структури рівнянь перетворення та періодичності комплексної складової  випливає багато можливостей по значному скороченню часу обчислень. Такі алгоритми називаються швидким перетворенням Фур'є (ШПФ). Вони дають такий самий результат при значно менших затратах.

  1.   Швидке перетворення Фур'є

Основна ідея ШПФ полягає в розгляді послідовності f(n) із N значень на декілька менших підмножин, які перетворюються потім окремо.

Це дуже ефективно коли N є стелінню по основі 2. Вхідна послідовність fn cпочатку ділиться на дві підмножини, елементи яких мають часовий інтервал 2Т. Ці підмножини в свою чергу також діляться навпіл і так до тих пір, поки в послідовності не залишаться два елементи, до яких застосовується ДПФ.

Проведемо результат розчеплення для N=8.

Вводять скорочення .

Звернення Fd(k) можна узагальнити так:

Оскільки  і  то множини  в квадратних дужках для будь-яких  мають значення . Тому на першому кроці обчислення пари  уже готові.

Рис.1.1 Основна операція ШПФ

    Ця основна операція завжди повторюється. Передбачуючи, що множини  

і  для будь-яких k повинні приймати значення , будуються комбінації з результатами першого кроку. На наступних кроках спектральні лінії F(k) вираховуються уже із готових співмножників, а також з допомогою основної операції.

     Виконання алгоритму ШПФ можна реалізувати „ на одному місці ”. Вихідна послідовність поступово будується в пам'яті вихідного вектора. Для того щоб отримувати результати виді, вхідні дані повинні бути представлені в біт-зворотньому порядку.

      Кількість операцій комплексного множення при обробці N вхідних даних по алгоритму ШПФ: вони розділяються на lg(N) кроків, на кожному з яких потрібно виконати N/2 основні  операції ШПФ. Кожна така операція має одну операцію комплексного множення, то їх всього потрібно (N/2) lg(N). Це дає значний виграш в часі, в порівнянні з ДПФ.

2. ВИБІР ЕЛЕМЕНТНОЇ БАЗИ

При проектуванні пристроїв на МП необхідно сумісно розробляти програмні та апаратні засоби.

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

Так як використовуваний алгоритм вимагає виконання складних математичних операцій, то доцільно використати 16-ти розрядний мікропроцесор TMS320C52 фірми Texas Instruments.

Оскільки необхідно запам’ятовувати 2000 значення вибірок при 16-ти розрядній ША, то для побудови ОЗП вистачає потужностей самого процесора, у якому 9 К х16. Молодший банк даних буде запам’ятовуватися в D-0 – D7, для парних адрес та D-8 – D-15 для непарних.

Важливим є вибір АЦП, найкраще всім вимогам технічного завдання та вибраному МП відповідає 12-ти розрядний АЦП  ADC78H90, на його вхід можна подавати сигнали амплітудою 5,5 В. Тому необхідно використати подільник на 2 з частотною компенсацією.

3. ВИБІР СТРУКТУРНОЇ СХЕМИ

Робота пристрою починається з того, що за допомогою сигналів МRDC та А15 читається перша команда з  ПЗП по нульовому адресу. Всі наступні дії пристрою стають незалежними від програми.

Блок схема яка описує роботу пристрою в цілому.

На повну обробку пристрій запускається сигналом RES від ЕОМ вищого рівня.   Другим складним питанням є  здійснення двійково-інверсної перестановки адрес вибірок, яка необхідна для реалізації ШПФ.

Блок схема двійково-інверсної перестановки

 

Підпрограма обробки вибірок реалізована по наступному алгоритму, блок-схема якого приводиться нижче. Змінна L в даній блок-схемі означає число етапів перетворення N=2L; L=10.

Алгоритм обчислення базової операції (БО) ШПФ з прорідженням по часу можна записати так:

 Введемо такі скорочення :

А, В- вхідні комплексні числа;

X,Y- вихідні комплексні числа;

W- комплексний множник;

ReA, ImA- дійсна та уявна частина комплексного числа А.

ReX=ReA+ReBReW-ImBImW;

ImX=ImA+ReBImW+ImBReW;

ReY=ReA-ReBReW+ImBImW;

ImY=ImA-ReBImW-ImBReW,

 

Реалізація алгоритму базової операції приведена на наступній блок-схемі:

4. РОЗРАХУНОК ОБ’ЄМУ ПАМ’ЯТІ

Для роботи пристрою необхідна оперативна та постійна пам’ять. В постійній пам’яті знаходиться код програми та протабульовані значення sin та cos для повертаючого коефіцієнта W.

ОЗП використовується для запам’ятовування значень вибірок, запам’ятовування адрес сформованих в біт зворотньому порядку, проміжних обчислень та запису 150 вихідних значень. ОЗП працює за принципом заміщення: зчитуються дані, обробляються та заносяться на попереднє місце. Тому для задовільної роботи пристрою вистачає 2Кбайти пам’яті.

Загальний розподіл пам’яті виглядає так:

Використано ПЗП ємністю 4К х 16. Дана ПЗП міститься в самому процесорі тому не потрібно використовувати додаткову ПЗП. Програма займає 400 байт.

За адресами 0401-0800 в ПЗП записані значення sin та cos для повертаючого коефіцієнта W.

5 . ОПИС ФУНКЦІОНУВАННЯ ПРИСТРОЮ

 Функціонування пристрою описується роботою мікропроцесора. Виконання команд представляється послідовністю шини, впродовж яких МП звертається до пам’яті за командами та обмінюється даними з ОЗП.

Кожний цикл шини ініціюється пристроєм шинного інтерфейсу і складається з чотирьох обов’язкових тактів Т1-Т4.

В Т1 видається адреса на суміщену шину адресу/даних, в Т2 комутується напрям передачі, в Т3-Т4 – передача даних. Цикл шини виконується, коли необхідно заповнити чергу команд, або здійснити обмін даними під час виконання команди.

З допомогою дешифратора і команди OUT подається сигнал на вхід CS АЦП, і починається перетворення вхідної величини. Наступною стоїть команда WAIT, яка чекає сигналу на вході  READY МП. Перетворення закінчаться та сигнал з АЦП поступить на вхід READY МП. Це означає, що дані готові.

Командою IN через дешифратор формується сигнал „Дозвіл зчитування” і дані з АЦП поступають в МП, а потім пересилаються в ОЗП.

ОЗП та ПЗП розрізняються за допомогою адресної лінії А15: А15=1 вибирається ОЗП, А15=0 вибирається ПЗП.

Результати обробки: значення для 150 ліній записані в ОЗП починаючи з адресу 1000Н – 1258Н. Для їх зчитування повинен поступити сигнал HOLD- „захоплення шин”від ЕОМ вищого рівня. Закінчивши роботу МП видає сигнал HOLDА- „ дозвіл захоплення шин” і шина А0 переводиться в третій стан.

ЕОМ вищого рівня видає сигнали читання з ОЗП і по даних адресах зчитує дані.

Повторний запуск пристрою відбувається за допомогою сигналу „скид”, який встановлює МП в початковий стан.

6. ОПИС КОНСТРУКЦІЇ

Конструкція пристрою ШПФ виконана по модульному принципу у вигляді функціональної комірки. Вона має функціональне та конструктивне завершення.

Дана комірка вставляється в блок, з допомогою пазів, які є на бокових стінках корпуса. Під’єднання відбувається за допомогою роз’єму IEEE-488.

На передній панелі виведено кнопку для включення пристрою.

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

В конструкції максимально використано стандартизовані та нормалізовані вироби.

Корпус виготовлено з алюмінієвого сплаву. Він добре захищає плату з елементами від механічних навантажень. В середині корпуса встановлюється друкована плата з елементами. Вона кріпиться гвинтами до чотирьох стійок.

Прилад експлуатується в лабораторних умовах.7

7. РОЗРАХУНОК ЧАСТОТОКОМПЕНСОВАНОГО ДІЛЬНИКА НАПРУГИ

Для підключення АЦП нам необхідно подати на його вхід +5 В. Так як вхідна напруга задана 10 В. то необхідно розрахувати подільник напруги. Оскільки вхідна частота рівна 30 кГц.  то необхідно розрахувати частотну компенсацію.

Рис.2 Схема частотокомпенсованого дільника напруги.

Розрахунок буде мати вигляд:

;                                              (7.1)

;                                 (7.2)

;                                        (7.3)

- в основному визначає вхідний опір дільника, вибираємо  кОм.

- визначається необхідним коефіцієнтом ділення К. Оскільки нам необхідний коефіцієнт дільника рівний двом, тоді  кОм. Ємності вибираємо наступним чином пФ, пФ.

8. СТИКУВАННЯ З КАНАЛОМ ЗАГАЛЬНОГОО ЗВ’ЯЗКУ

Структура організації під’єднання приладу до каналу загального користування (КЗК) за стандартом ІЕЕЕ-480 передбачає додаткове ввімкнення схеми для організації обміну інформацією (в даному випадку HEF 4837).

Рис. 2. Структура організації під’єднання приладу.

Оскільки сигнали КЗК, мають інверсну логіку, то початково здійснюється їх інвертування, після чого вони подаються на відповідні входи мікросхеми. До таких сигналів відносяться: сигнали управління 3 лінії, сигнали квітування 3 лінії а також сигнали інформаційної шини 8 ліній. З допомогою мікросхеми 4837 здійснюється узгодження роботи каналу КЗК з роботою системного інтерфейсу приладу. Таким чином здійснюється обмін інформацією між приладом через його системний інтерфейс з каналом загального користування

Рис.3 Структура обміну інформацією.

9. АНАЛІЗ ПОХИБОК

      Аналого-цифрове перетворення вхідного сигналу x(t) базується на дискретизації його по часу і квантуванню отриманих відліків по рівню. В загальному похибка АЦП – не ідентичність представлення сигналу в цифрову форму.

      Ця похибка визначатиме точність пристрою. Вона складається з двох різних по природі складових: похибки квантування (динамісної); похибки одного відліку. Остання складається з похибки цифрового представлення (заокруглення), яка залежить від кількості дозволених рівнів квантування, і інструментальної похибки перетворювача.

       Отже значення кванта, або одиниці молодшого розряду, при якому виробляється цифровий код визначається:

                                               (3.1)

де n- кількість розрядів, або рівнів АЦП

- діапазон зміни вхідного сигналу.

    Похибка квантування за рівнем є функція числа розрядів: при збільшенні числа розрядів вона зменшується, і може виражатися в процентах від повної шкали.

        В даному 12-ти розрядному АЦП сигнал кодується по 4096 рівнях і його роздільна здатність рівна 1/2048.

         Похибка квантування визначається з формули:

                                                 (3.2)

при n=12

    Значення одиниці молодшого розряду:

   або  0,14%

Похибка системи вибірки рівна 0,06%

Загальна похибка:  

                             (3.3)

10. СПИСОК ЛІТЕРАТУРИ

1.Б. Голд, Ч. Рейдер „Цифровая обработка сигналов”.  М. „Советское радио” 1973.

2.Е. Шрюфер „Цифровая обработка дискретизированных сигналов”. К. „Либідь” 1995.

3.В.И. Корнейчук „Вычеслительные устройства на микросхемах”, Справочник К. „Техніка” 1988.

4. Е.А. Башков „Апаратное и програмное обезпечение зарубежных микро- ЕВМ” К. „Вища школа” 1990.

5. С.Д. Погорелый „Програмное обеспечение микропроцессорных систем”, Справочник, К. „Техніка” 1989.

6.М.Н. Ушкар „Микропроцессорные устройства в радиоелектронной аппаратуре” М. „Радио и связь” 1988.

7.Р. Холленд „Микропроцессоры и операционные системы” М. „Енергоатомиздат” 1991.

8. TMS320C52, Datasheet, Texas Instruments.

11. ДОДАТКИ

Програмна частина

Програма реалізації ШПФ методом Кулі-Тьюкі мовою С++

//_______________________________________________________________________________________

//_______________________________________________________________________________________

//

// NAME:          FFT.

// PURPOSE:       

//                

//                

//                 

//              

// PARAMETERS:  

//

//    float *Rdat    [in, out] - Real part of Input and Output Data (Signal or Spectrum)

//    float *Idat    [in, out] - Imaginary part of Input and Output Data (Signal or Spectrum)

//    int    N       [in]      - Input and Output Data lendth (Number of samples in arrays)

//    int    LogN    [in]      - Logarithm2(N)

//    int    Ft_Flag [in]      - Ft_Flag = FT_ERR_DIRECT  (i.e. -1) - Direct  FFT  (Signal to Spectrum)

//                             Ft_Flag = FT_ERR_INVERSE (i.e.  1) - Inverse FFT  (Spectrum to Signal)

//

// RETURN VALUE:  false on parameter error, true on success.

//_______________________________________________________________________________________

//

// NOTE: In this algorithm N and LogN can be only:

//       N    = 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384;

//       LogN = 2, 3,  4,  5,  6,   7,   8,   9,   10,   11,   12,   13,    14;

//_______________________________________________________________________________________

//_______________________________________________________________________________________

 

 

#define  NUMBER_IS_2_POW_K(x)   ((!((x)&((x)-1)))&&((x)>1))  // x is pow(2, k), k=1,2, ...

#define  FT_DIRECT        -1    // Direct transform.

#define  FT_INVERSE        1    // Inverse transform.

 

 

bool  FFT(float *Rdat, float *Idat, int N, int LogN, int Ft_Flag)

{

 // parameters error check:

 if((Rdat == NULL) || (Idat == NULL))                  return false;

 if((N > 16384) || (N < 1))                            return false;

 if(!NUMBER_IS_2_POW_K(N))                             return false;

 if((LogN < 2) || (LogN > 14))                         return false;

 if((Ft_Flag != FT_DIRECT) && (Ft_Flag != FT_INVERSE)) return false;

 

 register int  i, j, n, k, io, ie, in, nn;

 float         ru, iu, rtp, itp, rtq, itq, rw, iw, sr;

 

 static const float Rcoef[14] =

 {  -1.0000000000000000F,  0.0000000000000000F,  0.7071067811865475F,

     0.9238795325112867F,  0.9807852804032304F,  0.9951847266721969F,

     0.9987954562051724F,  0.9996988186962042F,  0.9999247018391445F,

     0.9999811752826011F,  0.9999952938095761F,  0.9999988234517018F,

     0.9999997058628822F,  0.9999999264657178F

 };

 static const float Icoef[14] =

 {   0.0000000000000000F, -1.0000000000000000F, -0.7071067811865474F,

    -0.3826834323650897F, -0.1950903220161282F, -0.0980171403295606F,

    -0.0490676743274180F, -0.0245412285229122F, -0.0122715382857199F,

    -0.0061358846491544F, -0.0030679567629659F, -0.0015339801862847F,

    -0.0007669903187427F, -0.0003834951875714F

 };

 

 nn = N >> 1;

 ie = N;

 for(n=1; n<=LogN; n++)

 {

   rw = Rcoef[LogN - n];

   iw = Icoef[LogN - n];

   if(Ft_Flag == FT_INVERSE) iw = -iw;

   in = ie >> 1;

   ru = 1.0F;

   iu = 0.0F;

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

   {

     for(i=j; i<N; i+=ie)

     {

       io       = i + in;

       rtp      = Rdat[i]  + Rdat[io];

       itp      = Idat[i]  + Idat[io];

       rtq      = Rdat[i]  - Rdat[io];

       itq      = Idat[i]  - Idat[io];

       Rdat[io] = rtq * ru - itq * iu;

       Idat[io] = itq * ru + rtq * iu;

       Rdat[i]  = rtp;

       Idat[i]  = itp;

     }

 

     sr = ru;

     ru = ru * rw - iu * iw;

     iu = iu * rw + sr * iw;

   }

 

   ie >>= 1;

 }

 

 for(j=i=1; i<N; i++)

 {

   if(i < j)

   {

     io       = i - 1;

     in       = j - 1;

     rtp      = Rdat[in];

     itp      = Idat[in];

     Rdat[in] = Rdat[io];

     Idat[in] = Idat[io];

     Rdat[io] = rtp;

     Idat[io] = itp;

   }

 

   k = nn;

 

   while(k < j)

   {

     j   = j - k;

     k >>= 1;

   }

 

   j = j + k;

 }

 

 if(Ft_Flag == FT_INVERSE) return true;

 

 rw = 1.0F / N;

 

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

 {

   Rdat[i] *= rw;

   Idat[i] *= rw;

 }

 

 return true;

}

 

 

//  приклад обчислення ШПФ від одного періоду косинусного дійсного сигналу

 

void Test_FFT()

{

 static float Re[8];

 static float Im[8];

 float  p = 2 * 3.141592653589 / 8; // буде 8 відліків на період

 

 int i;

 // формируємо сигнал

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

 {

   Re[i] = cos(p * i);  // заповняємо дійсну частину сигналу

   Im[i] = 0.0;         // заповняємо уявну частину сигналу

 }

 

 FFT(Re, Im, 8, 3, -1); //  розраховуємо пряме ШПФ

 

 //виводимо дійсну та уявну частини сигналу спектру та спектр потужності

 FILE *f = fopen("spectrum.txt", "w");

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

 {

   fprintf(f, "%10.6f  %10.6f  %10.6f\n", Re[i], Im[i], Re[i]*Re[i]+Im[i]*Im[i]);

 }

 fclose(f);

}


f(a)

f(b)

f(a)+f(b) QUOTE  

f(a)-f(b) QUOTE  

QUOTE             -1

Ні

Так

Початок

Вхідні дані

Запуск АЦП

AIT

Опис порту АЦП

Запис вибірки

n=n+1

n<N

Підпрограма формування

біт-зворотньої адреси

Підпрограма обробки вибірок

Запис 150 результатів

КІНЕЦЬ

Ні

Так

Ні

Так

Так

Ні

Так

Вхід

N=1024   cl=0

ВХ=0  d=0

RLC  BX

C=1

cl=cl+1

RLC  BX

C=1

C=0

C=0

N/2

d=0- N/2

cl-1

Ні

[BX]=BX+d+N/2

Запис в ОЗП

RETURN

Так

Ні

Так

Ні

ПОЧАТОК

Запам’ятати N/2 та (L-1)   k=0

Номер операції =0

Обчислити поточні значення двох вибірок та коефіцієнту  W

Виконати БО Результат в ОЗП Змінити номер БО

k=k+1

     Номер БО=N/2

 k=L-1

КІНЕЦЬ

Завантажити ReB; ReW

ReB • ReW

Запам’ятати ReB•ReW

Завантажити ImB; ImW

ReB • ImW

Запам’ятати ReB•ImW

ImB • ImW

<Блок 3> - <Блок 7>

Запам’ятати <Блок 8>

ImB • ReW

<Блок 6> + <Блок 10>

Запам’ятати <Блок 11>

Завантажити ReA; ImA

ReA+<Блок 9> = ReX

ReA-<Блок 9> = ReY

Запам’ятати ReX; ReY

ImA+<Блок 12> = ImX

Запам’ятати ImX

ImA-<Блок 12> = ImY

Запам’ятати ImY

0000Н

0400Н

0401Н

0600Н

0601Н

0800Н

1000Н

1400Н

1401Н

1800Н

 ПЗП

 ОЗП

Програма

512 значень cos

512 значень sin

вибірки та результат

біт-зворотні адреси

U1

R2

C2

R1

C1

U2

від пристрою

Шина квітування

Шина квітування

Сигнали від джерела

Сигнали

Прилад внутрішньо-системного інтерфейсу МП системи

HEF

4837

Інвесна

схема

Канал загального користування IEEE-488

Шина управління

Шина квітування

Інформаційна шина

Контролер переривання К588ВН1

Контролер ПДП

К588ВТ5А

МП

приладу

Система передачі даних управління та синхронізації К580ВК91А

Шинни драйвер

К580ВК13

КЗК IEEE-488


 

А также другие работы, которые могут Вас заинтересовать

19723. Русская литература. Шпаргалка 430 KB
  Герцен родился 25 марта 6 апреля 1812 г. в Москве в семье богатого помещика Ивана Алексеевича Яковлева 1767 1846; мать 16 летняя немка Генриетта Вильгельмина Луиза Гааг дочь мелкого чиновника. Брак родителей не был оформлен и Герцен носил фамилию придуманную отцом: Герцен ...
19724. АНАТОМИЯ 218 KB
  АНАТОМИЯ 1. ТЕРМИНОЛОГИЯ Для описания строения и расположения органов их взаимосвязи и т.д. принято применять некоторые специальные анатомические термины. Определение положения органа или его частей принято обозначать терминами: латеральный медиальный ...
19725. Паразитология 273.5 KB
  ТЕРМИНОЛОГИЯ Паразит – это организм который определённую часть или всю жизнь живёт в/на теле хозяина причиняя ему ущерб. Организмы которые живут внутри тела хозяина называются эндопаразитами. К ним относятся: кишечные тканевые полостные паразиты. ...
19726. ТОКСИКОЛОГИЯ. Первая помощь 180 KB
  ТОКСИКОЛОГИЯ Классификация токсинов. По происхождению: биотоксины яды растений животных бактериальные токсины микотоксины и др. пестициды инсектициды гербициды и др. промышленные яды используемые в производстве химреагенты органические раствор
19727. ВИДЫ ЛАБОРАТОРНЫХ ИССЛЕДОВАНИЙ 619.5 KB
  ВИДЫ ЛАБОРАТОРНЫХ ИССЛЕДОВАНИЙ Исследование системы кроветворения и кровообращения: общий клинический анализ крови миелограмма определение совместимости донорской крови определение групп крови Биохимия Исследование кала и сис...
19728. ИММУНИТЕТ. ИНФЕКЦИЯ, ИНФЕКЦИОННЫЙ ПРОЦЕСС 372.5 KB
  ИММУНИТЕТ Иммунитет это способ защиты организма от генетически чужеродных веществ антигенов экзогенного и эндогенного происхождения направленный на поддержание и сохранение гомеостаза структурной и функциональной целостности организма биологической антиген...
19729. ГАСТРОЭНТЕРОЛОГИЯ 203 KB
  ГАСТРОЭНТЕРОЛОГИЯ 1. Гепатопатии Поскольку печень является центральным органом метаболизма в организме поражение ее ткани ведет к нарушению белкового углеводного жирового обмена обмена витаминов и гормонов снижению барьерной способности. Заболевания печени вс
19730. ЭНДОКРИНОЛОГИЯ 96.5 KB
  ЭНДОКРИНОЛОГИЯ К эндокринному аппарату endo внутрь crino выделяю относятся железы внутренней и смешанной секреции а так же диффузная эндокринная система. Кроме этого имеется целый ряд органов которые выполняют эндокринную функцию но у них она не является основно...
19731. ОРГАНЫ РАЗМНОЖЕНИЯ САМКИ. Репродукция 182.5 KB
  ОРГАНЫ РАЗМНОЖЕНИЯ САМКИ Женские половые клетки яйцеклетки производятся в яичниках. Влагалище матка и маточные трубы это те пути по которым проходят сперматозоиды до оплодотворения яйцеклетки. Яичники Этот парный орган находится в брюшной полости суки непос...