public void CalculateSignalPower_1() { // Arrange; var radarRangeEquation = new RadarRangeEquation(); var inputs = new RadarRangeEquationInputs() { TransmitFrequency = 9.5e9, TransmitPower = 8000, PulseDuration = 1.0e-6, PulseBandwidth = 5.0e6, NumberOfPulses = 1000, TransmitAntennaGain_dB = 35.0, TargetRange = 100.0e3, TargetRadarCrossSection = 5.0, ReceiveAntennaGain_dB = 35.0, SystemLosses_dB = 8.0, SystemNoiseFigure_dB = 3.0 }; var expectedSignalToNoiseRatio_dB = 16.007445685340819; // Act: var outputs = radarRangeEquation.CalculateSignalPower(inputs); // Assert: outputs.SignalToNoiseRatio_dB.ShouldBe(expectedSignalToNoiseRatio_dB); }
public RadarRangeEquationOutputs CalculateSignalPower(RadarRangeEquationInputs inputs) { var(signalPower, noisePower, signalToNoiseRatio) = RadarRangeEquationUtilities.CalculateSignalToNoiseRatio(inputs.TransmitPower, inputs.PulseDuration, inputs.PulseBandwidth, inputs.NumberOfPulses, inputs.TransmitAntennaGain, inputs.ReceiveAntennaGain, inputs.TransmitWavelength, inputs.TargetRadarCrossSection, inputs.TargetRange, inputs.SystemLosses, inputs.SystemNoiseFigure); var outputs = new RadarRangeEquationOutputs() { SignalPower = signalPower, NoisePower = noisePower, SignalToNoiseRatio = signalToNoiseRatio }; return(outputs); }