Z-ট্রান্সফর্মের বৈশিষ্ট্য
এই পাঠে যা শিখবেন
- Z-ট্রান্সফর্মের লিনিয়ারিটি বৈশিষ্ট্য এবং কেন এটি সিস্টেম সুপারপজিশনের (M1/L04) সাথে সরাসরি সম্পর্কিত
- টাইম-শিফটিং বৈশিষ্ট্য এবং কেন এটি ডিফারেন্স ইকুয়েশন (M3/L12) সমাধানে গুরুত্বপূর্ণ (L19-এ প্রয়োগ)
- Python কোড দিয়ে উভয় বৈশিষ্ট্য সংখ্যাগতভাবে যাচাই করা
- কনভোলিউশন বৈশিষ্ট্য ($Y(z)=X(z)H(z)$) সম্পর্কে সংক্ষিপ্ত ধারণা, যা L18-এ ট্রান্সফার ফাংশনে বিস্তারিত হবে
১ · লিনিয়ারিটি (Linearity)
Z-ট্রান্সফর্ম একটি লিনিয়ার অপারেশন — অর্থাৎ যদি $X(z) = Z\{x[n]\}$ এবং $W(z) = Z\{w[n]\}$ হয়, তাহলে যেকোনো ধ্রুবক $a, b$-এর জন্য:
$$Z\{a\,x[n] + b\,w[n]\} = a\,X(z) + b\,W(z)$$
এটি সরাসরি সংজ্ঞা থেকে আসে — যোগফলের ভেতরে z^-n দিয়ে গুণ করাটা একটি লিনিয়ার অপারেশন, তাই
যোগফল ও ধ্রুবক-গুণ ভেতরে-বাইরে অবাধে সরানো যায়। এই বৈশিষ্ট্যটি M1/L04-এ শেখা সুপারপজিশন
নীতিরই একটি রূপ — একটি LTI সিস্টেমের ইনপুট যদি দুটো সিগন্যালের যোগফল হয়, আউটপুটও সেই দুটোর পৃথক আউটপুটের
যোগফল হবে, আর Z-ডোমেইনেও এই সম্পর্ক অক্ষুণ্ণ থাকে।
২ · টাইম-শিফটিং (Time-shifting)
যদি একটি সিগন্যাল x[n]-কে k নমুনা দেরি করানো হয় (y[n] = x[n-k]),
তাহলে:
এটিই সেই বৈশিষ্ট্য যা L14-এর "ডিলে = z^-1 দিয়ে গুণ" ধারণাকে সাধারণীকরণ করে যেকোনো শিফট k-এর
জন্য। এই বৈশিষ্ট্যের কারণেই একটি ডিফারেন্স ইকুয়েশন (যেমন y[n] = a·y[n-1] + x[n]) Z-ডোমেইনে
একটি সাধারণ বীজগণিতীয় সমীকরণে পরিণত হয় — L19-এ আমরা ঠিক এই বৈশিষ্ট্য ব্যবহার করে একটি ডিফারেন্স ইকুয়েশন
সমাধান করব।
Z{a·x + b·w} = a·X(z) + b·W(z) — সুপারপজিশনের বীজগণিতীয় রূপ।Z{x[n-k]} = z^-k · X(z) — একটি শিফট = z^-k দিয়ে গুণ।M3/L10-এর কনভোলিউশন সাম Z-ডোমেইনে হয়ে যায় সাধারণ গুণ:
Y(z) = X(z)·H(z) — বিস্তারিত L18-এ।৩ · একটি সত্যিকারের ডেমো — উভয় বৈশিষ্ট্য যাচাই
নিচের কোডে দুটো ছোট সিকোয়েন্স x = [1, 2, 3, 4] এবং w = [2, 0, 1, 1] ব্যবহার
করে প্রথমে লিনিয়ারিটি (a=2, b=-3), তারপর x-কে k=2 ধাপ শিফট
করে টাইম-শিফটিং বৈশিষ্ট্য যাচাই করা হয়েছে — একই টেস্ট পয়েন্ট z = 1+1j-এ।
def Zt(coeffs, z):
total = 0j
for n, c in enumerate(coeffs):
total += c * z**(-n)
return total
# ---- লিনিয়ারিটি যাচাই ----
x = [1, 2, 3, 4]
w = [2, 0, 1, 1]
a, b = 2, -3
z = 1 + 1j
combo = [a*xi + b*wi for xi, wi in zip(x, w)]
lhs = Zt(combo, z) # Z{a x + b w}
rhs = a*Zt(x, z) + b*Zt(w, z) # a Z{x} + b Z{w}
print("--- লিনিয়ারিটি ---")
print("x[n] =", x, " w[n] =", w, f" a={a}, b={b}, z={z}")
print("combo[n] = a*x[n] + b*w[n] =", combo)
print(f"Z{{a x + b w}}(z) = {lhs}")
print(f"a*Z{{x}}(z) + b*Z{{w}}(z) = {rhs}")
print(f"পার্থক্য (should be ~0): {abs(lhs - rhs):.3e}")
print()
print("--- টাইম-শিফটিং ---")
k = 2
y = [0]*k + x # y[n] = x[n-k], কজাল জিরো-প্যাডেড শিফট
print("x[n] =", x)
print(f"y[n] = x[n-{k}] =", y)
Xz = Zt(x, z)
Yz = Zt(y, z)
predicted = z**(-k) * Xz
print(f"z = {z}")
print(f"X(z) = {Xz}")
print(f"Y(z) (সরাসরি) = {Yz}")
print(f"z^-{k} * X(z) = {predicted} (ভবিষ্যদ্বাণী: Z{{x[n-k]}} = z^-k X(z))")
print(f"পার্থক্য (should be ~0): {abs(Yz - predicted):.3e}")
Z{a x + b w}(z) = -3.25-4.75j এবং
a·Z{x}(z) + b·Z{w}(z)-ও ঠিক একই -3.25-4.75j, পার্থক্য 0.000e+00।
টাইম-শিফটিং অংশে X(z) = 1-3.5j, আর z^-2·X(z) = -1.75-0.5j — যা সরাসরি শিফট-করা
সিগন্যাল y-এর Z-ট্রান্সফর্ম Y(z) = -1.75-0.5j-এর সাথে হুবহু মিলে যায়, পার্থক্য
আবারও শূন্য। দুটো বৈশিষ্ট্যই সংখ্যাগতভাবে নিশ্চিত হলো।
লিনিয়ারিটি ও টাইম-শিফটিং একসাথে Z-ট্রান্সফর্মকে ডিফারেন্স ইকুয়েশন সমাধানের একটি অতি-শক্তিশালী টুলে পরিণত করে — যেকোনো লিনিয়ার কম্বিনেশন ও শিফট-করা টার্মকে সরল বীজগণিতে রূপান্তর করা যায় (L19)। পরের পাঠে (L16) আমরা দেখব এই সিরিজগুলো কোথায় আসলে কনভার্জ করে — কনভারজেন্সের অঞ্চল (ROC)।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ লিনিয়ারিটি বৈশিষ্ট্যটি M1/L04-এ শেখা LTI সিস্টেমের সুপারপজিশন নীতির সাথে কীভাবে সম্পর্কিত?
সুপারপজিশন বলে, একটি লিনিয়ার সিস্টেমে দুটো ইনপুটের যোগফলের আউটপুট, পৃথক আউটপুটের যোগফলের সমান। Z-ট্রান্সফর্মের লিনিয়ারিটি ঠিক এই একই নীতি — কিন্তু সিগন্যালের ডোমেইনে প্রয়োগ করা, সিস্টেমের নয়। দুটোই আসলে একই গাণিতিক সত্য (সমষ্টি ও স্কেলিং অপারেশনের সাথে কমিউট করে) ভিন্ন প্রসঙ্গে প্রয়োগ।
প্র ০২
টাইম-শিফটিং বৈশিষ্ট্যে k ঋণাত্মক হলে (অর্থাৎ সিগন্যালকে ভবিষ্যতের দিকে এগিয়ে দিলে,
x[n+2]) সূত্রটি কেমন হবে?
সূত্র একই থাকে, শুধু k-এর জায়গায় ঋণাত্মক মান বসবে: $Z\{x[n+2]\} = z^{-(-2)}X(z) = z^2
X(z)$। তবে বাস্তবে এই "অ্যাডভান্স" (ভবিষ্যতের দিকে শিফট) কজাল সিগন্যালের জন্য সমস্যাযুক্ত — M3/L13-এর
কজালিটি আলোচনার সাথে সরাসরি সম্পর্কিত, কারণ একটি কজাল সিস্টেম ভবিষ্যতের ইনপুটের উপর নির্ভর করতে পারে না।
প্র ০৩
উপরের কোডে y = [0]*k + x লিখে শিফট বাস্তবায়ন করা হয়েছে। এটি কেন সঠিকভাবে
x[n-k]-কে প্রতিনিধিত্ব করে?
x[n-k]-এর মানে হলো — নতুন সিগন্যালের n-তম অবস্থানে পুরনো সিগন্যালের
(n-k)-তম মান বসবে। যেহেতু n < k-এর জন্য (n-k) ঋণাত্মক
(আর কজাল সিগন্যাল ঋণাত্মক n-এ শূন্য), প্রথম kটি অবস্থানে শূন্য বসে, তারপর
মূল x-এর মানগুলো একে একে আসে — ঠিক যেমন [0]*k + x তৈরি করে।
অনুশীলন
-
চিন্তা করুন: উপরের কোডে
k=2-এর বদলেk=3ব্যবহার করলে (একইz=1+1j-এ)z^-k · X(z)-এর মান কীভাবে বদলাবে? সূত্রটি দিয়ে যুক্তি দিন, সঠিক সংখ্যা বের করার দরকার নেই।যেহেতু
X(z)অপরিবর্তিত থাকবে, শুধুz^-k-এর মান বদলাবে —kবাড়লেz^-k-এর ম্যাগনিচিউড আরও কমবে (কারণ|z|=√2 > 1, তাই|z|^-kkবাড়ার সাথে সাথে কমে) এবং ফেজও ঘুরে যাবে। ফলেz^-3·X(z)-এর ম্যাগনিচিউডz^-2·X(z)-এর চেয়ে ছোট হবে। -
পরীক্ষা করুন: উপরের কোড সেলে
k = 2-কেk = 3-এ পরিবর্তন করে (এবংy-এর সংজ্ঞা একই রেখে) Run চেপে টাইম-শিফটিং সূত্র এখনও মেলে কিনা যাচাই করুন।রান করলে
Y(z)(সরাসরি গণনা) এবংz^-3·X(z)(সূত্র থেকে ভবিষ্যদ্বাণী) এখনও হুবহু মিলে যাবে, পার্থক্য0.000e+00-এর কাছাকাছি থাকবে — টাইম-শিফটিং বৈশিষ্ট্য যেকোনোk-এর জন্যই সত্য, শুধুk=2-এর জন্য নয়।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ স্যাম্পলিং, কনভোলিউশন, Z-ট্রান্সফর্ম, DTFT/DFT, FFT, FIR/IIR ফিল্টার ডিজাইন, মাল্টিরেট প্রসেসিং, স্পেকট্রাল এস্টিমেশন, র্যান্ডম সিগন্যাল প্রসেসিং, বাস্তব প্রয়োগ ও ক্যাপস্টোন।
- L12 · ডিফারেন্স ইকুয়েশন ও ইমপালস রেসপন্স পূর্ব-প্রয়োজনীয় টাইম-শিফটিং বৈশিষ্ট্য এখানে শেখা ডিফারেন্স ইকুয়েশনের ধারণার সাথে সরাসরি সম্পর্কিত — L19-এ এই সংযোগ ব্যবহার করা হবে।
- সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, Machine Learning, Deep Learning, System Design, Cybersecurity, Cloud Computing & DevOps, এবং আরও অনেক কোর্স — সব এক জায়গায়।