এর নমুনাগুলি থেকে একটি ওয়েভফর্মের পিডিএফ গণনা করা হচ্ছে


27

কিছুক্ষণ আগে আমি ডিজিটাল তরঙ্গরূপগুলি আঁকার জন্য বিভিন্ন উপায়ে চেষ্টা করছিলাম , এবং আমি যে জিনিসগুলির চেষ্টা করেছি তার একটি ছিল প্রশস্ততা খামের মানক সিলুয়েটের পরিবর্তে এটি আরও একটি অসিস্কলকের মতো প্রদর্শন করা। একটি সাইন এবং স্কোয়ার ওয়েভ দেখতে স্কোপের মতো দেখতে এটি:

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

এটি করার সহজ উপায় হ'ল:

  1. আউটপুট চিত্রের প্রতি অনুভূমিক পিক্সেলের এক অংশে অডিও ফাইলটি ভাগ করুন
  2. প্রতিটি খণ্ডের জন্য নমুনা প্রশস্ততার হিস্টোগ্রাম গণনা করুন
  3. পিক্সেলের কলাম হিসাবে উজ্জ্বলতার সাথে হিস্টগ্রাম প্লট করুন

এটি এরকম কিছু উত্পাদন করে: এখানে চিত্র বর্ণনা লিখুন

যদি প্রতি অংশে প্রচুর নমুনা থাকে এবং সংকেতটির ফ্রিকোয়েন্সি নমুনা সংক্রান্ত ফ্রিকোয়েন্সি সম্পর্কিত নয় তবে অন্যথায় নয় This যদি সংকেত ফ্রিকোয়েন্সি স্যাম্পলিং ফ্রিকোয়েন্সিটির সঠিক সাব-একাধিক হয়, উদাহরণস্বরূপ, নমুনাগুলি সর্বদা প্রতিটি চক্রের ঠিক একই পরিমাণে ঘটে থাকে এবং হিস্টোগ্রামটি কেবলমাত্র কয়েকটি পয়েন্ট হবে যদিও এই পয়েন্টগুলির মধ্যে প্রকৃত পুনর্গঠিত সংকেত উপস্থিত রয়েছে exists এই সাইন ডালটি উপরের বামের মতোই মসৃণ হওয়া উচিত, তবে এটি ঠিক 1 কেএইচ হার্জ নয় এবং নমুনাগুলি সর্বদা একই পয়েন্টগুলির চারপাশে ঘটে:

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

আমি পয়েন্টের সংখ্যা বাড়ানোর জন্য নমুনা চেষ্টা করেছি, তবে এটি সমস্যার সমাধান করে না, কেবল কিছু ক্ষেত্রে মসৃণ জিনিসগুলিকে সাহায্য করে।

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

পাপের পিডিএফ (এক্স): ddxarcsinx=11x2

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

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


আপনি আগ্রহী এমন কোনও মাল্টিভ্যালিউড ফাংশনের উদাহরণ রয়েছে কি? আপনাকে সম্ভবত এটি একটি শাখা কাটা বরাবর মূল্যায়ন করতে হবে যা আপনার শারীরিক ডেটার জন্য সর্বাধিক বোধ করে।
Lorem Ipsum

আপনি কি এই ধরণের প্লট আঁকার উপায়গুলিতে আরও আগ্রহী, বা পিডিএফ গণনা সম্পর্কে এই প্লটটি কেবল প্রেরণা?
datageist

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

@ ডেটাজেস্ট: হুম। আমি উপায় চক্রান্ত যে ধরনের আঁকা আগ্রহী, কিন্তু চক্রান্ত যে ধরনের হয় পিডিএফ। একটি শর্টকাট যা একই বা খুব অনুরূপ ফলাফল দেয় ঠিক আছে।
এন্ডোলিথ

@ এন্ডোলিথ, ওহ হ্যাঁ, আমি বুঝতে পেরেছি। জোর সম্পর্কে ঠিক একটি প্রশ্ন (যেমন শর্টকাট ধরণের ধরণের যুক্তিসঙ্গত)।
datageist

উত্তর:


7

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

