এলোমেলো সংখ্যা জেনারেটরের জন্য সবচেয়ে ক্ষুদ্রতম এবং সহজতম বীজ কী?


40

একটি ছোট মাইক্রোকন্ট্রোলার (8-বিট আটমেল) অনেক অভিনব র্যান্ডমাইজড লাইট সিকোয়েন্স সহ হালকা শো উপস্থাপনের জন্য কয়েকটি লাইট নিয়ন্ত্রণ করে।

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

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

সমস্যাটি হল, এই পরিস্থিতিতে কোনও বোতাম নেই। ডিভাইসটি চালিত হওয়ার সাথে সাথে প্রোগ্রামটি শুরু করতে হবে।

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

আমার সমস্ত কিছু সিপিইউতে একটি 16 বিট টাইমার-কাউন্টার এবং একটি অব্যবহৃত পোর্টপিন যা একটি এডিসিতে অ্যাক্সেস পেয়েছে।

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

এর চেয়ে ভাল বিকল্প হ'ল একাধিক রূপান্তর করা এবং এই পরিমাপের সর্বনিম্ন উল্লেখযোগ্য বিটের মধ্যে একটি মান তৈরি করা। যাইহোক, আমি আগে এই typec টাইপের ADC ব্যবহার করেছি এবং আমি জানি এটি খুব নির্ভুল। দ্রুততম গতিতে এডিসি চালানো এখানে সহায়তা করতে পারে।

কারও কি এর চেয়ে ভাল পরামর্শ আছে? বীজ পুরোপুরি সমানভাবে বিতরণ করা প্রয়োজন হয় না, তবে যত বেশি ইউনিফর্ম বিতরণ হয় তত ভাল। পুরোপুরি ইউনিফর্ম বিতরণ সহ একটি 16 বিটের বীজ সত্য হওয়াও খুব ভাল একটি স্বপ্ন হতে পারে তবে আমি মনে করি 5 বা 6 বিটের চেয়ে অর্ধেক শালীন বিতরণ পর্যাপ্ত হতে পারে।


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

8
কেন প্রডাকশন প্রোগ্রামিংয়ের সময় EEPROM স্টোরেজে এলোমেলো মান লিখছেন না? এইভাবে, আপনি পছন্দ করেন এমন ফ্যানসিস্ট আরএনজি ব্যবহার করতে পারেন কারণ এটি কেবল প্রযোজনা প্রোগ্রামার (গুলি) এ থাকবে এবং শেষ ডিভাইসগুলিতে নয়। (@ মিমিবিসের প্রতি কৃতিত্ব: আপনার 'সামান্য ভিন্ন সফ্টওয়্যার ফাইল' আমাকে ধারণা দিয়েছে))
ক্যালরিয়ন

2
সুতরাং ঠিক% 100 স্পষ্ট হতে, সমস্যাটি হ'ল তারা একই ধারাবাহিকতায় শুরু হতে পারে, না যে তারা সময়ের সাথে সাথে আলাদা হয়ে যেতে পারে, তাই না?
বিবাহের

2
আপনার আরএনজি পছন্দ পছন্দ: কিছু ভাল মানের বীজ প্রয়োজন, অন্যদের না। উদাহরণস্বরূপ, জর্শিফ্টের জন্য, 0 ব্যতীত অন্য কোনও বীজ কাজ করবে এবং সমানভাবে কার্যকর হবে। এমনকি প্রাথমিক বীজের একটি সামান্য পার্থক্যের ফলে আরএনজির চক্রের একেবারে পৃথক প্রারম্ভিক অবস্থান ঘটবে।
কৌতূহলীনি

3
আপনি আরও এলোমেলো হওয়ার জন্য পরিসংখ্যান এবং সময় সম্পর্কিত সমস্ত এডিসির উত্তরগুলি একত্রিত করতে পারেন। উদাহরণস্বরূপ, নীচের 3 এলএসবি 101 রয়েছে এমন এন নমুনাগুলি না নেওয়া পর্যন্ত আপনার কতগুলি প্রসেসর টিক টিকিয়ে নিন তা মাপুন এবং নিম্নে 3 এলএসবি 110 রয়েছে এমন এম নমুনাগুলি পছন্দ হিসাবে এই ধারণাটি প্রসারিত করুন।
wjl

উত্তর:


24

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

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

