Biomedical Signal Processing

پردازش سیگنال ـ پردازش سیگنال پزشکی _Matlab Learning

Biomedical Signal Processing

پردازش سیگنال ـ پردازش سیگنال پزشکی _Matlab Learning

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

نویسندگان
آخرین نظرات

۸ مطلب در فروردين ۱۳۹۹ ثبت شده است

 
#آموزش_متلب

1_تابع سینوس را در بازه بین -10 تا 10 ترسیم نمایید.

 
مشاهده میگردد که برای تعریف دامنه، گام انتخاب نگردیده است (مطابق با خط سوم کد متلبی).
در صورتی که گام انتخاب نگردد، به صورت خودکار خود نرم افزار متلب گام را برابر با یک انتخاب میکند. یعنی به صورت کلی x اعداد زیر خواهد بود:
10 9 8 ... 8- 9- 10-


باقی این مطلب را از قسمت ادامه مطلب دنبال کنید.
۰ نظر موافقین ۰ مخالفین ۰ ۲۷ فروردين ۹۹ ، ۱۳:۵۶
سبحان بامداد

در صورتی که قصد یادگیری برنامه نویسی متلب رو دارید به چند نکته بسیااااااااااااااااااار مهم زیر توجه کنید:

:1: حتما هر کد و تمرینی که ما در کانال ارسال میکنیم و یا خودتون کتاب یا فایل خاصی رو که دنبال میکنین،رو عملا گام به گام در نرم افزارِ متلبِ سیستمِ خودتون خط به خط بنویسید و امتحان کنید.
مجدد عرض کنم که برنامه نویسی صرفا با دیدن در شما نهادینه نمیشه! و حتما یک بار عملا دست به کد زدن بشید و همینجور بالاو پایین امتحان کنید.
:2: متلب بر خلاف سایر نرم افزار ها، یک help کامل و جامع در خود نرم افزار داره و توضیحات هر دستور با ذکر مثال های متعدد در خودش داره . پس همیشه دست به help متلب باشید.

:3: در صورتی که دنبال کد خاصی هستید ، سایت mathwork.com ، سایت اصلی نرم افزار متلب هستش (البته فیلتره یا هم بدون فیلتر شکن سایت درست باز نمیکنه). تیم نرم افزاری متلب سالانه دو نسخه a و b رو ارائه میده (مثلا 2018b و 2018a) .

در صورتی که در مثال ها و تمارین ارسالی در این کانال به مشکل برخورد کردین با ما در میون بذارین

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ فروردين ۹۹ ، ۱۳:۰۷
سبحان بامداد


سوال : اگه بخوایم یه دیتایی که با فرمت فایل تکست هست رو فراخوانی کنیم در متلب، چیکار کنیم ؟؟؟



پاسخ : از دستور csvread استفاده میکنیم.
مثال : شما فایل دیتایی با فرمت تکست بانام data1.txt دارید. پس جهت فراخوانی در متلب و تبدیل به مَت_فایل (mat file) بدین گونه عمل خواهید نمود:

Data1= csread ( ' data1.txt ' )

پس شما در متلب، مت_فایلی با نام Data1 خواهید داشت.

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ فروردين ۹۹ ، ۱۳:۰۴
سبحان بامداد
سوال اول : این دیتای صدای قلب 10 ثانیه رو داره نشون میده. اگه من بخوام یه قسمت خاص از سیگنال مثلا از سمپل 1 تا 70000 رو ببینم باید چیکار کنم ؟

جواب : ازونجایی که دیتامون (که مثلا نامش y1 هست) یک بردار 424560*1 یا 1*424560 هستش، پس برای انتخاب یک قسمت خاص از دیتا بدین گونه عمل میکنیم:
y2=y1(1:70000)
یا مثلا از سمپل 80000 تا سمپل 120000 را میخوام :
y3=y1(80000:120000)


سوال دوم : توی شکل صدای قلب نمونه ای که داشتیم، ده تا سیکل صدای قلبی رو داریم. اگه بخوام مثلا سیکل اول رو فقط داشته باشم چیکار کنم ؟
جواب : خب در کمال سادگی از دستور length استفاده میکنیم .
مثل من مینویسم plot(t(1:length(t)/10),y1(1:length(y1)/10)) تا به راحتی بتونم سیکل اول صدای قلب را ترسیم کنم. پس کل کد من به صورت زیر خواهد بود :