ধরুন ওভার স্যাম্পলড মানগুলির প্রতিটি জুটির একটি মান থেকে পরের মান পর্যন্ত একটি ধারাবাহিক রেখা রয়েছে। এর মধ্যে সমস্ত মান ব্যবহার করুন । এটি আপনাকে সালিসী রেজোলিউশন পিডিএফটিতে সঞ্চিত হতে y1 থেকে y2 পর্যন্ত একটি পাতলা অনুভূমিক টুকরো দেয়। সম্ভাব্যতার প্রতিটি আয়তক্ষেত্রাকার টুকরো অবশ্যই 1 / nsss ক্ষেত্রের আকারে ছোট করতে হবে।

নমুনার চেয়ে নমুনাগুলির মধ্যে লাইন ব্যবহার করা নিজেরাই "স্পাইকি" পিডিএফ প্রতিরোধ করে, এমনকি স্যাম্পলিং সময়কাল এবং তরঙ্গরূপের মধ্যে মৌলিক সম্পর্ক থাকলেও।


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

লিনিয়ার ইন্টারপোলেশন ওভারস্যাম্পলিং না করেও বেশিরভাগ ওয়েভফর্মের জন্য বিশাল পার্থক্য তৈরি করে। 1 kHz সাইন বেশিরভাগই এখন 997 Hz সাইন এর মতো দেখাচ্ছে like নমুনা মানগুলিতে কেবল অনুভূমিক রেখার পরিবর্তে, এখন এটি তাদের মধ্যে রঙের অনুভূমিক ব্যান্ড। ওভারস্যাম্পলিংয়ের মাধ্যমে, ব্যান্ডগুলিও খুব কম করে আনা হয়। এফএফটি পুনরায় মডেলিং এবং সংলগ্ন অংশগুলির সাথে কিছুটা ওভারল্যাপ দিয়ে আমার এটি সত্যিকারের ছেদগুলিতে আঘাত করতে সক্ষম হওয়া উচিত। আমার আন্তঃবিবাহিত হিস্টোগ্রাম কোডটি দ্রুততর করা দরকার, যদিও ...
এন্ডোলিথ

আমি এর জন্য আমার স্ক্রিপ্টটি পুরোপুরি আবার লিখেছি এবং আমি মনে করি এই মুহুর্তে আমি হিস্টোগ্রাম এবং অ্যান্টিএলজিং পেয়েছি: gist.github.com/endolith/652d3ba1a68b629ed328
এন্ডোলিথ

সর্বশেষ সংস্করণ এ github.com/endolith/scopeplot
endolith

7

আমি যা যাচ্ছি তা হ'ল জেসন আর এর "এলোমেলো রেজ্যাম্পলার", যার ফলস্বরূপ যোদা স্টোকাস্টিক স্যাম্পলিংয়ের একটি প্রস্তাবিত সংকেত ভিত্তিক বাস্তবায়ন।

আমি প্রতিটি দুটি নমুনার মধ্যে একটি করে এলোমেলো পয়েন্টে সরল কিউবিক ইন্টারপোলেশন ব্যবহার করেছি। একটি আদিম সিন্থ শব্দের জন্য (একটি স্যাচুরেটেড নন-ব্যান্ডিলিমিটেড স্কোয়ার-জাতীয় সংকেত থেকে এমনকি ক্ষতিকারক সুরকার) এমনকি এটি দেখতে এরকম দেখাচ্ছে:

এলোমেলোভাবে পুনরায় মডেল করা সিন্থ পিডিএফ

আসুন এটি একটি উচ্চ-নমুনাযুক্ত সংস্করণের সাথে তুলনা করি,

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

এবং একই নমুনা সহ অদ্ভুত এক তবে কোনও বিরক্তি নেই।

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

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

কোড (হাস্কেল):

cubInterpolate vll vl v vr vrr vrrr x
    = v*lSpline x + vr*rSpline x
      + ((vr-vl) - (vrr-vll)/4)*ldSpline x
      + ((vrr-v) - (vrrr-vl)/4)*rdSpline x
     where lSpline x = rSpline (1-x)
           rSpline x = x*x * (3-2*x)
           ldSpline x = x * (1 + x*(x-2))
           rdSpline x = -ldSpline (1-x)

                   --  rand list   IN samples  OUT samples
stochasticAntiAlias :: [Double] -> [Double] -> [Double]
stochasticAntiAlias rs (lsll:lsl:lsc:lsr:lsrr:[]) = []
stochasticAntiAlias (r:rLst) (lsll:lsl:lsc:lsr:lsrr:lsrrr:t)
    = ( cubInterpolate lsll lsl lsc lsr lsrr lsrrr r )
          : stochasticAntiAlias rLst (lsll:lsl:lsc:lsr:lsrr:lsrrr:t)

rand list পরিসীমা [0,1] এ র্যান্ডম ভেরিয়েবলের একটি তালিকা।


1
দারুণ দেখাচ্ছে. হাসেল কোডের জন্য +1।
ডেটাজিস্ট

হ্যাঁ, এটির নমুনা মানগুলি ছাপিয়ে দেওয়া উচিত । আমি প্রকৃতপক্ষে প্রতিটি পিক্সেল কলামের জন্য একটি শীর্ষের মান রাখার পরিকল্পনা করেছি, খুব সম্ভবত সম্ভবত আরও স্যাম্পলগুলিতে নয়, সর্বাধিক ছেদকৃত শিখরের উপর ভিত্তি করে আলাদাভাবে আঁকা। Flic.kr/p/7QAScX এর মতো ওয়েভফর্মগুলি কেন এটি প্রয়োজনীয় তা দেখায়।
এন্ডোলিথ

"উচ্চতর-নমুনাযুক্ত সংস্করণ" দ্বারা আপনি কি বোঝাচ্ছেন যে এটি উপসর্গযুক্ত, তবে এখনও অভিন্ন-নমুনাযুক্ত? আর তা কি নীল বিন্দু?
এন্ডোলিথ

1
@endolith এটি প্রথম স্থানে উচ্চতর নমুনার হারে গণনা করা মূল তরঙ্গীয় রূপ form মূলত নীল পয়েন্টগুলির মতো 192 কেএইচজেডের নমুনাযুক্ত একটি শব্দকে উপস্থাপন করে এবং নীচের দিকে হলুদগুলি 24 কিলাহার্জ প্রতিবিহীনভাবে সম্পন্ন ডাউনসাম্পলকে উপস্থাপন করে। উপরের হলুদ পয়েন্টগুলি এটির stochasticAntiAlias। তবে উচ্চ-নমুনাযুক্ত সংস্করণটি উভয় ক্ষেত্রেই অভিন্ন হার।
বাম দিকের বাইরে

5

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

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

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

f(x)=sin(20πx)+sin(100πx)fs=1000fN=1001000 প্রতি সেকেন্ডে নমুনা (অভিন্ন বিতরণ) (আমি এখানে হার্জ ব্যবহার করছি না, কারণ এটির অন্য অর্থ বোঝায়) 30 সেকেন্ডের জন্য ডানদিকে প্লট দেয় (একই বাইনিং)।

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

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


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

4

কার্নেলের ঘনত্বের অনুমান

তরঙ্গরূপের পিডিএফ অনুমান করার একটি উপায় হ'ল কার্নেল ঘনত্বের অনুমানকারী ব্যবহার করা ।

x(n)K(x)δ(xx(n))P^

P^(x)=n=0NK(xx(n))

আপডেট: আকর্ষণীয় অতিরিক্ত তথ্য।

x(n)n=0,1,...,N1X(k)

X(k)=n=0N1x(n)eȷ2πnk/N

X(k)eȷ2πnk/N

x(n)=1Nk=0N1X(k)eȷ2πnk/N

সুতরাং আপনি পরবর্তী সময়ে প্রতিটি ফুরিয়ার উপাদানটির সমস্ত পিডিএফ একসাথে মীমাংসা করার জন্য অনুমান :

|X(k)|11x2

X(k)x(n)

আরও চিন্তা প্রয়োজন, যদিও!


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

