Python - Calculate Signal to Noise Ratio (Watts/Volts)
by matt392 in Circuits > Software
24 Views, 0 Favorites, 0 Comments
Python - Calculate Signal to Noise Ratio (Watts/Volts)

# Formula to calculate Signal to Noise Ratio # Unit: watts: 20 * log10 (signal/noise) # Unit: voltage: 10 * log10 (signal/noise) # Use functions for each one # >>>>>>> use math.log10() import math print ("Formula to compute Signal to Noise Ratio for watts and voltage") print ("The formula for watts is: 20 * log10 (signal/noise)") print ("The formula for voltage is: 10 * log10 (signal/noise)") # Define functions def wattssignaltonoiseratio(signal, noise): SignalToNoiseRatio = (20 * (math.log10(signal/noise)) ) print("The Signal to Noise ratio in dB is: ", SignalToNoiseRatio) def voltagesignaltonoiseratio(signal,noise): SignalToNoiseRatio = (10 * (math.log10(signal/noise)) ) print("The Signal to Noise ratio in dB is: ", SignalToNoiseRatio) # Input the data # While loop to ask user if they want to enter watts or voltage WattsOrVoltage = 0 while (WattsOrVoltage==0): EnteredWattsOrVoltage = input ("To calculate signal to noise ratio using watts, enter 1 or voltage, enter 2: ") # Convert to integer WattsOrVoltage = int(EnteredWattsOrVoltage) print ("Number entered: ", WattsOrVoltage) # Test to see if the number is 1, 2 or another number if WattsOrVoltage==1: print ("You chose 1.") # Get data from user EnteredSignal = input("Enter the signal: ") EnteredNoise = input("Enter the noise: ") signal = float(EnteredSignal) noise = float(EnteredNoise) # Call the watt function wattssignaltonoiseratio(signal, noise) elif WattsOrVoltage==2: print ("You chose 2.") # Get data from user EnteredSignal = input("Enter the signal: ") EnteredNoise = input("Enter the noise: ") signal = float(EnteredSignal) noise = float(EnteredNoise) # Call the voltage function voltagesignaltonoiseratio(signal, noise) else: print ("Be sure to enter number between 1 and 2.") WattsOrVoltage = 0