/// <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(); }
/// <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(); }
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(); }
/// <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(); }
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(); }
/// <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(); }
/// <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); }
/// <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(); }
/// <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(); }