মত, আমি মনে করি না যে এটির ফলে সমস্যার সমাধান হয় যেখানে সংকেত নমুনাগুলি নমুনা ফ্রিকোয়েন্সিটির একটি subm Multipleple। এটি নমুনার মধ্যে পুনর্গঠিত তরঙ্গরূপটি বিবেচনায় নেয় না, তাই না? শূন্যস্থান পূরণ করার চেষ্টা করার জন্য এটি পিডিএফের প্রতিটি পয়েন্টকে অস্পষ্ট করে তোলে। জিপিএস ট্রেসের কার্নেল ঘনত্ব অনুমান করার চেষ্টা করার সাথে আমারও একই সমস্যা ছিল, কারণ এটি নমুনাগুলির মধ্যে থাকা মানগুলিকে বিবেচনা করে না।
এন্ডোলিথ

4

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

আমি মনে করি আপনি সেরা বিকল্প হিসাবে interpolation বাকি আছে। আপনি দু'টি ইস্যু নির্দেশ করেছেন যা আপনাকে এটি করতে চাইলে বাধা দিয়েছে, যা আমি মনে করি:

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

  • π


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

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

হুঁ, স্পষ্ট করে বলতে কি, ফ্যারো কি নিয়মিত পুরাতন বহুবর্ষের অন্তরঙ্গকরণের কেবল একটি প্রসেসর / মেমরির অনুকূলিত সংস্করণ?
এন্ডোলিথ

1
হ্যাঁ। এটি বহুভিত্তিক-ভিত্তিক যথেচ্ছ ভগ্নাংশ বিলম্ব বাস্তবায়নের জন্য কেবল কার্যকর কাঠামো।
জেসন আর

যদিও কিউবিক ইন্টারপোলেশনটি কেবল একটি আনুমানিকই হয়। আমি সত্য ছেদচিহ্নগুলি শিখতে চাই এবং চরম শিখরে এটি ভালভাবে কাজ করছে বলে মনে হয় না: stackoverflow.com/questions/1851384/… আসলে, মনে হচ্ছে [অসম্পূর্ণ ধারা যেমন [..., -1, 1, -1, 1, 1, -1, 1, -1, ...] একটি অসীম ছেদচিহ্ন উত্পন্ন করবে, যদিও, বাস্তবে এটি কতটা গুরুত্বপূর্ণ তা আমি নিশ্চিত নই।
endolith

0

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

আপনি 1kHz সুরের একটি উদাহরণ দিয়েছেন, যেখানে প্লটটি আপনার প্রত্যাশা মতো নয়। এখানে আমার প্রস্তাব (মতলব / অক্টাভা কোড)

pixels_vertical = 100;
% This needs to be tuned to your configuration and acceptance
upsampling_factor = 16*(pixels_vertical/100); 
fs_original = 48000;
fsine = 1000; % in Hz
fs_up = upsampling_factor*fs_original;
duration = 1; % in seconds
x = sin(2*pi*fsine*[0:duration*fs_up]/fs_up);
period_in_samples = fs_up/fsine;
hist_points = linspace(-1,1,pixels_vertical);
istart = 1;
iend   = period_in_samples;
pixel_values = hist(x(istart:iend), hist_points);
% smooth pixel values
[b,a] = butter(2,0.2);
pixel_values_smooth = filtfilt(b,a,pixel_values);
figure;hold on;
plot(hist_points, pixel_values);
plot(hist_points, pixel_values_smooth,'r');

আপনার 1000Hz টোনটির জন্য আপনি এটি পান এখানে চিত্র বর্ণনা লিখুন

আপনাকে যা করতে হবে তা হল আপনার পছন্দ অনুযায়ী আপসাম্পলিং_ফ্যাক্টর এক্সপ্রেশনটি টিউন করা।

আপনার প্রয়োজনীয়তাগুলি ঠিক কী তা 100% নিশ্চিত নন। তবে আপসাম্পলিং এবং স্মুথিংয়ের উপরোক্ত নীতিটি ব্যবহার করে আপনি এটি 1kHz টোন (মতলব দিয়ে তৈরি) এর জন্য পাবেন। লক্ষ্য করুন যে কাঁচা হিস্টোগ্রামে শূন্য হিট সহ অনেকগুলি বাক্স রয়েছে।

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


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

বা আউটপুটটিতে প্রকৃতপক্ষে কোনও
বিরক্তি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.