ইউনিট 4 / 9

সংকেত প্রক্রিয়াকরণ এবং ডেটা বিশ্লেষণ

লাভ:

  • সঠিকভাবে সিগন্যাল প্রসেসিং প্যারামিটার যেমন স্যাম্পলিং ফ্রিকোয়েন্সি, ফিল্টার টাইপ এবং এআই সহ উইন্ডোজ স্থাপন করার ক্ষমতা
  • এফএফটি, ফিল্টার ডিজাইন এবং শব্দ বিশ্লেষণের জন্য পাইথন কোড তৈরি করার ক্ষমতা এবং Nyquist এবং অ্যালিয়াসিং চেক করার ক্ষমতা
  • পরিমাপ এবং শারীরিক প্রত্যাশার সাথে তুলনা করে এআই-উত্পন্ন বর্ণালী ব্যাখ্যা যাচাই করার ক্ষমতা

একটি সেন্সর, মাইক্রোফোন, বা পাওয়ার লাইন থেকে কাঁচা ডেটা প্রায়শই অর্থহীন হয়; ফ্রিকোয়েন্সি, প্রশস্ততা এবং সময়ের অক্ষে এটি প্রক্রিয়া এবং ব্যাখ্যা করা প্রয়োজন। এফএফটি দিয়ে স্পেকট্রাম বের করা, শব্দ ফিল্টার করা, কম্পনের স্বাক্ষর শনাক্ত করা... এগুলো সব সিগন্যাল প্রসেসিং এবং এআই এই এলাকায় দ্রুত পাইথন কোড তৈরি করে, ধারণা ব্যাখ্যা করে, ফিল্টার সহগ গণনা করে। কিন্তু সংকেত প্রক্রিয়াকরণে একটি ছোট প্যারামিটার ত্রুটি (ভুল স্যাম্পলিং ফ্রিকোয়েন্সি, ভুল উইন্ডো, Nyquist কন্ট্রোল এড়িয়ে যাওয়া) নীরবে পুরো বিশ্লেষণকে নষ্ট করে দেয়; কোডটি ত্রুটি দেয় না, এটি কেবল ভুল ফলাফল দেয়। এই ইউনিটে, আমরা AI এর সাথে সঠিক প্যারামিটার সেট করা, Nyquist এবং অ্যালিয়াসিং এর পরিপ্রেক্ষিতে জেনারেট করা কোড পরীক্ষা করা এবং বাস্তবতার সাথে স্পেকট্রাম ব্যাখ্যা যাচাই করা কভার করব।

বেসিক প্যারামিটার: স্যাম্পলিং, নাইকুইস্ট, অ্যালিয়াসিং

ডিজিটাল সিগন্যাল প্রসেসিংয়ের প্রথম নিয়ম হল 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 কোড অনুরোধ করার সময় স্যাম্পলিং ফ্রিকোয়েন্সি, উইন্ডো টাইপ এবং অক্ষ স্কেল স্পষ্টভাবে উল্লেখ করুন। নিম্নলিখিত কোডটি একটি সংকেতের একতরফা প্রশস্ততা বর্ণালীকে আউটপুট করে:

npfs = 10000 # স্যাম্পলিং ফ্রিকোয়েন্সি (Hz) - Nyquist যাচাই করুন 0.5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # উইন্ডোিং: বর্ণালী লিক কমায় গেইন# চেক পিক ফ্রিকোয়েন্সিপিকস = f[np.argsort(mag)[-2:]]প্রিন্ট("ডমিনেন্ট ফ্রিকোয়েন্সি (Hzrts)", (Hzrts)):

