এম্বেড অ্যাপ্লিকেশনগুলির জন্য স্থির পয়েন্ট ত্রিকোণমিতি


9

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

আমি অ্যাপ্লিকেশনটির জন্য একটি কর্টেক্স এম 3 ব্যবহার করার কথা ভাবছি, তাই আমি অ্যাপ্লিকেশনগুলিকে জিপি রাখতে যতদূর সম্ভব ভাসমান পয়েন্ট থেকে দূরে থাকতে চাই।


দুটি চিন্তা: আবর্তনের একটি traditionalতিহ্যগত আদিম বাস্তবায়ন কর্ডিক অ্যালগরিদম। আপনি হয়ত দেখতে পাবেন যে আপনার বিক্রেতা এখন M3 এর সাথে প্রতিযোগিতামূলক কোনও কর্টেক্স এম 4 সরবরাহ করে কিনা।
ক্রিস স্ট্রাটন

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

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

আপনার কতটা সঠিক দরকার? বেশিরভাগ এম্বেডড পাপ / কোস প্রয়োজনের জন্য একটি পরিমিত আকারের সন্ধানের টেবিলগুলি যথেষ্ট যথেষ্ট। 1025 টেবিল এন্ট্রি সহ, আপনি 4096 কোণ রেজোলিউশন পাবেন। এই মুহুর্তে, রৈখিক আন্তঃসংযোগ আপনাকে টেবিল এন্ট্রিগুলির মধ্যে ভাল নির্ভুলতা দেয়। সাইন লুকআপ সম্পর্কে অনেকগুলি ভুল মিথ রয়েছে বলে মনে হচ্ছে। আরও তথ্যের জন্য আমার উত্তরটি ইলেক্ট্রনিক্স.সটাকেক্সচেঞ্জ / এ / ১65১16১//4512 দেখুন ।
অলিন ল্যাথ্রপ

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

উত্তর:


6

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


1
এম এর এম্বেড অ্যাপ্লিকেশনগুলির জন্য ভাসমান পয়েন্ট নির্দেশিকা ব্যবহার না করে কেউ কি সি এর একটি সংস্করণ প্রকাশ করেছে? বহুপদী প্রায় কাছের উভয় পক্ষের উচ্চ ত্রুটি ত্রুটি, বা অন্য কিছু কৌশল কমাতে বিভিন্ন বিভাগের জন্য বিভিন্ন বহুবচন ব্যবহার করার কৌশলগুলি নিজেকে ঘৃণা করে ...
বব

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


জেনেরিক সি _ ফ্র্যাক ডেটা টাইপের মাধ্যমে সমর্থন অর্জন করছে, তবে বেশিরভাগ মাইক্রোকন্ট্রোলার বাস্তবায়নে বিক্রেতা-নির্দিষ্ট গ্রন্থাগার রয়েছে। আমি আমার স্থির-পয়েন্টের সমস্ত প্রয়োজনের জন্য libmathq15 ব্যবহার করি । এখনও পর্যন্ত কাজটি করেছেন।
slightlynybbled

_Fractআইএমএইচও-র বক্ররেখা; আমি এটিকে ঘৃণা করি যে এটি সি কমিটি দ্বারা "মানকৃত" হয়েছিল। এটি আপনাকে সকল কিউ কিউ 15 বা কিউ 31 ব্যবহার করতে বাধ্য করে, যা অনেক পরিস্থিতিতে বোধগম্য হয় না এবং আপনাকে এই পরিস্থিতিতে কোনও সহায়তা ছাড়াই আটকা দেয়।
জেসন এস

3

আপনি কি এর জন্য নির্দিষ্ট পয়েন্ট কর্টেক্স লাইব্রেরি ব্যবহারের বিরোধিতা করছেন?

q31_t আর্ম_সিন_কি 31 (q31_t x) Q31
ডেটার জন্য ত্রিকোনমিতি সাইন ফাংশনের দ্রুত সান্নিধ্য ।

থেকে:

সিএমএসআইএস-ডিএসপি: data০ টিরও বেশি ডিএসপি গ্রন্থাগার সংগ্রহ বিভিন্ন উপাত্তের জন্য ফাংশন: ফিক্স-পয়েন্ট (ভগ্নাংশ Q7, q15, q31) এবং একক নির্ভুলতা ভাসমান-পয়েন্ট (32-বিট)। পাঠাগারটি কর্টেক্স-এম 0, কর্টেক্স-এম 3 , এবং কর্টেক্স-এম 4 এর জন্য উপলব্ধ is

এটি চতুষ্কোণ প্রবণতা সহ একটি সন্ধানের টেবিল ব্যবহার করে, তবে এটি বেশ দ্রুত। আপনি দ্রুত গতিতে আরও ত্রুটির জন্য লিনিয়ার ইন্টারপোলেশন এটিকে মানিয়ে নিতে পারেন।

এছাড়াও মনে রাখবেন যে এমনকি কর্টেক্স এম 4 এরও অগত্যা এফপিইউ নেই। আমি তাদের দেখেছি "এম 4 এফ" তারা যদি তা করে থাকে।

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