স্বল্প বিট বা নিম্ন দুটি বিট ধরুন এবং যেকোন সংখ্যক এলোমেলো বিট পাওয়ার জন্য প্রয়োজনীয় হিসাবে পুনরাবৃত্তি করুন।

আরও এলোমেলো প্যাটার্নের জন্য, এই প্রক্রিয়াটি মাঝে মধ্যে সম্পাদন করুন এবং আপনি ইতিমধ্যে ব্যবহার করছেন এমন এলোমেলো নম্বর জেনারেটরে এ / ডি ফলাফলের কম বিট ইনজেক্ট করুন।


এই ভাল লাগছে। এডিসিতে ইনপুট প্রতিবন্ধকতা পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত করুন - আতমেগা 8 সিরিজে 100 মেগের এনালগ ইনপুট প্রতিবন্ধকতা রয়েছে যা ওলিনের প্রতিরোধকের মানকে কিছুটা কম করে।
স্টিফ্যান্ডজ

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

2
দুঃখিত, আপনার উত্তর থেকে আমি ভেবেছিলাম আপনি উত্স প্রতিবন্ধীতার অনুপস্থিতির বিপরীতে ইনপুট প্রতিবন্ধকতার বিষয়টি উল্লেখ করছেন। 10 কে আতমেগা 8-র নির্দিষ্ট সর্বাধিক উত্স প্রতিবন্ধক, তাই আপনার উত্তর স্পট spot রেফারেন্সের জন্য, যদি কেউ আগ্রহী হয় তবে ভিতরে এস / এইচ ক্যাপটি 14 পিএফ হয়।
স্টিফ্যান্ডজ

2
@ স্টেফ: আমি আরও স্পষ্ট করার জন্য উত্তরটি সম্পাদনা করেছি।
অলিন ল্যাথ্রপ

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

23

কিছু সম্ভাব্য বিকল্প:

  1. প্রাক-প্রোগ্রাম প্রতিটি ডিভাইসের জন্য একটি অনন্য সিরিয়াল ঠিকানা। আপনার যদি যথেষ্ট পরিমাণে আরএনজি অ্যালগরিদম থাকে তবে সিরিয়াল ঠিকানার ক্রমিক তালিকাটিও বন্যপ্রাণে বিভিন্ন ফলাফল আনবে।

  2. আপনার এমসিইউ / সেটআপের উপর নির্ভর করে আপনার কাছে সিস্টেম ঘড়ির জন্য দুটি আলাদা ক্লক সোর্স এবং ওয়াচডগ টাইমার / টাইমার কাউন্টার ইনপুট থাকতে পারে। যদি এগুলির / উভয়ের মধ্যে উল্লেখযোগ্য বৈচিত্র থাকে তবে আপনি এটি যথাযথ আলাদা বীজ উত্পাদন করতে ব্যবহার করতে পারেন। এখানে আমি লিখেছি এমন একটি উদাহরণ যা একটি আরডিনোর অভ্যন্তরীণ ওয়াচডগ টাইমার এবং একটি বাহ্যিক এক্সটিএল সিস্টেম ঘড়ি ব্যবহার করে

  3. একটি বিজেটি ট্রানজিস্টার ব্যবহার করুন এবং একটি উচ্চ বিটা নির্ভরশীল পরিবর্ধক তৈরি করুন। এটি বীজের জন্য একটি এডিসি থেকে পড়া যেতে পারে।

  4. ক্যাপাসিটার / ইন্ডাক্টর সাধারণত প্রতিরোধকের তুলনায় অনেক খারাপ সহনশীলতার জন্য নির্দিষ্ট করা হয়। আপনি এগুলি দিয়ে কোনও ধরণের ফিল্টার সার্কিট (আরসি, আরএল, এলসি) তৈরি করতে এবং এডিসি দিয়ে আউটপুটটি পরিমাপ করতে পারেন।


5
আমি বিকল্প 1 এর পক্ষে ভোট দিয়েছি, এটি একটি শূন্য অংশ গণনা সমাধান যা এর ক্রমগুলির সাথে মিলবে না in সিরিয়াল নম্বর এবং আরএনডি জেনারেটর বলতে পারেন যে কোনও বিট তৈরির 16 টি বিটের অন্যের ধরণটি নকল করার নগণ্য সুযোগ রয়েছে।
ক্লেএমপি

