یونٹ 4 / 9

سگنل پروسیسنگ اور ڈیٹا کا تجزیہ

فائدہ:

  • سگنل پروسیسنگ پیرامیٹرز کو درست طریقے سے قائم کرنے کی صلاحیت جیسے نمونے لینے کی فریکوئنسی، فلٹر کی قسم اور AI کے ساتھ ونڈونگ
  • FFT، فلٹر ڈیزائن اور شور کے تجزیہ اور Nyquist اور aliasing کو چیک کرنے کے لیے Python کوڈ بنانے کی صلاحیت
  • پیمائش اور جسمانی توقع سے موازنہ کرکے AI سے تیار کردہ سپیکٹرم تشریح کی تصدیق کرنے کی اہلیت

اکیلے سینسر، مائیکروفون، یا پاور لائن سے خام ڈیٹا اکثر بے معنی ہوتا ہے۔ اسے تعدد، طول و عرض اور وقت کے محور پر عمل اور تشریح کرنا ضروری ہے۔ FFT کے ساتھ سپیکٹرم نکالنا، شور کو فلٹر کرنا، وائبریشن کے دستخط کو پہچاننا... یہ سب سگنل پروسیسنگ ہیں اور AI اس علاقے میں Python کوڈ تیزی سے تیار کرتا ہے، تصورات کی وضاحت کرتا ہے، فلٹر کوفیشنٹ کا حساب لگاتا ہے۔ لیکن سگنل پروسیسنگ میں ایک چھوٹی سی پیرامیٹر کی خرابی (غلط سیمپلنگ فریکوئنسی، غلط ونڈو، اسکپڈ Nyquist کنٹرول) خاموشی سے پورے تجزیہ کو برباد کر دیتی ہے۔ کوڈ غلطیاں نہیں دیتا، یہ صرف غلط نتائج دیتا ہے۔ اس یونٹ میں، ہم AI کے ساتھ درست پیرامیٹرز کو ترتیب دینے، Nyquist اور aliasing کے لحاظ سے تیار کردہ کوڈ کو چیک کرنے، اور فزیکل ریئلٹی کے ساتھ اسپیکٹرم کی تشریح کی تصدیق کا احاطہ کریں گے۔

بنیادی پیرامیٹرز: نمونے لینے، Nyquist، Aliasing

ڈیجیٹل سگنل پروسیسنگ کا پہلا اصول Nyquist-Shannon تھیوریم ہے: کسی سگنل کو درست طریقے سے ظاہر کرنے کے لیے، نمونے لینے کی فریکوئنسی سگنل میں سب سے زیادہ فریکوئنسی والے جزو سے کم از کم دو گنا ہونی چاہیے۔ بصورت دیگر، اعلی تعدد کم تعدد (علامت) کے طور پر ظاہر ہوں گے اور اسے تبدیل نہیں کیا جا سکتا۔

سگنل میں سب سے زیادہ فریکوئنسی: f_max = 2 kHz کم سے کم نمونے لینے کی فریکوئنسی: f_s ≥ 2 · f_max = 4 kHz عملی طور پر مارجن چھوڑنے کے لیے: f_s ≈ 5 · f_max = 10 kHz منتخب کیا گیا ہے اس کے علاوہ، ایک اینالاگ اینٹی ایلیزنگ فلٹر بھی ضروری ہے۔

احتیاط: جب AI نمونے لینے کی فریکوئنسی تجویز کرتا ہے، تو یہ یقینی بنائیں کہ آیا یہ آپ کے سگنل کے اعلیٰ ترین جزو کی بنیاد پر Nyquist فراہم کرتا ہے۔ کوڈ نمونے لینے کی کم فریکوئنسی پر بھی غلطیوں کے بغیر چلتا ہے۔ لیکن عرفیت کی وجہ سے نتیجہ غلط ہے۔ مزید برآں، کوئی بھی سافٹ ویئر ہارڈ ویئر میں اینٹی ایلیزنگ فلٹر کے بغیر اس غلطی کو کالعدم نہیں کر سکتا۔

FFT کے لیے ریزولوشن اور ونڈونگ

FFT کی فریکوئنسی ریزولوشن نمونے لینے کی فریکوئنسی اور نمونوں کی تعداد پر منحصر ہے: Δf = f_s / N. بہتر ریزولوشن کے لیے آپ یا تو زیادہ نمونے جمع کرتے ہیں یا کم f_s کا انتخاب کرتے ہیں (Nyquist کو توڑے بغیر)۔ مزید برآں، سگنل کے آغاز اور اختتام کے درمیان وقفہ "سپیکٹرل لیکیج" پیدا کرتا ہے۔ اس کو کم کرنے کے لیے، ونڈو فنکشنز جیسے ہین اور ہیمنگ کا اطلاق ہوتا ہے۔

f_s = 10 kHz، N = 1024 نمونے فریکونسی ریزولوشن: Δf = 10000 / 1024 ≈ 9.77 Hz کل ریکارڈنگ کا وقت: T = N / f_s = 1024 / 10000 ≈ 102.4 ms

