Анализ сигнала на выходе электрической цепи
Определение значения входного и выходного напряжения в зависимости от времени; параметра-времени, в течение которого значение напряжения сигнала находится в определенном промежутке. Список функций и основных переменных. Интерфейс и код программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 06.10.2017 |
Размер файла | 100,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Санкт-Петербургский Государственный Университет Телекоммуникаций им. Проф. М.А. Бонч-Бруевича
Контрольная работа на тему
«Анализ сигнала на выходе электрической цепи»
Выполнил студент
Группы ИКТ-111
Фесенко Илья
г. Санкт-Петербург 2012 год
Постановка задачи
Задача данной работы состоит в том, чтобы написать программу, которая будет:
1) Вычислять значения входного и выходного напряжения в зависимости от времени.
2) Вычислять значение параметра-времени, в течение которого значение напряжения сигнала находится в определенном промежутке
3) Выводить на экран значений входного и выходного сигнала от времени
4) Запись данных в файл
5) Вычисление параметра с заданной точностью
Исходные данные(202):
Константы:
U=6В, U1=4В, U2=10, Т=10^-5с
Необходимо вычислить время, в которое:
Uvh>Uvhsr
Uvih>Uvihsr
Входной сигнал.
Выходной сигнал
Расчёты в maxima Uvx и Uvih:
Рис. 1 График Uvx:
напряжение сигнал интерфейс
Рис. 2 График Uvix:
Список функций:
Uvhmas - функция составления массива значений входного сигнала
Uvihmas - функция составления массива значений выходного сигнала
tmas - функция составления массива значений времени
partoch - функция подсчета времени параметра для Uvh или Uvih
par - функция подстчета времени параметра для Uvh или Uvih с выводом на экран
zapis - функция записи массивов t, Uvh, Uvih в файл
output - вывод на экран значений Uvh, Uvih, t
zagolovok - загружает титульный лист из файла
Список основных переменных
I - счетчик
dt - время, за которое сигнал проходит от n до n+1
Uvh[N] \ Uvih[N] и t[N] - массивы входного\ выходного массива и массива времени
p1 - время, в которое Uvx>Uvhsr
p2 - время, в которое Uvih>Uvihsr
k - переменная для switch+case
d - параметр точности
n - шаг
Интерфейс программы
Click 1 - For print out presentation -- нажмите 1 для вывода титульного листа
Click 2 - For print out t Uvh Uvih -- нажмите 2 для вычисления и вывода значений t Uvh Uvih
Click 3 - For print out parametrs -- нажмите 3 для вывода значений параметров
Click 4 - For print out accuracy -- нажмите 4 для вывода точности
Click 5 - For save to file -- нажмите 5 для сохранения в txt файл
Click 0 - To close -- нажмите 0 чтобы закрыть программу
Код программы
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#define N 1000
void tmas(float *t,int n,float tk,float tn)
{
int i;
float dt;
dt=(tk-tn)/(n-1);
for(i=0;i<n;i++)
{
t[i]=tn+i*dt;
}
}
void Uvhmas(float *t,float *Uvh,int n,float tk)
{
int i;
float U=6,p=3.14159265;
for (i=0;i<n;i++)
{
if (t[i]<tk/2) Uvh[i]=0;
else if (t[i]<=tk && t[i]>=tk/2) Uvh[i]=U*sin((4*p*t[i])/tk);
}
return ;
}
void Uvihmas(float *Uvh,float *Uvih,int n)
{
int i;
for (i=0;i<n;i++)
{
if (fabs(Uvh[i])<4) Uvih[i]=fabs(2.5*Uvh[i]);
else Uvih[i]=10;
}
return;
}
void output (float *t,float *Uvh,float *Uvih, int n)
{
int i;
cout<<endl;
cout<< " t Uvh Uvih "<<endl;
for(i=0; i<n; i++)
{
printf("%3.15f %4.15f %4.15f ",t[i], Uvh[i], Uvih[i]);
printf ("\n");
}
}
void par(float *U, int n,float tk,float tn)
{
int i,k=0;
float s=0,Usr,t,dt;
for(i=0;i<n;i++)
{
s=s+U[i];
}
Usr=s/n;
for (i=0;i<n;i++)
{
if (U[i]>Usr) k++;
}
dt=(tk-tn)/(n-1);
t=k*dt;
printf("\n Usr=%3.8f",Usr);
printf("\n t=%3.9f",t);
printf("\n dt=%3.9f",dt);
}
float partoch(float *U, int n,float tk,float tn)
{
int i,k=0;
float s=0,Usr,t,dt;
for(i=0;i<n;i++)
{
s=s+U[i];
}
Usr=s/n;
for (i=0;i<n;i++)
{
if (U[i]>Usr) k++;
}
dt=(tk-tn)/(n-1);
t=k*dt;
return t;
}
void zapis(int n, float *t, float *Uvh, float *Uvih)
{
int i;
FILE*fp;
fp=fopen("Uvh.txt","w");
for(i=0;i<n;i++)
fprintf(fp,"\n %f",Uvh[i]);
fclose(fp);
fp=fopen("Uvih.txt","w");
for(i=0;i<n;i++)
fprintf(fp, "\n %f",Uvih[i]);
fclose(fp);
fp=fopen("t.txt","w");
for(i=0 ;i<n;i++)
fprintf(fp,"\n %10.9f",t[i]);
fclose(fp);
}
void zagolovok()
{
FILE*fp;
fp=fopen("zagolovok.txt", "r");
if(fp==NULL)
{
printf("\n file ne otkryt \n");
}
char str[2000];
while(fgets(str, 2000, fp) !=NULL)
{
puts(str);
}
fclose(fp);
}
int main ()
{
float d,tk=0.00001,tn=0,t[N],Uvh[N],Uvih[N],p1,p2;
int n=50,k;
printf("\n Welcome");
do
{
printf( "\n Click 1 - For print out presentation"
"\n Click 2 - For print out t Uvh Uvih"
"\n Click 3 - For print out parametrs"
"\n Click 4 - For print out accuracy"
"\n Click 5 - For save to file"
"\n Click 0 - To close"
"\n Your choice- ");
scanf("%d", &k);
switch (k)
{
case 1:
{zagolovok();break;}
case 2:
{n=50,tk=0.00001,tn=0;
tmas(t,n,tk,tn);
Uvhmas(t,Uvh,n,tk);
Uvihmas(Uvh,Uvih,n);
output (t,Uvh,Uvih,n);
break;}
case 3:
{n=15,tk=0.00001,tn=0;
tmas(t,n,tk,tn);
Uvhmas(t,Uvh,n,tk);
Uvihmas(Uvh,Uvih,n);
printf("\n Uvh over Uvhsr \n");
par(Uvh,n,tk,tn);
printf("\n \n Uvih over Uvihsr \n \n");
par(Uvih,n,tk,tn);
break;}
case 4:
{n=50;
printf("\n Tochnost Uvh \n");
p1=partoch(Uvh,n,tk,tn);
do
{
n=2*n;
if (n>N) {printf("\n Make bigger n");
break;}
else {tmas(t,n,tk,tn);
Uvhmas(t,Uvh,n,tk);
p2=partoch(Uvh,n,tk,tn);
d=fabs((p2-p1)/p2);
printf("\n d=%f n=%d p2=%3.9f",d,n,p2);
p1=p2;}
}
while (d>0.01);
n=50;
p1=partoch(Uvih,n,tk,tn);
printf("\n Tochnost Uvih \n");
do
{
n=2*n;
if (n>N) {printf("\n Make bigger n");
break;}
else {tmas(t,n,tk,tn);
Uvhmas(t,Uvh,n,tk);
Uvihmas(Uvh,Uvih,n);
p2=partoch(Uvih,n,tk,tn);
d=fabs((p2-p1)/p2);
printf("\n d=%f n=%d p2=%3.9f",d,n,p2);
p1=p2;}
}
while (d>0.01);
break;}
case 5:
{n=50,tk=0.00001,tn=0;
zapis(n,t,Uvh,Uvih);break;}
case 0:
{printf("\n Thanks for watching \n");break;}
default:
printf("\n Invalid Number \n"); break;
}
}while (k!=0);
return 0;
Размещено на Allbest.ru
...Подобные документы
Разработка программного обеспечения на языке C. Определение сигнала на выходе цепи, формирование его передаточной характеристики. Расчет длительности переднего фронта входного и выходного сигнала. Выбор структуры, отладка и тестирование программы.
курсовая работа [83,0 K], добавлен 26.09.2014Приведение выходного сигнала к аналитическому вид. Программа расчёта характеристик выходного сигнала электрической цепи. Таблица идентификаторов и описаний пользовательских подпрограмм. Построение графиков по массивам входного и выходного сигналов.
контрольная работа [594,2 K], добавлен 28.09.2012Обзор программных средств компьютерного моделирования. Изучение реакции электрической цепи на внешнее воздействие средствами MathCad: расчет значения функций u(t), построение графика зависимости напряжения по времени, нахождение аппроксимирующей функции.
курсовая работа [269,9 K], добавлен 07.03.2013Функции формирования массива времени. Формирование массива входного напряжения, массива выходного напряжения. Функция вывода таблицы, расчета заданной точности, вывода титульного листа. Запись в файл массива времени. Блок–схема и текст программы.
курсовая работа [155,6 K], добавлен 22.04.2012Вычисление значения входного и выходного сигналов в n-равноотстоящих точках, вывод на экран таблицы. Структура программы: модули, список идентификаторов функций, интерфейс. Исходный код программы. Проверка расчетов в Maxima и построение графиков.
курсовая работа [1,4 M], добавлен 14.07.2012Процедура формирования массивов отсчетов входного и выходного сигналов и времени; вычисление величины заданной характеристики выходного сигнала: функция нахождения длительности импульса; организация текстовых файлов; построение графиков в системе MathCad.
курсовая работа [75,9 K], добавлен 28.09.2012Порядок и методика моделирования входного сигнала, общие принципы представления сигналов математическими моделями. Взаимосвязь математических моделей с компьютерными, их место и значение на современном этапе. Пакеты для моделирования различных процессов.
реферат [1,1 M], добавлен 19.04.2009Описание архитектуры процессора TMS320C25. Моделирование фильтра в модуле FDATool программной среды Matlab. Алгоритм нерекурсивной фильтрации сигнала. Расчет массива отсчетов входного сигнала. Моделирование фильтра при различных частотах входного сигнала.
курсовая работа [119,2 K], добавлен 14.06.2015Арифметико-логическое устройство. Мультиплексирование как передача различных сигналов по одной линии в разные моменты времени. Дешифрация как преобразование входного двоичного кода в номер выходного сигнала. Оперативное запоминающее устройство (ОЗУ).
тезисы [15,1 K], добавлен 15.03.2009Разработка проектов на языке программирования высокого уровня. Составление алгоритма решения. Определение длительности переднего фронта входного, выходного сигнала. Работа с дисковыми файлами. Представление программы в виде иерархической структуры блоков.
курсовая работа [163,2 K], добавлен 28.05.2015Описание объекта управления - флотомашина ФПМ-16. Определение передаточной функции формирующего фильтра сигнала помехи. Имитационное моделирование САУ при действии сигнала помехи. Определение соотношения "Сигнал/шум" на выходе фильтра и выходе САУ.
курсовая работа [1021,4 K], добавлен 23.12.2012Изучение этапов интеллектуализации средств измерений на основе цифровой микропроцессорной техники. Обзор возможностей языка Ассемблера для системного программирования средств измерений. Анализ формирования входного сигнала и записи его в массив Simple.
курсовая работа [1,6 M], добавлен 11.01.2012Определение характеристик точности выходного параметра вероятностным расчетно-аналитическим методом. Моделирование на электронно-вычислительной машине точности выходного параметра каскада. Сравнение его точности. Обоснование числа реализаций каскада.
курсовая работа [870,4 K], добавлен 23.06.2014Проведение идентификации модели по схеме МНК. Запись исходной модели в дискретной форме. Сравнение параметров модели и результатов идентификации. Анализ графиков модельного выходного сигнала и оценки выходного сигнала, восстановленных по схеме МНК.
лабораторная работа [461,0 K], добавлен 19.02.2015Формирование на экране меню для выбора функций. Элементы пользовательского интерфейса. Описание внутренних переменных, входных и выходных данных языка программирования Си. Выбор пользователем функции. Создание программы "Список коммерческих банков".
курсовая работа [491,9 K], добавлен 17.03.2015Разработка программно-аппаратного комплекса на базе ПЭВМ типа Pentium IV, включающего в себя периферийное устройство для генерации сигнала в виде напряжения, меняющегося во времени, и программного обеспечения для управления процессом генерации.
дипломная работа [3,0 M], добавлен 30.06.2012Анализ процесса оцифровки зависимости интенсивности звукового сигнала от времени. Характеристика технологии создания музыкальных звуков в современных электромузыкальных цифровых синтезаторах. Изучение основных звуковых форматов, способов обработки звука.
курсовая работа [2,3 M], добавлен 23.11.2011Схема простого сетевого источника питания постоянного тока с транзисторным стабилизатором. Измерение относительной нестабильности выходного напряжения блока питания. Влияние значения коэффициента передачи тока базы транзистора на величину напряжения.
лабораторная работа [1,6 M], добавлен 04.02.2013Определение частоты и интенсивности отказов, вероятности безотказной работы и среднего времени наработки на отказ партии изделий при проведении испытаний в течение заданного промежутка времени с помощью программы, написанной на языке программирования С++.
лабораторная работа [101,2 K], добавлен 05.03.2015Определение зависимости скорости вала двигателя от времени. Математическая модель решения задачи. Решение задачи Коши на интервале методом Эйлера и Рунге-Кутта четвертого порядка точности. Алгоритм решения задачи. Текст программы и результаты ее работы.
контрольная работа [108,9 K], добавлен 08.03.2013