کانال تخصصی متلب – Telegram
کانال تخصصی متلب
7.13K subscribers
247 photos
112 videos
1.03K files
162 links
👈 فایل‌های آموزشی متلب در حوزه:
مخابرات،کنترل،پردازش سیگنال،عمران،هوافضا، ریاضی،فیزیک

کانال۷۵۰۰ نفره متلب:
@Matlab_Communication

گروه ۶۵۰۰ نفره متلب:
t.me/joinchat/EHEbrEA6SZ1bAjLdUj7bwA

ادمین‌:
@add_and_removal
تاسیس۹۵/۱۱/۱۱
Download Telegram
توابع پرکاربرد مخابراتی 👇بخش هفتم
---------------------------------------------
با استفاده از دستور freqz، پاسخ فرکانسی فیلتر دیجیتالی که با استفاده از ضرایب a و b تعیین می شود، بدست می آید. استفاده از تابع

unwarp(angle)

نیز مقدار فاز بر حسب رادیان تصحیح شده را نمایش می دهد که این تصحیح، با اضافه شدن مضارب صحیحی از انجام می شود.


phasez مثال

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

phasez(b,a)

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

freqz(b,a)

نیز در صورتی که بدون خروجی بیاید، پاسخ فاز و فرکانس را همزمان نشان می دهد. این دستورات پاسخ فاز را به صورت مرتب شده و بدون پرش نمایش می دهند و دیگر نیاز به استفاده از دستور unwrap نیست.
 
invfreqz مثال

در این فایل، هدف تعیین پاسخ فرکانسی سیستم با استفاده از ضرایب چندجمله‌ای صورت و مخرج تابع سیستم و بالعکس، تعیین ضرایب چندجمله ای صورت و مخرج تابع سیستم از روی پاسخ فرکانسی سیستم می‌باشد. تابع

freqz(b,a)

صورت و مخرج تابع تبدیل را گرفته و پاسخ فرکانسی را به ما می دهد. همچنین اگر دامنه تابع سیستم را به‌همراه تعداد قطب و صفرهای آن داشته باشیم می توانیم با استفاده از تابع invfreqz ضرایب متناظر با چندجمله‌ای های صورت و مخرج تابع سیستم مورد نظر را بدست آوریم. در این دستور، همیشه ضریب نخست بردار متناظر با ضرایب چندجمله‌ای‌های مخرج برابر با یک در نظر گرفته می شود. این تابع، مقدار دامنه پاسخ سیستم را در فرکانس های متناظر به همراه تعداد صفر و قطب های تابع سیستم گرفته و ضرایب متناظر با چندجمله ای های صورت و مخرج تابع را بدست می دهد. در صورتی که فیلتر معادلی با ضرایب حقیقی برای پاسخ مطلوب داده شده به سیستم وجود نداشته باشد، سیستم سعی خواهد کرد تا نزدیکترین تابع تبدیل ممکن را برای پاسخ فرکانسی پیشنهادی ارائه دهد.
 
imp مثال

در این فایل، تابع ضربه توسط فیلتری، فیلتر شده و بصورت گسسته نمایش داده می شود. در انتهای این فایل، یکی از تولباکس های متلب تحت عنوان

fvtool(b,a)

مطرح شده است. این تولباکس، بسیاری از عملیات انجام شده روی سیگنال را در محیط GUI انجام می دهد که می توان به نمایش پاسخ دامنه، پاسخ فاز، نمایش صفر و قطب، نمایش پاسخ ضربه و پاسخ پله و … اشاره کرد. اگر ورودی سیستم تابع ضربه بوده و سیستم نیز فیلتر طراحی شده با ضرایب a و b باشد، خروجی دستور filter، پاسخ ضربه سیستم خواهد بود.
 
filt_butter_imp_manual

در این فایل، هدف طراحی یک فیلتر باترورث و نمایش تابع ضربه و تابع فیلتر شده بصورت گسسته است. با استفاده از دستور

[b,a] = butter(n,Wn)

فیلتر باترورث مرتبه n با فرکانس قطع Wn طراحی می‌شود. خروجی این دستور، ضرایب چندجمله ای صورت و مخرج تابع سیستم مورد نظر می باشد.

@Matlab_Communication
توابع پرکاربرد مخابراتی 👇بخش هشتم
---------------------------------------------
می توان مستقیماً با استفاده از تابع
impz(b,a)

پاسخ ضربه سیستم را بصورت گسسته نمایش داد. ورودی های این تابع، ضرایب متناظر با چندجمله ای های صورت و مخرج تابع سیستم هستند.

