সমঝোতার মধ্যে আবেগ প্রতিক্রিয়া উল্টানো


26

একটি সিগন্যালে সমঝোতার সময়, কেন প্রক্রিয়া চলাকালীন আমাদের আবেগ প্রতিক্রিয়া উল্টানো প্রয়োজন?


5
এই উত্তরটির উত্তর অর্ধেকটি আপনাকে বুঝতে সাহায্য করবে।
দিলীপ সরোতে

3
@ দিলীপ সরওয়াতে দুর্দান্ত উত্তর পড়ার পাশাপাশি কাগজের একটি শীট নেওয়া এবং অনুপ্রেরণার প্রতিক্রিয়ার সময়-স্থানান্তরিত এবং ছোট আকারের সংস্করণ যুক্ত করে গ্রাফিকভাবে একটি এলটিআই সিস্টেমের আউটপুট গণনা করা ভাল অনুশীলন।
Deve

1
মনে রাখবেন যে আপনি যে কোনও যুক্তি উল্টাতে পারবেন - ফলাফল একই।
ওয়াজাহ

উত্তর:


29

একটি পৃথক প্রশ্নের উত্তর থেকে অভিযোজিত (একটি মন্তব্যে উল্লিখিত) এই আশায় যে এই প্রশ্নটি সাম্প্রতিক উইকির দ্বারা শীর্ষস্থানীয় প্রশ্নগুলির একটি হিসাবে বারবার উত্থিত হবে না ....

রৈখিক (সময়-আক্রমণকারী) সিস্টেম দ্বারা অনুপ্রেরণার প্রতিক্রিয়াটির কোনও "উল্টানো" নেই। একটি রৈখিক সময় পরিবর্তিত সিস্টেম আউটপুট ছোটো এবং প্রৈতি সাড়া সময় বিলম্বিত সংস্করণ এর সমষ্টি না "ফ্লিপ" প্রৈতি প্রতিক্রিয়া।

আমরা ইনপুট সংকেত ভেঙ্গে একটি মধ্যে সমষ্টি ছোটো ইউনিট নাড়ি সংকেত। ইউনিট নাড়ি সংকেত সিস্টেম প্রতিক্রিয়া হয় প্রৈতি প্রতিক্রিয়া বা নাড়ি প্রতিক্রিয়া এবং স্কেলিং সম্পত্তি দ্বারা একক ইনপুট মান , বা, আপনি একটি প্রতিক্রিয়া তৈরি করে , 0 , 0 , 1 , 0 , 0 , এইচ [ 0 ] , এইচ [ 1 ] , , এইচ [ এন ] , এক্স [ 0 ] এক্স [ 0 ] ( , 0 , 0 , 1 , 0 , 0 , ) = 0 , 0 ,x, 0, 0, 1, 0, 0,

h[0], h[1],, h[n],
x[0]
x[0](, 0, 0, 1, 0, 0,)= 0, 0, x[0], 0, 0,
x[0]h[0],  x[0]h[1],,  x[0]h[n],

একইভাবে, একক ইনপুট মান বা তৈরি করে একটি প্রতিক্রিয়া তৈরি করে এর প্রতিক্রিয়াতে বিলম্ব লক্ষ্য করুন । আমরা এই শিরাতে আরও চালিয়ে যেতে পারি, তবে আরও সারণী আকারে স্যুইচ করা এবং সময়মত সঠিকভাবে সংযুক্ত বিভিন্ন আউটপুটগুলি দেখানো ভাল। আমাদের আছে x[1]

x[1](, 0, 0, 0, 1, 0,)= 0, 0, 0, x[1], 0,
0,x[1]h[0],  x[1]h[1],,  x[1]h[n1],x[1]h[n]
x[1]
time012nn+1x[0]x[0]h[0]x[0]h[1]x[0]h[2]x[0]h[n]x[0]h[n+1]x[1]0x[1]h[0]x[1]h[1]x[1]h[n1]x[1]h[n]x[2]00x[2]h[0]x[2]h[n2]x[2]h[n1]x[m]000x[m]h[nm]x[m]h[nm+1]
\ ddots \ শেষ {অ্যারের} উপরে অ্যারের মধ্যে সারি অবিকল প্রৈতি প্রতিক্রিয়া যে প্রতিক্রিয়া পর্যন্ত যোগ এর ছোটো ও বিলম্ব সংস্করণ ইনপুট সংকেত । yx তবে আপনি যদি আরও নির্দিষ্ট প্রশ্ন জিজ্ঞাসা করেন যেমন

