एक जीएनयू रेडियो ओओटी के लिए एक अजगर आधारित बीईआर आत्मविश्वास स्तर कैलकुलेटर विकसित किया जा रहा है। संदर्भ 1 से, आत्मविश्वास के स्तर की गणना समीकरण द्वारा की जाती है https://www.keysight.com/main/editorial.jspx?ckey  =1481106&id=1481106&nid=-11143.0.00&lc=eng&cc=LV

हालाँकि, संदर्भ 2 सूत्र का उपयोग करके आत्मविश्वास के स्तर की गणना करता है: ref 2

पहला प्रश्न दो सूत्रों के बारे में है। वे अलग क्यों हैं? मैंने उन दोनों को लागू करने की कोशिश की। पहला संस्करण बहुत सीधा है। हालांकि, दूसरे सूत्र में एक्सपोनेंशियल और फैक्टोरियल ऑपरेशंस के कारण "ओवरफ्लोएरर: मैथ रेंज एरर" समस्या हुई। हम इससे कैसे निपटते हैं?

import math
def confidence_level(N,ber,E):
    sum = 0.0;
    for k in range(0,E):
        sum += math.pow(N*ber,k)/math.factorial(k);
    cl = 1.0 - math.exp(-N*ber)*sum;
    print cl;

confidence_level(1.80e+10, 1.0e-6, 6350);

संदर्भ 1: https:// www.keysight.com/main/editorial.jspx?ckey=1481106&id=1481106&nid=-11143.0.00&lc=eng&cc=LV

संदर्भ 2: https://www.jitterlabs.com/support/calculators /बेर-विश्वास-स्तर-कैलकुलेटर

संपादित करें ऐसा लगता है कि पहला सूत्र CL = 1 - क्स्प (-NErrors) तक कम हो जाता है क्योंकि BER = NErrors/NBits. ईबी/नंबर = 7 डीबी के साथ बीपीएसके मॉड्यूलेशन के लिए, 14 त्रुटियों का पता चलने के बाद 100% आत्मविश्वास का स्तर प्राप्त होता है, जो सटीक नहीं लगता है।

एनबीआईटी: 1600 पूर्वोत्तर: 1 बीईआर: 6.2500ई-04 सीएल: 6.3212ई-01

एनबीआईटी: 3200 पूर्वोत्तर: 1 बीईआर: 3.1250ई-04 सीएल: 6.3212ई-01

एनबीआईटी: 4800 पूर्वोत्तर: 3 बीईआर: 6.2500ई-04 सीएल: 9.5021ई-01

एनबीआईटी: 8000 पूर्वोत्तर: 6 बीईआर: 7.5000ई-04 सीएल: 9.9752ई-01

एनबीआईटी: 9600 पूर्वोत्तर: 6 बीईआर: 6.2500ई-04 सीएल: 9.9752ई-01

एनबीआईटी: 11200 पूर्वोत्तर: 8 बीईआर: 7.1429ई-04 सीएल: 9.9966ई-01

एनबीआईटी: 12800 पूर्वोत्तर: 8 बीईआर: 6.2500ई-04 सीएल: 9.9966ई-01

एनबीटी: 14400 पूर्वोत्तर: 9 बीईआर: 6.2500ई-04 सीएल: 9.9988ई-01

एनबीटी: 16000 पूर्वोत्तर: 9 बीईआर: 5.6250ई-04 सीएल: 9.9988ई-01

एनबीआईटी: 17600 पूर्वोत्तर: 10 बीईआर: 5.6818ई-04 सीएल: 9.9995ई-01

एनबिट्स: 19200 पूर्वोत्तर: 12 बीईआर: 6.2500ई-04 सीएल: 9.9999ई-01

एनबीआईटी: 20800 पूर्वोत्तर: 12 बीईआर: 5.7692ई-04 सीएल: 9.9999ई-01

एनबीटी: 22400 पूर्वोत्तर: 12 बीईआर: 5.3571ई-04 सीएल: 9.9999ई-01

एनबीटी: 24000 एनईआरएस: 14 बीईआर: 5.8333ई-04 सीएल: 1.0000ई+00

एनबीआईटी: 25600 पूर्वोत्तर: 16 बीईआर: 6.2500ई-04 सीएल: 1.0000ई+00

एनबीआईटी: 27200 पूर्वोत्तर: 18 बीईआर: 6.6176ई-04 सीएल: 1.0000ई+00

एनबीटी: 28800 पूर्वोत्तर: 18 बीईआर: 6.2500ई-04 सीएल: 1.0000ई+00

2
Moses Browne Mwakyanjala 7 अगस्त 2019, 10:13

1 उत्तर

सबसे बढ़िया उत्तर

सूत्र भिन्न क्यों हैं?

फॉर्मूला 1 का उपयोग केवल तभी किया जा सकता है जब आपके पास शून्य त्रुटियां हों (यानी ई = 0)। उस स्थिति में, यह सूत्र 2 के बराबर है।

आत्मविश्वास के स्तर की गणना करने के लिए फॉर्मूला 2 का उपयोग किया जा सकता है, चाहे आपने कितनी भी त्रुटियां देखी हों।

हम अतिप्रवाह से कैसे निपटते हैं?

दूसरे समीकरण में शब्द e^(-N*BER_s) * sum(...) poisson है पैरामीटर लैम्ब्डा = N*BER_s और k = E के साथ संचयी वितरण फ़ंक्शन। सुविधाजनक रूप से, यह फ़ंक्शन scipy.stats में कार्यान्वित मॉड्यूल। इस प्रकार, हम विश्वास स्तर की गणना निम्नानुसार कर सकते हैं:

from scipy.stats import poisson
def confidence_level(N, BER_s, E):
    return 1 - poisson.cdf(E, N*BER_s)

आपके मानों (N=1.80e+10, BER_s=1.0e-6, E=6350) के लिए, यह फ़ंक्शन 1.0 लौटाता है। इस प्रकार, आप 100% आश्वस्त हो सकते हैं, कि आपके परीक्षण का सही BER 1.0e-6 से कम है।

1
jkm 8 अगस्त 2019, 11:53