impz

در این فایل، پاسخ ضربه فیلتر نمایش داده می شود. فیلتر باترورثی شبیه فایل قبلی اما فرکانس قطع ۰٫۴ طراحی شده است. تابع impz بدون آرگومانهای خروجی، پاسخ ضربه را نمایش می دهد.

stepz

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

stepz(b,a)

پاسخ پله فیلتر را با استفاده از ضرایب a و b نشان می دهد. این تابع بدون آرگومانهای خروجی، پاسخ پله را نمایش می دهد.
zplan

در این فایل، هدف نمایش محل صفر و قطب های یک تابع سیستم درصفحه z است. حال با استفاده از تابع zplane می توانیم محل صفر و قطب های تابع تبدیل را روی صفحه z نمایش دهیم. ورودی های این تابع می توانند ضرایب a و b و یا صفر و قطب های تابع سیستم باشند. البته باید توجه کرد که ضرایب a و b بصورت بردارهای سطری و صفر و قطب های تابع سیستم بصورت بردارهای ستونی بعنوان ورودی به تابع zplane داده می‌شوند.

Filter_cheby مثال

[b,a] = cheby1(n,R,Wp)

با استفاده از این تابع، یک فیلتر پایین گذر چبی چف نوع یک مرتبه n با فرکانس لبه باند عبور Wp و ریپل پیک تا پیک R دسی بل در باند عبور طراحی می شود. البته می توان نوع فیلتر را نیز با اضافه کردن آرگومان ‘ftype’ به دیگر ورودی های این تابع، تعیین کرد. خروجی های این تابع، ضرایب a و b متناظر با چندجمله ای های صورت و مخرج تابع تبدیل سیستم است. همچنین در صورتی که آرگومان های خروجی به صورت [z,p,k] قرار بگیرد، می توان فیلتر چبی چف مرتبه n ای طراحی کرد که صفر و قطب ها و اندازه تابع تبدیل را در اختیار ما می گذارد.

@Matlab_Communication
توابع پرکاربرد مخابراتی 👇بخش نهم
---------------------------------------------
بنابراین اگر از دستور
zplane(b,a)
و یا
zplane(z,p)
استفاده کنیم، باید نتایج مشابهی بدست آوریم
grpdelay

برای بدست آوردن گروپ دیلی (Group Delay) از تابع

[gd,f] = grpdelay(b,a,n)

استفاده می‌شود. ورودی های این تابع، ضرایب b و a متناظر با تایع سیستم فیلتر و نیز طول بردار فرکانسی که در آن تأخیر گروهی محاسبه می شود، می‌باشند. خروجی های این تابع نیز، مقدار تأخیر گروهی محاسبه شده در فرکانس های f می باشد. در صورت فراخوانی بدون خروجی، علاوه بر محاسبه مقدار تأخیر گروهی، نمودار آن نیز نمایش داده می شود.

windowمثال

در این فایل، پنجره های مستطیلی، همینگ و هنینگ ایجاد شده و به نمایش آمده است.

window مثال

این فایل، سیگنال ورودی x را از پنجره های مستطیلی و هنینگ عبور داده و ترسیم کرده است.

spectrum مثال

در این برنامه، ابتدا با استفاده از دستور

pwelch(x)

چگالی طیفی توان سیگنال x را با روش “ولش” محاسبه کرده ­ایم. پس از آن با استفاده از دستور

periodogram(x)

چگالی طیفی توان سیگنال x را با همین متد محاسبه کرده­ ایم. سپس با استفاده از دستور

pburg(x,p)

الگوریتم برگ را که یک متد تخمین اسپکترال است، پیاده سازی کرده ­ایم که چگالی طیفی توان سیگنال x را به عنوان خروجی می دهد. پارامتر p در ورودی این دستور، درجه مدل تخمین autoregressive را نشان می­ دهد. در نهایت نیز با استفاده از دستور pmusic الگوریتم دسته­ بندی سیگنال چندگانه را که یک تخمین سودواسپکتروم سیگنال است پیاده ساری کرده­ ایم.
 
spectrogram مثال

در برنامه نوشته شده، هدف نمایش اسپکتروگرام یک سیگنال است که از ورودی دریافت کرده­ ایم.اسپکتروگرام سیگنال را با دستور

spectrogram(x, window, nover lap, nfft, fs)