FFT اور فلٹر کوڈ بنانا اور چیک کرنا

AI سے FFT کوڈ کی درخواست کرتے وقت نمونے لینے کی فریکوئنسی، ونڈو کی قسم، اور ایکسس پیمانے کو واضح طور پر بیان کریں۔ درج ذیل کوڈ سگنل کے یک طرفہ طول و عرض سپیکٹرم کو آؤٹ پٹ کرتا ہے:

numpy کو npfs = 10000 # سیمپلنگ فریکوئنسی (Hz) کے طور پر درآمد کریں - Nyquist کی تصدیق کریں!N = 1024t = np.arange(N) / fs# نمونہ سگنل: 500 Hz + 1500 Hzx = np.sin (2*np.pi*500t) +* 0.5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # ونڈونگ: اسپیکٹرل لیک کو کم کرتا ہے جس کے ذریعے حاصل کیا جاتا ہے # check peak frequenciespeaks = f[np.argsort(mag)[-2:]]print("Dominant frequencies (Hzrts)":

اس کوڈ کو چیک کرتے وقت آپ سے پوچھا جائے گا: کیا فریکوئنسی محور واقعی Hz ہے یا نمونہ انڈیکس (rfftfreq استعمال کیا گیا ہے)؟ کیا طول و عرض کو ونڈو گین پر معمول بنایا گیا ہے؟ کیا متوقع 500 اور 1500 ہرٹز چوٹیاں واقعی ان مقامات پر واقع ہوتی ہیں؟ اگر آپ ایک معلوم ٹیسٹ سگنل (سنگل فریکوئنسی سائن) کے ساتھ کوڈ کی تصدیق کرتے ہیں، تو آپ اعتماد کے ساتھ محور اور نارملائزیشن کی تصدیق کریں گے۔

کمزور پرامپٹ / مضبوط اشارہ

کمزور:"اس ڈیٹا پر FFT لگائیں۔" (نتیجہ: نمونے لینے کی فریکوئنسی، محور کا پیمانہ اور ونڈونگ واضح نہیں ہے؛ غالباً گراف غلط محور پر بنایا گیا ہے۔) STRONG:"10 کلو ہرٹز کے نمونے والے سگنل پر FFT کا اطلاق کریں۔ حاصل کریں۔- دو غالب فریکوئنسیوں کو ڈیجیٹل طور پر پرنٹ کریں۔- گراف پر Nyquist کی حد (5 kHz) کو نشان زد کریں نوٹ کریں کہ اگر سیمپلنگ فریکوئنسی غلط ہے تو محور بدل جائے گا۔"

فلٹر ڈیزائن اور شور کا تجزیہ

AI کم/ہائی/بینڈ پاس فلٹر گتانک (FIR/IIR) پیدا کر سکتا ہے۔ لیکن فلٹر کی کٹ آف فریکوئنسی، ترتیب اور استحکام کو چیک کرنا ضروری ہے۔ یہ اعلی ترتیب میں عدم استحکام اور مرحلے کی تحریف کا سبب بن سکتا ہے، خاص طور پر IIR فلٹرز میں۔ فلٹر کو ڈیزائن کرنے کے بعد، فریکوئنسی رسپانس (Bode-like) کو پلاٹ کریں تاکہ دیکھیں کہ کٹ آف صحیح جگہ پر ہے اور پاس بینڈ میں کوئی ناپسندیدہ لہر نہیں ہے۔

شور کے تجزیہ میں عام کام شور سے حقیقی سگنل کو الگ کرنا ہے۔ یہاں، سگنل کی فزیکل بینڈوڈتھ کے خلاف AI کی تجویز کردہ حد یا فلٹر کا اندازہ کریں: اگر آپ کا حقیقی سگنل 0-500 ہرٹز پر ہے، تو 2 کلو ہرٹز پر ایک جزو زیادہ تر شور یا مداخلت کا امکان ہے۔ AI اعداد و شمار دیتا ہے؛ آپ جسمانی تشریح کرتے ہیں۔

طبیعی حقیقت کے ساتھ سپیکٹرم کی تشریح کی توثیق کرنا

سپیکٹرم کی تشریح کرتے وقت، AI معقول بناتا ہے لیکن ہمیشہ درست اندازہ نہیں لگاتا جیسے کہ "50 Hz پر ایک چوٹی ہے، یہ گرڈ مداخلت ہے۔" ان تبصروں کا جسمانی توقع سے موازنہ کریں: کیا سسٹم میں واقعی 50 ہرٹز مین کنکشن ہے؟ کیا متوقع گردش کی فریکوئنسی اور ہارمونکس موٹر کے وائبریشن سپیکٹرم میں تقریباً موجود ہیں؟ اگر ممکن ہو تو، دوسرے طریقہ (مختلف سینسر، مختلف سافٹ ویئر) کے ساتھ پیمائش کو دہرائیں اور ایک جیسی چوٹیوں کو دیکھیں۔