1
আমি সমাধানটিও পছন্দ করি। আপনি যদি একটি সাধারণ হ্যাশিং অ্যালগরিদম ব্যবহার করেন তবে আপনার ক্রমিক ক্রমিক সংখ্যা থাকা সত্ত্বেও আপনার ঠিক থাকতে হবে।
ম্যাগু_ 21

6
বিকল্প 1 এর একটি দুর্দান্ত জিনিস হ'ল কিছু ডিভাইস অন্তর্নির্মিত সিরিয়াল নম্বরগুলি নিয়ে আসে (সাধারণত নেটওয়ার্ক / আরএফ সম্পর্কিত মাইক্রো) তবে আপনার ক্রমিক সংখ্যাগুলি বার্ন করার জন্য আলাদা পদক্ষেপের প্রয়োজনও হয় না
slebetman

3
এমনকি একটি মত একটি আবর্জনা RNG LCG হবে "সিরিয়াল ঠিকানার একটি অনুক্রমিক তালিকার জন্য দুর্দান্তভাবে বিভিন্ন ফল" । আমি 1 জনকেও ভোট দিই।
ব্লুরাজা - ড্যানি পিফ্লুঘোফিট

3
আপনার যদি কোনও সময় উত্স থাকে তবে বীজে আপনার সুইচটির ভিত্তি হিসাবে এটি ব্যবহার করা রানের মধ্যে জিনিসগুলিকে অফসেট করতে সহায়তা করবে। এটির একটি ক্রমিক ঠিকানা / নম্বর বা ম্যাক ঠিকানার সাথে একত্রিত করুন যদি আপনার ডিভাইসে একটি থাকে এবং আপনি আন্তঃ ডিভাইসটির মিলও ঠিক করে দেবেন। আমি এমন কিছু সফ্টওয়্যার দেখেছি যা পুনরায় বুট করার পরেও বীজ হিসাবে ব্যবহারের জন্য উত্পন্ন কিছু বা প্রতিটি এলোমেলো সংখ্যা অবিচ্ছিন্নভাবে সঞ্চয় করে। আপনার ডিভাইসগুলির অপারেটিং সময়গুলি যদি আলাদা হয় তবে সেগুলি পৃথকভাবে বিচ্ছিন্ন হওয়া উচিত।
TafT

8

একীকরণবিহীন স্মৃতি

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

এই পদ্ধতিটি আপনাকে এলোমেলো বীজ দিতে হবে, এমনকি অভিন্ন হার্ডওয়্যার সহ, আরও বিশদ (এবং লিঙ্ক) এই হ্যাক-এ-দিনের নিবন্ধে উপলব্ধ

আমি এই পদ্ধতিটি পছন্দ করি কারণ এর জন্য কোনও অতিরিক্ত সার্কিটরি বা পিনের প্রয়োজন হয় না; আপনার এভিআর ইতিমধ্যে র‌্যাম রয়েছে, আপনার কেবল অস্থির (এলোমেলো) বিটগুলি খুঁজে বের করতে হবে। এছাড়াও ম্যাপিং পদ্ধতিটি স্বয়ংক্রিয় করা যেতে পারে; আপনি প্রতিটি ডিভাইসে একই কোড এবং পদ্ধতি প্রয়োগ করতে পারেন এবং সত্যই এলোমেলো ফলাফল পেতে পারেন!


1
কোন বিট এলোমেলো তা আপনার সত্যিকারের খুঁজে বের করার দরকার নেই। মাত্র 8 টি বিট এলোমেলো হয়ে গেলেও সমস্ত বাইটের XOR-ing আপনাকে এলোমেলো ফলাফল দেবে outcome এবং চিত্রটি যেমন দেখায়, প্রকৃত মানগুলি সাময়িক অর্থে এলোমেলো নাও হতে পারে, এগুলি যথেষ্ট অনন্য - যা আমাদের এখানে প্রয়োজন।
এমসাল্টারস

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

এটি আপনাকে ক্রিপ্টো মানের মানের এলোমেলোতা দেবে না।

@ ক্যামিলস্ট্যাপস অবশ্যই তা করবে না।
নবীন

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

7

