السلام عليكم ورحمة الله وبركاته
منذ اكثر من شهرين وانا ابحث واحاول ان اجد كيف يمكن ان اقيس زاوية الانزياح بين موجتين جيبيتين باستخدام مكتبة fft ولكن دون جدوى
وها انا اليوم اطرح الموضوع على هذا المنتدى الكريم عسى ولعل ان اجد من يساعدني او يعطيني راس الخيط حيث انني جديد على c#
الموجة الاولى يتم التقاطها من مدخل كرت الصوت اليمين والموجة الثانية يتم التقاطها من مدخل كرت الصوت اليسار .
يتم تطبيق معادلة رياضية للحصول على موجة جديدة من الموجتين السابقتين والمعادلة هي
z= 10000*(L/(R-L))
على اعتبار ان :
L:الموجة اليسار
R: الموجة اليمين
z: الممانعة او الموجة الجديدة
بعدها يتم ارسال z الى تحليل (فوريهfft) فيعطينة القيمة الحقيقية real والقيمة التخيلية imagine للموجة الجديدة
ويتم حساب زاوية الانزياح بالدرجات والتي تساوي ظل القيمة التخيلية على الحقيقية للموجة z
zphase =atan( imag(z)/real(z));
ولقد وجدت عدة برامج مفتوحة المصدر بعدة لغات واكثرها بلغة C#
كما في المثال المرفق ولكن كل هذه البرامج هدفها تحليل الموجة اليمين واليسار وعرضهما على الشاشة بشكل راسم اشارة
في المرفق مثاللين لاستخدام هذه المكتبة
المثال الاول ياخذ الاشارة من مدخل اليسار فقط ويقوم بتحليله
المثال الثاني يلتقط الاشارة من المدخلين ويعرضهما على الشاشة
والمطلوب هو كيف يمكن ان نعدل على البرنامج ليلتقط الاشارة من اليمين واليسار معا
ونطبق المعادلة السابقة لاستخراج الممانعة z ونرسلها للتحليل لنحصل على زاوية الانزياح.
(قد يحتاج الرنامج الاول الى وجود داريكت اكس على الجهاز)
ويجب ان ايكون الاين ان او المايك موصول بالكمبيوتر ليعمل البرنامجين
ولكم جزيل الشكر والعرفان
