17519

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

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота №3 На тему: Діагностика роботи цифрових фільтрів. Шляхом аналізу їх амплітудночастотної характеристики Мета роботи Дослідити і проаналізувати параметри амплітудночастотної характеристики та вплив віконної обробки при спектральному аналі

Украинкский

2013-07-01

222 KB

29 чел.

Лабораторна робота №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)   реальної АЧХ;

порівняння значень  ідеальної і реальної АЧХ в кожній точці виміру.

Застосування підходу дозволяє:

- виявити помилки в роботі з точністю до функціонального вузла, наприклад помилки в заданні вагової функції, при сумуванні, в ОЗП проміжних результатів, при пересиланні інформації  між процесорами, конструктивні та технологічні помилки при проектуванні цифрових вузлів і т.п.;

- проводити діагностику в режимі реального часу;

- перевірити правильність функціювання і рівень шумів зовнішніх пристроїв, наприклад, приймача проміжної частоти;

- оцінити вплив різних типів вагових функцій на значення вихідного сигналу;

- перевірити в РРЧ значення інформації, що поступає на вхід системи опрацювання шляхом її запису в ОЗП;

- перевірити точностні параметри роботи процесорів;

- перевірити реакцію фільтра на поступлення збійної інформації.

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

         Таблиця 1

Номер функції

Назва

Тип функції

Діапазон зміни n

1

Рімана

–N/2 n N/2 – 1

2

Валле-Пусена

0  n  N/4

N/4  n  N/2

3

Тюкі

0  n  a N/2

a N/2  n  N/2

  1.  a = 0,25
    1.  a = 0,5
    2.  a = 0,75

4

Бомана

0  n  N/2

5

Пуасона

0  n  N/2

5-1         a = 2,0

5-2         a = 3,0

5-3         a = 4,0

6

Хеннінга-Пуасона

0  n  N/2

6-1         a = 0,5

6-2         a = 1,0

6-3         a = 2,0

7

Коші

0  n  N/2

7-1         a = 3,0

7-2         a = 4,0

7-3         a = 5,0

8

Трикутне

0  n  N/2

9

Ханна

(косинус квадрат)

0  n  N/2

10

Геммінга

0  n  N/2

а = 0,54

11

Блекмана

0  n  N/2

12

Гауса

0  n  N/2

а = 2,5

13

Cosa

0  n  N/2

13-1         a = 1,0

13-2         a = 3,0

13-3         a = 4,0

14

Рісса

0  n  N/2

15

w(n) = 0.25 + 0,75 cos [ (n-16)/32]

16

w(n)  = 0.4  + 0,6  cos [(n-15,5)/31].

Примітка: Значення w(n) таблиці 1 відповідає значенню W(i) (див. формулу 2).

Алгоритм формування вхідних даних для формування АЧХ полягають у видачі на кожному етапі обчислень синусоїдальної і косинусоїдальної складової комплексного сигналу, фаза яких відрізняється на значення Q на двох сусідніх періодах,  на кожному з яких обчислюється одне значення  U (i)

Завдання

Проаналізувати амплітудно-частотну характеристику фільтру з такими параметрами сигналу:

№ вар

N

l

Sm

Sp

S

A

№ вагової функції

5

16

4

-16

16

8

5

13-2

Виконання:

  1.  Згідно поданих вище формул при заданих значення параметрів вхідного сигналу та цифрового фільтру, що тестується будуємо масиви значень синусів та косинусів за таким алгоритмом:

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

{

 sin0[i] = sin(2*pi*i/N);

 cos0[i] = cos(2*pi*i/N);

}

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

{

 sin1[i] = sin(2*pi*i/SN);

 cos1[i] = cos(2*pi*i/SN);

}

, де N – розмір перетворення, а SN – добуток N та S .

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

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

 {

  a = (abs(S*l+Qmin)*i)%SN;

  b = l*i%N;

  Re += A*cos1[a]*cos0[b] + A*sin1[a]*sin0[b];

  Im += A*cos1[a]*sin0[b] - A*sin1[a]*cos0[b];

 }

  1.  Обчислюємо значення координати Y для відображення результату:

Y[j] = sqrt(pow(Re, 2) + pow(Im, 2));

  1.  Повний лістинг програми подано у Додатку.

Методика проведення дослідження

  1.  При запуску програми з’являється головне вікно (див. рис.1):

Рис.1. Головне вікно програми

  1.  На рис.1. наведені основні формули, що використовується при проведенні аналізу та поля, в яких можна задати параметри сигналу та фільтру, що досліджується. Змінювати дані параметри можна натискаючи мишкою на стрілки, що містяться біля кожного поля праворуч.
  2.  Для перегляду результату у графічному представленні натисніть клавішу «Графік».

Рис.2. Графік АЧХ

  1.  Для отримання табличного представлення результату натисніть клавішу «Таблиця». Фрагмент значень АЧХ наведений в таблиці на рис.3.

Рис.3. Значення АЧХ  (фрагмент)

 

  1.  Код програми:

#include <vcl.h>

#include <math.h>

#pragma hdrstop

USERES("Project1.res");

USEFORM("Unit1.cpp", Form1);

USEFORM("Unit2.cpp", Graph); /* TFrame: File Type */

USEFORM("Unit3.cpp", Form3);

USEFORM("Unit4.cpp", Form4);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

       try

       {

                Application->Initialize();

                Application->Title = "CMP";

                Application->CreateForm(__classid(TForm1), &Form1);

                Application->CreateForm(__classid(TForm4), &Form4);

                Application->CreateForm(__classid(TGraph), &Graph);

                Application->CreateForm(__classid(TForm3), &Form3);

                Application->Run();

       }

       catch (Exception &exception)

       {

                Application->ShowException(&exception);

       }

       return 0;

}

       double Y[1024];

       double sin0[32];

       double sin1[512];

       double cos0[32];

       double cos1[512];

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#pragma package(smart_init)

#pragma link "Unit2"

#pragma resource "*.dfm"

void Apply(void);

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Apply();

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

Form1->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Apply();

Form4->Show();

Form4->StringGrid1->Cells[0][0]="X";

Form4->StringGrid1->Cells[1][0]="Y";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::QpChange(TObject *Sender)

{

char buf[5];

       if(Qp->Text.ToInt()<= Qm->Text.ToInt())

             Qp->Text=itoa((Qm->Text.ToInt()+1),buf,10);

             Form4->StringGrid1->RowCount=abs(Qm->Text.ToInt())+abs(Qp->Text.ToInt());

       

}

//---------------------------------------------------------------------------

void __fastcall TForm1::QmChange(TObject *Sender)

{

char buf[5];

       if(Qp->Text.ToInt()<= Qm->Text.ToInt())

             Qm->Text=itoa((Qp->Text.ToInt()-1),buf,10);

             Form4->StringGrid1->RowCount=abs(Qm->Text.ToInt())+abs(Qp->Text.ToInt());

}

void Apply(void)

{

       int N = Form1->Edit2->Text.ToInt();

       int S = Form1->Edit4->Text.ToInt();

       int SN = (S*N);

       int l = Form1->Edit3->Text.ToInt();

       int A = Form1->Edit1->Text.ToInt();

       int Qmin = Form1->Qm->Text.ToInt();

       int Qmax = Form1->Qp->Text.ToInt();

//**************************************

       char buf[55];

       char *buf_ptr;

int j = 0;

int i;

double pi = 3.141592653589793;

double Re = 0;

double Im = 0;

int a;

int b;

//****************************************

       Form3->Series1->Clear();

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

{

 sin0[i] = sin(2*pi*i/N);

 cos0[i] = cos(2*pi*i/N);

}

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

{

 sin1[i] = sin(2*pi*i/SN);

 cos1[i] = cos(2*pi*i/SN);

}

do

{

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

 {

  a = (abs(S*l+Qmin)*i)%SN;

  b = l*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[j] = sqrt(pow(Re, 2) + pow(Im, 2));

 Re = Im = 0;

               buf[0] = ' ';

               itoa(Qmin, buf+1, 10);

               buf[strlen(buf) + 1]='\0';

               buf[strlen(buf)]=' ';

               Form3->Series1->AddXY(j, Y[j], (itoa(Qmin, buf+1, 10)-1), clBlue);

               Form4->StringGrid1->Cells[1][j+1]=Y[j];

               Form4->StringGrid1->Cells[0][j+1]=Qmin;

               j++;

}

while(Qmin++ < Qmax);

}

Висновок: Після виконання даної лабораторної роботи вдалося дослідити і проаналізувати параметри АЧХ та вплив віконної обробки при спектральному аналізі.


 

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

26574. ОПРЕДЕЛЕНИЕ НАТУРАЛЬНОСТИ МОЛОКА 2.63 KB
  ОПРЕДЕЛЕНИЕ НАТУРАЛЬНОСТИ МОЛОКА. При добавлении в молоко несвойственных ему веществ или изъятий составных частей например жира оно считается фальсифицированным. где хэто колво воды Доплотность цельного мол30АД1плот. при добав соды в мол реакция щелоч.
26575. ОПРЕДЕЛЕНИЕ СОДЕРЖАНИЯ БЕЛКОВ В МОЛОКЕ 5.58 KB
  В настоящее время широкое распространение получил рефрактометрический метод определения белка в сыром молоке. Метод основан на измерении показателей преломления молока и безбелковой молочной сыворотки полученной из того же образца молока разность между которыми прямо пропорциональна массовой доле белка в молоке. Комплект для измерения массовой доли белка рефрактометр со шкалой массовой доли белка в диапазоне 0 15 и ценой деления 01 ИРФ464 и водяная баня закрытого типа для флаконов центрифуга для определения массовой доли жира в...
26576. ОПРЕДЕЛЕНИЕ СУХОВОГО ОСТАТКА МОЛОКА ЦЕЛЬНОГО И ОБЕЗЖИРЕННОГО 6.52 KB
  ОПРЕДЕЛЕНИЕ СУХОВОГО ОСТАТКА МОЛОКА ЦЕЛЬНОГО И ОБЕЗЖИРЕННОГО. Количество сухих веществ молока является показателем качества молока и его питательной ценности. В состав сухих веществ молока входят жир белок сахар минеральные вещества. Более постоянной величиной является сухой обезжиренный молочный остаток СОМО в состав которого входит белок сахар и соли молока.
26577. ОПРЕДЕЛЕНИЯ ПЛОТНОСТИ МОЛОКА 5.19 KB
  ОПРЕДЕЛЕНИЯ ПЛОТНОСТИ МОЛОКА Определение плотности молока производят в соответствии с требованиями ГОСТ 362584. Плотностью молока называют отношение массы молока при температуре 20 к массе равного объема воды при температуре 4С температура воды с наибольшей плотностью. Плотность цельного коровьего молока колеблется в пределах 1027 1033 кг мЗ. Плотность молока часто для краткости выражают не полным числом а только цифрами следующими за десятыми долями в градусах плотности отбрасывая две первые цифры 10 так как они всегда постоянны...
26578. ОСМОТР ТУШ И ОРГАНОВ УБИТЫХ ЖИВОТНЫХ В УБОЙНОМ ЦЕХЕ МЯСОКОМБИНАТА 4.74 KB
  ЛИВЕР подвешивают за кольца трахеи поворачивают средостением вскрывают бронхиальные и средостенные лимфоузлы прощупывают легкие разрезают легкие параллельно средостению отступя от него 1 см. Осматривают ПЕЧЕНЬ цвет размеры вскрывают портальные лимфоузлы разрезают печень вдоль 2 разрезами вскрывают желчные ходы. ПОЧКИ осматривают с поверхности прощупывают при необходимости вскрывают вскрывают почечные лимфоузлы. На мясокомбинатах скотобойнях и убойных пунктах лимфатические узлы туши вскрывают в том случае если к этому имеются...
26579. ОСОБЕННОСТИ СТРОЕНИЯ И ТОПОГРАФИИ ЛИМФОУЗЛОВ КРС, ОВЕЦ, СВИНЕЙ. ОСОБЕННОСТИ ТОПОГРАФИИ ЛИМФАТИЧЕСКИХ УЗЛОВ У РАЗНЫХ ВИДОВ ЖИВОТНЫХ 40.12 KB
  У КРУППОГО РОГАТОГО СКОТА И ОВЕЦ лимфатические узлы овальной формы окружены жировой тканью и имеют на разрезе серый или интенсивносерый цвет. По сравнению с крупным рогатым скотом некоторые лимфатические узлы у свиней отсутствуют. ЛИМФАТИЧЕСКИЕ УЗЛЫ КРУПНОГО РОГАТОГО СКОТА. Передние средостенные лимфатические узлы расположены в средостении впереди от аорты слева от пищевода и трахеи некоторые у входа в грудную полость.
26580. ПАСТЕРИЗАЦИЯ МОЛОКА. ИЗМЕНЕНИЕ В МОЛОКЕ ПРИ РАЗНЫХ РЕЖИМАХ ПАСТЕРИЗАЦИИ 5.9 KB
  ПАСТЕРИЗАЦИЯ МОЛОКА. Пастеризация следовательно наиболее простой и дешевый способ обеззараживания молока. При пастбищном содержании скота микрофлора молока уничтожается нагреванием более полно чем при стойловом содержании. Перед пастеризацией необходима тщательная очистка молока.
26581. КИСЛОМОЛОЧНЫЕ ПРОДУКТЫ, ИХ ПИЩЕВОЕ, ДИЕТИЧЕСКОЕ И ЛЕЧЕБНОЕ ЗНАЧЕНИЕ 6.01 KB
  Усвояемость кисломолочных продуктов выше усвояемости молока т. Регулярное употребление в пищу кисломолочных продуктов способствует и укреплению нервной системы изза накопления в них крайне необходимых человеку витаминов синтезируемых молочнокислыми бактериями. Установлено что содержание витаминов в кисломолочных продуктах возрастает в результате и спиртового брожения. молочнокислые бактерии содержащиеся в кисломолочных продуктах способны приживаться в кишечнике человека и благотворно влиять на весь организм.
26582. КЛАССИФИКАЦИЯ ПИЩЕВЫХ ЗАБОЛЕВАНИЙ 5.7 KB
  Само название пищевые заболевания пищевые токсикоинфекции пищевые токсикозы указывают что основную роль в их возникновении играют 'пищевые продукты. В зависимости от них все пищевые заболевания людей делят на две большие группы. ПИЩЕВЫЕ ЗАБОЛЕВАНИЯ НЕ БАКТЕРИАЛЬНОЙ ПРИРОДЫ типичные пищевые отравления. Пищевые заболевания не бактериальной природы с недостаточно изученной этиологией.