예제 #1
0
        /// <summary>
        /// Autokorelacja
        /// </summary>
        private void initialize_Correlation_1()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 220, 500, "Sygnał 1.");
            courseGraph2 = new CourseGraph(10, 254, 220, 500, "Sygnał 2.");
            courseGraph3 = new CourseGraph(10, 484, 220, 500, "Korelacja");

            // inicjalizacja obiektow klasy sygnalow
            signal1 = (new AnalogSignal(20, 20, 1000, 0.5).GenerateNoise(50)) + (new AnalogSignal(20, 20, 1000, 0.5).GenerateSinusSignal());
            signal2 = signal1;// new AnalogSignal(20, 10, 1000, 0.5).GenerateSinusSignal();

            // rysowanie wykresow sygnalu 1.
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            // rysowanie wykresow sygnalu 2.
            courseGraph2.Signal = signal2;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            courseGraph3.Signal = (new AnalogSignal(20, 10, 1000, 0.5)).Correlation(signal1, signal1);
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();
        }
예제 #2
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab5 dla demodulacji FSK
        /// </summary>
        private void initialize_Lab5_FSK()
        {
            Demodulation demodul = new Demodulation();
            string       word    = "10101011";

            courseGraph1 = new CourseGraph(10, 24, 150, 500, word);
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "Kod FSK");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "Kod cyfrowy");

            digital = new DigitalSignal(word, 1000, 0.0625); //informacja

            // s. zmodulowany
            AnalogSignal FSK = new AnalogSignal(10, 0, 1000, 0.5).GenerateSinusSignal();

            FSK.FSK(digital, 2);

            // Rysowanie przebiegów:

            // Sygnał nośny
            courseGraph1.Signal = digital;
            courseGraph1.Limit(5000);
            courseGraph1.DrawGraph();

            //sygnal zmodulowany FSK
            courseGraph2.Signal = FSK;
            courseGraph2.Limit(5000);
            courseGraph2.DrawGraph();

            //Kod cyfrowy
            courseGraph3.Signal = demodul.demodulationFSK(FSK, 0.0625, 2); // demodulacja
            courseGraph3.Limit(5000);
            courseGraph3.DrawGraph();
        }
예제 #3
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab4 dla modulacji FSK i PSK
        /// </summary>
        private void initialize_Lab4_FSK_PSK()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Sygnał Cyfrowy");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "FSK");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "PSK");

            // inicjalizacja obiektow klasy wykresow widma
            spectrumGraph2 = new SpectrumGraph(520, 184, 150, 500, "FSK");
            spectrumGraph3 = new SpectrumGraph(520, 344, 150, 500, "PSK");

            // inicjalizacja obiektow klasy sygnalow
            digital = new DigitalSignal("10101011", 1000, 0.0625);

            // rysowanie wykresow sygnalu 2.
            courseGraph1.Signal = digital;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            // deklaracja i inicjalizacja obiektu sygnału zmodulowanego FSK

            AnalogSignal FSK = new AnalogSignal(new AnalogSignal(0, 0, 1000, 0.5));

            FSK.FSK(digital, 1);

            //rysowanie wykresów ASK
            courseGraph2.Signal = FSK;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            spectrumGraph2.Signal = FSK;
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();

            // deklaracja i inicjalizacja obiektu sygnału zmodulowanego PSK

            AnalogSignal PSK = new AnalogSignal(new AnalogSignal(0, 0, 1000, 0.5));

            PSK.PSK(digital);

            //rysowanie wykresów ASK
            courseGraph3.Signal = PSK;
            courseGraph3.Limit(5000);
            courseGraph3.DrawGraph();

            spectrumGraph3.Signal = PSK;
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();
        }
