ক্রস পারস্পরিক সম্পর্ক ব্যবহার করে অসিলোস্কোপ সংকেতগুলির সময় বিলম্বের অনুমান


12

আমি একটি অস্পোপ থেকে 2 সংকেত রেকর্ড করেছি। তারা এ জাতীয় চেহারা: এখানে চিত্র বর্ণনা লিখুন

আমি তাদের মধ্যে মতলবতে সময়ের বিলম্ব পরিমাপ করতে চাই। প্রতিটি সিগন্যালে 2001000.5 এর নমুনা ফ্রিক্যোয়েন্সি সহ 2000 টি নমুনা থাকে।

ডেটা একটি সিএসভি ফাইলে রয়েছে। আমার এখন পর্যন্ত যা আছে তাই এটি।
আমি সিএসভি ফাইলের বাইরে থাকা সময়ের ডেটা মুছলাম যাতে কেবল ভোল্টেজের মাত্রা সিএসভি ফাইলে থাকে।

x1 = csvread('C://scope1.csv');
x2 = csvread('C://scope2.csv');  
cc = xcorr(x1,x2);
plot(cc);  

এটি এই ফলাফল দেয়: এখানে চিত্র বর্ণনা লিখুন

আমি যা পড়েছি তা থেকে এই সংকেতগুলির ক্রস পারস্পরিক সম্পর্ক গ্রহণ করা দরকার এবং এটি আমাকে সময় বিলম্ব সম্পর্কিত একটি শীর্ষস্থান দেয় give তবে আমি যখন এই সংকেতগুলির ক্রস পারস্পরিক সম্পর্ক গ্রহণ করি তখন আমি 2000 এ শিখর পাই যা আমি জানি যা সঠিক নয়। আমি এই সংকেতগুলি পারস্পরিক সম্পর্ক স্থাপনের আগে তাদের কী করব? শুধু কিছু দিক খুঁজছেন।

সম্পাদনা: ডিসি অফসেট অপসারণের পরে এটি এখন আমি পাচ্ছি ফলাফল:
এখানে চিত্র বর্ণনা লিখুন

আরও নির্ধারিত সময়ের বিলম্ব পেতে কী এটি পরিষ্কার করার কোনও উপায় আছে?

সম্পাদনা 2: এখানে ফাইল আছে:
http://dl.dropbox.com/u/10147354/scope1col.csv
http://dl.dropbox.com/u/10147354/scope2col.csv


কিভাবে, ঠিক, আপনি ক্রস পারস্পরিক সম্পর্ক করছেন? আপনার সরাসরি প্রশ্নের উত্তরে, ক্রস-পারস্পরিক সম্পর্কের আগে আপনার সিগন্যালগুলিতে আপনাকে কিছু করার দরকার নেই, যদিও কিছু কিছু ক্ষেত্রে প্রথমে ফিল্টারিং শব্দের হাত থেকে মুক্তি পেতে সহায়তা করে যা ফলাফলকে বিকৃত করতে পারে।
জিম ক্লে

1
আপনি যে কোডটি ব্যবহার করেছেন তা পোস্ট করুন এবং আরও গুরুত্বপূর্ণভাবে ক্রস-সম্পর্কিত সংকেতের প্লট। কিছু সরঞ্জাম / গ্রন্থাগার গ্রাফের মাঝখানে (পিছনে = 0) স্কোর রাখে; মতলব তা করে কিনা মনে নেই।
পিচনেটস

@ পিচনেটস: আপডেট পোস্ট
নিক

@ জিমক্লে: আপডেট পোস্ট
নিক

@NickS। যদি আপনার সংকেতগুলি পুরোপুরিভাবে সাজানো থাকে তবে আপনি আপনার সিসি প্লটের মাঝখানে একটি শিখর পাবেন। 2000 এ শিখর অর্থ হ'ল দেরি নেই। এখন আমাদের বলুন যে আপনার 10 টি নমুনা বিলম্ব হয়েছে যার অর্থ সিগন্যাল 2 সিগন্যাল 1 থেকে 10 টি নমুনা বন্ধ। এটি 2000 থেকে 2010 (বা 1990) পর্যন্ত সিসিতে আপনার শিখরটি সরিয়ে ফেলবে। সুতরাং আপনার সময় বিলম্ব আপনার প্রকৃত শিখর অবস্থান, MINUS 2000 এর সাথে মিলে যায়
স্পেসি