اشارہ: ہر سپیکٹرم کی تشریح کے لیے، "یہ چوٹی کس جسمانی رجحان سے مطابقت رکھتی ہے؟" سوال پوچھیں۔ 50/100/150 ہرٹج نیٹ ورک اور اس کی ہارمونکس، گھومنے والی مشینوں میں گردش کی فریکوئنسی اور اس کے ملٹیپلز، اور سوئچنگ پاور سپلائیز میں سوئچنگ فریکوئنسی معروف دستخط ہیں۔ ایک نامعلوم چوٹی یا تو ایک حقیقی واقعہ ہے یا پیمائش/ پروسیسنگ کی غلطی؛ دونوں کی تحقیق کریں۔

منی کیس

ایک R&D انجینئر پنکھے کی وائبریشن کی پیمائش کرتا ہے اور اس کے پاس AI سپیکٹرم کی ترجمانی کرتا ہے۔ AI کا کہنا ہے کہ "1200 Hz پر ایک غالب چوٹی ہے، یہ ناکامی کو برداشت کر سکتی ہے۔" انجینئر پنکھے کی رفتار کو کنٹرول کرتا ہے: 1800 rpm = 30 Hz۔ بیئرنگ اور بلیڈ کی منتقلی کی تعدد کی توقع کی جاتی ہے کہ وہ اس سائیکل کے ساتھ ہم آہنگ کچھ اقدار پر ہوں گے۔ 1200 Hz ان میں سے کسی سے مطابقت نہیں رکھتا ہے۔ یہ نمونے لینے کی فریکوئنسی کو کنٹرول کرتا ہے: سگنل میں 2 kHz تک کا مواد ہوتا ہے، لیکن صرف 2 kHz کا نمونہ لیا جاتا ہے، اس لیے Nyquist کی خلاف ورزی ہوتی ہے۔ 1200 ہرٹز کی چوٹی ایک گھوسٹ فریکوئنسی ہے جو ایلیانگ کے نتیجے میں ہوتی ہے۔ جب میں نمونے لینے کی فریکوئنسی کو 8 کلو ہرٹز تک بڑھاتا ہوں، تو جھوٹی چوٹی غائب ہو جاتی ہے۔ سبق: فزیکل سائیکل/تعدد کی توقع اور درست نمونے کے ساتھ ہمیشہ سپیکٹرم تشریح کی جانچ کریں۔

عام غلطیاں

  • Nyquist کے معیار کو چیک کیے بغیر نمونے لینے کی فریکوئنسی کا انتخاب کرنا؛ نظر انداز عرفیت۔
  • FFT فریکوئنسی محور کو Hz کے بجائے نمونہ انڈیکس پر چھوڑنا۔
  • ونڈونگ کے بغیر سگنل کے طور پر سپیکٹرل رساو کو غلط سمجھنا۔
  • کھڑکیوں / نمونوں کی تعداد کے لحاظ سے طول و عرض کو معمول نہیں بنانا۔
  • IIR فلٹر استحکام اور مرحلے کی مسخ کی جانچ نہیں کر رہا ہے۔
  • فزیکل rpm/فریکوئنسی کی توقع میں اسپیکٹرم چوٹیوں کو جانچے بغیر ان کی ترجمانی کرنا۔

خلاصہ میں

  • نمونے لینے کی فریکوئنسی سگنل کے اعلیٰ ترین جزو سے کم از کم دوگنا ہونی چاہیے۔ بصورت دیگر، عرفیت پورے تجزیہ میں خلل ڈال دے گا۔
  • FFT قرارداد Δf = f_s/N؛ اپنی ضرورت کے مطابق N اور f_s کا انتخاب کریں۔
  • ونڈونگ سپیکٹرل رساو کو کم کرتی ہے۔ ونڈو گین کے مطابق طول و عرض کو معمول بنائیں۔
  • محور اور نارملائزیشن کی تصدیق کے لیے ایک معلوم ٹیسٹ سگنل کے ساتھ AI کوڈ کی تصدیق کریں۔
  • فلٹر کے استحکام اور تعدد کے جواب کو پلاٹ کرکے چیک کریں۔
  • ہمیشہ جسمانی تعدد کی توقع کے ساتھ سپیکٹرم تشریح کی جانچ کریں۔

درخواست کا کام

معلوم فریکوئنسی کا ٹیسٹ سگنل بنائیں (جیسے 500 Hz + 1500 Hz سائن)۔ AI سے FFT اور فلٹر کوڈ کی درخواست کریں۔ پھر: (1) تصدیق کریں کہ Nyquist کے معیار پر پورا اترا ہے، (2) چیک کریں کہ FFT چوٹیاں اصل میں 500 اور 1500 Hz پر ظاہر ہوتی ہیں، (3) Nyquist کے نیچے نمونے لینے کی فریکوئنسی کو جان بوجھ کر کم کریں اور دیکھیں کہ کس طرح عرفیت ایک جعلی چوٹی بناتا ہے۔ اپنے مشاہدات اور پیرامیٹر کو نوٹ کریں جسے آپ نے درست کیا ہے۔