예제 #4
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab4 dla modulacji ASK
        /// </summary>
        private void initialize_Lab4_ASK()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Sygnał Cyfrowy");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "Nosna");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "ASK");

            // inicjalizacja obiektow klasy wykresow widma
            spectrumGraph2 = new SpectrumGraph(520, 184, 150, 500, "Nośna");
            spectrumGraph3 = new SpectrumGraph(520, 344, 150, 500, "ASK");

            // inicjalizacja obiektow klasy sygnalow
            signal1 = new AnalogSignal(50, 100, 1000, 1); // nośna
            digital = new DigitalSignal("10101011", 1000, 0.125);

            // Generowanie sygnalow na podstawie
            // podanych w konstruktorze parametrow
            signal1.GenerateSinusSignal();

            // rysowanie wykresow sygnalu 2.
            courseGraph1.Signal = digital;
            courseGraph1.Limit(5000);
            courseGraph1.DrawGraph();

            // rysowanie wykresow sygnalu 1.
            courseGraph2.Signal = signal1;
            courseGraph2.DrawGraph();

            spectrumGraph2.setSignal(signal1);
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();



            // deklaracja i inicjalizacja obiektu sygnału zmodulowanego ASK

            AnalogSignal ASK = new AnalogSignal(signal1);

            ASK.ASK(signal1, digital);

            //rysowanie wykresów ASK
            courseGraph3.Signal = ASK;
            courseGraph3.DrawGraph();

            spectrumGraph3.setSignal(ASK);
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();
        }
예제 #5
0
        private void initialize_CDMA()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Dane");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "Kod rozpaszający");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "Kod rozpaszający");

            // inicjalizacja obiektow klasy wykresow widma
            spectrumGraph1 = new SpectrumGraph(520, 24, 150, 500, "Dane");
            spectrumGraph2 = new SpectrumGraph(520, 184, 150, 500, "Kod rozpaszający");
            spectrumGraph3 = new SpectrumGraph(520, 344, 150, 500, "Dane rozszerzone");

            // inicjalizacja obiektow klasy sygnalow
            digital = new DigitalSignal("10101011", 1000, 0.125);

            // rysowanie wykresow
            courseGraph1.Signal = digital;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            spectrumGraph1.Signal = digital;
            spectrumGraph1.DFT();
            spectrumGraph1.Autoscale();
            spectrumGraph1.DrawGraph();

            digital = new DigitalSignal("1010101110101011", 1000, 0.03125);

            //rysowanie wykresów
            spectrumGraph2.Signal = digital;
            spectrumGraph2.DFT();
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();

            courseGraph2.Signal = digital;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            //rysowanie wykresów
            spectrumGraph3.Signal = new DigitalSignal("1010101110101011", 1000, 0.03125) * new DigitalSignal("10101011", 1000, 0.125);
            spectrumGraph3.DFT();
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();

            courseGraph3.Signal = new DigitalSignal("1010101110101011", 1000, 0.03125) * new DigitalSignal("10101011", 1000, 0.125);
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();
        }
