Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.44 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. if(preg_match('#/1(?:\s+)(\d+)(?:\s+)?(?:,+)?(?:\s+)?(\d+)(?:\s+)?(?:,+)?(?:\s+)?(\d+)#iu', $_TEXT, $res))
  4.     {
  5.        
  6.         # $res[1] is Max Peak Power
  7.         # $res[2] is Impedance
  8.         # $res[3] is Crest Factor (log)
  9.        
  10.         $accuracy = 2; // число знаков после запятой
  11.        
  12.         $mpp = $res[1];
  13.         $imp = $res[2];
  14.         $crest = $res[3];
  15.        
  16.         ### Counting Max Peak Voltage
  17.         $result['mpv'] = round(sqrt($mpp * $imp), $accuracy); // корень квадратный + округление до 4 знака
  18.        
  19.         ### Counting Crest Factor (lin)
  20.         $result['crest_lin'] = round(pow(10, $crest / 20), $accuracy); // степень + округление
  21.        
  22.         ### Crest Factor
  23.         $result['crest_factor'] = round($result['mpv'] / $result['crest_lin'], $accuracy);
  24.        
  25.         ### RMS Power Rating
  26.         $result['rms_pr'] = round($result['crest_factor'] * $result['crest_factor'] / $imp, 0);
  27.        
  28.        
  29.         ### 3dB Crest Factor (1.41:1)
  30.         $result['3db_crest_factor'] = round($result['mpv'] * 0.707, $accuracy); // деление + округление
  31.        
  32.         ### 3 dB RMS Power Rating
  33.         $result['3db_rms_pr'] = round($result['3db_crest_factor'] * $result['3db_crest_factor'] / $imp, 0);
  34.        
  35.        
  36.        
  37.         ### 6dB Crest Factor (2:1)
  38.         $result['6db_crest_factor'] = round($result['mpv'] / 2, $accuracy);
  39.        
  40.         ### 6 dB RMS Power Rating
  41.         $result['6db_rms_pr'] = round($result['6db_crest_factor'] * $result['6db_crest_factor'] / $imp, 0);
  42.        
  43.        
  44.        
  45.         ### 12dB Crest Factor (4:1)
  46.         $result['12db_crest_factor'] = round($result['mpv'] / 4, $accuracy);
  47.        
  48.         ### 12 dB RMS Power Rating
  49.         $result['12db_rms_pr'] = round($result['12db_crest_factor'] * $result['12db_crest_factor'] / $imp, 0);
  50.        
  51.        
  52.        
  53.         ### 16dB Crest Factor (6.3:1)
  54.         $result['16db_crest_factor'] = round($result['mpv'] * 0.15848932, $accuracy);
  55.        
  56.         ### 16 dB RMS Power Rating
  57.         $result['16db_rms_pr'] = round($result['16db_crest_factor'] * $result['16db_crest_factor'] / $imp, 0);
  58.        
  59.        
  60.         $message  = '```';
  61.        
  62.        
  63.         $message .= 'Max Peak Power:                    '.$mpp.' Watts Peak'.PHP_EOL;
  64.         $message .= 'Impedance:                         '.$imp.' Ohms'.PHP_EOL;
  65.         $message .= 'Max Peak Voltage:                  '.$result['mpv'].' Volts Peak'.PHP_EOL;
  66.         $message .= PHP_EOL;
  67.        
  68.         $message .= 'Crest Factor (log):                '.$crest.' dB'.PHP_EOL;
  69.         $message .= 'Crest Factor (lin):                '.$result['crest_lin'].':1'.PHP_EOL;
  70.         $message .= 'Crest Factor:                      '.$result['crest_factor'].' Volts RMS'.PHP_EOL;
  71.         $message .= 'RMS Power Rating:                  '.$result['rms_pr'].' Watts RMS'.PHP_EOL;
  72.         $message .= PHP_EOL;
  73.        
  74.         $message .= '3dB Crest Factor (1.41:1):         '.$result['3db_crest_factor'].' Volts RMS'.PHP_EOL;
  75.         $message .= 'RMS Power Rating:                  '.$result['3db_rms_pr'].' Watts RMS             Sine Wave'.PHP_EOL;
  76.         $message .= PHP_EOL;
  77.        
  78.         $message .= '6dB Crest Factor (2:1):            '.$result['6db_crest_factor'].' Volts RMS'.PHP_EOL;
  79.         $message .= 'RMS Power Rating:                  '.$result['6db_rms_pr'].' Watts RMS             AES/EIA Noise'.PHP_EOL;
  80.         $message .= PHP_EOL;
  81.        
  82.         $message .= '12dB Crest Factor (4:1):           '.$result['12db_crest_factor'].' Volts RMS'.PHP_EOL;
  83.         $message .= 'RMS Power Rating:                  '.$result['12db_rms_pr'].' Watts RMS            Pink Noise'.PHP_EOL;
  84.         $message .= PHP_EOL;
  85.        
  86.         $message .= '16dB Crest Factor (6.3:1):         '.$result['16db_crest_factor'].' Volts RMS'.PHP_EOL;
  87.         $message .= 'RMS Power Rating:                  '.$result['16db_rms_pr'].' Watts RMS            Music'.PHP_EOL;
  88.        
  89.        
  90.         $message .= '```';
  91.         sendMessage($_CHAT['id'], $message, 'Markdown');
  92.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement