Пример #1
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();
        }
Пример #2
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();
        }
Пример #3
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();
        }