Ejemplo n.º 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();
        }
Ejemplo n.º 2
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();
        }
 /// <summary>
 /// Funkcja realizujaca modulacje cyfrową ASK
 /// </summary>
 public void ASK(AnalogSignal carrier, DigitalSignal informaion)
 {
     course = new double[informaion.LengthOfBuffer];
     for (int time = 0; time < informaion.LengthOfBuffer; time++)
     {
         if (informaion.Course[time] == 0)
         {
             course[time] = 0;
         }
         else
         {
             course[time] = carrier.Course[time];
         }
     }
 }
Ejemplo n.º 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();
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 6
0
        private static DigitalSignal operatorMultiplication(DigitalSignal firstSignal, DigitalSignal secondSignal)
        {
            DigitalSignal productOfSignals = firstSignal;

            double[] course;
            course = new double[productOfSignals.LengthOfBuffer];
            for (int time = 0; time < productOfSignals.LengthOfBuffer; time++)
            {
                productOfSignals.Course[time] = firstSignal.Course[time] * secondSignal.Course[time];
                // Sprawdzenie maksymalnej amplitudy i przypisanie jej do parametru
                if (productOfSignals.Course[time] > productOfSignals.Amplitude)
                {
                    productOfSignals.Amplitude = course[time];
                }
            }
            return(productOfSignals);
        }
        /// <summary>
        /// Funkcja realizujaca modulacje cyfrową FSK
        /// </summary>
        public void FSK(DigitalSignal informaion, int n)
        {
            double frequency1 = n / informaion.TimeOfBit;
            double frequency2 = n * 2 / informaion.TimeOfBit;

            course = new double[informaion.LengthOfBuffer];
            for (int time = 0; time < informaion.LengthOfBuffer; time++)
            {
                if (informaion.Course[time] == 0)
                {
                    course[time] = Math.Sin(2 * Math.PI * frequency1 * time / SamplingFrequency);
                }
                else
                {
                    course[time] = Math.Sin(2 * Math.PI * frequency2 * time / SamplingFrequency);
                }
            }
        }
        /// <summary>
        /// Funkcja realizujaca modulacje cyfrową PSK
        /// </summary>
        public void PSK(DigitalSignal informaion)
        {
            double frequency = 1 / informaion.TimeOfBit;

            this.frequency = frequency;
            lengthOfBuffer = informaion.LengthOfBuffer;
            course         = new double[informaion.LengthOfBuffer];
            for (int time = 0; time < informaion.LengthOfBuffer; time++)
            {
                if (informaion.Course[time] == 0)
                {
                    course[time] = Math.Sin(2 * Math.PI * frequency / SamplingFrequency * time);
                }
                else
                {
                    course[time] = Math.Sin(2 * Math.PI * frequency * time / SamplingFrequency + Math.PI);
                }
            }
        }
Ejemplo n.º 9
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();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Funkcja inicjalizująca obiekty sygnałów do wybranego labolatorium
        /// </summary>
        private void initialize(int lab)
        {
            Controls.Remove(courseGraph1);
            Controls.Remove(courseGraph2);
            Controls.Remove(courseGraph3);
            Controls.Remove(courseGraph4);

            Controls.Remove(spectrumGraph1);
            Controls.Remove(spectrumGraph2);
            Controls.Remove(spectrumGraph3);
            Controls.Remove(spectrumGraph4);

            courseGraph1 = null;
            courseGraph2 = null;
            courseGraph3 = null;
            courseGraph4 = null;

            spectrumGraph1 = null;
            spectrumGraph2 = null;
            spectrumGraph3 = null;
            spectrumGraph4 = null;

            signal1 = null;
            signal2 = null;
            signal3 = null;

            digital = null;

            ft = new FourierTransform();

            this.Controls.Clear();

            switch (lab)
            {
            case 1:
                initialize_Lab1_Lab2();
                break;

            case 2:
                initialize_Lab3();
                break;

            case 3:
                initialize_Lab4_ASK();
                break;

            case 4:
                initialize_Lab4_FSK_PSK();
                break;

            case 5:
                initialize_Lab5_ASK();
                break;

            case 6:
                initialize_Lab5_PSK();
                break;

            case 7:
                initialize_Lab5_FSK();
                break;

            case 8:
                initialize_SquareTriangleSaw();
                break;

            case 9:
                initialize_MSE();
                break;

            case 10:
                initialize_MSEPlot();
                break;

            case 11:
                initialize_Correlation_1();
                break;

            case 12:
                initialize_Correlation_2();
                break;

            case 13:
                initialize_IDFT();
                break;

            case 14:
                initialize_Sinc();
                break;

            case 15:
                initialize_FilteringOfNoise();
                break;

            case 16:
                initialize_generateFilter_1();
                break;

            case 17:
                initialize_generateFilter_2();
                break;

            case 18:
                initialize_generateFilter_3();
                break;

            case 19:
                initialize_CDMA();
                break;

            default:
                initialize_Lab1_Lab2();
                break;
            }
            Controls.Add(courseGraph1);
            Controls.Add(courseGraph2);
            Controls.Add(courseGraph3);
            Controls.Add(courseGraph4);

            Controls.Add(spectrumGraph1);
            Controls.Add(spectrumGraph2);
            Controls.Add(spectrumGraph3);
            Controls.Add(spectrumGraph4);

            InitializeComponent();
        }