উত্তর:


11

@NickS

যেহেতু এটি দৃ from়রূপে বলা যায় যে প্লটগুলির মধ্যে দ্বিতীয় সংকেতটি আসলে প্রথমটির সম্পূর্ণ বিলম্বিত সংস্করণ, তাই শাস্ত্রীয় ক্রস-সম্পর্ক সম্পর্কিত অন্যান্য পদ্ধতিও চেষ্টা করতে হবে। এর কারণ হ'ল যদি আপনার সিগন্যাল (গুলি) একে অপরের সংস্করণে বিলম্বিত হয় তবে ক্রস পারস্পরিক সম্পর্ক (সিসি) কেবলমাত্র সর্বাধিক সম্ভাবনা অনুমানকারী। এই ক্ষেত্রে, তারা স্পষ্টতই নয় যে তাদের অ-স্থিতিস্থাপকতা সম্পর্কে কিছু বলবে না।

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

এই লক্ষ্যে, আমি নিম্নলিখিতগুলি করেছি:

পদক্ষেপ 1: সিগন্যাল খামগুলি গণনা করুন:

এই পদক্ষেপটি সহজ, কারণ আপনার প্রতিটি সিগন্যালের হিলবার্ট-ট্রান্সফর্মের আউটপুটটির পরম মানের গণনা করা হয়। খামগুলি গণনা করার জন্য অন্যান্য পদ্ধতি রয়েছে তবে এটি বেশ সোজা এগিয়ে। এই পদ্ধতিটি মূলত আপনার সিগন্যালের বিশ্লেষণাত্মক ফর্মটি গণনা করে, অন্য কথায়, ফাসর প্রতিনিধিত্ব করে। আপনি যখন নিখুঁত মান নেন, আপনি পর্যায়ে এবং কেবল শক্তির পরে ধ্বংস করছেন।

তবুও যেহেতু আমরা আপনার সিগন্যালের শক্তির সময়-বিলম্ব-অনুমানের অনুসরণ করছি, এই পদ্ধতির পুনরুদ্ধার করা হয়েছে।

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

পদক্ষেপ 2: অ-রৈখিক অ-রৈখিক মেডিয়াল ফিল্টারগুলি প্রান্তের সাথে ডি-শব্দ

এটি একটি গুরুত্বপূর্ণ পদক্ষেপ। এখানে উদ্দেশ্য হ'ল আপনার শক্তি খামগুলি মসৃণ করা, কিন্তু বিনা ক্ষতি ছাড়াই বা আপনার প্রান্তগুলি মসৃণ করা এবং দ্রুত বৃদ্ধি সময়গুলি ছাড়াই । এটিতে নিখুঁতভাবে একটি সম্পূর্ণ ক্ষেত্র রয়েছে, তবে আমাদের উদ্দেশ্যগুলির জন্য, আমরা কেবল অ-রৈখিক মিডিয়াল ফিল্টারটি কার্যকর করতে পারি । (মিডিয়ান ফিল্টারিং) এটি একটি শক্তিশালী কৌশল কারণ অসদৃশ হয় গড় ফিল্টারিং, মধ্যকালীন ফিল্টারিং আপনার প্রান্ত আউট নাল না হবে, কিন্তু একই সময়ে গুরুত্বপূর্ণ প্রান্ত উল্লেখযোগ্য অবনতি ছাড়া আপনার সংকেত আউট 'মসৃণ', কারণ কোনো মুহুর্তে কোনো গাণিতিক হচ্ছে আপনার সংকেত উপর সঞ্চালিত হয় (প্রদত্ত উইন্ডোর দৈর্ঘ্য বিজোড়)। আমাদের ক্ষেত্রে এখানে, আমি উইন্ডো আকারের 25 টি নমুনার একটি মধ্যবর্তী ফিল্টার নির্বাচন করেছি:

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

