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

засобів обробки сигналів

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

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

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Проектування комп’ютерних засобів обробки сигналів та зображень

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 2 з дисципліни: “Проектування комп'ютерних засобів обробки сигналів і зображень” на тему: Діагностика роботи цифрових фільтрів шляхом аналізу їх амплітудно-частотної характеристики Львів 2014 Мета Дослідити і проаналізувати параметри амплітудно-частотної характе-ристики та вплив віконної обробки при спектральному аналізі сигналів. Завдання № вар. N l Sm Sp S A № вагової функції  16 32 14 -32 32 8 1 6-2   Вагова функція, що використовується при обробці: Номер функції Назва Тип функції Діапазон зміни n  6 Хеннінга-Пуасона  0 ( (n( ( N/2 6-1 a = 0,5 6-2 a = 1,0 6-3 a = 2,0   Теоретичні відомості Для адекватного відтворення вхідного сигналу, що використовується в системах обробки, які розв’язують задачі спектрального аналізу сигналів, опис вхідного діагностичного сигналу представляється у формалізованому вигляді. Зазначені задачі розв’язуються цифровими методами, на основі швидких дискретних ортогональних перетворень, що представляються узагальненим класом швидких перетворень Фур'є з різними системами базисних функцій. Дані перетворення відносяться до класу лінійних ортогональних перетворень, зв'язаних з обчисленням виразів виду , де Х = [Х(0), Х(1), ... , Х(L-1)]Т , х = [х(0), х(1), ... , х(L-1)]Т - вектори, відповідно, вихідних гармонік і початкових відліків, А - відтворююча ортогональна матриця розміром L x L, L- кількість початкових відліків. Системи, які реалізують ці алгоритми відносяться до стаціонарних систем з частотним коефіцієнтом передачі K(j():  де h(t) - імпульсна характеристика, що має таку інтерпретацію: якщо на вхід системи поступає гармонійний сигнал з відомою частотою ( і комплексною амплітудою , то комплексна амплітуда вихідного сигналу  буде рівною:  Представлення частотного коефіцієнта передачі (див. формулу 1) в показниковій формі має вигляд : , де - амплітудно-частотна характеристика (АЧХ). Оскільки для фільтрів з скінченою імпульсною характеристикою АЧХ є однією з визначальних характеристик, на основі її аналізу визначається достовірність побудови фільтра. Розглянемо варіант перевірки фільтра методом аналізу його АЧХ на прикладі системи опрацювання інформації когерентно-імпульсної РЛС з n каналами погоджених фільтрів. Для процесора, що виконує N-точкове амплітудне дискретне перетворення Фур’є згідно з формулою (2) , (2) де N визначає розмір перетворення, n-номер елемента віддалі, l – номер гармоніки, i-номер періоду повторення в межах інтервалу обчислення ДПФ, W(i) вагова функція, вхідний сигнал  представимо у вигляді: , (3) де А - амплітуда сигналу, S - кількість частотних діапазонів між сусідніми l, Q – визначає смугу перевірки АЧХ (, де m, p - кількість гармонік, в діапазоні яких (відносно l) перевіряється АЧХ, , , si – біжуче значення частотного діапазону між сусідніми l). Процедура діагностики відбувається таким чином. Для процесора задається значення гармоніки lj. На його інформаційні входи поступає вхідний сигнал . Зміна значень  (синфазна і квадратурна складові) на вході процесора відбувається на кожному періоді повторення (по і). Одне значення визначається сумуванням по і (див.формулу 2). Після того змінюється частота поступлення , зміна задається значенням , і вираховується наступне значення . Тобто, при використанні такого підходу процес перевірки розбивається на три етапи: задання значень для отримання числової послідовності вхідних сигналів; визначення значень Y(n,l) реальної АЧХ; порівняння значень ідеальної і реальної АЧХ в кожній точці виміру. Застосування підходу дозволяє: виявити помилки в роботі з точністю до функціонального вузла, наприклад помилки в заданні вагової функції, при сумуванні, в ОЗП проміжних результатів, при пересиланні інформації між процесорами, конструктивні та технологічні помилки при проектуванні цифрових вузлів і т.п.; проводити діагностику в режимі реального часу; перевірити правильність функціювання і рівень шумів зовнішніх пристроїв, наприклад, приймача проміжної частоти; оцінити вплив різних типів вагових функцій на значення вихідного сигналу; перевірити в РРЧ значення інформації, що поступає на вхід системи опрацювання шляхом її запису в ОЗП; перевірити точностні параметри роботи процесорів; перевірити реакцію фільтра на поступлення збійної інформації. Лістинг //---------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "math.h" //---------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //---------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int N,L,Sm,Sp,S,A,a,b,j=0,SN=(S*N); N=StrToInt(Edit1->Text); Edit1->Text.ToInt(); //********************* L=StrToInt(Edit2->Text); Edit2->Text.ToInt(); //********************* Sm=StrToInt(Edit3->Text); Edit3->Text.ToInt(); //************************ Sp=StrToInt(Edit4->Text); Edit4->Text.ToInt(); //************************** S=StrToInt(Edit5->Text); Edit5->Text.ToInt(); //************************* A=StrToInt(Edit6->Text); Edit6->Text.ToInt(); double w[64]; double expw[27][28]; double re; double im; double pi=3.14; double sin0[16]; double sin1[1536]; double cos0[16]; double cos1[1536]; double Yv[6][44]; double Y[44]; for (int i=0; i<N; i++) { w[i]= 0.5*(1.0+cos(pi*(i/(N/2))))*exp(-1.0*(i/(N/2))); //w[i]=cos((pi*i)/N); //w[i]=pow(cos(pi*i/N),4); // 0.42-0.5*cos(pi*i/N)+0.08*cos(4*pi*i/N); Series1->AddXY(i, w[i] ); } for (int l=1; l<=L; l++){ for (int i=1; i<=32; i++){ expw[l-1][i-1]=w[i-1]*(pow(2.71,((-1*j*2*pi*(l-1)*(i-1)/N)))); } } for(int i = 0; i < N; i++) { sin0[i] = sin(2*pi*i/N); cos0[i] = cos(2*pi*i/N); } for(int i = 0; i < S*N; i++) { sin1[i] = sin(2*pi*i/S*N); cos1[i] = cos(2*pi*i/S*N); } for (int Q=Sm,k=0; Q<16; Q++,k++){ re=0; im=0; for (int i=0; i<N; i++){ a = (abs(S*L+Q)*i)%S*N; b = 14*i%N; re+=A*cos1[a]*cos0[b]+A*sin1[a]*sin0[b]; im+=A*cos1[a]*sin0[b]-A*sin1[a]*cos0[b]; } Y[k]=sqrt(pow(re, 2) + pow(im, 2)); re = im = 0; } double sum; double s; for (int l=0; l<14; l++){ for (int i=0; i<33; i++){ sum=0; for (int n=0; n<Sp; n++){ s=expw[l][n]; sum+=Y[i]*s; } Yv[l][i]=sum; } } for (int i=-32, s=0; i<32; i++,s++){ Series2->AddXY(i, Y[s]); } for (int i=-32, s=0; i<32; i++,s++){ Series3->AddXY(i, Yv[0][s] ); } } //-------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Series1->Clear(); Series2->Clear(); Series3->Clear(); Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); } Результат виконання програми / Рис.1. Результати роботи програми. Висновок: Під час виконання лабораторної роботи я навчився проводити діагностику цифрових фільтрів шляхом аналізу їх амплітудно-частотної характеристики при широкому спектрі параметрів вхідного сигналу.
Антиботан аватар за замовчуванням

08.08.2014 15:24

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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