예제 #6
0
        /// <summary>
        /// Funkcja inicjalizująca zadanie z przedstawieniem przebiegów prostokątnego, piłokształtnego oraz trójkątnego
        /// </summary>
        private void initialize_SquareTriangleSaw()
        {
            signal1 = new AnalogSignal(20, 10, 1000, 0.5).GenerateSquareSignal(10);

            courseGraph1        = new CourseGraph(5, 24, 200, 500, "Przebieg prostokątny");
            courseGraph1.Signal = signal1;
            courseGraph1.Limit(100); // 100%
            courseGraph1.DrawGraph();

            signal2 = new AnalogSignal(10, 10, 1000, 0.5).GenerateTriangleSignal(10);

            courseGraph2        = new CourseGraph(5, 234, 200, 500, "Przebieg trójkątny");
            courseGraph2.Signal = signal2;
            courseGraph2.Limit(100); // 100%
            courseGraph2.DrawGraph();

            signal3 = new AnalogSignal(10, 10, 1000, 0.5).GenerateSawSignal(10);

            courseGraph3        = new CourseGraph(5, 444, 200, 500, "Przebieg piłokształtny");
            courseGraph3.Signal = signal3;
            courseGraph3.Limit(100); // 100%
            courseGraph3.DrawGraph();


            spectrumGraph1 = new SpectrumGraph(520, 24, 200, 500, "Widmo prostokątnego");
            spectrumGraph2 = new SpectrumGraph(520, 234, 200, 500, "Widmo trójkątnego");
            spectrumGraph3 = new SpectrumGraph(520, 444, 200, 500, "Widmo piłokształtnego");

            spectrumGraph1.Signal = signal1;
            spectrumGraph1.Autoscale();
            spectrumGraph1.DFT();
            spectrumGraph1.DrawGraph();

            spectrumGraph2.Signal = signal2;
            spectrumGraph2.Autoscale();
            spectrumGraph2.DFT();
            spectrumGraph2.DrawGraph();

            spectrumGraph3.Signal = signal3;
            spectrumGraph3.Autoscale();
            spectrumGraph3.DFT();
            spectrumGraph3.DrawGraph();
        }
예제 #7
0
        /// <summary>
        /// Filtracja składowej sygnału
        /// </summary>
        private void initialize_IDFT()
        {
            signal1 =
                new AnalogSignal(1, 110, 1000, 0.5).GenerateSinusSignal()
                + new AnalogSignal(2, 285, 1000, 0.5).GenerateCosinusSignal()
                + new AnalogSignal(3, 155, 1000, 0.5).GenerateSinusSignal();

            signal2 = new AnalogSignal(3, 155, 1000, 0.5).GenerateSinusSignal();

            courseGraph1        = new CourseGraph(10, 24, 220, 500, "Sygnał 1.");
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            spectrumGraph1        = new SpectrumGraph(520, 24, 200, 500, "Widmo sygnału");
            spectrumGraph1.Signal = signal1;
            spectrumGraph1.Autoscale();
            spectrumGraph1.DFT();
            spectrumGraph1.DrawGraph();

            courseGraph2        = new CourseGraph(10, 254, 220, 500, "Sygnał po iDFT");
            courseGraph2.Signal = new AnalogSignal(1, 110, 1000, 0.5).iDFT(spectrumGraph1.complexFrequency, ft);
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            spectrumGraph2        = new SpectrumGraph(520, 254, 200, 500, "Widmo sygnału");
            spectrumGraph2.Signal = courseGraph2.Signal;
            spectrumGraph2.Autoscale();
            spectrumGraph2.DFT();
            spectrumGraph2.DrawGraph();

            spectrumGraph3        = new SpectrumGraph(520, 484, 200, 500, "Widmo sygnału");
            spectrumGraph3.Signal = signal1;
            spectrumGraph3.DFT();
            spectrumGraph3.filtering(signal2);
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();

            courseGraph3        = new CourseGraph(10, 484, 220, 500, "Sygnał po iDFT");
            courseGraph3.Signal = new AnalogSignal(1, 110, 1000, 0.5).iDFT(spectrumGraph3.complexFrequency, ft);
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();
        }
