من دنبال ساخت یک فیلتر فرکانسی با میکرو هستم، مثلا یک سیگنال آنالوگ را ADC دیجیتال و بعد بطور نرم افزاری فیلتر فرکانسی شود و بعد دوباره آنالوگ شود
این کار با میکرو قابل اجرا هست؟
من دنبال ساخت یک فیلتر فرکانسی با میکرو هستم، مثلا یک سیگنال آنالوگ را ADC دیجیتال و بعد بطور نرم افزاری فیلتر فرکانسی شود و بعد دوباره آنالوگ شود
این کار با میکرو قابل اجرا هست؟
بله قابل اجراست ولی نه با میکروی AVR
این کار نیاز به پردازش خیلی زیاد داره و البته RAM با آرم میشه یه کارایی کرد ولی AVR نه
مطمئن هستید؟نوشته اصلی توسط agape
http://www.atmel.com/dyn/resources/p...ts/doc2527.pdf
http://www.atmel.com/dyn/resources/p...nts/AVR223.zip
:D دوست گرامی حداکثر سرعت نمونه برداری استاندارد میکرو های ای وی ار 8 کیلو نمونه در ثانیه هست خوب اولا شما چه سیگنالی رو بخوای فیلتر کنی که تو این بازه بگنجه این اولا
دوما این فیلتر ها که اینجا گذاشته درسته فیلتر ولی چه فیلتری یه فیلتر خیلی ساده که حدا اکثر جمع و منها داره !
نمیدونم شما تا به حال یا نرم افزار مطلب کار کردین یا نه با این نرم افزار اگه شما یه فیلتر پایین گذر طراحی کنید یه رشته به طول 50 جمله رو باید محاسبه ی اعشاری کنید - هر عدد اعشاری 8 بایت حافظا لازم داره - پروسس اعداد اعشاری فقط ضرب ساده برای یه پردازنده 32 بیت 10 سیکل ماشین طول میشه که اگه بخواد یه میکروی 8 بیت اینو انجام بده در خوشبینانه ترین حالت 40 سیکل ماشین لازم خواهد داشت که با سیکل ماشین 16 مگاهرتزی 2.5 میکروثانیه طول خواهد کشید خوب حالا 50 رو در 2.5 ضرب کنیم میشه 125 میکرو ثانیه فقط برای یه نمونه هرچی پردازش رو نمونه های بیشتر انجام بشه جواب بهتر - با این احتساب اگه بخواید محاسبات رو 100 نمونه پیاده کنید میشه 800*2 بایت رم - 12.5 میلی ثانیه - که شما میتونید فرکانس تا بازه 100 هرتز رو فیلتر کنید و عملا فیلتر غیر کارآمدی محسوب میشه
من با MEGA32 تا 250 کیلوهرتز هم نمونه برداری کردم البته 8 بیتی برای 10 بیتی 125 کیلو بیشتر کار نکردم نمی دونم بر چه اساسی 8Ksps را عنوان کردیدنوشته اصلی توسط agape
خیلی جالبه این فیلترها از حلقه ها برای فیلتر استفاده می کنند
من 3 سال پیش تجزیه و تحلیل را گذراندم و با انواع فیلترها آشنا هستم
اون فیلتر که تو Matlab عنوان کردید جز شارپ ترین فیلترهاست که با سیستم های آنالوگ قابل پیاده سازی نیست
مطابق مقاله یک فیلتر درجه 4 با میکرو ATMEGA قابل اجراست
کار پردازش صدا هست و میکرو هم ATXMEGA128 هست با نرخ نمونه برداری 1Msps
یعنی شما باید بتوانید در یک ثانیه 250 کیلو بایت داده از ADC بگیرید !
فکر نکنم - این میشه فرکانس کلالک مبدل ها - اگه اشتباه نکنم
خود سازنده اعلام می کند 2Msps - Million Sample Per Secondنوشته اصلی توسط agape
صحبتی از فرکانس کلاک ADC نیست
چی بگم والا به شک افتادم ! فکر نکم سرعت نمونه برداری AVR اینقد باشه !
اگه اینطور باشه یعنی شما میتونوی یه اسکپ با بازه فرکانتی 2 مگ بسازی :k08:
2 مگ در فرکانس بالا که چیزی نیست
نه داداش من تاحالا هرچی سمپل دیدم هیچکدوم تو این فرکانس کار نمیکردن !
اگه سمپلی سراغ داری بده ما هم بی بهره نباشیم :k04:
سرعت adc در میکرو های avr تقریبا بین 65 تا 200 میکرو ثانیه است که یعنی در بهترین حالت میتونه تا 15kps نمونه برداری کنه...و اینکه دوستمون میگن تا 250kps نمونه برداری کردن احتمالا توی محاسبات خودشون اشتباه کردند...
دستهایی که کمک میکنند از دستهایی که دعا میکنند مقدس ترند...کوروش بزرگ
بابا منم همین رو میگم !
اخر یکی پیدا شد حرف ما رو تایید کنه
شما خیلی کارتون درسته ATMEL و MICROCHIP را رسوا کردید که دروغ می گننوشته اصلی توسط amintlk
ماراست میگیم و آتملم راست میگه فکر کنم شما خطای دید پیدا کردی
حالا دقت کن
اول این دیتا شیت رو دانلود میکنی - دیتا شیت atmega8 هست
http://atmel.com/dyn/resources/prod_...ts/doc8159.pdf
بعد یه یری میزنی به صفحه 198 - مبدل آنالوگ به دیجیتال
دقت کن چی نوشته ؟!
[align=left:1f6e821e99]• 10-bit Resolution
• 0.5 LSB Integral Non-linearity
• ± 2 LSB Absolute Accuracy
• 13 - 260 μs Conversion Time
• Up to 15 kSPS at Maximum Resolution
• 6 Multiplexed Single Ended Input Channels
• 2 Additional Multiplexed Single Ended Input Channels (TQFP and QFN/MLF Package only)
• Optional Left Adjustment for ADC Result Readout
• 0 - VCC ADC Input Voltage Range
• Selectable 2.56V ADC Reference Voltage
• Free Running or Single Conversion Mode
• Interrupt on ADC Conversion Complete
• Sleep Mode Noise Canceler[/align:1f6e821e99]
امیدوارم که قبول کنی
شما درست می گویید من اشتباه کردم 100کیلوهرتز که گفتم مربوط به فرکانس کلاک ADC بود
اما نرخ نمونه برداری 15 کیلو نمونه همانطور که عنوان شده است برای حداکثر دقت است تا 60،70 کیلو هم قابلیت افزایش است
اما در مورد XMEGA بهتر است خودتان یک نگاهی به این فایل بیندازید
http://atmel.com/dyn/resources/prod_...ts/doc8032.pdf
سلام
من فیلترهای fir و iir را روی mega16 پیاده سازی کردم و یکی از کارهایی که با فیلتر مرتبه 2 نوع fir انجام دادم حذف نویز برق شهر از یک سیگنال ecg نمونه بوده.
بعد از اینکه پروژه را برای استاد ارائه کردم، اونو برای استفاده سایر دوستان از طریق این سایت و سایت های مشابه در دسترس قرار میدم.
:D
بله اون ممکنه ، سیکنال ECG فکر کنم 240 هرتز و فرکانس برق شهر که 50 هرتزه ، در ضمن تاخیر فیلتر هم زیاد مهم نیست این وسط
سلام
میدونم که برای فرستادن این فایل تاخیر زیادی داشتم
متاسفانه گرفتاری زیاد باعث این تاخیر شد.
به هر حال یک فایل pdf آماده کردم. هنوز نیاز به کامل شدن داره. اما تا همین جا هم شاید بتونه کمک کنه.
مرجع اصلی برای این نوشته application note های atmel بود.
از کسانی که این متن را می خونند درخواست دارم که سوالات یا نظراتشون را برای من ایمیل کنند.
ممنون
لینک فایل: (لینک فایل خراب است. فایل ضمیمه شد)
http://upload.iranblog.com/6/1264956596.pdf
ایمیل من:
hesam.ahmadi@yahoo.com
ویرایش توسط hesam_ahmadi : 19-06-2013 در ساعت 11:03
سلام
اگه با پورت سریال یک آهنگ و به میکرو بدیم (مثلا با نرم افزار matlab) و بخوایم از میکرو استفاده کنیم بازم هم سرعت میکرو کمه؟
(ADC حذف شد.)
حداکثر نرخ ارسال سریال 115200bps هست(در عمل 113636bps) که میشه حدود 110kbps !
یعنی آهنگ تا بیت ریت 100kps(کمتر از 110 چون استاپ بیت هم داریم یه مقدار) رو می تونی ارسال کنی.
البته این در حالت stream هست؛ یعنی بخوای یه آهنگ رو از میکرو بفرستی به کامپیوتر و همون لحظه هم پخشش کنی.
وگرنه برای انتقال که مشکلی نیست فقط یکم خیلی طول می کشه :دی (مثلا یه فایلی حدود همون 100kbps باشه اندازه خود آهنگ انتقالش طول می کشه)
ویرایش توسط alireza9900 : 14-08-2011 در ساعت 12:56