clc;clear;close all
[y1,fs]=audioread('normal.mp3'); % read Heart sound data
T = 1/fs; % Sample time
L = length(y1); % Length of signal
t = (0:L-1)*T; % time vector

plot(t(1:length(t)/10),y1(1:length(y1)/10))

 

 

 

 
 
 
 
ترسیم یک سیکل صدای قلب
۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۲۲:۰۳
سبحان بامداد

جهت فراخوانی صدای قلب از دستور audioread و یا wavread استفاده میشود. سپس با توجه به فرکانس (نرخ نمونه گیری) به ترسیم آن پرداخته خواهد شد. با دستور plot میتوان ترسیم نمود و با دستور sound صدای قلب مربوطه را میتوان پخش نمود و شنید. کد ساده مربوطه به صورت زیر است.

 

clc;clear;close all;

[y1,fs]=audioread('normal.mp3');   % read  Heart sound data
        T = 1/fs;                  % Sample time
        L = length(y1);            % Length of signal
        t = (0:L-1)*T;

plot(t,y1)

 sound(y1,fs)

 

دریافت دیتای صدای قلب نرمال استفاده شده در این تمرین

۱ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۴:۲۶
سبحان بامداد

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

مثلا من دوس داشتم همین دیتای صدای قلب (فونوکاردیوگرام) رو ببینم. یادم اومد که دکتر ثامنی دانشگاه شیراز و دانشجوشون خانم سمیعی نسب دیتای صدای قلب جنین و مادر رو که خودشون در شیراز ثبت کردند توی فیزیونت قرار دادند، و من به راحتی با جستجو کردن، پیداش کردم!
 

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

 

اینو هم در مورد صدای قلب عرض کنم که :
معمولا صدای اول قلب (S1) هنگام آغاز سیستول شنیده میشه و ناشی از بسته شدن دریچه‌های دهلیزی-بطنی هستش. صدای دوم قلب (S2) هنگام آغاز دیاستول قلبی شنیده میشه و ناشی از بسته شدن دریچه‌های آئورت و شریان ریوی است. بین صدای اول و دوم،  S2 با زمان سیستول قلب مطابقت دارد و این زمان به طور طبیعی کوتاهتر از زمان بین صدای دوم و اول (دیاستول) است.

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

نکته بعدی : در اصل چندین صدای دیگه هم وجود داره، ولی با توجه به محدوده شنوایی انسان صرفا پزشکان S1 و S2 رو میشنوند... خب که این موضوع نیز جای بحث داره ... .

 

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۱:۵۸
سبحان بامداد

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

load(صدای قلب مورد نظر)

پس ازینکه صدای قلب رو فراخوانی کردین ( یا به قول بچه باکلاسا : لودکردین) معمولا دو پارامتر در قسمت "ورک اسپیس نرم افزار متلب تون" باهاش مواجه میشد: اولی سیگنال صدای قلبتون هست که یه بردار عددی مثلا یک در هزار هستش_ دومی هم مقدار فرکانس نمونه برداری هستش

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۱:۵۰
سبحان بامداد


MATLAB واژه = Matrix labratory

تویِ متلب مشابه با باقی زبون های برنامه نویسی، متغیرها با دسته بندی های مختلفی به کاربرده میشه. همونجوری که از اسم این برنامه نویسی (متلب) مشخص هست، کلا با ماتریس هایی سر و کله میزنیم ...
خب حالااا جهت اینکه زودتر وارد بحث های عملی (پرکتیکال) در برنامه نویسی متلب بشیم، متغیرهای عددی، برداری و ماتریسی مختلفی رو میسازیم.

مثال1. الف)یک متغیر عددی تعریف کنید که مقدارش برابر با 5 باشد. ب)متغیری را تعریف کنید که بردار 1 تا 5 باشند! ج)ماتریسی سه در سه از اعداد یک تا 9 بسازید.
د)ماتریس تهی (فاقد آرایه) بسازید.

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ فروردين ۹۹ ، ۲۳:۲۶
سبحان بامداد