নিয়ন্ত্রণ ব্যবস্থা/ডিজিটাল স্টেট স্পেস

testwiki থেকে
পরিভ্রমণে চলুন অনুসন্ধানে চলুন

টেমপ্লেট:Control Systems/Page

ডিজিটাল সিস্টেম

ডিজিটাল সিস্টেম, যেগুলো আগে ডিফারেন্স সমীকরণ বা Z-Transform ট্রান্সফার ফাংশনের মাধ্যমে প্রকাশ করা হয়েছে, সেগুলোকেও স্টেট-স্পেস উপস্থাপনার মাধ্যমে প্রকাশ করা যায়। অ্যানালগ সিস্টেম নিয়ে কাজ করার জন্য যেসব কৌশল ব্যবহার করা হয়, সেগুলো খুব সামান্য পরিবর্তনসহ ডিজিটাল সিস্টেমেও প্রয়োগ করা যায়।

ডিজিটাল সিস্টেম

ডিজিটাল সিস্টেমের ক্ষেত্রে, আমরা ডিসক্রিট ডেটা সেট ব্যবহার করে একই ধরনের সমীকরণ লিখতে পারি:

x[k+1]=Ax[k]+Bu[k]
y[k]=Cx[k]+Du[k]

জিরো-অর্ডার হোল্ড ডেরাইভেশন

ধরা যাক আমাদের একটি কন্টিনিউয়াস-টাইম স্টেট সমীকরণ আছে:

x′(t)=Ax(t)+Bu(t)

আমরা এই সমীকরণের একটি ডিজিটাল সংস্করণ বের করব। আমরা প্রথমে এই সমীকরণের Laplace transform নেই:

X(s)=(sI−A)−1Bu(s)+(sI−A)−1x(0)

এখন, ইনভার্স Laplace transform নিলে টাইম-ডোমেইনের সিস্টেম পাওয়া যায়, যেখানে (sI - A)-এর ইনভার্স Laplace transform হলো স্টেট-ট্রানজিশন ম্যাট্রিক্স, Φ:

x(t)=ℒ−1(X(s))=Φ(t−t0)x(0)+∫t0tΦ(t−τ)Bu(τ)dτ

এখন আমরা ইনপুটের উপর জিরো-অর্ডার হোল্ড প্রয়োগ করি, যাতে সিস্টেমটি ডিজিটাল হয়। লক্ষ্য করুন, আমরা t0 = kT নিয়েছি, কারণ আমরা কেবল একটি স্যাম্পল পিরিয়ডের মধ্যে সিস্টেমের আচরণ জানতে চাই:

u(t)=u(kT),kT≤t≤(k+1)T
x(t)=Φ(t,kT)x(kT)+∫kTtΦ(t,τ)Bdτu(kT)

আমরা u(kT) কে ইন্টিগ্রালের বাইরে নিয়ে আসতে পারি, কারণ এটি τ-এর উপর নির্ভর করে না। এখন আমরা একটি নতুন ফাংশন Γ সংজ্ঞায়িত করি:

Γ(t,t0)=∫t0tΦ(t,τ)Bdτ

এই নতুন এক্সপ্রেশনটি সমীকরণে বসিয়ে এবং t = (k + 1)T বসালে পাই:

x((k+1)T)=Φ((k+1)T,kT)x(kT)+Γ((k+1)T,kT)u(kT)

এখন Φ(T) এবং Γ(T) কনস্ট্যান্ট ম্যাট্রিক্স, এবং আমরা এগুলোকে নতুন নাম দিতে পারি। d সাবস্ক্রিপ্ট নির্দেশ করে যে এগুলো ডিজিটাল সংস্করণ:

Ad=Φ((k+1)T,kT)
Bd=Γ((k+1)T,kT)

এখন এই মানগুলো ব্যবহার করে আমাদের স্টেট সমীকরণটি লেখা যায়:

x[k+1]=Adx[k]+Bdu[k]

কন্টিনিউয়াস এবং ডিসক্রিট সিস্টেমের সম্পর্ক

টেমপ্লেট:Wikipedia একই ধরনের কাজ করে এমন কন্টিনিউয়াস এবং ডিসক্রিট সিস্টেমের মধ্যে কিছু সম্পর্ক থাকে। স্বাভাবিকভাবেই, এই দুই সিস্টেমের বৈশিষ্ট্য ও কোঅফিশিয়েন্ট ম্যাট্রিক্স আলাদা হবে। যদি ধরি ডিসক্রিট সিস্টেম মানে হচ্ছে একটি কন্টিনিউয়াস সিস্টেম যেটা T স্যাম্পলিং টাইমে স্যাম্পল করা হয়েছে, তাহলে নিচের সম্পর্কগুলো প্রযোজ্য হবে। অ্যানালগ সিস্টেমকে ডিজিটাল হার্ডওয়্যারে ব্যবহার করার জন্য রূপান্তর করাকে ডিসক্রিটাইজেশন বলে। আমরা এর প্রাথমিক পরিচিতি আগেই দিয়েছি, এবার বিস্তারিত আলোচনা করব।

ডিসক্রিট কোঅফিশিয়েন্ট ম্যাট্রিক্স

ডিসক্রিটাইজেশনে মূল বিষয় হলো কন্টিনিউয়াস-টাইম ম্যাট্রিক্স থেকে সংশ্লিষ্ট কোঅফিশিয়েন্ট ম্যাট্রিক্স হিসেব করা। যদি আমাদের কন্টিনিউয়াস সিস্টেম হয় (A, B, C, D), তাহলে t = kT ধরে আমরা নিচের রূপান্তর পেতে পারি:

x(kT)=eAkTx(0)+∫0kTeA(kT−τ)Bu(τ)dτ
x[k]=eAkTx[0]+∫0kTeA(kT−τ)Bu(τ)dτ

এখন যদি k+1 পদ বিশ্লেষণ করতে চাই, তাহলে আবার সমীকরণ সমাধান করলে পাই:

x[k+1]=eA(k+1)Tx[0]+∫0(k+1)TeA((k+1)T−τ)Bu(τ)dτ

ইন্টিগ্রালটিকে দুটি ভাগে ভাগ করলে:

x[k+1]=eATeAkTx[0]+∫0kTeATeA(kT−τ)Bu(τ)dτ+∫kT(k+1)TeA(kT+T−τ)Bu(τ)dτ

একটি নতুন ভেরিয়েবল β = (k + 1)T + τ বসিয়ে এবং নিচের সম্পর্ক ব্যবহার করলে:

eAkTx[0]=x[k]

পাই:

x[k+1]=eATx[k]+(∫0TeAαdα)Bu[k]

এখানে কন্টিনিউয়াস-টাইম সিস্টেম থেকে ডিসক্রিট-টাইম সিস্টেমে রূপান্তরের সম্পর্ক পাওয়া যায়। "d" সাবস্ক্রিপ্ট ডিসক্রিট এবং "c" সাবস্ক্রিপ্ট কন্টিনিউয়াস ম্যাট্রিক্স নির্দেশ করে। টেমপ্লেট:Control Systems/Matrix Dim

Ad=eAcT
Bd=∫0TeAcτdτBc
Cd=Cc
Dd=Dc

টেমপ্লেট:Matlab CMD

যদি Ac ম্যাট্রিক্স nonsingular হয়, তাহলে তার ইনভার্স বের করে নিচেরভাবে Bd নির্ধারণ করা যায়:

Bd=Ac−1(Ad−I)Bc

ডিসক্রিট এবং কন্টিনিউয়াস ম্যাট্রিক্সের পার্থক্য আসলে মূল সমীকরণের পার্থক্যের কারণে। কন্টিনিউয়াস-টাইম সিস্টেমের জন্য লিনিয়ার ডিফারেনশিয়াল সমীকরণ এবং ডিজিটাল সিস্টেমের জন্য ডিফারেন্স সমীকরণ ব্যবহৃত হয়।

যদি আমাদের একটি জটিল অ্যানালগ সিস্টেম থাকে এবং আমরা তা ডিজিটাল কম্পিউটারে প্রয়োগ করতে চাই, তাহলে উপরের রূপান্তরগুলো ব্যবহার করে ম্যাট্রিক্স পরিবর্তন করা যায়।