পদক্ষেপ 3: সময় সরান: গাউসিয়ান কার্নেল ঘনত্ব অনুমানের কার্যগুলি তৈরি করুন:

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

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

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

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

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

দ্বিতীয় চক্রান্ত সালে, প্রথম ব্যুৎপন্ন গসিয়ান KDEs নেওয়া হয়, এবং আমরা প্রথম ব্যুৎপন্ন প্রথম নমুনার ভূজাক্ষ বাছাই পর Gaussians সংমিশ্রণ শিখরে শূন্য একটি নির্দিষ্ট মান ঘনিষ্ঠ সাধা। (বা প্রথম শূন্য-ক্রসিং)। আমরা এই পদ্ধতিটি ব্যবহার করতে পারি এবং 'নিরাপদ' হতে পারি কারণ আমাদের কেডিএ যুক্তিসঙ্গত ব্যান্ডউইদথের মসৃণ গাউসিয়ানদের দ্বারা নির্মিত হয়েছিল এবং এই মসৃণ এবং শব্দহীন-কম ফাংশনটির প্রথম ডেরাইভেটিভ নেওয়া হয়েছিল। (সাধারণত প্রথম ডেরাইভেটিভস উচ্চতর এসএনআর সিগন্যাল ব্যতীত অন্য কোনও ক্ষেত্রে সমস্যাযুক্ত হতে পারে যেহেতু তারা আওয়াজকে বাড়িয়ে তোলে)।

কালো রেখাগুলি তখন চিত্রটি 'বিভাগে' বুদ্ধিমান হতে পারে এমন কোন প্রান্তে দেখায়, যেমন আমরা পুরো শব্দ তলটি এড়িয়ে চলে। তারপরে যদি আমরা আমাদের মূল সংকেতগুলিতে প্রয়োগ করি তবে আমরা নিম্নলিখিত প্লটগুলি অর্জন করব, কালো রেখাগুলি আমাদের সংকেতের শক্তির সূচনা করে:

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

এটি এভাবে একটি নমুনা দেয়।δt=241

আমি আশা করি এটি সাহায্য করেছে


কি দারুন. তোমাকে অনেক ধন্যবাদ. এগুলি আমার জন্য সমস্ত নতুন কৌশল যা আমি গবেষণা শুরু করব। আপনি যে ম্যাটলব কোডটি ব্যবহার করেছেন তাতে আমি কি একবার দেখে ফেলতে পারি?
নিক সিনাস

সুতরাং মতলবতে আমার # 1 এবং # 2 পদক্ষেপ হয়েছে এবং আমার ফলাফলগুলি আপনার সাথে মেলে তবে আমি পদক্ষেপ # 3 নিয়ে সমস্যা করছি। আপনি কোন ফাংশন ব্যবহার করেছেন?
নিক সিনাস

@NickS। জিজ্ঞাসা করুন, .. এবং আপনি পাবেন, আমাকে একটি ইমেল শুট করুন এবং আমি আপনাকে যে কোডটি ব্যবহার করেছি তা পাঠিয়ে দিতে পারি।
স্পেসি

@ মোহাম্মদ আপনি কি সময় বিলম্ব অনুমান করতে আপনার কোড পোস্ট করতে পারেন? আমি আপনাকে এই বিষয়ে একটি ইমেল প্রেরণ করেছি তাই দয়া করে সহায়তা করুন

6

স্বতঃসংশ্লিষ্টতার সাথে এটি করতে কয়েকটি সমস্যা রয়েছে

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

প্রারম্ভিক পয়েন্টগুলি সন্ধান করার জন্য একটি প্রান্তিক ডিটেক্টর ব্যবহার করা এবং বিলম্ব হিসাবে এই পয়েন্টগুলির মধ্যে পার্থক্যটি সহজভাবে ব্যবহার করা হ'ল আরও সহজ পদ্ধতি।


4

পিকনেটস হিসাবে ইঙ্গিত করা হয়েছে, এক্ষেত্রে আউটপুটটির মাঝখানে একটি শিখর 0 লেগ ইঙ্গিত করে। মিডল পয়েন্ট থেকে শিখরের অফসেটটি আপনার সময় পিছনে।

