آموزش نرم افزار متلب – پردازش سیگنالدوشنبه 11, مه 2020

آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
پردازش سیگنال در متلب
تعریف سیگنال:
به بیان ساده می توان گفت که هر کمیت که قابل تغییر در زمان یا مکان باشد و قابل اندازه گیری نیز باشد سیگنال نام دارد.
به عنوان مثال:
سرعت یک کمیتی است که در واحد زمان متغییر می باشد و همچنین مقدار آن قابل اندازه گیری است. مجموعه اعدادی که ناشی از تغییر سرعت نسبت به زمان به دست می آیند , با همدیگر تشکیل سیگنال می دهند. مثال های زیادی از این دست وجود دارد: همانند دما, شتاب,رطوبت و… .
پردازش سیگنال:
پردازش سیگنال عملی است که به آنالیز سیگنال ها می پردازد.
با توجه به اینکه پردازش سیگنال صوتی کاربرد بسیاری دارد در این بخش تمرکز خود را روی آنالیز سیگنال صوتی قرار می دهیم.
شکل زیر یک نمونه سیگنال صوتی را نشان می دهد که هنگام فشار دادن کلید ۱ بر روی تلفن تولید می شود.
سیگنال گسسته
سیگنال پیوسته
تبدیل سیگنال دیجیتال به آنالوگ در متلب
در نمودار های بالا محور افقی زمان و محور عمودی نیز مقدار شدت سیگنال را به نمایش گذاشته است. هم زمان با ورود این سیگنال دیجیتالی به کارت صوت خروجی آنالوگ ( سیگنال پیوسته) تولید می شود. این خروجی نیز وارد سیستم پخش صدا می شود و موج تولید شده توسط بلند گو پخش می شود و توسط گوش شنونده حس می شود. این کل یک فرآیندی است که یک سیگنال دیجیتالی ( گسسته) طی می کند تا توسط گوش شنیده شود.
تبدیل سیگنال آنالوگ به دیجیتال در متلب
عکس این حالت نیز امکان پذیر است به این شکل که ما در میکروفن صحبت می کنیم و سیگنال آنالوگ ( پیوسته) وارد کارت صوتی می شود و توسط کارت صوتی نمونه برداری می شود و در سمت خروجی که کامپیوتر است تبدیل به سیگنال دیجیتال یا گسسته می شود.
حال فرض کنید میخواهیم نویزی که در فایل صوتی موجود می باشد شناسایی و آن نویز را حذف نماییم. پردازش گفتار علمی می باشد که با بهره گیری از روشهای پردازش سیگنال به انجام آن می پردازند.
مفاهیم اولیه در سیگنال
از مهمترین مفاهیم در پردازش سیگنال مفاهیم کانولوشن و فرکانس می باشد . به شکلی که مبحث های طراحی فیلتر دیجیتالی به شدت تحت تاثیر این مفاهیم می باشند.
با یک مثال تمام مفاهیم مربوط به حوزه فرکانس را بر روی یک شکل موج سینوسی نمایش می دهیم.
موج سینوسی:
یک موج سینوسی که در شکل آنرا مشاهده نمودید با استفاده از رابطه ی زیر به دست آمده است:
که در رابطه A,t,f به ترتیب دامنه, فرکانس و زمان و فاز موج سینوسی می باشند.
در این بخش قصد پرداختن به جزئیات سیگنال و دروس سیگنالی را نداریم هدف این است که با شناخت یک سیگنال سینوسی بتوانیم کد مربوط به آن را در نرم افزار متلب پیاده نموده و بتوانیم سیگنال موجود را آنالیز نماییم.تا بتوانید به انجام پروژه های پردازش سیگنال با متلب بپردازید.
به مثال ارائه شده در متلب توجه نمایید:
دستور سطر اول یک آرایه شامل مقادیر ۱ تا ۴۴۰۰۰ تولید می نماید که از این آرایه برای تولید نمودن موج سینوسی استفاده می نماییم. با استفاده از دستور دوم یک موج سینوسی با دامنه ۱ و فرکانس ۵۰۰ هرتز ایجاد می نماییم. دستور سوم نیز یک موج سینوسی با دامنه ۱ و فرکانس ۱۰۰۰ هرتز ایجاد می کند . همانگونه که در دستورات میبینید.
۱۱w و۲۲w نیز موج های سینوسی با فرکانس ۵۰۰ و ۱۰۰۰ هرتز را ایجاد نموده اند و تنها تفاوتی که آنها با ۱w و ۲w دارند در مقدار دامنه موج ها می باشد . هنگامی که شما دستور Waveplay را اجرا نمایید , هر یک از امواجی که ایجاد می شوند به شکل صوت از بلند گوی سیستم کامپیوتر شما خارج خواهند شد.
با بررسی این چهار موج می توان نتیجه گرفت که:
- فرکانس موج سینوسی زیر و بم صدا را تعیین می نماید.
- دامنه ی موج سینوسی نیز بلندای صدا را تولید می نماید.
همانطور که از توضیحات پیدا است برای ما مقدار فرکانس از اهمیت ویژه ای برخوردار می باشد و نسبت به دامنه دارای اهمیت بیشتری می باشد.
نکته دیگری که در این کد نویسی مشخص می باشد نحوه تولید موج
سینوسی است. در ابتدا رابطه و معادله تولید یک موج سینوسی را به نمایش گذاشتیم و کد نویسی کردیم اما باید دقت کنید که اگر بخواهیم موج سینوسی برای تولید صدا در متلب ایجاد کنیم پارامتر دیگری نیز به این رابطه افزوده خواهد شد.
در این رابطه fs به معنای آن است که در یک ثانیه چه تعداد نمونه برداری باید انجام گیرد. با توجه به کد های فوق می توان فهمید که در یک ثانیه ۴۴۰۰۰ داده در فایل صوتی وجود دارد .
هر یک از موج های ۲۲w,11w,2w,1w به مدت ۱ ثانیه از طریق کارت صوتی پخش می شوند و این به معنای آن است که تعداد نمونه هایی که برای هر کدام تولید می شود دقیقا ۴۴۰۰۰ نمونه است . اگر زمانی بخواهیم هر کدام از امواج به مدت ۲ ثانیه پخش شوند دستور ابتدایی را به صورت زیر می توانیم تغییر دهیم.
به عنوان نمونه می توانیم موج های سینوسی مختلف با فرکانس های متفاوت و دامنه ها و همچنین مدت زمان های پخش مختلف را ایجاد نماییم .
در اینجا آشنایی با محیط متلب بخش هجدهم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید