Главная страница
Навигация по странице:

  • Санкт-Петербург

  • «Расчет на ЭВМ характеристик входных и выходных сигналов электрических цепей»

  • Постановка задачи.

  • 2. Таблица идентификаторов.

  • 3. Таблица описания пользовательских подпрограмм.

  • 4. Текст программы.

  • 5. Контрольный расчет

  • Расчеты на ЭВМ характеристик выходных сигналов электрических цепей


    Скачать 99.5 Kb.
    НазваниеРасчеты на ЭВМ характеристик выходных сигналов электрических цепей
    Дата24.05.2018
    Размер99.5 Kb.
    Формат файлаdoc
    Имя файлаkursovik.doc
    ТипКурсовая
    #44859

    Федераьное агенство связи ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. проф. М.А. БОНЧ-БРУЕВИЧА»

    курсовая работа


    по курсу

    "Информатика"

    на тему:

    «Расчеты на ЭВМ характеристик выходных

    сигналов электрических цепей»


    Выполнил:

    студент

    Санкт-Петербург

    2011

    Курсовая работа по информатике

    «Расчет на ЭВМ характеристик входных и выходных сигналов электрических цепей»
    Задание:
    На основании номера билета №1402 получаем коды и исходные данные.


    1. Постановка задачи.


    Настоящая курсовая работа посвящена решению задачи машинного анализа электрических цепей.В курсовой работе необходимо для заданной электрической цепи (см. рис. 1) по известному входному сигналу Uвх(t) построить выходной сигнал Uвых(t), а затем определить некоторые его характеристики W.

    Вычисления величин Uвх(t) и Uвых(t) выполнить для N-равноотстоящих моментов времени t, где t [tнач, tкон]. Организовать массивы для хранения Uвх(t) и Uвых(t). Произвести вычисление характеристики W выходного сигнала согласно заданию. Массивы входных и выходных отсчетов записать в текстовые файлы с расширением prn. Содержимое этих файлов использовать для построения графиков в интегрированной математической системе MathCAD.
    Дана нелинейная безынерционная цепь:


    Рис.1
    Задание входного сигнала в виде аналитических выражений


    Код А

    Входной сигнал

    Рабочий набор данных

    10



    a = 12 В/с;

    b = 48 В/с;

    ;


    Задание передаточной характеристики в виде аналитических выражений


    Код Б

    Передаточная характеристика

    Рабочий набор исходных данных

    02



    a = 2.5 1/B

    b = 10 B

    Uвх1 = 10 B

    Uвх2 = 30 B


    Задание вариантов вычисляемых характеристик выходного сигнала.


    Код В

    Характеристика

    Рабочий набор

    00

    Максимальное значение выходного сигнала






    Предложенная для решения задача разбита на четыре основные части (подзадачи). Каждая из этих частей реализована в виде подпрограммы (функции).

    Ввод исходных данных, необходимых для решения задачи, выделен также в самостоятельную функцию под именем DATA. В программе предусмотрен вывод результатов решения задачи на экран монитора по желанию пользователя (функция REZULT).

    Все подпрограммы-функции разработаны с использованием глобальных переменных .

    Полный листинг программы, решающей поставленную задачу приведен ниже:
    2. Таблица идентификаторов.



    Обозначение в задаче

    Идентификатор

    Назначение




    n

    Текущее значение количества отсчетов входного сигнала




    kl

    Признак-ключ, определяющий режим работы kl=1, если вывод на монитор, kl=0, если вывод в файл на диск.



    uin

    Массив для хранения отсчетов входного сигнала



    uout

    Массив для хранения отсчетов выходного сигнала



    tn

    Начальный момент наблюдения входного сигнала



    tk

    Начальный момент наблюдения входного сигнала



    t1

    Параметры входной характеристики

    a

    a

    Коэффициенты входной характеристики

    b

    b

    t

    t

    Текущий момент времени




    del

    Временной интервал между двумя соседними отсчетами входного сигнала




    i, m

    Счетчик цикла



    uvh1

    Параметры передаточной характеристики



    uvh2

    a

    av

    Коэффициенты передаточной характеристики

    b

    bv




    max

    Максимальное значение выходного сигнала




    f1, f2

    Логические имена файлов


    3. Таблица описания пользовательских подпрограмм.


    Подпрограмма

    Назначение

    void DATA()

    Позволяет ввести с клавиатуры необходимые для решения задачи исходные данные и передать эти данные в другие подпрограммы

    void UIN1()

    Формирует массив отсчетов входного сигнала, который в дальнейшем может быть использован в других подпрограммах

    void UOUT1()

    Формирует массив отсчетов выходного сигнала, который в дальнейшем может быть использован в других подпрограммах

    void WRITEINFO()

    Записывает отсчеты входного и выходного сигналов в нужном формате в файлы 1.prn и 2.prn

    void REZULT()

    Выводит результаты работы программы на экран монитора, если пользователь ввел с помощью подпрограммы DATA нужное значение признака kl=1.

    void MAXI()

    Определяет максимальное значение выходного сигнала



    4. Текст программы.

    #include

    #include

    #include

    #include

    using namespace std;
    void DATA(int &n,float &tn,float &tk,int &a,int &b,int &t1,float &av,float &bv,int &uvh1,int &uvh2)

    {

    printf("Vvedite kolihestvo otshetov signala n="); scanf("%i",&n);

    printf("Vvedite tn:\n "); scanf("%f",&tn);

    printf("Vvedite tk:\n "); scanf("%f",&tk);

    printf("Vvedite a:\n "); scanf("%i",&a);

    printf("Vvedite b:\n "); scanf("%i",&b);

    printf("Vvedite t1:\n "); scanf("%i",&t1);

    printf("Vvedite av:\n "); scanf("%f",&av);

    printf("Vvedite bv:\n "); scanf("%f",&bv);

    printf("Vvedite uvh1:\n "); scanf("%i",&uvh1);

    printf("Vvedite uvh2:\n "); scanf("%i",&uvh2);

    }
    void UIN1(float tn,float tk,int n,int t1,float *uin,int a,int b)

    {

    float t,del;

    t=tn;

    del=(tk-tn)/(n-1);
    for(int i=0;i
    {

    if(t<=t1) uin[i]=a*(t-tn); else uin[i]=a*(t1-tn)-b*(t-t1);

    t=t+del;

    }

    }
    void UOUT1(float *uout, int n, float *uin, int &uvh1, int &uvh2,float &bv, float &av,int b)

    {

    for(int i=0;i
    {

    if(uin[i]<=uvh1) uout[i]=av*uvh1+bv;

    if(uin[i]>uvh2) uout[i]=av*uvh2+b;

    if(uin[i]>uvh1 && uin[i]<=uvh2) uout[i]=av*uin[i]+b;

    }
    }
    void WRITEINFO(float*uin,float*uout,int n)

    {

    FILE *f1;

    FILE *f2;
    f1=fopen("1.prn","w");

    f2=fopen("2.prn","w");
    for(int i=0;i
    fprintf(f1,"%f",uin[i]);

    fprintf(f1,"\n");

    fprintf(f2,"%f",uout[i]);

    fprintf(f2,"\n");
    }

    fclose(f1);

    fclose(f2);

    }
    void MAXI(float*uout,int n)

    {

    float max;

    max=uout[0];

    for(int m=1;mmax) max=uout[m];

    printf("\nMaksimalnoe znahenie vyhodnogo signala: %f",max);

    }
    void REZULT(float*uin,float*uout,int &n)

    {

    float kl;

    printf("vvedite kl:1-monitor,other-file:\n"); scanf("%f",&kl);

    if(kl==1) {

    printf("\nOtshety vhodnogo signala\n");

    for(int i=0;i
    printf("Uin[%i]=",i+1);

    printf("%f\n",uin[i]);

    }

    printf("===========================\n");

    printf("Otshety vyhodnogo signala\n");

    for(int j=0;j
    printf("Uout[%i]=",j+1);

    printf("%f\n",uout[j]);

    }

    MAXI(uout,n);

    }

    else WRITEINFO(uin,uout,n); printf("===============================\nMassivi otshetov zapisani v faily 1.prn i 2.prn. Rabota zavershena");

    }
    int main()

    {

    int n,kl,a,b,t1,uvh1,uvh2;

    float tn,tk,bv,av;

    float uin[100];

    float uout[100];
    DATA(n,tn,tk,a,b,t1,av,bv,uvh1,uvh2);

    UIN1(tn,tk,n,t1,uin,a,b);

    UOUT1(uout,n,uin,uvh1,uvh2,bv,av,b);

    REZULT(uin,uout,n);

    }

    5. Контрольный расчет


    Набор

    n

    tn

    tk

    t1

    a

    b

    av

    bv

    uvh1

    uvh2

    Uвх

    Uвых

    Контрольный

    7

    12

    30

    28

    10

    52

    10

    11

    65

    123

    0.000000

    30.000000

    60.000000

    90.000000

    120.000000

    150.000000

    56.000000

    661.000000

    661.000000

    661.000000

    952.000000

    1252.000000

    1282.000000

    661.000000

    Рабочий

    7

    10

    35

    30

    12

    48

    2,5

    10

    10

    30

    0.000000

    49.999992

    99.999985

    149.999969

    199.999969

    200.000153

    0.000183

    35.000000

    123.000000

    123.000000

    123.000000

    123.000000

    123.000000

    35.000000

    Заключение
    В данной работе решаются задачи машинного анализа электрических цепей. В курсовой работе необходимо для заданной электрической цепи по известному входному сигналу Uвх(t) построить выходной сигнал Uвых(t) , а затем определить некоторую его характеристику W.

    В данном варианте курсовой работы при составлении схемы алгоритма использовали принцип пошаговой детализации. Сущность этого метода состоит в следующем: вначале разработали головной модуль, а затем перешли к разработке других подпрограмм.

    Вычисление W реализовали с помощью обращения к трем подпрограммам: формирование массива Uвх, формирование массива Uвых, обработка массива Uвых в целях получения значения величины W. В данной курсовой работе величиной W является максимальное значение выходного сигнала.

    Благодаря данной курсовой работе были приобретены навыки расчета на ЭВМ характеристик выходных сигналов электрических цепей, составления подпрограмм и программ на языке С, а также выполнения их отладки.


    написать администратору сайта