সম্পাদনা: এটি আমাকে উদ্বিগ্ন করে যে পারস্পরিক সম্পর্কটি প্রায় এক নিখুঁত ত্রিভুজ। এটি আমার নির্দেশ করে যে ক্রস পারস্পরিক সম্পর্ক কোনও শক্তি স্বাভাবিককরণ করছে না। এটি বৃহত্তর ল্যাগগুলির চেয়ে ছোট ল্যাগগুলিকে একটি অন্যায্য পক্ষপাত দেয়। আমি আপনার xcorr কলকে "cc = xcorr (x1, x2, 'নিরপেক্ষ');" তে পরিবর্তন করব।

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


মানে সিগন্যাল দেরী হচ্ছে না?
নিক সিনাস

আমি নিশ্চিত নই- শিখরটি কোথায়? আমি দেখতে পাচ্ছি যে এটি মাঝের কাছাকাছি, তবে এটি স্পষ্ট নয় যে এটি আসলে মাঝখানে। এছাড়াও, একটি পাওয়ার নরমালাইজেশন সমস্যা রয়েছে যা আমি আমার উত্তরের সম্পাদনায় সম্বোধন করব।
জিম ক্লে

'নিরপেক্ষ' পরামিতি অবশ্যই এটি আরও ভাল দেখায়। আমি আশা করব কি আরও। আমি এটি সন্ধান করা হবে। ধন্যবাদ।
নিক সিনাস

@ জিমক্লে সম্ভবত নিক এস, তার সিগন্যালের খামগুলিকে সংশোধন করছে না প্রকৃত সংকেতগুলিতে, (নিক কী এই সত্য?) এটি কল্পনা করে এই ত্রিভুজাকার আকারটি (প্রায়) উত্পন্ন করবে।
স্পেসি

2
@NickS। মোহাম্মদ এর মন্তব্য আমাকে চেহারা এবং বুঝতে পেরেছে যে আপনার একটি বিশাল ডিসি অফসেট রয়েছে যা আপনার ফলাফলগুলিকে গোলমাল করছে। আপনার উভয় সিগন্যাল থেকে গড় বিয়োগ করুন এবং তারপরে সেগুলিতে এক্সকোর্ড চালান। আমি প্রথমে "নিরপেক্ষ" বিকল্প ছাড়াই এটি চেষ্টা করব।
জিম ক্লে

4

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

আপনি যে ডেটা দেখিয়েছেন তাতে সমস্যাটি হ'ল (কমপক্ষে স্নিপেটগুলির জন্য আমরা দেখতে পাচ্ছি) আকারে তেমন মিল খুঁজে পাওয়া যায় না। আপনি কোনও সংকেতটিকে অন্যটির মতো দেখতে তৈরি করতে কোনও বিলম্ব করতে পারেন না, যা তাদের ক্রস-পারস্পরিক সম্পর্কের গণনা করে ঠিক আপনি যা করছেন।

এমন কিছু উদাহরণ রয়েছে যেখানে ক্রস-পারস্পরিক সম্পর্ক কার্যকর। বলুন যে আপনার দ্বিতীয় সংকেতটি সত্যিকারের একটি সময়-স্থানান্তরিত সংস্করণ ছিল, এমনকি কিছু অতিরিক্ত শব্দ যোগ করার সাথেও:

a = csvread('scope1col.csv');
a = a - mean(a);               % to remove DC offset
b = a(200:end) + sqrt(0.05)*randn(1801,1);
figure; subplot(211); plot(a); subplot(212); plot(b)

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

দু'টি সংকেত সময়ের দেরির সাথে সম্পর্কিত কিনা তা এখনই তাত্ক্ষণিকভাবে পরিষ্কার হয়ে যায় না। তবে, আমরা যদি আন্তঃসম্পর্ক গ্রহণ করি তবে আমরা পাই:

[c,lags] = xcorr(a,b);
igure; plot(lags,c); grid on; xlabel('Lag'); ylabel('Cross-correlation');

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