رسم می­ کنیم. ورودی­ ها به ترتیب، نمونه‌های سیگنال، طول پنجره، تعداد نمونه­ هایی که بین دو قطعه همپوشانی دارند، تعداد نمونه­ هایی که برای محاسبه DFT به کار می­ رود، و فرکانس نمونه­ برداری می­ باشد. با اضافه کردن ‘yaxis’ به آرگومان های ورودی، می­توان جای محورهای زمان و فرکانس را عوض کرد.
 
spectrogram مثال

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

chirp(t,f0,t1,f1)

سیگنال کوسینوسی تولید می ­شود. ورودی ­t زمان نمونه­ ها، f0 فرکانس آنی در زمان صفر و f1 فرکانس آنی در زمان t1 را نشان می­ دهند. اسپکتروگرام سیگنال به دست آمده را با دستور

[S,F,T,P]=spectrogram(x, window, nover lap, nfft, fs)

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

@Matlab_Communication
توابع پرکاربرد مخابراتی 👇بخش دهم
---------------------------------------------
fvtool

در این برنامه ابتدا با استفاده از دستور

butter(n,Wn)

یک فیلتر پایین گذر با درجه n و فرکانس قطع Wn طراحی کرده­ ایم. پس از آن با استفاده از دستور fvtool می­ توان جعبه ابزار FVTool باز کرد و پاسخ دامنه فیلتر دیجیتالی که با صورت کسر b و مخرج کسر a به دست آمده بود را نشان داد. همچنین با استفاده از FVTool می­توانیم پاسخ فاز، پاسخ ضربه، تاخیر گروهی، صفرها و قطب­ های فیلتر را نیز نشان دهیم.

fdatool

متن این برنامه تنها شامل یک دستور fdatool می­ باشد. FDATool یک جعبه ابزار طراحی و آنالیز فیلتر می ­باشد. با استفاده از این دستور می­توان انواع فیلترهای IIR و FIR را طراحی نمود. همچنین می­توان با اضافه، حذف یا حرکت دادن صفرها و قطب­ های یک فیلتر خصوصیات آن را تغییر داد.
 
sptool

در این برنامه ،تنها دستور sptool است که حائز اهمیت است. SPTool یک جعبه ابزار بزرگ پردازش سیگنال است که می­ توان به وسیله آن تمام کارهای طراحی و آنالیز فیلتر که با FDATool انجام می ­شود، همچنین کارهایی که با FVTool انجام می­ شود را انجام داد و هر اسپکترومی را مشاهده نمود. با استفاده از این جعبه ابزار می­توان به بسیاری از توابع آنالیز فیلتر و سیگنال در متلب دسترسی داشت.
 
wvtool

در این برنامه، ابتدا با استفاده از دستور

hann(L)

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

wintool

متن این برنامه تنها شامل یک دستور wintool می­ باشد. WinTool یک جعبه ابزار طراحی و آنالیز پنجره می­ باشد. با استفاده از این دستور می­توان انواع پنجره ­های اسپکترال را طراحی و آنالیز نمود. این دستور به صورت پیش فرض پنجره همینگ با ۶۴ نقطه را باز می ­کند.

@Matlab_Communication
توابع پرکاربرد مخابراتی👇بخش یازدهم
---------------------------------------------
poly_roots

در این برنامه قصد داریم ریشه­ های یک چندجمله­ا ی را بیابیم. ابتدا ضرایب چندجمله ­ای را به ترتیب از ضریب بزرگترین درجه تا ضریب کوچکترین درجه ،که درجه صفر است را داخل یک بردار قرار می­ دهیم. پس از آن با استفاده از دستور

roots(c)

که ورودی آن بردار ضرایب است، ریشه­ های چندجمله­ ای را به عنوان خروجی دریافت می­ کنیم.

poly_poly

در این فایل، نحوه‌ی محاسبه ضرایب یک چند جمله‌ای با ریشه‌های معلوم به نمایش درآمده است. در این فایل همچنین نشان داده شده که این ضرایب به صورت استاندارد شده محاسبه خواهند شد. این بدان معنی است که ضریب جمله‌ی با بزرگترین توان همیشه برابر با ۱ خواهد شد.

poly_polyval

در این فایل، نحوه‌ی محاسبه‌ی مقدار یک چند جمله‌ای در مقادیر مختلف x (متغیر مستقل) پیاده سازی شده‌ است.

poly_polyfit

در این فایل، با استفاده از تابع polyfit ضرایبی از چند جمله ای c از درجه­ ی ۳=n را پیدا می­ کند که با روش حداقل مربعات بر داده ­ها مماس شود. یعنی

c(x(i))
به
y(i)