এলোমেলো সামর্থ্য সহ এমপি 3 প্লেয়ারের জন্য আমি যা করেছি তা হ'ল প্রতিটি পাওয়ারে কেবল একটি ভিন্ন ধারাবাহিক বীজ ব্যবহার করা। আমি 1 এ শুরু করেছি এবং এটি EEPROM এ সঞ্চয় করেছি যাতে পরবর্তী পাওয়ারচক্রটিতে আমি 2 ব্যবহার করি This এটি এটিএমটিইজিএ 168 এ ছিল। হেলিওর্ল্ড ৯২২ হিসাবে উল্লেখ করা হয়েছে যে এমনকি একটি সাধারণ ক্রমবর্ধমান বীজ সম্পূর্ণ আলাদা সিউডো এলোমেলো ক্রম তৈরি করবে।

আমি লিনিয়ার একত্রিত এলোমেলো ক্রম জেনারেটরগুলির মধ্যে একটি ব্যবহার করেছি, এটি একটি অভিন্ন বিতরণ দেয়।

int i;
seed = seed * 2053 + 13849;
i = (seed % max) + 1;  // max is the maximum value I want out of the function

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

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

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


5

একটি এডিসি এলোমেলো জন্য খুব ভাল উত্স।

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

আপনার এডিসি পিনটি ভাসমান ছেড়ে যাওয়া উচিত নয়; এর ফলে ভোল্টেজটি খুব বেশি দূরে ভেসে যেতে পারে এবং ইনপুটটি সম্পৃক্ত করে তুলতে পারে risks
(অনেক এমসিইউ আপনাকে সরবরাহের ভোল্টেজের অর্ধেকের মতো কিছু এডিসি ইনপুট হিসাবে ক্যালিগ্রেশনের জন্য ব্যবহার করতে দেয় This এটি বাহ্যিক প্রতিরোধককে সংরক্ষণ করে এবং এখনও আপনাকে শব্দ দেয় Again

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


2
আমি নিশ্চিত নই যে জনসন শব্দটি এই অ্যাপ্লিকেশনটিতে উপযুক্ত; এসটিপিতে একটি 10 ​​মেগা প্রতিরোধী 10 কেএইচআরজে ব্যান্ডউইথের 40uVজনসনের আওয়াজ রয়েছে। এটিকে যথাযথভাবে পরিমাপ করার জন্য আপনার একটি> 14 বিট এডিসি বা একটি পরিবর্ধক সার্কিটের প্রয়োজন হবে।
helloworld922

এসটিপি আসলেই প্রাসঙ্গিক নয়। তাপমাত্রা বিশেষত ইচ্ছাকৃতভাবে উত্থাপিত হতে পারে, তবে এসটিপিতে অতিরিক্ত 60 ডিগ্রি মাত্র 10% অতিরিক্ত শব্দ হয়।
এমসাল্টারস

1
একটি ডায়োডে শট শব্দটি ব্যবহার করার অনুরূপ পন্থা হবে। en.wikipedia.org/wiki/Noise_generator#Shot_noise_generators
teambob

2

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

আরেকটি চিন্তা: আপনি একাধিক ইউনিটকে কীভাবে সংযুক্ত করবেন যাতে তারা একই সাথে চালু হয়? যদি সেগুলি সিরিজে থাকে তবে এক ধরণের ক্যাপাসিটার যুক্ত করুন যাতে (এন + 1) তম ডিভাইসটি নবম ডিভাইসের পরে কয়েকটি ঘড়ি চক্র শুরু করে। আদর্শভাবে, ক্যাপাসিটারগুলি ডিভাইস শাটডাউনটিতে খুব দ্রুত স্রাব করে, তাই প্রতিটি সূচনা / পুনরায় চালু করার সাথে ক্রমগুলির মধ্যে একটি বৃহত্তর ব্যবধান থাকে।

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

এটির একটি পার্থক্য হ'ল সম্ভব হলে আপনার ঘড়ির সংকেতগুলিতে বৈকল্পিক যুক্ত করা। আপনি খুব দ্রুত পিআরএনজি টেবিলকে অতিক্রম করার হারটি পরিবর্তনের সময় ঘড়ির গতিতে 0.1% পার্থক্য আলোর শোতে সামান্য প্রভাব ফেলতে পারে।


1
সম্ভবত পিনে অ্যানালগের সাথে একটি বড় pourালা সংযুক্ত করুন এবং আরএনজি বীজ করতে "মেইন হুম" এর কিছু রিডিং নিন।
জেসেন

1
@ জেসেন, একই সম্প্রসারণের সীসাতে সংযুক্ত সমস্ত ইউনিট একই মাইনকে দেখতে পাবে।
আয়ান রিংরোজ

2

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

এছাড়াও প্রতিবার এবং তারপরে একবার (একবারে নয়) একবার চালাও এবং ডিভাইসটি চলাকালীন পুনরায় পুনরায় পরীক্ষা করুন (EEPROM এ এই নতুন মানটি সংরক্ষণ করুন)।


2

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


1
থার্মিস্টররা আরও একটি দরকারী সম্পত্তি নিয়ে আসে। বেশিরভাগ নির্মাতাদের কাছ থেকে বেশ কয়েকটি সিরিজের এক বিস্ময়কর বৈকল্পিকতা এবং ত্রুটি রয়েছে। এটি ফলাফলটিকে আরও "উন্নতি" করবে।
অ্যারিজার

1

2 সম্ভাব্য সমাধান, উভয়ই ধরে নিচ্ছেন যে আপনার প্রতি ইউনিট অনন্য বীজের প্রয়োজন।

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

  2. ডালাস 1 টি তারের ডিভাইসগুলি কেবল একটি পিন ব্যবহার করে এবং প্রতিটি অনন্য bit৪ বিটের ক্রমিক নম্বর নিয়ে আসে। আপনি এটি বীজ হিসাবে ব্যবহার করতে পারেন।


1
আমি 2 পছন্দ করি তবে দুর্ভাগ্যক্রমে ডিএস অংশগুলি সমস্ত ব্যয়বহুল।
অ্যারিজার

ক্রিপ্টো-মানের এলোমেলো জন্য উত্পাদনের টাইমস্ট্যাম্প ব্যবহার করবেন না, এটি অনুমানযোগ্য।

2
@ ক্যামিলস্টেপস ওপির প্রয়োগের জন্য, ক্রিপ্টো মানের প্রয়োজন নেই
হ্যাগেন ভন ইটজেন

1
@ হ্যাগেনভোন এিটজেন সত্য, তবে অন্যরা ক্রিপ্টো-কিউ এলোমেলোতার সন্ধানে এই প্রশ্নে আসতে পারে, সুতরাং এটি উল্লেখ করার মতো।

4
@ ক্যামিলস্ট্যাপস দীর্ঘশ্বাস , মনে হচ্ছে আপনি মানবতা ত্যাগ করেছেন :) ক্রিপ্টোগ্রাফিক উদ্দেশ্যে যে ইলেক্ট্রনিক্সএসই থেকে উত্তর ব্যবহার করতে চায় এমন কারও কাছ থেকে আশা করা কি সত্যিই খুব বেশি দাবিদার যে প্রশ্নটি উত্তর দেওয়ার কথা বলে তারা কমপক্ষে যথেষ্ট যত্নবান হন? ? "16 বিট" বা "5 ও 5 6 বিট" বীজগুলি ক্রিপ্টো-কিউ নয় এমনকি শ্রডিনগার বিড়ালদের একগুচ্ছ দ্বারা উত্পাদিত হলেও :)
হেগেন ফন ইটজেন

1

ক্যাপচার শব্দের সাথে আপনি এলোমেলো নম্বর জেনারেটর (আরএনজি) খাওয়ানোর জন্য একটি ভাসমান এডিসি পিন রেখে যেতে পারেন। এটি একটি বীজ উত্পন্ন করার জন্য এমনকি এটি আরএনজি জেনারেটর হিসাবে ব্যবহার করার পক্ষে যথেষ্ট।

ন্যূনতম সম্ভাব্য রূপান্তর সময়টি ব্যবহার করতে ভুলবেন না।

অন্য সমাধানটি অ্যাডিসি পিনে প্রয়োগ করা একটি শব্দ জেনারেটর হতে পারে ।


2
আমি কিছু পরিমাপ করব তবে যদি আমি সঠিকভাবে মনে করি তবে একটি ভাসমান এডিসি পিনটি পড়তে 0বা কাছাকাছি 0। আমি এটি আবার কিনা তা পরীক্ষা করে দেখুন।
vsz

1
আমি আগ্রহী, 0ভাসমান অবস্থায় কি এটি পড়ে ?
বেনস কৌলিকস

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