के बिना 1 डी फास्ट कनवॉल्यूशन मुझे 2 बड़े सरणी के खिलाफ 1 डी कनवॉल्यूशन चाहिए। मैं इस कोड का उपयोग सी # में कर रहा हूं लेकिन इसे चलाने में बहुत समय लगता है।एफडीएफ
मुझे पता है, मुझे पता है! एफएफटी संकल्प बहुत तेज है। लेकिन इस परियोजना में मैं इसका उपयोग नहीं कर सकता। यह एफएफटी का उपयोग न करने के लिए प्रोजेक्ट की बाधा है (कृपया पूछें क्यों नहीं: /)।
यह सी # में मेरे कोड (matlab से मोड़ा वैसे,) है:
var result = new double[input.Length + filter.Length - 1];
for (var i = 0; i < input.Length; i++)
{
for (var j = 0; j < filter.Length; j++)
{
result[i + j] += input[i] * filter[j];
}
}
तो, किसी को भी FFT widthout किसी भी तेजी से घुमाव के एल्गोरिथ्म जानता है?
हालांकि आपने यह नहीं कहा है कि आप एफएफटी का उपयोग क्यों नहीं कर सकते? यदि यह एक क्लास प्रोजेक्ट के लिए है जहां यह स्पष्ट रूप से निषिद्ध है, तो आपको शायद इसे होमवर्क के रूप में टैग करना चाहिए। – templatetypedef
सी # सीयूडीए कॉल कर सकते हैं? अगर आप समानांतर निर्देशों का उपयोग कर सकते हैं, जो निष्पक्ष दृढ़ संकल्पों को काफी गति देता है। या आप Winograd ट्रांसफॉर्म या कुछ (Cooley-Tukey क्लासिक एफएफटी नहीं, अगर यह आपके "नो एफएफटी" नियम को पूरा करने के लिए काफी दूर है) का उपयोग कर सकते हैं। या यदि आप इनपुट या फ़िल्टर के बारे में कुछ जानते हैं (जैसे केवल कुछ आवृत्तियों मौजूद हैं या कुछ) तो आप उस ज्ञान का उपयोग कर सकते हैं। आपको अपनी बाधाओं और आपके बाहरी ज्ञान के बारे में और अधिक विशिष्ट होना होगा। – mtrw