কোর্স:পারিসাংখ্যিক সংকেত প্রক্রিয়ণ/বাড়ির কাজ ১

ডিপথট থেকে
কোর্স:পারিসাংখ্যিক সংকেত প্রক্রিয়ণ বাড়ির কাজ ০২ >>
প্রশিক্ষক: বাড়ির কাজ ০১

x এবং y দু'টি দৈব চলক, যাদের সম্ভাব্যতা ঘনত্ব,

<math>p_{x|y} = \begin{cases}

e^{-(x-y)} & y \le x \le \infty \\ 0 & x \lt y \end{cases}</math> এবং <math> \ p_y(y) = \begin{cases} 1 & 0 \le y \le 1 \\ 0 & \text{otherwise} \end{cases}</math>

  1. <math>p_{x,y}(x,y)</math> কী? এই যুগ্ম সম্ভাব্যতা কখন অশূন্য হবে? xy তলে এই অঞ্চলটুকু চিহ্নিত করো।
  2. <math>p_x(x)</math> কী? এক্ষেত্রেও অঞ্চলটুকু চিহ্নিত করো।

সমাধান ১.১

Homework 01 1.1.png
<math>p(x,y) = \begin{cases}

e^{-(x-y)} & 0\le y\le 1 \text{ and } y \le x \le \infty \\ 0 & \text{otherwise} \end{cases}</math>

যুগ্ম সম্ভাবনা কেবল তখনই অশূন্য হবে, যখন y ১ এর চেয়ে কম হবে, এবং x y-এর চেয়ে বড় হবে। অঞ্চলটুকু পাশের চিত্রে দেখানো হয়েছে।

সমাধান ১.২

সমাধান ১.১ এর ফলাফলকে y এর সাপেক্ষে প্রান্তিকায়িত করলেই এই প্রশ্নের উত্তর পাওয়া যাবে, যা নিচে করা হয়েছে।

<math>

\begin{align} p(x) &= \int\limits_{-\infty}^\infty p(x,y) dy \\ &= \begin{cases} \int_0^x e^{-(x-y)} dy & 0\le x\lt 1 \\ \int_0^1 e^{-(x-y)} dy & x\ge 1 \\ \end{cases} \\ &= \begin{cases} 1-e^{-x} & 0\le x\lt 1 \\ e^{-(x-1)}-e^{-x} & x\ge 1 \\ 0 & \text{otherwise} \end{cases} \end{align} </math>

একটি দৈব ভেক্টর <math>\mathbf{x}=(x_1,x_2,...,x_N)^T</math> এর এনট্রপি,

<math>\mathcal{H} = -\int\limits_{-\infty}^\infty p(\mathbf{x}) \ln p(\mathbf{x}) d\mathbf{x} = -E\{\ln p(\mathbf{x})\}</math>

এখন ধরো যে, <math>\mathbf{x}</math> একটি N-মাত্রিক গাউসীয় বিন্যাস থেকে নেয়া হয়েছে, এবং যার প্রতিটি উপাদানের (i) গড় শূন্য, ও পরিমিত ব্যবধান <math>\sigma_i</math>. এক্ষেত্রে এনট্রপি নির্ণয় করো।

সমাধান

x যেহেতু একটি গাউসীয় বিন্যাস থেকে নিতে বলা হয়েছে সেহেতু এর পিডিএফ হবে,

<math>p(\mathbf{x}) = \left( \prod\limits_{i=1}^N \frac{1}{\sqrt{2\pi\sigma_i^2}} \right) \exp{\left(\sum\limits_{i=1}^N \frac{-x_i^2}{2\sigma_i^2}\right)}</math>
<math>\Rightarrow \ln p(\mathbf{x}) = \sum\limits_{i=1}^N -\frac{1}{2} \ln(2\pi\sigma_i^2) - \sum\limits_{i=1}^N \frac{x_i^2}{2\sigma_i^2}</math>
<math>

\begin{align} \mathcal{H} &= -E\{\ln p(\mathbf{x})\} \\ &= \frac{1}{2} \sum\limits_{i=1}^N \ln(2\pi\sigma_i^2) + \sum\limits_{i=1}^N \frac{E(x_i^2)}{2\sigma_i^2} \\ &= \frac{1}{2} \sum\limits_{i=1}^N \ln(2\pi\sigma_i^2) + \sum\limits_{i=1}^N \frac{\sigma_i^2}{2\sigma_i^2} \\ &= \frac{1}{2} \sum\limits_{i=1}^N \ln(2\pi\sigma_i^2) + \frac{N}{2} \\ \end{align} </math>

এনট্রপির এই সমীকরণ থেকে এনট্রপি সম্পর্কে তিনটি সিদ্ধান্তে পৌঁছানো যায়:

  1. এনট্রপি অঋণাত্মক
  2. এনট্রপি রৈখিকভাবে যোজনযোগ্য
  3. ভেদাঙ্ক বেশি হলে এনট্রপি বেশি হয়, যেহেতু দৈব চলকের ভেদাঙ্ক বৃদ্ধি পেলে মোট তথ্যের পরিমাণ বেড়ে যায়।

উপাত্ত <math>\{x[1], x[2], ..., x[N]\}</math> স্বাধীনভাবে এবং অনন্যভাবে বণ্টিত (independently and identically distributed, iid) উপাত্ত যার প্রতিটি উপাদান <math>\mathcal{N}(0,\sigma^2)</math> থেকে গৃহীত। এই উপাত্তের ভেদাঙ্ক নির্ণয়ের জন্য আমরা নিচের মতো একটি নিরূপক ব্যবহার করতে চাই:

<math>\hat{\sigma}^2 = \frac{1}{N} \sum\limits_{n=1}^N x^2[n]</math>

এই নিরূপকটি কি নিটাল? ভেদাঙ্ক <math>\hat{\sigma}^2</math> নির্ণয় করো, এবং <math>N\rightarrow\infty</math> হলে এর মান কেমন হবে দেখাও।

সমাধান

<math> \begin{align} var(\hat{\sigma}^2) &= \frac{1}{N^2} var\left(\sum\limits_{n=1}^N x^2[n]\right) \\ &= \frac{1}{N^2} \sum\limits_{n=1}^N var(x^2[n]) & \text{[uncorrelated]}\\ &= \frac{1}{N^2} N . var(x^2[0]) & \text{[identically distributed]}\\ &= \frac{1}{N} \left[ E\{x^4[0]-E\{x^2[0]\}^2\} \right] \\ &= \frac{1}{N} \left[ 3\sigma^4-(\sigma^2)^2 \right] \\ &= \frac{2\sigma^4}{N} \end{align} </math>

এখন যদি <math>N\rightarrow\infty</math> হয়, তাহলে <math>var(\hat{\sigma}^2) \rightarrow 0</math>

<math>E(\hat{\sigma}^2) = E\left(\frac{1}{N}\sum\limits_{n=1}^N x^2[n]\right) = \frac{1}{N}\sum\limits_{n=1}^N E(x^2[n]) = \sigma^2</math>

যেহেতু <math>E(\hat{\sigma}^2) = \sigma^2</math> সেহেতু এটি একটি নিটাল নিরূপক।

উল্লেখ্য, <math>E(x^4[0])=3\sigma^4</math> প্রমাণ করা সম্ভব। এজন্য নিচের সমীকরণটিকে <math>\sigma^2</math> এর সাপেক্ষে ২ বার ব্যবকলন করতে হবে:

<math>\int_{-\infty}^\infty e^{-x^2/(2\sigma^2)} dx = \sqrt{2\pi\sigma^2}</math>

দু'টি নমুনা <math>\{x[1], x[2]\}</math> স্বাধীনভাবে পর্যবেক্ষণ করা হয়েছে <math>\mathcal{N}(0,\sigma^2)</math> বিন্যাস থেকে। ভেদাঙ্ক নির্ণয়ের জন্য আমাদের নিরূপকটি হচ্ছে,

<math>\hat{\sigma}^2 = \frac{1}{2} (x^2[1]+x^2[2])</math>.

উপর্যুক্ত নিরূপকটির পিডিএফ নির্ণয় করে দেখো এটি <math>\sigma^2</math> এর সাপেক্ষে প্রতিসম কি না।

সমাধান

ধরি, <math>y=\hat{\sigma}^2 = \frac{1}{2} (x^2[1]+x^2[2])</math>

প্রথমে y এর সিডিএফ নির্ণয় করা যাক। এই রাশিটির মান যেকোনো রাশি y এর ছোটো হওয়ার সম্ভাবনাই সিডিএফ:

SSP hw1.4.png
<math>\begin{align}

\text{CDF}(y) &= \text{Prob}\left(\frac{1}{2} (x^2[1]+x^2[2]) \lt y\right) \\ &= \text{Prob}\left((x^2[1]+x^2[2]) \lt 2y\right) \\ &= \frac{1}{2\pi\sigma^2} \iint\limits_C \exp\left[-\frac{1}{2\sigma^2}(x^2[1])+x^2[2]\right] \ dx[1] dx[2] \end{align}</math> যেখানে C অঞ্চলটুকু ডানের চিত্রে চিহ্নিত করা আছে। y এর মান এই অঞ্চলের মধ্যে হওয়ার সম্ভাবনাই আমাদের সিডিএফ। এবার আমরা কার্তেসীয় থেকে পোলার স্থানাঙ্কে চলে যাব।

পোলার স্থানাঙ্কে গেলে <math>x[1]=r\cos\theta</math> এবং <math>x[2]=r\sin\theta</math> হবে। আর স্থানাঙ্ক রূপান্তরের জ্যাকবিয়ান হবে:

<math>J(x[1],x[2]/r,\theta) = r</math>
<math>\begin{align}

\text{CDF}(y) &= \int_0^{2\pi} d\theta \int_0^{\sqrt{2y}} r.dr.\frac{1}{2\pi\sigma^2} \exp\left(-\frac{1}{2\sigma^2} r^2\right) \\ &= \frac{1}{\sigma^2} \int_0^{\sqrt{2y}} r.dr.\frac{1}{2\pi\sigma^2} \exp\left(-\frac{1}{2\sigma^2} r^2\right) \end{align}</math>

একটি কম্পিউটার স্ক্রিপ্টের (ম্যাটল্যাব, পাইথন, আইডিএল) মাধ্যমে <math>x[n]=A+w[n]</math> উপাত্তের ১০০টি নমুনা তৈরি করো যেখানে <math>A=10m</math>, এবং <math>w[n]\rightarrow \mathcal{N}(0,\sigma^2)</math>. এরপর উপাত্তের গড় এবং ভেদাঙ্ক নির্ণয় করো। এবার নমুনার সংখ্যা বাড়িয়ে ১০,০০০ করে দেখো গড় এবং ভেদাঙ্ক কতটা পরিবর্তিত হয়। পরিবর্তনের কারণ ব্যাখ্যা করো।

সমাধান

নিচের ম্যাটল্যাব স্ক্রিপ্ট কাজটি করে দেবে:

a=10; sig2=16;
N=100;
x=randn(1,N)*sqrt(sig2);
disp(['Mean for 100 samples is' num2str(mean(x))]);
disp(['Variance for 100 samples is ' num2str(var(x))]);
N=10000;
x=randn(1,N)*sqrt(sig2);
disp(['Mean for 10000 samples is ' num2str(mean(x))]);
disp(['Variance for 10000 samples is ' num2str(var(x))]);

স্ক্রিপ্টটি রান করলে ফলাফল হবে:

Mean for 100 samples is 0.17303
Variance for 100 samples is 16.6677
Mean for 10000 samples is -0.016706
Variance for 10000 samples is 15.7607

দেখা যাচ্ছে, নমুনা সংখ্যা বাড়ালে গড় আরো শূন্যের কাছাকাছি হয়, এবং ভেদাঙ্ক কমে যায়। মোদ্দাকথা নমুনা সংখ্যা বাড়ালে ফলাফল অপেক্ষাকৃত ভালো হয়।

একটি বক্সকার ফাংশন সংজ্ঞায়িত করো <math>[-5, 5]</math> ব্যাপ্তীর মধ্যে যার মান ৩। এরপর ফাংশনটিকে <math>\mu=0</math> এবং <math>\sigma=[1,5,10,50]</math> বিশিষ্ট একটি গাউসীয় বিন্যাসের সাথে কনভল্যুশন করো। একেক পরিমিত ব্যবধান বিশিষ্ট বিন্যাসের সাথে কনভল্যুশন করলে ফলাফলের কি পার্থক্য হয়?

সমাধান

ফুরিয়ে ডোমেইনে কনভল্যুশন গুণন হয়ে যায়। তাই আমরা কনভল্যুশনটি করব ফুরিয়ে ডোমেইনে। নিচের ম্যাটল্যাব স্ক্রিপ্ট কাজটি করে দিবে:

clear all; close all; clc;
x = linspace(-100,100,2048*8);
sig = [1 5 10 50];
boxcar = zeros(length(x),1);
boxcar(find(abs(x)<=5)) = 3;
boxcar_ft = fft(boxcar);
boxcar_conv = zeros(length(x),length(sig));
for ii = 1:length(sig)
    gauss = 1/sqrt(2*pi*sig(ii)^2) * exp(-1/2/sig(ii)^2*x.^2);
    gauss_ft = fft(gauss);
    boxcar_conv(:,ii) = fftshift(ifft(gauss_ft(:) .* boxcar_ft));
end
plot(x,boxcar_conv);
xlabel('Signal index in linear units');
ylabel('Convoloved signal in linear units');
legend('sig=1','sig=5','sig=10','sig=50');

আউটপুট হিসেবে যে প্লটটি পাওয়া যাবে তা হল:

SSP hw17.png

কনভল্যুশনের অর্থ একটি ফাংশনকে স্মুথ করা। উপরের ছবিতে দেখা যাচ্ছে গাউসিয়ানের প্রস্থ তথা পরিমিত ব্যবধান যখন কম তখন স্মুথিং বেশ ছোটো স্কেলে ঘটে, যার ফলে বক্সকার ফাংশনের আসল আকারের খুব একটা পরিবর্তন ঘটে না। কিন্তু গাউসিয়ানের পরিমিত ব্যবধান বাড়লে স্মুথিং বড় স্কেলে ঘটে ও বক্সকার গাউসিয়ানের মতো আচরণ করতে শুরু করে।