এ সময় আউটপুট কি ?n

তারপরে আপনি পেতে তম কলামটি যোগ করে উত্তরটি পেতে পারেন প্রিয় কনভোলিউশন সূত্র যা শিক্ষার্থীদের প্রজন্মকে বিস্মিত করে কারণ আবেগের প্রতিক্রিয়া দেখে মনে হয় "পিছলে গেছে" বা সময়মতো পিছনে চলেছে। তবে, লোকেরা যা ভুলে যেতে পারে তা হ'ল পরিবর্তে আমরা লিখতে পারতাম যাতে এটি এমন ইনপুট হয় যা "উল্টানো" বলে মনে হয় বা সময়মতো পিছনে চলে! অন্য কথায়, এটি মানুষn

y[n]=x[0]h[n]+x[1]h[n1]+x[2]h[n2]++x[m]h[nm]+=m=0x[m]h[nm],
এন
y[n]=x[n]h[0]+x[n1]h[1]+x[n2]h[2]++x[0]h[n]+=m=0x[nm]h[m],
যারা প্রৈতি প্রতিক্রিয়া (বা ইনপুট) যখন সময়ে প্রতিক্রিয়া কম্পিউটিং উপর টুসকি সংবর্তন সূত্র ব্যবহার করে, কিন্তু সিস্টেম নিজেই সাজানোর কিছুই করে না।n

4

এখানে একটি সি / সি ++ উদাহরণ রয়েছে যা দেখায় যে বিপরীতে আবেগের প্রতিক্রিয়াটি ব্যবহার না করেই সমঝোতা করা যায়। আপনি যদি convolve_scatter()ফাংশনটি পরিদর্শন করেন তবে কোনও পরিবর্তনশীল কোথাও অবহেলিত হবে না। এটি ছড়িয়ে ছিটিয়ে থাকা কনভলিউশন যেখানে প্রতিটি ইনপুট নমুনা মেমরির একাধিক আউটপুট নমুনাগুলিতে ছড়িয়ে ছিটিয়ে থাকে (সংক্ষেপে) প্রেরণামূলক প্রতিক্রিয়ার দ্বারা দেওয়া ওজন ব্যবহার করে। এটি অপব্যয় কারণ আউটপুট নমুনাগুলি বেশ কয়েকবার পড়তে এবং লিখতে হবে।

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

#include <stdio.h>

const int Nx = 5; 
const int x[Nx] = {1, 0, 0, 0, 2};
const int Ny = 3; 
const int y[Ny] = {1, 2, 3};
const int Nz = Nx+Ny-1;
int z[Nz];

void convolve_scatter() { // z = x conv y
  for (int k = 0; k < Nz; k++) {
    z[k] = 0;
  }
  for (int n = 0; n < Nx; n++) {
    for (int m = 0; m < Ny; m++) {
      z[n+m] += x[n]*y[m]; // No IR reversal
    }
  }
}

void convolve_gather() { // z = x conv y
  for (int k = 0; k < Nz; k++) {
    int accu = 0;
    for (int m = 0; m < Ny; m++) {
      int n = k+m - Ny + 1;
      if (n >= 0 && n < Nx) {
        accu += x[n]*y[Ny-m-1]; // IR reversed here
      }
    }
    z[k] = accu;
  }
}

void print() {
  for (int k = 0; k < Nz; k++) {
    printf("%d ", z[k]);
  }
  printf("\n");
}

int main() {
  convolve_scatter();
  print();
  convolve_gather();
  print();
}

এটি অনুক্রমকে বোঝায়:

1 0 0 0 2
1 2 3

এবং উভয় সমঝোতা পদ্ধতি আউটপুট ব্যবহার:

1 2 3 0 2 4 6

