DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КСМ-52

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет „Львівська політехніка” кафедра ЕОМ Лабораторна робота №4 Діагностика роботи цифрових фільтрів шляхом аналізу їх амплітудно-частотної характеристики. Мета роботи: Дослідити параметри амплітудно-частотної характеристики та вплив віконної обробки при спектральному аналізі сигналів. Завдання: 22 32 13 -64 32 8 7 3-3   Загальні відомості. Для адекватного відтворення вхідного сигналу, що використовується в системах обробки, які розв’язують задачі спектрального аналізу сигналів, опис вхідного діагностичного сигналу представляється у формалізованому вигляді. Зазначені задачі розв’язуються цифровими методами, на основі швидких дискретних ортогональних перетворень, що представляються узагальненим класом швидких перетворень Фур'є з різними системами базисних функцій. Дані перетворення відносяться до класу лінійних ортогональних перетворень, зв'язаних з обчисленням виразів виду , де Х = [Х(0), Х(1), ... , Х(L-1)]Т , х = [х(0), х(1), ... , х(L-1)]Т - вектори, відповідно, вихідних гармонік і початкових відліків, А - відтворююча ортогональна матриця розміром L x L, L- кількість початкових відліків. Системи, які реалізують ці алгоритми відносяться до стаціонарних систем з частотним коефіцієнтом передачі K(j():  де h(t) - імпульсна характеристика, що має таку інтерпретацію: якщо на вхід системи поступає гармонійний сигнал з відомою частотою ( і комплексною амплітудою , то комплексна амплітуда вихідного сигналу  буде рівною:  (1) Представлення частотного коефіцієнта передачі (див. формулу 1) в показниковій формі має вигляд : , де - амплітудно-частотна характеристика (АЧХ). Оскільки для фільтрів з скінченою імпульсною характеристикою АЧХ є однією з визначальних характеристик, на основі її аналізу визначається достовірність побудови фільтра. Розглянемо варіант перевірки фільтра методом аналізу його АЧХ на прикладі системи опрацювання інформації когерентно-імпульсної РЛС з n каналами погоджених фільтрів. Для процесора, що виконує N-точкове амплітудне дискретне перетворення Фур’є згідно з формулою (2) , (2) де N визначає розмір перетворення, n-номер елемента віддалі, l – номер гармоніки, i-номер періоду повторення в межах інтервалу обчислення ДПФ, W(i) вагова функція, вхідний сигнал  представимо у вигляді:  , (3) де А - амплітуда сигналу, S - кількість частотних діапазонів між сусідніми l, Q – визначає смугу перевірки АЧХ (, де m, p - кількість гармонік, в діапазоні яких (відносно l) перевіряється АЧХ, , , si – біжуче значення частотного діапазону між сусідніми l). Процедура діагностики відбувається таким чином. Для процесора задається значення гармоніки lj. На інформаційні входи поступає вхідний сигнал . Зміна значень  (синфазна і квадратурна складові) на вході процесора відбувається на кожному періоді повторення (по і). Одне значення визначається сумуванням по і (див.формулу 2). Після того змінюється частота поступлення , зміна задається значенням , і вираховується наступне значення . Повна АЧХ, для заданого lj, отримується після поступлення на вхід S*N значень вхідного сигналу. На практиці обмежуються перевіркою АЧХ для (3l, відносно lj. Після перевірки амплітудно-частотних характеристик для всіх гармонік і елементів віддалі процес діагностики завершується. В ідеальному випадку характеристики всіх АЧХ повинні бути ідентичними. Тобто, при використанні такого підходу процес перевірки розбивається на три етапи: - задання значень для отримання числової послідовності вхідних сигналів; - визначення значень Y(n,l) реальної АЧХ; - порівняння значень ідеальної і реальної АЧХ в кожній точці виміру. Застосування підходу дозволяє: - виявити помилки в роботі з точністю до функціонального вузла, наприклад помилки в заданні вагової функції, при сумуванні, в ОЗП проміжних результатів, при пересиланні інформації між процесорами, конструктивні та технологічні помилки при проектуванні цифрових вузлів і т.п.; - проводити діагностику в режимі реального часу; - перевірити правильність функціювання і рівень шумів зовнішніх пристроїв, наприклад, приймача проміжної частоти; - оцінити вплив різних типів вагових функцій на значення вихідного сигналу; - перевірити в РРЧ значення інформації, що поступає на вхід системи опрацювання шляхом її запису в ОЗП; - перевірити точностні параметри роботи процесорів; - перевірити реакцію фільтра на поступлення збійної інформації. Bаговa функція, що використовується при обробці наведена в таблиці 1. Таблиця 1 Номер функції Назва Тип функції Діапазон зміни n  3 Тюкі   0 ( (n( ( a N/2 a N/2 ( (n( ( N/2 a = 0,25 a = 0,5 a = 0,75   Примітка: Значення w(n) таблиці 1 відповідає значенню W(i) (див. формулу 2). Алгоритм формування вхідних даних для формування АЧХ полягають у видачі на кожному етапі обчислень синусоїдальної і косинусоїдальної складової комплексного сигналу, фаза яких відрізняється на значення Q на двох сусідніх періодах, на кожному з яких обчислюється одне значення U (i) Лістинг програми: #define N 128 #define Q_RANGE 256 class Tdoc { public: TDoc(); int initU(int Q);//int NN,int l,int Sm,int Sp,int S,int A); int ach(); complex<double> getResult(int i){ return Y[i];}; complex<double> getResultW(int i){ return YW[i];}; complex<double> getU(int i){ return U[i];}; double W(int n); void setSm(int p){Sm=p;}; void setSp(int p){Sp=p;}; void setS(int p){S=p;}; void setA(double p){A=p;}; void setL(int p){l=p;}; void setL2(int p){l2=p;}; int getSm(){return Sm;}; int getSp(){return Sp;}; int getS(){return S;}; double getA(){return A;}; int getL(){return l;}; int getL2(){ return l2;}; ~TDoc(){}; private: complex<double> Y[Q_RANGE],YW[Q_RANGE],U[N]; int Sm,Sp,S,l,l2; double A; }; TDoc::TDoc(){ for (int i=0;i<N-1;i++){ Y[i]= complex<double>(2.0,0.0); YW[i] = complex<double>(3.0,0.0); U[i]= complex<double>(-2.0,0.0); }; Sm = -64; Sp = 32; S = 8; A = 7.0; } int TDoc::ach(){ for(int k=Sm;k<Sp-1;k++){ initU(k);//N,l,-64,42,8,9); Y[k-Sm] = complex<double>(0.0,0.0); YW[k-Sm] = complex<double>(0.0,0.0); for(int i=0;i<N-1;i++){ Y[k-Sm] = Y[k-Sm]+U[i]*exp(complex<double>(0,-2*M_PI*l*i/N)); YW[k-Sm] = Y[k-Sm]+U[i]*W(i)*exp(complex<double>(0,-2*M_PI*l*i/N)); }; }; return 0; } double TDoc::W(int n) { double a=0.75; if((abs(n)>=0)&&(abs(n)<=a*N/2)) return 1.0; else return 0.5*(1.0+cos(M_PI*(n-a*N/2)/(2*(1-a)*N/2))); } int TDoc::initU(int Q){ for(int i=0;i<N-1;i++){ U[i] = exp(complex<double>(0,2*M_PI*i*(S*l2+Q)/(S*N))); }; return 0; }  Висновок. На цій лабораторній роботі я дослідив швидкі алгоритми дискретних тригонометричних перетворень і порівняв їх з алгоритмами безпосереднього обчислення тpигонометpних перетворень.
Антиботан аватар за замовчуванням

28.01.2013 14:19

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!