예제 #8
0
        private void initialize_generateFilter_2()
        {
            AnalogSignal delta = new AnalogSignal(1, 300, 1000, 0.5).GenerateDelta();

            signal1             = new AnalogSignal(1, 300, 1000, 0.5).IIR(delta, delta.GenerateFilter_IIR());
            courseGraph1        = new CourseGraph(10, 24, 220, 500, "Przebieg charakterystyki");
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            spectrumGraph1        = new SpectrumGraph(520, 24, 220, 700, "Odpowiedź filtru");
            spectrumGraph1.Signal = signal1;
            spectrumGraph1.DFT();
            spectrumGraph1.Autoscale();
            spectrumGraph1.DrawGraph();


            signal2             = new AnalogSignal(1, 100, 1000, 0.5).GenerateNoise(0.5);
            courseGraph2        = new CourseGraph(10, 254, 220, 500, "Szum");
            courseGraph2.Signal = signal2;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            spectrumGraph2        = new SpectrumGraph(520, 254, 220, 500, "Widmo szumu");
            spectrumGraph2.Signal = signal2;
            spectrumGraph2.DFT();
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();


            signal3             = new AnalogSignal(1, 100, 1000, 0.5).IIR(signal2, signal2.GenerateFilter_IIR());
            courseGraph3        = new CourseGraph(10, 484, 220, 500, "Przebieg po filtracji");
            courseGraph3.Signal = signal3;
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();

            spectrumGraph3        = new SpectrumGraph(520, 484, 220, 500, "Widmo po filtracji");
            spectrumGraph3.Signal = signal3;
            spectrumGraph3.DFT();
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();
        }
예제 #9
0
        /// <summary>
        /// Filtracja sygnału delta
        /// </summary>
        private void initialize_Sinc()
        {
            signal1             = new AnalogSignal(1, 100, 1000, 0.5).GenerateSincSignal(5);
            courseGraph1        = new CourseGraph(10, 24, 220, 500, "Sygnał Sinc");
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();


            spectrumGraph1        = new SpectrumGraph(520, 24, 220, 500, "Widmo Sinc");
            spectrumGraph1.Signal = signal1;
            spectrumGraph1.DFT();
            spectrumGraph1.Autoscale();
            spectrumGraph1.DrawGraph();

            signal2             = new AnalogSignal(1, 100, 1000, 0.5).GenerateDelta();
            courseGraph2        = new CourseGraph(10, 254, 220, 500, "Sygnał Delta");
            courseGraph2.Signal = signal2;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();


            spectrumGraph2        = new SpectrumGraph(520, 254, 220, 500, "Widmo delta");
            spectrumGraph2.Signal = signal2;
            spectrumGraph2.DFT();
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();

            signal3             = new AnalogSignal(1, 100, 1000, 0.5).Weave(signal2, signal1);
            courseGraph3        = new CourseGraph(10, 484, 220, 500, "Przebieg odpowiedzi impulsowej");
            courseGraph3.Signal = signal3;
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();


            spectrumGraph3        = new SpectrumGraph(520, 484, 220, 500, "Widmo odpowiedzi impulsowej");
            spectrumGraph3.Signal = signal3;
            spectrumGraph3.DFT();
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();
        }
예제 #10
0
        /// <summary>
        /// Filtracja szumu
        /// </summary>
        private void initialize_FilteringOfNoise()
        {
            signal1             = new AnalogSignal(1, 300, 1000, 0.5).GenerateSincSignal(19);
            courseGraph1        = new CourseGraph(10, 24, 220, 500, "Sygnał Sinc");
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            spectrumGraph1        = new SpectrumGraph(520, 24, 220, 500, "Widmo Sinc");
            spectrumGraph1.Signal = signal1;
            spectrumGraph1.DFT();
            spectrumGraph1.Autoscale();
            spectrumGraph1.DrawGraph();

            signal2             = new AnalogSignal(1, 100, 1000, 0.5).GenerateNoise(0.5);
            courseGraph2        = new CourseGraph(10, 254, 220, 500, "Sygnał Delta");
            courseGraph2.Signal = signal2;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();


            spectrumGraph2        = new SpectrumGraph(520, 254, 220, 500, "Widmo delta");
            spectrumGraph2.Signal = signal2;
            spectrumGraph2.DFT();
            spectrumGraph2.Autoscale();
            spectrumGraph2.DrawGraph();

            signal3             = new AnalogSignal(1, 100, 1000, 0.5).Weave(signal1, signal2);
            courseGraph3        = new CourseGraph(10, 484, 220, 500, "Przebieg po filtracji");
            courseGraph3.Signal = signal3;
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();


            spectrumGraph3        = new SpectrumGraph(520, 484, 220, 500, "Widmo po filtracji");
            spectrumGraph3.Signal = signal3;
            spectrumGraph3.DFT();
            spectrumGraph3.Autoscale();
            spectrumGraph3.DrawGraph();
        }
        private void editSignal(int item, double amplitude, double frequency, double samplingFrequency, double length, int accuracyOfApproximation)
        {
            graphPanel.Controls.Remove(signalGraph);
            String label = "";

            signal = new AnalogSignal(amplitude, frequency, samplingFrequency, length);
            switch (item)
            {
            case 0:
                label = "Sinusoida";
                signal.GenerateSinusSignal();
                break;

            case 1:
                label = "Piłokształtny";
                signal.GenerateSawSignal(accuracyOfApproximation);
                break;

            case 2:
                label = "Trójkątny";
                signal.GenerateTriangleSignal(accuracyOfApproximation);
                break;

            case 3:
                label = "Prostokątny";
                signal.GenerateSquareSignal(accuracyOfApproximation);
                break;

            case 4:
                label = "Szum";
                signal.GenerateNoise(accuracyOfApproximation);
                break;
            }
            signalGraph        = new CourseGraph(3, 3, 150, 500, label);
            signalGraph.Signal = signal;
            signalGraph.Autoscale();
            signalGraph.DrawGraph();

            graphPanel.Controls.Add(signalGraph);
        }