এই কোডটি পরীক্ষা করার সময় আপনাকে জিজ্ঞাসা করা হবে: ফ্রিকোয়েন্সি অক্ষ কি সত্যিই Hz বা নমুনা সূচক (rfftfreq ব্যবহৃত)? প্রশস্ততা উইন্ডো লাভ স্বাভাবিক করা হয়? প্রত্যাশিত 500 এবং 1500 Hz শিখর কি সত্যিই সেই পয়েন্টগুলিতে ঘটবে? আপনি যদি একটি পরিচিত পরীক্ষার সংকেত (একক ফ্রিকোয়েন্সি সাইন) দিয়ে কোডটি যাচাই করেন তবে আপনি আত্মবিশ্বাসের সাথে অক্ষ এবং স্বাভাবিককরণ নিশ্চিত করবেন।

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল:"এই ডেটাতে FFT প্রয়োগ করুন।"(ফলাফল: স্যাম্পলিং ফ্রিকোয়েন্সি, অক্ষ স্কেল এবং উইন্ডোিং অস্পষ্ট; গ্রাফটি সম্ভবত ভুল অক্ষে প্লট করা হয়েছে।) স্ট্রং:"10 kHz নমুনাযুক্ত সিগন্যালে FFT প্রয়োগ করুন। প্রদান করুন:- Hz-এ ফ্রিকোয়েন্সি অক্ষ প্লট করুন (এবং উইন্ডোটি স্বাভাবিকভাবে ব্যবহার করুন)। লাভ।- দুটি প্রভাবশালী ফ্রিকোয়েন্সি ডিজিটালভাবে প্রিন্ট করুন।- গ্রাফে Nyquist সীমা (5 kHz) চিহ্নিত করুন লক্ষ্য করুন যদি স্যাম্পলিং ফ্রিকোয়েন্সি ভুল হয় তাহলে অক্ষ পরিবর্তন হবে।"

ফিল্টার ডিজাইন এবং নয়েজ বিশ্লেষণ

এআই কম/উচ্চ/ব্যান্ডপাস ফিল্টার সহগ (এফআইআর/আইআইআর) তৈরি করতে পারে। তবে ফিল্টারের কাট-অফ ফ্রিকোয়েন্সি, অর্ডার এবং স্থায়িত্ব অবশ্যই পরীক্ষা করা উচিত। এটি উচ্চ ক্রম অস্থিরতা এবং ফেজ বিকৃতি সৃষ্টি করতে পারে, বিশেষ করে আইআইআর ফিল্টারগুলিতে। ফিল্টারটি ডিজাইন করার পরে, কাটঅফটি সঠিক জায়গায় রয়েছে এবং পাসব্যান্ডে কোনও অবাঞ্ছিত লহর নেই তা দেখতে ফ্রিকোয়েন্সি প্রতিক্রিয়া (বোডের মতো) প্লট করুন।

শব্দ বিশ্লেষণের সাধারণ কাজ হল শব্দ থেকে আসল সংকেতকে আলাদা করা। এখানে, সিগন্যালের ফিজিক্যাল ব্যান্ডউইথের বিপরীতে AI এর প্রস্তাবিত থ্রেশহোল্ড বা ফিল্টার মূল্যায়ন করুন: যদি আপনার আসল সিগন্যাল 0-500 Hz হয়, তাহলে 2 kHz-এর একটি উপাদান সম্ভবত শব্দ বা হস্তক্ষেপ। AI পরিসংখ্যান দেয়; আপনি শারীরিক ব্যাখ্যা করুন.

ভৌত বাস্তবতার সাথে স্পেকট্রাম ব্যাখ্যা যাচাই করা

একটি বর্ণালী ব্যাখ্যা করার সময়, AI যুক্তিসঙ্গত করে কিন্তু সর্বদা সঠিক অনুমান করে না যেমন "50 Hz এ একটি শিখর আছে, এটি গ্রিড হস্তক্ষেপ।" এই মন্তব্যগুলিকে শারীরিক প্রত্যাশার সাথে তুলনা করুন: সিস্টেমে কি সত্যিই 50 Hz মেইন সংযোগ আছে? মোটরের কম্পন বর্ণালীতে প্রত্যাশিত ঘূর্ণন ফ্রিকোয়েন্সি এবং হারমোনিক্স কি প্রায় আছে? যদি সম্ভব হয়, একটি দ্বিতীয় পদ্ধতি (ভিন্ন সেন্সর, বিভিন্ন সফ্টওয়্যার) দিয়ে পরিমাপটি পুনরাবৃত্তি করুন এবং একই শিখরগুলি দেখুন৷