নির্দেশনা (Notation)

ডিসক্রিট সিস্টেমের ম্যাট্রিক্স ভিন্নভাবে হিসেব করা হয়, এবং তারা ভিন্ন অর্থ বহন করে, তাই অনেক সময় ভিন্ন ভ্যারিয়েবল ব্যবহৃত হয়। যেমন:

Ω=Ad
R=Bd

তাহলে সিস্টেমটি (Ω, R, C, D) দ্বারা প্রকাশ করা যায়।

তবে এই বইয়ে সুবিধার্থে আমরা A এবং B ম্যাট্রিক্স নামই ব্যবহার করব।

ডিফারেন্স সমীকরণ রূপান্তর

টেমপ্লেট:TextBox

x[n] নির্ণয়

ডিসক্রিট টাইম ডিফারেন্স সমীকরণের একটি সাধারণ টাইম-ইনভারিয়ান্ট সমাধান বের করা যায়। আমরা জানি:

x[n+1]=Ax[n]+Bu[n]

n = 0 থেকে শুরু করে একটি প্যাটার্ন তৈরি করি:

x[1]=Ax[0]+Bu[0]
x[2]=Ax[1]+Bu[1]=A2x[0]+ABu[0]+Bu[1]
x[3]=Ax[2]+Bu[2]=A3x[0]+A2Bu[0]+ABu[1]+Bu[2]

এই প্যাটার্ন থেকে সাধারণ সমাধান পাওয়া যায়:

টেমপ্লেট:Eqn

x[n]=Anx[n0]+∑m=0n−1An−1−mBu[m]

আউটপুট সমীকরণে বসালে পাই:

টেমপ্লেট:Eqn

y[n]=CAnx[n0]+∑m=0n−1CAn−1−mBu[m]+Du[n]

টাইম ভেরিয়ান্ট সিস্টেম সমাধান

টাইম-ভেরিয়ান্ট সিস্টেমের জন্য সাধারণ সমাধান:

x[n]=ϕ[n,n0]x[n0]+∑m=n0n−1ϕ[n,m+1]B[m]u[m]
y[n]=C[n]ϕ[n,n0]x[n0]+C[n]∑m=n0n−1ϕ[n,m+1]B[m]u[m]+D[n]u[n]

এখানে φ হলো স্টেট ট্রানজিশন ম্যাট্রিক্স। ডিসক্রিট সময়ে কিছু বৈশিষ্ট্য ভিন্ন। যেমন, স্টেট ট্রানজিশন ম্যাট্রিক্সের ইনভার্স থাকতে নাও পারে।

স্টেট ট্রানজিশন ম্যাট্রিক্স

ডিসক্রিট সময়ে স্টেট ট্রানজিশন ম্যাট্রিক্স নির্ধারণ হয় নিচের সমীকরণ দিয়ে:

ϕ[k+1,k0]=A[k]ϕ[k,k0]

এবং শর্ত:

ϕ[k0,k0]=I

এখান থেকে আমরা পাই:

ϕ[k,k0]=A[k−1]A[k−2]A[k−3]⋯A[k0]

বা,

ϕ[k,k0]=∏m=1k−k0A[k−m]

MATLAB গণনা

MATLAB একটি কম্পিউটার প্রোগ্রাম, তাই এটি সব সিস্টেম ডিজিটাল পদ্ধতিতে হিসেব করে। MATLAB ফাংশন lsim কন্টিনিউয়াস সিস্টেম সিমুলেট করতে ব্যবহৃত হয়। এটি c2d ফাংশন কল করে কন্টিনিউয়াস সিস্টেমকে ডিসক্রিট সিস্টেমে রূপান্তর করে। এরপর dlsim ফাংশনের মাধ্যমে ইনপুটসহ সিস্টেম সিমুলেট করে।

তবে, এই রূপান্তর প্রক্রিয়ায় রাউন্ড-অফ এরর দেখা দিতে পারে।

টেমপ্লেট:Control Systems/Nav