Міністерство освіти і науки, молоді та спорту України
Вінницький національний технічний університет
Інститут інформаційних технологій та ком'ютерної інженерії
Кафедра комп'ютерних наук
Лабораторна робота №2
з дисципліни
Теорія інформації та кодування
Тема: РОЗРАХУНОК ПРАКТИЧНОЇ ШИРИНИ СПЕКТРУ
ІМПУЛЬСНИХ СИГНАЛІВ
Вінниця 2013
1. Мета роботи
Мета даної роботи лежить у тому, щоб практично засвоїти теоретичні знання, одержанні на лекційних заняттях у частині визначення практичної ширини спектру періодичних сигналів імпульсної форми.
2. Завдання на роботу
Необхідно засвоїти теоретичний матеріал розрахунку практичної ширини спектру амплітуд імпульсного сигналу, розробити програму обчислень складових спектрів згідно до індивідуального завдання, провести розрахунки та визначити верхні частоти спектрів амплітуд імпульсних сигналів побудованих по темі "ПОБУДОВА СПЕКТРІВ ІМПУЛЬСНИХ СИГНАЛІВ ".
Завдання для індивідуальної роботи №9
Завдання 1:
6
T
9
Завдання 2:
2X+2
T
7
План:
Блок-схема програми
Код програми
Результати роботи програми
Висновок
2) Код програми
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
float sum(float a[30])
{float u=0;
for(int q=0;q<30;q++)
u=u+a[q];
return u;}
float sumquad(float a[30])
{float u=0;
for(int q=0;q<30;q++)
u=u+a[q]*a[q];
return u; }
int main (){
float w,A,A1[30],A2[30],A3[30];
float h=1,T,t,p,R,f,u=0,PI=3.14159265;
int k,q;
printf ("Vveditb t \n");
scanf ("%f",&t);
printf ("Vvedit period T \n");
scanf ("%f",&T);
printf ("Vvedit opir R \n");
cin>>R;
printf ("Znachennya A \n");
for (q=0; q<3; q++){
if (q==0){ printf("___t1___\n");}
if (q==1){ printf("___t2___\n");
t=2*t+2; T=7;}
if (q==2){ printf("___t3___\n");
t=2*t+2; T=7;}
for (k=1;k<=30;k++){
w=(2*PI)/T; f=((t/2)*w);
A=2*h*(t*(sin((float)(k)*f))/((float)(k)*T*f));
if(q==0) A1[k-1]=A;
if(q==1) A2[k-1]=A;
if(q==2) A3[k-1]=A;
printf("%.15f",A);
printf("\n");}}
printf ("Znachennya P \n");
for (q=0; q<3; q++){
if (q==0){ printf("___t1___\n");
p=R*((sum(A1)/30)*(sum(A1)/30)+(sumquad(A1)/2));
printf("%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A1[k-1];
if((u/p)>=0.95) printf("Wb[%d]=%f\n",k,(float)(k)*0.6981333);}
}
if (q==1){ printf("___t2___\n");
p=R*((sum(A2)/30)*(sum(A2)/30)+(sumquad(A2)/2));
printf("%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A2[k-1];
if((u/p)>=0.95) printf("Wb[%d]=%f\n",k,(float)(k)*0.8976);}
}
if (q==2){ printf("___t3___\n");
p=R*((sum(A3)/30)*(sum(A3)/30)+(sumquad(A3)/2));
printf("%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A3[k-1];
if((u/p)>=0.95) printf("Wb[%d]=%f\n",k,(float)(k)*0.8976);}
}
printf("\n");}
system("PAUSE");
return 0;
}
3) Результати роботи програми
///
4) Висновок: в ході лабораторної роботи було практично засвоєно теоретичні знання, одержанні на лекційних заняттях у частині визначення практичної ширини спектру періодичних сигналів імпульсної форми, розраховано практичну ширину спектру імпульсних сигналів.