ইঙ্গিত: প্রতিটি বর্ণালী ব্যাখ্যার জন্য, "এই শিখরটি কোন শারীরিক ঘটনাটির সাথে মিলে যায়?" প্রশ্ন করুন। 50/100/150 Hz নেটওয়ার্ক এবং এর হারমোনিক্স, ঘূর্ণন ফ্রিকোয়েন্সি এবং ঘূর্ণায়মান মেশিনে এর গুণিতক এবং বিদ্যুৎ সরবরাহের সুইচিং ফ্রিকোয়েন্সিগুলি পরিচিত স্বাক্ষর। একটি অজানা শিখর হয় একটি বাস্তব ঘটনা বা একটি পরিমাপ/প্রসেসিং ত্রুটি; উভয় গবেষণা.

মিনি কেস

একজন R&D প্রকৌশলী ফ্যানের কম্পন পরিমাপ করে এবং AI স্পেকট্রাম ব্যাখ্যা করে। "1200 Hz এ একটি প্রভাবশালী শিখর রয়েছে, এটি ব্যর্থতা বহন করতে পারে," AI বলে৷ ইঞ্জিনিয়ার ফ্যানের গতি নিয়ন্ত্রণ করে: 1800 rpm = 30 Hz। বিয়ারিং এবং ব্লেড ট্রানজিশন ফ্রিকোয়েন্সিগুলি এই চক্রের সাথে সামঞ্জস্যপূর্ণ নির্দিষ্ট মানগুলিতে প্রত্যাশিত; 1200 Hz এর কোনোটির সাথে মিল নেই। এটি স্যাম্পলিং ফ্রিকোয়েন্সি নিয়ন্ত্রণ করে: সংকেত 2 kHz পর্যন্ত বিষয়বস্তু বহন করে, কিন্তু শুধুমাত্র 2 kHz নমুনা করা হয়, তাই একটি Nyquist লঙ্ঘন। 1200 Hz এ পিক হল অ্যালিয়াসিং এর ফলে একটি ঘোস্ট ফ্রিকোয়েন্সি। যখন আমি স্যাম্পলিং ফ্রিকোয়েন্সি 8 kHz এ বাড়াই, মিথ্যা শিখরটি অদৃশ্য হয়ে যায়। পাঠ: সর্বদা শারীরিক চক্র/ফ্রিকোয়েন্সি প্রত্যাশা এবং সঠিক নমুনা সহ স্পেকট্রাম ব্যাখ্যা পরীক্ষা করুন।

সাধারণ ভুল

  • Nyquist মানদণ্ড পরীক্ষা না করে স্যাম্পলিং ফ্রিকোয়েন্সি নির্বাচন করা; উপনাম উপেক্ষা করা.
  • Hz এর পরিবর্তে নমুনা সূচকে FFT ফ্রিকোয়েন্সি অক্ষ রেখে যাওয়া।
  • জানালা ছাড়াই বর্ণালী ফুটোকে একটি সংকেত হিসাবে ভুল করা।
  • উইন্ডোজ/নমুনার সংখ্যা দ্বারা প্রশস্ততা স্বাভাবিক করা হচ্ছে না।
  • 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-এর নীচের নমুনা ফ্রিকোয়েন্সি কমিয়ে দিন এবং পর্যবেক্ষণ করুন যে কীভাবে উপনাম একটি বানোয়াট শিখর তৈরি করে৷ আপনার পর্যবেক্ষণ এবং আপনি সংশোধন করা প্যারামিটার নোট করুন।