Міністерство освіти і науки, молоді та спорту України
Вінницький національний технічний університет
Інститут інформаційних технологій та ком'ютерної інженерії
Кафедра комп'ютерних наук
Лабораторна робота №3
з дисципліни: Теорія інформації та кодування
Тема: РОЗРАХУНОК ПАРАМЕТРІВ ДИСКРЕТИЗАЦІЇ АНАЛОГОВИХ СИГНАЛІВ
Вінниця 2013
1. Мета роботи
Ціль даної роботи полягає в тому, щоб практично засвоїти теоретичні знання, одержані на лекційних заняттях у частині проведення операції дискретизації в часі та по рівню, операцій кодування, а також додатково закріпити знання по побудові спектрів амплітуд імпульсних сигналів.
2. Завдання на роботу
В процесі виконання практичної роботи студенти повинні засвоїти особливості використання теоретичного матеріалу в частині визначення параметрів дискретизації в часі та по рівню, та проведення операцій кодування користуючись результатами виконання попередніх робіт.
Завдання для індивідуальної роботи №9
Завдання 1:
6
T
9
Завдання 2:
2X+2
T
7
Таблиця 1.
N вар.
10
Dф, дБ
55
Таблиця 2.
N вар
10
Dх дБ
50
План:
Блок-схема програми
Код програми
Результати роботи програми
Висновок
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,fd,u=0,PI=3.14159265,l=2*(1+50/55);
int k,q;
printf ("Vvedit t \n");
scanf ("%f",&t);
printf ("Vvedit period T \n");
scanf ("%f",&T);
printf ("Vvedit opir R \n");
cin>>R;
for (q=0; q<3; q++)
{
if (q==1){ t=2*t+2; T=7;}
if (q==2){ 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("n=8.333\n");
printf("q=0.062022\n");
printf("l=%f\n",l);
printf ("Znachenn9 fd \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("P=%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A1[k-1];
if((u/p)>=0.95) printf("Fd[%d]=%f\n",k,(float)(k)*0.6981333*l);
}}
if (q==1){ printf("___t2___\n");
p=R*((sum(A2)/30)*(sum(A2)/30)+(sumquad(A2)/2));
printf("P=%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A2[k-1];
if((u/p)>=0.95) printf("Fd[%d]=%f\n",k,(float)(k)*0.8976*l);
}}
if (q==2){ printf("___t3___\n");
p=R*((sum(A3)/30)*(sum(A3)/30)+(sumquad(A3)/2));
printf("P=%.15f\n",p);
for(k=1;k<=30;k++)
{u=u+A3[k-1];
if((u/p)>=0.95) printf("Fd[%d]=%f\n",k,(float)(k)*0.8976*l);
}}
printf("\n");}
system("PAUSE");
return 0;
}
3) Результати роботи програми
///
4) Висновок: в ході лабораторної роботи було практично засвоєно теоретичні знання, одержанні на лекційних заняттях у частині проведення операції дискретизації в часі та по рівню, операцій кодування, а також додатково закріплено знання по побудові спектрів амплітуд імпульсних сигналів.
.