Анализ сигнала на выходе электрической цепи

Определение значения входного и выходного напряжения в зависимости от времени; параметра-времени, в течение которого значение напряжения сигнала находится в определенном промежутке. Список функций и основных переменных. Интерфейс и код программы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.