कुछ पत्रों में, मैंने पढ़ा कि योजक शोर बैंड सीमित गाऊसी सफेद है।
मैं इस प्रकार के शोर का उपयोग कैसे कर सकता हूं MATLAB का उपयोग करें?
कुछ पत्रों में, मैंने पढ़ा कि योजक शोर बैंड सीमित गाऊसी सफेद है।
मैं इस प्रकार के शोर का उपयोग कैसे कर सकता हूं MATLAB का उपयोग करें?
जवाबों:
आप पहले सफेद शोर पैदा करके गॉलसीयन शोर उत्पन्न करेंगे, फिर इसे उस बैंडविड्थ को फ़िल्टर करेंगे जो आप चाहते हैं। उदाहरण के तौर पे:
% design FIR filter to filter noise to half of Nyquist rate
b = fir1(64, 0.5);
% generate Gaussian (normally-distributed) white noise
n = randn(1e4, 1);
% apply to filter to yield bandlimited noise
nb = filter(b,1,n);
बस जेसन के जवाब देने के लिए एक छोटे से अतिरिक्त के रूप में: आम तौर पर आप किसी दिए गए विचरण के साथ शोर bandlimited उत्पन्न करने की जरूरत है । आप इस कोड को जेसन के उत्तर में दिए गए कोड में जोड़ सकते हैं:
var = 3.0; % just an example
scale = sqrt(var)/std(nb);
nb = scale*nb; % nb has variance 'var'
ध्यान दें कि आपको फ़िल्टर करने के बाद स्केलिंग करनी होगी, क्योंकि सामान्य तौर पर फ़िल्टर शोर विचरण को बदल देता है।
हर बार जब आप असतत शोर नमूने (MATLAB का उपयोग करते हुए उत्पन्न randn
/ rand
उदाहरण के लिए) आप वास्तव में एक बैंड शोर सीमित उत्पन्न करते हैं।
आपको बस इतना करना है कि असतत नमूनों के विचरण का समायोजन "निरंतर" शोर के विचरण के लिए किया गया है, जो उन नमूनों को कथित रूप से लिया गया है।
पूर्ण विवरण यहाँ दिया गया है - विशिष्ट बैंडविड्थ के लिए संचार प्रणालियों में AWGN (एडिटिव व्हाइट गॉसियन शोर) को कैसे अनुकरण करें ।
इस पोस्ट में उल्लिखित दृष्टिकोण का उपयोग क्यों नहीं किया जा सकता है ?
यह वांछित आवृत्तियों के साथ शुरू होता है और फ़िल्टरिंग के बजाय सिग्नल बनाने के लिए पीछे की ओर काम करता है। यह अजगर कोड का उपयोग करता है, लेकिन मूल मैटलैब कोड से भी लिंक करता है।
क्या इस तरह से कोई कमियां हैं?
मुझे एहसास है कि यह प्रश्न वर्तमान दृश्य में पॉप अप हुआ है क्योंकि @Drazick ने अपने 2013 के उत्तर को संशोधित किया है।
rand()
frand()
"सफेद शोर" निश्चित रूप से एक मिथ्या नाम है, यहां तक कि एनालॉग संकेतों के लिए भी। फ्लैट स्पेक्ट्रम के साथ एक "पावर सिग्नल" अनंत के लिए भी अनंत शक्ति है। वस्तुतः गाऊसी और "सफेद" संकेत के रूप में उत्पन्न एक परिमित शक्ति है (जो विचरण है और 1 है) और परिमित बैंडविड्थ जो एकतरफा के रूप में व्यक्त किया गया है, Nyquist है। (इसलिए 'पॉवर स्पेक्ट्रल डेंसिटी' या पॉवर प्रति यूनिट फ्रिक्वेंसी 1 / Nyquist है।) इसे स्केल करें और इसे ऑफ़सेट करें, लेकिन कृपया।
मैं इसे बाद में संपादित कर सकता हूं और इसे स्पष्ट रूप से दिखाने के लिए कुछ सी-जैसे छद्म कोड जोड़ सकता हूं।
पूर्ण स्पेक्ट्रम सफेद शोर पैदा करना और फिर इसे छानना ऐसा है जैसे आप अपने घर की दीवार को सफेद रंग देना चाहते हैं, इसलिए आप पूरे घर को सफेद रंग देने का फैसला करते हैं और फिर दीवार को छोड़कर सभी घर को वापस पेंट करते हैं। मुहावरेदार है। (लेकिन इलेक्ट्रॉनिक्स में समझ है)।
मैंने एक छोटा सी कार्यक्रम बनाया जो किसी भी आवृत्ति और किसी भी बैंडविड्थ पर सफेद शोर उत्पन्न कर सकता है (चलो 16kHz केंद्रीय आवृत्ति और 2 kHz "चौड़ा" कहते हैं)। कोई फ़िल्टरिंग शामिल नहीं है।
मैंने जो किया वह सरल है: मुख्य (अनंत) लूप के अंदर मैं केंद्र आवृत्ति पर एक साइनसॉइड उत्पन्न करता हूं +/- एक यादृच्छिक संख्या के बीच-वर्कफ़्लो बैंडविड्थ और + हाफ़बैंड एक्सपोज़र, फिर मैं उस आवृत्ति को अनियंत्रित संख्या के नमूने (दानेदारता) के लिए रखता हूं और यह परिणाम है:
सफेद शोर 2kHz 16kHz केंद्र आवृत्ति पर चौड़ा
छद्म कोड:
while (true)
{
f = center frequency
r = random number between -half of bandwidth and + half of bandwidth
<secondary loop (for managing "granularity")>
for x = 0 to 8 (or 16 or 32....)
{
[generate sine Nth value at frequency f+r]
output = generated Nth value
}
}