ছড়িয়ে ছিটিয়ে থাকা পদ্ধতিটি ব্যবহার করে এমন কাউকে আমি কল্পনা করতে পারি না, যদি না ফিল্টারটি সময়ের পরিবর্তিত হয়, তবে ক্ষেত্রে দুটি পদ্ধতি পৃথক ফলাফল আনতে পারে এবং এর মধ্যে আরও উপযুক্ত হতে পারে।


মজাদার! তবে চূড়ান্ত উপসংহারটি কী তা আমি দেখতে আগ্রহী
ব্যর্থ বিজ্ঞানী

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

@ ফ্যাট 32 আমাকে না! আপনি বোঝাচ্ছেন সমবেত জমায়েতে জমা হওয়া একাধিক কোরের সাথে বহুগুণে কাজ করে বাধা হতে পারে? প্রতিটি কোরকে তার নিজস্ব সঞ্চালক দিয়ে এবং শেষে তাদের সংক্ষিপ্ত করে এটিকে প্রশমিত করা যায়। আমি মনে করি এই ওভারহেডটি বিক্ষিপ্ত সমাবর্তনে অতিরিক্ত মেমরির লেখার সাথে তুলনা করে খুব বেশি হবে না।
ওলি নিমিতিটালো

প্রকৃতপক্ষে আমি জমায়েত ফর্মগুলি বাধা ছাড়ানোর চেয়ে ছড়িয়ে ছিটিয়ে থাকা ফর্মের দক্ষতার সাথে বেশি উদ্বিগ্ন ছিলাম current আমার বর্তমান সি ফিল্টারিং কোডগুলি (সম্ভবত সম্ভবত) জমায়েতের ফর্মে রয়েছে, তবে যখন এটি ASM কোড আসে তখন আমি সেগুলি সিমড এসএসই এক্সটেনশনে লিখি যা বেশি বিক্ষিপ্ত ফর্ম উপযুক্ত। আমাকে আমার টেটগুলি আপডেট করতে হবে , তবে :-))) মেমোরি আইও অবশ্যই রেজিস্ট্রার সংগ্রহের তুলনায় একটি সমস্যা। এবং সম্ভবত আমি বারবার স্মৃতি IO এর দণ্ড মিস করছি ...
ফ্যাট 32

কেউ ছড়িয়ে ছিটিয়ে এবং জমায়েতের চেয়ে ভাল শব্দ জানেন? এগুলি স্পার্স কনভোলিউশন কার্নেলের জন্য সংরক্ষিত কিনা তা আমি নিশ্চিত নই।
অলি নিমিত্তালো

3

এটি কেবলমাত্র পয়েন্টওয়্যার গণনার জন্য 'উল্টানো'।

@ ডিলিপ ব্যাখ্যা করে যে কনভ্যুশনাল ইন্টিগ্রাল / সমষ্টিটি কী উপস্থাপন করে, তবে কেন দুটি ইনপুট ফাংশনগুলির মধ্যে একটি (প্রায়শই h(t)) গণনার উদ্দেশ্যে উল্টানো হয় তা ব্যাখ্যা করতে, ইনপুট x[n]এবং প্রেরণামূলক প্রতিক্রিয়া সহ একটি স্বতন্ত্র-সময় ব্যবস্থা বিবেচনা করুন h[n]:

  • আপনি আপনার ইনপুট ফাংশনটি নিতে পারেন x[n]এবং প্রতিটি নন-শূন্য * নমুনার জন্য নমুনা x[n]থেকে nএবং সময়-স্থানান্তরিত h[n]শূন্যের নিচে (কার্যকারণ অনুমান করে h[n]) মরার আগে পর্যন্ত স্কেলড আবেগ প্রতিক্রিয়া গণনা করে । এটি কোন 'আলোকসম্পাতের' (আরো সঠিকভাবে 'সময়-উলটাপালটা' বা) যেকোন জড়িত করা হবে x[n]বা h[n]। যাইহোক, শেষে আপনাকে এই সমস্ত স্কেলড + স্থানান্তরিত 'ইকোস' প্রতিটি অ-শূন্যের জন্য অনুপ্রেরণামূলক প্রতিক্রিয়ার যোগ / সুপারিম্পোজ করতে হবে x[n]

  • অথবা , সুবিধার জন্য আপনি সময় গণনার (সাধারণত 0) সম্পর্কিত একটি ফাংশনকে সময়-বিপরীত করতে পারেন, আপনার গণনা তৈরি করে {গুণ, যোগ, গুণ, যোগ, ...} এর পরিবর্তে ly গুণ, গুণ, ..., যোগ করুন , যোগ করুন, ...}। এটি একই আউটপুট সিগন্যালে ফলাফল দেয় কারণ এটি ঠিক একই গুণটি সম্পাদন করবে এবং ক্রিয়াকলাপ যুক্ত করবে। উদাহরণস্বরূপ, 0-তে একটি শূন্য-ইনপুট সিগন্যাল থেকে আউটপুট অবদান সম্পর্কে ভাবেন x[0]। যখন kসমীকরণের জন্য = ০ When অনুপ্রেরণাটি কেবলমাত্র সময়-বিপরীত হবে তবে স্থানান্তরিত হবে না, যা আমাদের প্রথম নমুনা প্রতিক্রিয়া প্রদান করবে , যার জন্য হয় । তারপরে, একের পর এক বৃদ্ধি করা ডান এক সময় ধাপে স্থানান্তরিত হবে , যেমন সময় বিপরীত

    k=x[k]h[nk]
    h[n]x[n]x[0]h[0]kh[n]h[n]s এর দ্বিতীয় এন্ট্রি ( h[1]) এখন x[0]গুণমানের অপেক্ষায় শীর্ষে থাকবে। এটি পূর্বের পদ্ধতিতে যেমন করা হত ঠিক তেমনি x[0]h[1]সময় মতো কাঙ্ক্ষিত অবদানও n=1পাবে।

* আমি অ-শূন্য বলি x[n]কারণ আবেগের প্রতিক্রিয়া শূন্যকে স্কেল করা হয়েছে, সুতরাং চূড়ান্ত আউটপুটটিতে কিছুই অবদান রাখে না ।

x[n]=0
h[n]y[n]

"আপনি আপনার ইনপুট ফাংশন x [n] নিতে পারবেন এবং প্রতিটি অ-শূন্য * নমুনা x [n] এর জন্য স্যাম্পল এন থেকে এবং সময়-স্থানান্তরিত এইচ [এন] এর নিচে শূন্যের নিচে মারা যাওয়া অবধি গণনা করতে পারবেন কার্যকারণ h [n]) " এই বাক্যে যে পাঁচটি ঘটে থাকে তারা কি একই সংখ্যার হয় বা সেগুলি আলাদা হয়? n
দিলীপ সরোতে

@Dilip। 'এন-টাইম-শিফট এইচ [এন]' ব্যতীত সমস্ত এন একই, যেখানে 'এইচ [এন কে]' বোঝায়, যেখানে 'কে' সিগন্যাল এক্স এর পছন্দসই বিন্দুতে আবেগ প্রতিক্রিয়া স্থানান্তর করতে ব্যবহৃত ধ্রুবক ]। উদাহরণস্বরূপ: x [2] এ সংকেতের প্রতিক্রিয়া গণনা করার জন্য h [n-2]।
abc

3

সূচী সি [এন] এ, একটি [এন] এবং বি [এন] এর প্রত্যয়টি এমন যে:

"সি [এন] হ'ল সমস্ত পণ্যের সংমিশ্রণ (ক [কে] বি [এম]) যেমন এম + কে = এন," তাই এম = এন - কে বা কে = এন - এম, যার অর্থ এই অনুক্রমগুলির মধ্যে একটি উল্টাতে হবে।

এখন কেন কনভোলশন প্রথম স্থানে এইরকম আচরণ করে? বহুগুণের বহুগুণে এর সংযোগের কারণে।

দুটি বহুভুজের গুণাগুণ সহ-কার্যকারীর সাথে একটি নতুন বহুবর্ষে ফলাফল। পণ্য বহুপদী এর সহ-কার্যকারীরা সমঝোতার ক্রিয়াকলাপ সংজ্ঞায়িত করে। এখন, সিগন্যাল প্রক্রিয়াকরণে, স্থানান্তর ফাংশন- ল্যাপ্লেস ট্রান্সফর্ম বা জেড-ট্রান্সফর্মগুলি হ'ল এই বহুবচন, প্রতিটি সহ-দক্ষতার সাথে আলাদা সময়-বিলম্বের সাথে মিল রয়েছে। পণ্যের সহ-কার্যকারিতা এবং গুণকগুলির মিলের ফলে এই ফলাফলটি পাওয়া যায় যে 'একটি উপস্থাপনায় গুণটি রূপান্তরিত প্রতিনিধিত্বের ক্ষেত্রে সমঝোতার সাথে মিলে যায়'।

