Воздействие колебаний сложной формы на линейные цепи

Автор работы: Пользователь скрыл имя, 25 Мая 2015 в 19:19, курсовая работа

Описание работы

Цель курсовой работы заключается в практическом освоении аналитических и численных методов определения выходных процессов‚ отклика линейной радиотехнической цепи при воздействии на нее входного процесса сложной формы.
Для исследований в работе используются операторный и временной (интеграл Дюамеля) методы. Операторный метод используется для определения импульсной и переходной характеристик цепи. В основе операторного метода лежит преобразование Лапласа. Сущность операторного метода состоит в том, что исходные уравнения заменяются соответствующими уравнениями относительно изображений искомых функций. Из решения последних находятся изображения, а затем при помощи обратного преобразования Лапласа – оригиналы.

Содержание работы

Введение 4
1 Техническое задание 5
2 Расчет входного сигнала 6
3 Расчет амплитудно-частотной и фазочастотной характеристик цепи 8
4 Расчет переходной и импульсной характеристик 12
5 Аналитический расчет выходного сигнала 14
6 Численный расчет выходного сигнала 17
7 Экспериментальные исследования ………………………………………...19
Заключение 20
Список литературы 21

Файлы: 1 файл

курсяк - копия.docx

— 310.78 Кб (Скачать файл)

 Далее следует собственно  тело программы, где осуществляется  ввод входных параметров, а также  необходимые присваивания, затем  следует расчёт величины U2 и её вывод (листинг данной программы представлен в приложении А).

 

Рисунок 9-Программа численного расчета выходного сигнала

Рисунок 10-Табуляция выходного сигнала в программе

7 Экспериментальные  исследования

 

В данном разделе работы будут приведены результаты экспериментальных исследований. Исследования проводились с помощью лабораторной установки, структурная схема которой показана на рисунке 9.

 


      ГС             Исследуемая цепь                 Осциллограф                      

 

                                          синхросигнал

 

Рисунок 11 - Лабораторная установка

 

     Генератор входного сигнала ГС формирует заданную функцию времени - напряжение, подаваемое на вход цепи. Выходное напряжение подается на вход осциллографа, работающего в режиме ждущей развертки с  внешней синхронизацией от ГС.

 

 

Рисунок 12-Осцилограмма выходного сигнала

 

Осциллограмма полностью совпадает с выходным сигналом, рассчитанным ранее, что говорит о правильности расчетов.

Заключение

Цель работы состояла в том, чтобы на практике освоить аналитические и практические методы определения выходных процессов в линейных радиотехнических цепях при негармоническом воздействии с использованием современных средств вычислительной техники и экспериментальных  исследований. Подойдя к финалу работы, можно с уверенностью сказать, что поставленная задача была успешно решена. В процессе выполнения работы я ознакомился с рядом очень полезных и облегчающих труд инженера программ (таких как MATHCAD). Но самое полезное приобретение в области знаний, сделанное в процессе выполнения работы это ознакомление с основами программирования на языке программирования C++. При проведении работы были закреплены такие методы аналитического расчета выходного сигнала как операторный.

Были приобретены навыки работы с цифровым генератором входного сигнала, вспомнены и закреплены принципы работы с осциллографом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

 

  1. Литвиненко В.П. Методическое указание к курсовой работе «Воздействие колебаний сложной формы на линейные цепи» по дисциплине «Основы теории цепей» / В.П. Литвиненко, О.Г. Вахтин Воронеж, 2007. 21 с.
  2. Архангельский А.Я. Программирование в С++ Builder 6 / А.Я. Архангельский, Москва,   2003. 343 с.
  3. Макаров Е. К.  Инженерные расчеты в Mathcad 15. Учебный курс / Е. К Макаров., Санкт-Петербург, 2011. 216 с.
  4. Атабеков Г.И. Основы теории цепей / Г.И. Атабеков, Москва,  2009. 428 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А

Листинги программ на языке С++

 

Программа расчета численных значений выходного сигнала.

 

#include <vcl.h>

#include <math.h>

#pragma hdrstop

 

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

long double k,T=0.005;

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

  int d=0;

for(int x=100;x<=400;x=x+100){

Image1->Canvas->MoveTo(x,0);

Image1->Canvas->LineTo(x,500);

Image1->Canvas->MoveTo(0,x);

Image1->Canvas->LineTo(500,x);}

StringGrid1->Cells[0][0]="  t";

StringGrid1->Cells[1][0]="  Uвх";

StringGrid1->Cells[2][0]="  Uвых";

 

}

//---------------------------------------------------------------------------

 

long double e,R9100,C=22*0.00000001;

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{ Image1->Canvas->Pen->Width=1;

Image1->Canvas->Brush->Color=clWhite;            //очистка

Image1->Canvas->Rectangle(-10,-10,600,600);

Image1->Canvas->Pen->Color=clBlack;

for(int x=100;x<=500;x=x+100){

Image1->Canvas->MoveTo(x,0);

Image1->Canvas->LineTo(x,500);

Image1->Canvas->MoveTo(0,x);

Image1->Canvas->LineTo(500,x);

}

Image1->Canvas->Pen->Width=3;

Image1->Canvas->Pen->Color=clGreen;

for(k=0;k<=T/2;k=k+T/200){      // строим входной сигнал 1

Image1->Canvas->MoveTo(100000*k,400-400*u11(k));

Image1->Canvas->LineTo((k+T/200)*100000,400-400*u11(k+T/200));

}

 

for(k=T/2;k<=T;k=k+T/200){      // строим входной сигнал 2

Image1->Canvas->MoveTo(100000*k,400-400*u12(k));

Image1->Canvas->LineTo((k+T/200)*100000,400-400*u12(k+T/200));

}

Image1->Canvas->Pen->Color=clRed;

long double in,in1,in2,in3,in4,in5,a,i;

int j,d=0;

Image1->Canvas->MoveTo(0,200);

for(k=0;k<=T/2;k=k+T/200){      // строим входной сигнал 1

if(d!=26){d++; 

StringGrid1->Cells[1][d]=FloatToStrF(u11(4*k),ffGeneral,7,2);}

}

d=0;

 

for(k=0;k<T/2;k=k+T/50){

in=0.000001*T*(u11(0)*g1(0)+u11(k)*g1(k));   //интегрирование.

in1=0.000001*T*(u11(0)*g2(0)+u11(k)*g2(k));

in4=0.000001*T*(u11(0)*g3(0)+u11(k)*g3(k));

j=1;

for(i=0;i<k;i=i+0.0000003/k*T){

    if(j%2==0){in=in+2*0.0000001/k*T*u11(i)*g1(i);

    in1=in1+2*0.0000001/k*T*u11(i)*g2(i);

    in4=in4+2*0.0000001/k*T*u11(i)*g3(i);}

    if(j%2!=0){in=in+4*0.0000001/k*T*u11(i)*g1(i);

    in1=in1+4*0.0000001/k*T*u11(i)*g2(i);

    in4=in4+4*0.0000001/k*T*u11(i)*g3(i);}

    j++;}

    a=120.73793860640044738*g1(-k)*in+96.824309111760342793*g2(-k)*in1-217.56224771816079018*g3(-k)*in4;

    Image1->Canvas->LineTo(100000*k,400-400*a);//строим вых сигнал 1

    Image1->Canvas->MoveTo(100000*k,400-400*a);

    d++;

    StringGrid1->Cells[0][d]=FloatToStrF(k,ffGeneral,7,2);

    StringGrid1->Cells[2][d]=FloatToStrF(a,ffGeneral,7,2);

    }

for(k=T/2;k<=T+T/50;k=k+T/50){

in=0.0000001/k*T*(u12(T/2)*g1(T/2)+u12(k)*g1(k));  .

in1=0.0000001/k*T*(u12(T/2)*g2(T/2)+u12(k)*g2(k));

in4=0.0000001/k*T*(u12(T/2)*g3(T/2)+u12(k)*g3(k));

j=1;

for(i=T/2;i<k;i=i+0.0000003/k*T){

    if(j%2==0){in=in+2*0.0000001/k*T*u12(i)*g1(i);

    in1=in1+2*0.0000001/k*T*u12(i)*g2(i);

    in4=in4+2*0.0000001/k*T*u12(i)*g3(i);}

    if(j%2!=0){in=in+4*0.0000001/k*T*u12(i)*g1(i);

    in1=in1+4*0.0000001/k*T*u12(i)*g2(i);

    in4=in4+4*0.0000001/k*T*u12(i)*g3(i);}

j++;

}

in2=0.0000001/k*T*(u11(0)*g1(0)+u11(T/2)*g1(T/2));  

in3=0.0000001/k*T*(u11(0)*g2(0)+u11(T/2)*g2(T/2));

in5=0.0000001/k*T*(u11(0)*g3(0)+u11(T/2)*g3(T/2));

j=1;

for(i=0;i<T/2;i=i+0.0000003/k*T){

    if(j%2==0){in2=in2+2*0.0000001/k*T*u11(i)*g1(i);

    in3=in3+2*0.0000001/k*T*u11(i)*g2(i);

    in5=in5+2*0.0000001/k*T*u11(i)*g3(i);}

    if(j%2!=0){in2=in2+4*0.0000001/k*T*u11(i)*g1(i);

    in3=in3+4*0.0000001/k*T*u11(i)*g2(i);

    in5=in5+4*0.0000001/k*T*u11(i)*g3(i);}

    j++;

    a=120.73793860640044738*g1(-k)*(in+in2)+96.824309111760342793*g2(-k)*(in1+in3)-217.56224771816079018*g3(-k)*(in4+in5);

    }                         

    Image1->Canvas->LineTo(100000*k,400-400*a);

    Image1->Canvas->MoveTo(100000*k,400-400*a);

    StringGrid1->Cells[0][d]=FloatToStrF(k,ffGeneral,7,2);

    StringGrid1->Cells[1][d]=FloatToStrF(u12(k),ffGeneral,7,2);

    StringGrid1->Cells[2][d]=FloatToStrF(a,ffGeneral,7,2);

    d++;

    }

    }

double u11(double x){

    long double e,T=0.005;

    e=1-exp(-(6*x/T));

    return e;}

 

double u12(double x){

    long double e,T=0.005;

    e=(1-exp(-3))*exp(-(6*x/T-3)*(6*x/T-3));

    return e;}

 

double g1(double x){

e=exp(776.70236368000559012*x);

return e;}

 

double g2(double x){

e=exp(98.932199897683190573*x);

return e;}

 

double g3(double x){

e=exp(1621.8679339248087218*x);

return e;}

 

 


Информация о работе Воздействие колебаний сложной формы на линейные цепи