مماس شود. خروجی این تابع، یک بردار سطری به طول ۴=n+1 است که ضرایب چند جمله ­ای را به صورت توان نزولی بیان می­ کند. سپس با استفاده از تابع polyval، مقدار چند جمله­ ای c را بر حسب x بدست می ­­آورد. در قسمت بعدی برنامه، برای
exp(x)

از توابع polyfit و polyval برای یافتن بهترین چندجمله­ ای مماس بر نمودار استفاده کردیم.
cftool

در این فایل و همچنین دو فایل بعدی (C5،C6 و C7) با استفاده از جعبه ابزار cftool در MATLAB می ­توان بهترین معادله­ ی دنبال کننده­­ ی یک تابع را پیدا کرد. در این جعبه ابزار، می­توان نمودارهای مختلفی را ایجاد کرد و از نظر دقت دنبال کردن نمودار اصلی، با هم مقایسه نمود.

در این فایل، تابع
Sin(x)

ترسیم شده است تا در GUI مربوط به cftool از آن استفاده شود.

cftool

در این فایل سیگنال ECG نویزی و یکسو شده ترسیم شده است تا در GUI مربوط به cftool از آن استفاده شود.

cftool

در این فایل یک چند جمله‌ای با ضرایب مشخص ترسیم شده است تا در GUI مربوط به cftool از آن استفاده شود

@Matlab_Communication
توابع پرکاربرد مخابراتی👇بخش دوازدهم
---------------------------------------------
prony

در این فایل، یک فیلتر باترورث IIR مرتبه­ ی ۴ با فرکانس قطع ۰٫۳ را طراحی کردیم و پاسخ ضربه­ ی این فیلتر را با دستور impz بدست آوردیم. سپس با روش طراحی فیلتر prony با فرمت زیر یک مدل IIR برای پاسخ ضربه­ ی فیلتر باترورث ارایه دادیم.

AR

در این فایل، از ECGDATA که داده ­ی تعریف شده در matlab است، استفاده کردیم و با لود کردن آن، پارامترهای مدل مرتبه­ ی ۲۰، AR را برای سیگنال نویزی شده­ ی ecg که همان noisyECG است را بدست آوردیم و با دستور fvtool پاسخ دامنه­ ی فیلتر دیجیتال را رسم می نماییم، که با استفاده از جعبه ابزار fvtool می­توان پاسخ فرکانسی، تاخیر گروه، پاسخ ضربه، پاسخ پله، نمودار صفر و قطب و ضرایب فیلتر را نشان داد. تابع

ar(y,n)

ضرایب مدل AR را برای ورودی y با درجه n تخمین می زند و ضرایب را در خروجی قرار می دهد. با دستور pweltch نیز، می توان از روش weltch برای محاسبه ­ی چگالی طیف توان در سگمنت ­های مختلف استفاده کرد.
modulate

در این فایل، روی سیگنال x یک بار مدولاسیون فرکانسی و یک بار مدولاسیون دامنه انجام داده ایم. هنگام استفاده از تابع modulate در آرگومان­های ورودی سیگنال x، فرکانس حامل fc ، فرکانس نمونه­ برداری fs و روش مدولاسیون را بایستی وارد نماییم.

y = modulate(x,fc,fs,’method’)

چنانچه روش مدولاسیون وارد نشود، MATLAB به صورت پیش فرض از “am” یعنی مدولاسیون دامنه استفاده می­ کند.

demodulate

پس از مدولاسیون که در فایل قبل انجام شد، برای بازیابی سیگنال اولیه از دمدولاسیون استفاده می کنیم. هنگام استفاده از تابع demod در آرگومان­های ورودی، سیگنال y که مدوله شده­ ی سیگنال x است، فرکانس حامل fc، فرکانس نمونه­ برداری fs و روش مدولاسیون را بایستی وارد نماییم.

x=demod(y,fc,fs,’method’)

چنانچه روش مدولاسیون وارد نشود، MATLAB به صورت پیش فرض از “am” یعنی مدولاسیون دامنه استفاده می­ کند.

@Matlab_Communication
فایلهای آموزشی متلب در حوزه های :

رادار
پردازش تصویر
پردازش صوت
طراحی آنتن
مدارات الکترونیکی
برنامه نویسی در متلب
شبیه سازی
کنترل
طراحی فیلتر
طراحی الگوریتم ها
استفاده از GUI
سیگنال سیستم
آنالیز مدارات الکترونیکی

@Matlab_Communication


👇👇👇👇👇👇👇👇👇👇👇👇