totop

آموزش نرم افزار متلب – بخش چهارم پردازش سیگنالپنج‌شنبه 14, مه 2020

آموزش متلب در همیارپروژه

آشنایی با محیط Matlab

در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.

انجام پروژه متلب

حوزه زمان و حوزه فرکانس در متلب

در بخش های قبل توضیح دادیم که با ترکیب موج های سینوسی مختلف می توانیم صدا تولید نماییم. دو پارامتر مهم در موج سینوسی فرکانس و دامنه آن می باشند که هر یک از آنها به ترتیب سبب زیر و بمی صدا و یا بلندی صدا می شدند . سیگنالهایی که بدین ترتیب به وجود می آیند را سیگنال های حوزه زمانی می نامیم . وقتی گفته می شود که سیگنالی در حوزه زمانی است به این معنا است که محور افقی نشان دهنده محور زمان و محور عمودی نشان دهنده مقدار یا دامنه سیگنال می باشد. به عنوان نمونه شکل زیر سیگنال زمانی که برای حرف ( آ) ضبط شده است را به نمایش می گذارد.

حال عکس این مساله را در نظر بگیرید فرض کنید سیگنالی را داریم و میخواهیم بدانیم چه فرکانس هایی در این سیگنال قرار دارد . همانطور که میدانید سیگنال داده شده در حوزه زمان است و به راحتی نمی توان فرکانس های آن را محاسبه نمود . اما می توانیم با تبدیل این سیگنال از حوزه زمان ب حوزه فرکانس این کاررا انجام داد. بنابراین دی اینجا مساله یافتن راه حلی برای تبدیل سیگنال در حوزه زمان به سیگنال در حوزه فرکانس می باشد. شکل زیر سیگنال صدای ضبط شده حرف (آ) را در حوزه فرکانس نمایش می دهد. در حوزه ی فرکانس نمودار محور افقی بیانگر فرکانس و محور عمودی نشان دهنده اندازه فرکانس می باشد به نمودار فرکانس سیگنال نمودار طیف سیگنال نیز گفته می شود

نمودار فرکانس سیگنال نشان میدهد که سیگنال مورد بحث ما شامل چه فرکانسهایی می شود.

منظور از تبدیل یک سیگنال چیست:

هر تبدیل شامل تابعی است که ممکن است از پارامترهای مختلفی تشکیل شود. این تابع مقادیر ورودی را دریافت می کند و سپس با اعمال فرایند بر روی ورودی به خروجی تازه می رسد.

این خروجی ها ماهیت متفاوتی از سیگنال را برای ما نمایش می دهندبه عنوان نمونه در همین بحث اخیر تابعی که استفاده شود سبب تولید فرکانس های سیگنالی می شود که در حوزه ی زمان بود. دو تابع مهم و پرکاربرد در این زمینه تبدیل فوریه و تبدیل هارتلی هستند که در این بین تبدیل فوریه نیز از اهمیت ویژه ای برخوردار می باشد.

تبدیل فوریه در متلب:

می دانیم که مهمترین ویژگی در ادای هر حرف فرکانس های تشکیل دهنده آن حرف می باشند به عنوان نمونه: سه فرکانس اصلی که حرف (آ) دارد عبارتند از ۷۵۰ هرتز, ۱۱۵۰ هرتز و ۲۴۰۰ هرتز و فرکانس های اصلی حرف (او) عبارتند از ۴۰۰ هرتز, ۱۱۵۰ هرتز و ۲۳۰۰ هرتز بنابراین همانطور که مشاهده می کنید چیزی که باعث تفکیک این دو حرف از یکدیگر می شود فرکانس های آنها می باشد.

به همین دلیل است که در کاربردهای پردازش گفتار پیدا کردن فرکانس های تشکیل دهنده یک سیگنال گفتاری از اهمیت زیادی برخوردار می باشد . میدانیم که سیگنال گفتار به صورت یک سیگنال در حوزه زمان در اختیار ما قرار دارد و تشخیص فرکانس های تشکیل دهنده یک سیگنال حوزه زمانی غیر ممکن است .

تبدیل به حوزه فرکانس

می توان فهمید که با استفاده از آنالیز فوریه یک سیگنال می توان موج های سینوسی تشکیل دهنده آن را محاسبه نمود و از روی امواج سینوسی نیز می توان فرکانس های تشکیل دهنده سیگنال گفتاری را به دست آورد. با این حال نمی توانیم مستقیما از سری فوریه برای این منظور استفاده نماییم. چرا که سری های فوریه بر روی توابع متناوب تعریف شده اند و در حالی که ما اینجا با سیگنال سرو کار داریم که هیچ تابعی را نمی توانیم برای سیگنال گفتار محاسبه نماییم.

رای حل این مشکل یک ابزار با نام تبدیل فوریه معرفی شده است که بر روی داده های عددی اعمال می شوند و با استفاده از N به طول S تعریف می شوند .

تبدیل فوریه گسسته مختلط سیگنال با استفاده از رابطه زیر محاسبه می شود

قانون اویلر :

بنابراین داریم:

 

M , n مقدار سیگنال ورودی در نقطه S(n) اندازه سیگنال ورودی. M اندازه فرکانس در اندیس S(m) . بزرگی یک عدد محتلط از رابطه زیر محاسبه می شود:

 

در فرکانس های S پس از اعمال تبدیل فوریه بر روی سیگنال ورودی بردار دارای مقداری بزرگتر از صفر و در سایر نقاط بزرگی نزدیک S تشکیل دهنده سیگنال به صفر خواهد داشت. به همین ترتیب می توانیم برای پیدا نمودن فرکانس های تشکیل دهنده یک سیگنال گفتار تبدیل فوریه را برای سیگنال ورودی بنویسیم و پس از محاسبه بزرگی خروجی فرکانس های تشکیل دهنده آن سیگنال را از روی بزرگی هر فرکانس محاسبه نماییم .

برای محاسبه کردن تبدیل فوریه یک سیگنال در نرم افزار متلب می توانیم از دستورات زیر استفاده نماییم.

همانطور که میبینید ابتدا سه موج سینوسی با فرکانس های ۲۰ , ۱۰ , ۵۰۰  هرتز تولید شده است و سپس با استفاده از تابع d آنها با یکدیگر تر کیب شده اند و سیگنال جدیدی به نام بزرگی سیگنال abs را محاسبه نموده است و با استفاده از تابع d تبدیل فوریه سیگنال fft تبدیل شده است و در نهایت به رسم نمودن سیگنال پرداخته ایم.

در اینجا آشنایی با محیط متلب بخش بیست و یکم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.

 

نویسنده: زهرا رستمی

 


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حق نشر برای همیارپروژه ❤️ مرجع انجام پروژه دورکاری و آنلاین ✔️ سایت انجام پروژه و استخدام فریلنسر در همه حوزه ها ، مهارت ها ، نرم افزارها و پروژه های برنامه نویسی محفوظ است.