예제 #12
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab5 dla demodulacji ASK
        /// </summary>
        private void initialize_Lab5_ASK()
        {
            Demodulation demodul = new Demodulation();
            string       word    = "10101011";

            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Nośna");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, word);
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "Kod ASK");

            signal1 = new AnalogSignal(7, 32.5, 1000, 0.5);  // nośna
            digital = new DigitalSignal(word, 1000, 0.0625); //informacja

            // s. nośny
            signal1.GenerateSinusSignal();

            // s. zmodulowany
            AnalogSignal ASK = new AnalogSignal(signal1);

            ASK.ASK(signal1, digital);

            // Rysowanie przebiegów:

            // Sygnał nośny
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            //sygnal zmodulowany ASK
            courseGraph2.Signal = ASK;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            //Kod cyfrowy
            courseGraph3.Signal = demodul.demodulationASKandPSK(ASK, 0.0625, 200, true);  // demodulacja
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();
        }
예제 #13
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab1 i lab2
        /// </summary>
        private void initialize_Lab1_Lab2()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Sygnał 1.");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "Sygnał 2.");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "Suma");
            courseGraph4 = new CourseGraph(10, 504, 150, 500, "Iloczyn");

            // inicjalizacja obiektow klasy wykresow widma
            spectrumGraph1 = new SpectrumGraph(520, 24, 150, 500, "Sygnał 1.");
            spectrumGraph2 = new SpectrumGraph(520, 184, 150, 500, "Sygnał 2.");
            spectrumGraph3 = new SpectrumGraph(520, 344, 150, 500, "Suma");
            spectrumGraph4 = new SpectrumGraph(520, 504, 150, 500, "Iloczyn");

            // inicjalizacja obiektow klasy sygnalow
            signal1 = new AnalogSignal(20, 100, 1000, 0.5);
            signal2 = new AnalogSignal(50, 10, 1000, 0.5);

            // Generowanie sygnalow na podstawie
            // podanych w konstruktorze parametrow
            signal1.GenerateSinusSignal();
            signal2.GenerateSinusSignal();

            // rysowanie wykresow sygnalu 1.
            courseGraph1.Signal = signal1;
            courseGraph1.Autoscale();
            courseGraph1.DrawGraph();

            spectrumGraph1.Signal = signal1;
            spectrumGraph1.Autoscale();
            spectrumGraph1.DFT();
            spectrumGraph1.DrawGraph();

            // rysowanie wykresow sygnalu 2.
            courseGraph2.Signal = signal2;
            courseGraph2.Autoscale();
            courseGraph2.DrawGraph();

            spectrumGraph2.Signal = signal2;
            spectrumGraph2.Autoscale();
            spectrumGraph2.DFT();
            spectrumGraph2.DrawGraph();

            // rysowanie wykresow sumy sygnalow
            Signal sumOfSignals = signal1 + signal2;

            courseGraph3.Signal = sumOfSignals;
            courseGraph3.Autoscale();
            courseGraph3.DrawGraph();

            spectrumGraph3.Signal = sumOfSignals;
            spectrumGraph3.Autoscale();
            spectrumGraph3.DFT();
            spectrumGraph3.DrawGraph();


            // rysowanie wykresow iloczynu sygnalow
            Signal productOfSignals = signal1 * signal2;

            courseGraph4.Signal = productOfSignals;
            courseGraph4.Autoscale();
            courseGraph4.DrawGraph();

            spectrumGraph4.Signal = productOfSignals;
            spectrumGraph4.Autoscale();
            spectrumGraph4.DFT();
            spectrumGraph4.DrawGraph();
        }
예제 #14
0
        /// <summary>
        /// Funkcja inicjalizujaca sygnaly i ich wykresy dla lab3
        /// </summary>
        private void initialize_Lab3()
        {
            // inicjalizacja obiektow klasy wykresow przebiegu sygnalu
            courseGraph1 = new CourseGraph(10, 24, 150, 500, "Nośna");
            courseGraph2 = new CourseGraph(10, 184, 150, 500, "Sygnał informacyjny");
            courseGraph3 = new CourseGraph(10, 344, 150, 500, "AM");
            courseGraph4 = new CourseGraph(10, 504, 150, 500, "PM");

            // inicjalizacja obiektow klasy wykresow widma
            spectrumGraph1 = new SpectrumGraph(520, 24, 150, 500, "Nośna");
            spectrumGraph2 = new SpectrumGraph(520, 184, 150, 500, "Sygnał informacyjny");
            spectrumGraph3 = new SpectrumGraph(520, 344, 150, 500, "AM");
            spectrumGraph4 = new SpectrumGraph(520, 504, 150, 500, "PM");

            // inicjalizacja obiektow klasy sygnalow
            signal1 = new AnalogSignal(50, 100, 1000, 0.5); // nośna
            signal2 = new AnalogSignal(50, 10, 1000, 0.5);  // sygnał informacyjny

            // Generowanie sygnalow na podstawie
            // podanych w konstruktorze parametrow
            signal1.GenerateSinusSignal();
            signal2.GenerateSinusSignal();

            // rysowanie wykresow sygnalu 1.
            courseGraph1.Signal = signal1;
            courseGraph1.DrawGraph();

            spectrumGraph1.Signal = signal1;
            spectrumGraph1.Limit(2);
            spectrumGraph1.DrawGraph();

            // rysowanie wykresow sygnalu 2.
            courseGraph2.Signal = signal2;
            courseGraph2.DrawGraph();

            spectrumGraph2.Signal = signal2;
            spectrumGraph2.Limit(2);
            spectrumGraph2.DrawGraph();

            // rysowanie wykresow AM
            AnalogSignal AM = new AnalogSignal();

            AM.AmplitudeModulation(signal1, signal2, 0.01);

            courseGraph3.Signal = AM;
            courseGraph3.Limit(1500);
            courseGraph3.DrawGraph();

            spectrumGraph3.Signal = AM;
            spectrumGraph3.Limit(15);
            spectrumGraph3.DrawGraph();

            //rysowanie wykresow PW
            AnalogSignal PM = new AnalogSignal();

            PM.PhaseModulation(signal1, signal2, 0.5);

            courseGraph4.Signal = PM;
            courseGraph4.DrawGraph();

            spectrumGraph4.Signal = PM;
            spectrumGraph4.Limit(2);
            spectrumGraph4.DrawGraph();
        }