Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Data data1 = new Data(1, 2, 0, 0);
            Data data2 = new Data(1, 50, 0, 0.9);

            Signal signal1 = new SinusSignal(data1);
            Signal signal2 = new ImpulseSignal(data2);


            var values = Modulation.ApplyFM(signal1, signal2, SampleRate, Seconds);

            SoundGenerator soundGenerator = new SoundGenerator(SampleRate, Seconds,
                                                               $"MS {signal1.GetType()} A {data1.Amplitude} F {data1.Frequency} phi0 {data1.StartPhase} D {data1.DutyFactor}. " +
                                                               $"CS {signal2.GetType()} A {data2.Amplitude} F {data2.Frequency} phi0 {data2.StartPhase} D {data2.DutyFactor}"
                                                               );

            soundGenerator.Generate(values, true);
        }
Ejemplo n.º 2
0
        public double[] GetModulationSignal(Signal modulatorSignal,
                                            Signal carrierSignal)
        {
            if (IS_AM)
            {
#pragma warning disable CS0162 // Unreachable code detected
                return(Modulation.ApplyAM(modulatorSignal,
                                          carrierSignal, SAMPLE_RATE, SECONDS));

#pragma warning restore CS0162 // Unreachable code detected
            }
            else
            {
#pragma warning disable CS0162 // Unreachable code detected
                return(Modulation.ApplyFM(modulatorSignal,
                                          carrierSignal, SAMPLE_RATE, SECONDS));

#pragma warning restore CS0162 // Unreachable code detected
            }
        }