যা ২০০ টি নমুনার সঠিক লেগে একটি শীর্ষকে দেখায়। সঠিকভাবে সাদৃশ্যযুক্ত ডেটাসেটগুলিতে প্রয়োগ করা হলে সময় বিলম্ব নির্ধারণের জন্য সহযোগিতা একটি কার্যকর সরঞ্জাম হতে পারে।


আমি আর কি করতে পারি তার জন্য কোনও ধারণা? হতে পারে ক্রস পারস্পরিক সম্পর্ক ছাড়া অন্য কোনও কৌশল বা সম্ভবত কোনও ধরণের ফিল্টার? ধন্যবাদ।
নিক সিনাস

@NickS। আমি এটিও দেখেছি এবং তারা একে অপরের অনুলিপি করতে দেরি করে না। বলা হচ্ছে, আপনি কি শক্তির বিলম্ব অনুমান করতে চান ? আমি মনে করি এটি সিগন্যালের ভিএস বিলম্বের ক্ষেত্রে এই ক্ষেত্রে আরও তাত্পর্যপূর্ণ হবে । আপনি চলমান অন্তর্নিহিত চ্যানেল / পরীক্ষা সম্পর্কে যদি আমাদের আরও জানান তবে আমরা আপনাকে সম্ভাব্য পথগুলি সম্পর্কে আরও বলতে পারি।
স্পেসি

@ মোহাম্মদ ধন্যবাদ অন্তর্নিহিত চ্যানেলটি ইস্পাত। শক্তির বিলম্ব কীভাবে অনুমান করা যায়?
নিক সিনাস

@ মোহাম্মদ আপনি কি মনে করেন যে সংকেতগুলির বিকৃতিটি এমন এক ধরণের পুনরাবৃত্তি হতে পারে যা ফিল্টারিং দিয়ে পরিষ্কার করা যায়?
নিক সিনাস

@NickS। সেখানে কিছু বিপরীতমুখী পরিষ্কারের কৌশল থাকতে পারে (আমি সেগুলি কীভাবে সম্পাদিত হবে সে সম্পর্কে আমি অবগত নই) তবে আমি একসাথে এমন সহজ কিছু মিলিয়েছি যা আপনি যদি একবার দেখতে চান তবে এনার্জি অনুমানকারী হবে।
স্পেসি

0

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

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

%% Initialising data

Ws1 = data1;
Ws2 = data2;
mWs1 = nanmean(Ws1);
mWs2 = nanmean(Ws2);
sdWs1 = nanstd(Ws1);
sdWs2 = nanstd(Ws2);

%% Computing the signal envelopes
Ws1d = Ws1 - mWs1;
Ws2d = Ws2 - mWs2;
h1 = abs(hilbert(Ws1d));
h2 = abs(hilbert(Ws2d));
figure();
subplot(211)
plot([Ws1d, h1])
subplot(212)
plot([Ws2d, h2])

%% Denoise the signal with edge preserving nonlinear medial filtering
w = 25;
mf1 = medfilt1(h1, w);
mf2 = medfilt1(h2, w);
figure();
subplot(211)
plot(mf1)
subplot(212)
plot(mf2)

<%% Remove time: construct the gaussian kernel density estimation functions>
% Using the kde from Matlab central directly on the filtered data
data1 = mf1;
[bw1, den1, xmesh1, cdf1] = kde(data1, 2^14);
der1 = diff(den1);
data2 = mf2;
[bw2, den2, xmesh2, cdf2] = kde(data2, 2^14);
der2 = diff(den2);
figure();
plot([der1, der2]);
legend('Sig1', 'Sig2')

% the other method as explained in Muhammad's post
for i = 1:length(mf1)
gf1(:,i) = mf1(i) + sdWs1*randn(1000,1);
gf2(:,i) = mf2(i) + sdWs2*randn(1000,1);
end
[bwM1, denM1, xmeshM1, cdfM1] = kde(gf1(:,1), 2.^11);
dd1 = diff(denM1);
[bwM2, denM2, xmeshM2, cdfM2] = kde(gf2(:,1), 2.^11);
dd2 = diff(denM2);
figure();
plot([dd1, dd2]);
legend('Sig1', 'Sig2')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.