এখানে চিত্র বর্ণনা লিখুন


0

সমঝোতার সময়, আবেগের প্রতিক্রিয়াটির কোনও "ফ্লিপ" মোটেও হওয়া দরকার ...

তবে, আপনি যদি কোনও পর্বের পরিবর্তনকে আটকাতে চান তবে আপনি একটি অনুপ্রেরণামূলক প্রতিক্রিয়া সহ একটি সংকেতকে দৃolute়প্রতিজ্ঞ করতে পারেন এবং তারপরে আবেগ প্রতিক্রিয়াটিকে বিপরীত করতে পারেন এবং পর্যায়ের প্রভাবগুলি বাতিল করতে পুনরায় দৃ conv়প্রত্যয় করতে পারেন।

অফলাইন প্রক্রিয়াকরণে, আপনি একই সমাপ্তিতে পৌঁছানোর জন্য প্রথম সমঝোতার পরে ঠিক সহজেই সিগন্যালটি বিপরীত করতে পারেন (মন্তব্যগুলির পরামর্শ অনুসারে)।


3
তিনি কনভ্যুশনাল ইন্টিগ্রালটিতে প্রবণতা প্রতিক্রিয়াটির উপর "সময়ের বিপরীত" উল্লেখ করছেন: । অন্য কেউ ইতিমধ্যে ইঙ্গিত হিসাবে, আপনি প্রেরণা ফ্লিপ করতে হবে না ; আপনি শব্দটি (যেমন ) ফ্লিপ করতে পারেন । আমি মনে করি তিনি "ফ্লিপ এবং স্লাইড" ক্রিয়াটির গুণগত ব্যাখ্যা কী তা বোঝার চেষ্টা করছেন। y(t)=x(τ)h(tτ)dτh(t)x(t)h(t)=h(t)x(t)
জেসন আর

@ জেসনআর, আহ! কখনও কখনও প্রশ্নটি কী হচ্ছে তা দেখার পক্ষে শক্ত। ইজহাক, একবার আপনি যে উত্তরটি সন্ধান করছেন তা বুঝতে পারলে আপনি বুঝতে পারবেন আমি কোথায় যাচ্ছি। আপাতত আমাকে উপেক্ষা করুন!
learnvst

0

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

f(τ)g(tτ)dτ
t1+t2=tf(t1)g(t2)dt1dt2
fgt

এখন হ্যান্ডউইভিং ফর্মটি এখানে জড়িত প্রতিসাম্যকে পরিষ্কারভাবে দেখায় এবং কোনও "উল্টানো" জড়িত না। এটিকে যথাযথ এক-মাত্রিক অবিচ্ছেদে রূপান্তর করতে তবে দুটি যুক্তিগুলির মধ্যে একটিকে আসল সংহতকরণের পরিবর্তনশীল করে তোলা দরকার। এটি হয় বা হস্তাক্ষর জড়িত না করে একটি অনমনীয় প্রতিসম ফর্ম সন্ধান করা। পরেরটি কৌতুকপূর্ণ। মূলত, আপনাকে ) এর মতো কিছু ( ডেল্টা ফাংশন / বিতরণ ব্যবহার করার সময়) তৈরি করে আবার স্বাভাবিক রাখতে হবে আপনি যদি আবার এক উপায়ে তবে আপনি এবং সম্পত্তি থেকে t 1 f ( t 1 )

t1,t2f(t1)g(t2)δ(tt1t2)dt1dt2
t 1 f ( t 1 )
t1f(t1)dt1t2g(t2)δ(tt1t2)dt2
t1f(t1)dt1g(tt1)
যা কিছুটা পুনরায় নামকরণের সাথে মূল অবিচ্ছেদ্য।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.