اطلاعیه

Collapse
No announcement yet.

Signal Segmentation

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : Signal Segmentation

    اگه از مرحله 3 جزئیات میخوای استفاده کنی یعنی طول بردار جزئیات 1/8 شده و شما باید اندیس هر مقداری که از سطح آستانه رد شده را در 8 ضرب کنی تا اندیس مقدار متناظر در سیگنال اصلی رو به دست بیاری. به شکل زیر نگاه کن. شکل سمت چپ، سیگنال اصلی هست و سمت راستی مرحله 3 جزئیات:


    برای حذف قسمتی از یک سیگنال:
    مثلاً حذف اندیس های 10 تا 20 سیگنال a:
    کد PHP:
    a(10:20) = []; 

    برای صفر کردنش فقط به جای []، صفر میذاری.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

    دیدگاه


      #17
      پاسخ : Signal Segmentation

      ولی در شکل های من طول هر دو بردار یکی هستند . شکل ها رو براتون گذاشته بودم .
      حالا فرض اگر متفاوت باشند من توی detail3 هر جا که بزرگتر از 50 بود رو یک قرار دادم . حالا میخوام به صورت اتومات اندیس هایی که یک شده رو مثلا قرار بدم صفر .
      دستوری برای این کار هست ؟
      طبق دستوری که شما فرمودید میدونیم کدوم اندیس ها هستند و اون ها رو صفر قرار میدیم ولی اگر طول سیگنال زیاد باشه میخوام هرجا که برابر یک هست رو برام صفر کنه و به نظرتون اگه بخوام به شکل اصلی تعمیمش بدم یعنی اندیس های شکل اصلی رو صفر کنم باید هر اندس رو در 8 ضرب کنم ولی شکل های من یکیه چی ؟
      و یک سوال دیگه این که فرق a(10:20) = []; با a(10:20) = 0 چیه ؟
      اینم سیگنال من
      http://uploadtak.com/images/t1369_ch9.rar
      مرسی

      دیدگاه


        #18
        پاسخ : Signal Segmentation

        احتمالاً از توابعی استفاده کردی که خودش مقیاس بندی رو انجام میده در این صورت نیازی به تغییر مقیاس مجدد نیست.
        کد PHP:
        a(10:20) = []; 
        داده های بردار a بین اندیس 10 و 20 رو حذف می کنه یعنی طول سیگنال 11 تا کم میشه ولی
        کد PHP:
        a(10:20) = 0
        اون قسمت ها رو فقط صفر می کنه (فکر می کنم باید از 0 استفاده کنی).
        برای صفر کردن قسمت هایی که دامنه اش از 1 کوچکتره:
        کد PHP:
        a(a<1) = 0
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

        دیدگاه


          #19
          پاسخ : Signal Segmentation

          مرسی هادی جان .
          قربان من یک سیگنال EEG دارم که نویز داره و denoise کردم . حالا با چه روشی به جز MSE میتونم بگم که کارم خوبه .
          آخه برای mse نیاز به یک clean eeg دارم که سیگنال دنویز شده رو ازش کم کنم به دلیل این که سیگنال دنویز و clean eeg از جاهای مختلف هستند معمولا کم کردن این دو مقدار از هم جواب خوبی برای محاسبه mse نمیده . چون eeg در زمان های مختلف مقادیر مختلف داره و ایستا نیست .
          آیا معیاری هست که من ازش استفاده کنم برای تست کارم که بگم خوبه یا بد ؟
          مرسی

          دیدگاه


            #20
            پاسخ : Signal Segmentation

            نوشته اصلی توسط hooman
            مرسی هادی جان .
            قربان من یک سیگنال EEG دارم که نویز داره و denoise کردم . حالا با چه روشی به جز MSE میتونم بگم که کارم خوبه .
            آخه برای mse نیاز به یک clean eeg دارم که سیگنال دنویز شده رو ازش کم کنم به دلیل این که سیگنال دنویز و clean eeg از جاهای مختلف هستند معمولا کم کردن این دو مقدار از هم جواب خوبی برای محاسبه mse نمیده . چون eeg در زمان های مختلف مقادیر مختلف داره و ایستا نیست .
            آیا معیاری هست که من ازش استفاده کنم برای تست کارم که بگم خوبه یا بد ؟
            مرسی
            خواهش می کنم.
            نمیدونم، دوستان اگه نظری داشته باشن من هم استفاده می کنم.
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
            اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
            یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

            دیدگاه


              #21
              پاسخ : Signal Segmentation

              طول سیگنال من 751 هست و وقتی سیگنال رو توی 4 لول decompose می کنم طول سیگنال approximate من میشه 51 . آیا راهی هست که بدون استفاده از دستور reconstruct بشه طول سیگنال رو به همون اندازه سیگنال قبلی رسوند . چون من به همین سیگنال نیاز دارم نه بازسازی شده اونو .
              مرسی

              دیدگاه


                #22
                پاسخ : Signal Segmentation

                در هر مرحله تجزیه، طول سیگنالهای تقریب و جزئیات نصف طول سیگنال اصلی هست. ولی وقتی طول سیگنال فرد باشه که نشه به دو تقسیم کرد یک صفر به آخرش اضافه می کنه. در این صورت طول سیگنال میشه 752 و با 4 مرحله تجزیه میشه 47. دستور wavedec هم همین طول رو داد نمیدونم که از کدوم دستور استفاده کردی که طول 51 گرفتی ولی به هر حال برای این که طول سیگنالت رو با کمترین تغییر به اندازه دلخواهت برسونی میتونی از دستورات upsample، downsample و interp1 استفاده کنی.
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                دیدگاه


                  #23
                  پاسخ : Signal Segmentation

                  سلام
                  مرسی از راهنماییتون
                  من دو تا سیگنال دارم که power spectral density اون ها رو میخوام محاسبه کنم . توی محاسبه مشکلی نیست ولی موقع رسم میخوام جفت اون ها توی یک شکل و به رنگ های مختلف باشن .
                  هر دستوری که بلد بودم از hold on و legend و.......... رو امتحان کردم ولی یه ارور عجیب میده . کسی میدونه چطوری این ها رو رسمش کنم
                  آیا راه دیگه ای برام رسم جز این دستورات هست ؟
                  لطفا برای حل دو تا سیگنال تست بسازید
                  [ltr]
                  Hyulear = spectrum.yulear(14);
                  Hyulear1 = spectrum.yulear(14);
                  a=psd(Hyulear,signal1,'Fs',250,'NFF T',250)
                  b= psd(Hyulear1,signal2,'Fs',250,'NFFT ',250)

                  دیدگاه


                    #24
                    پاسخ : Signal Segmentation

                    من که امتحان کردم مشکلی نداشت:
                    کد PHP:
                    signal1 rand(1,752);
                    signal2 rand(1,752);
                    Hyulear spectrum.yulear(14);
                    Hyulear1 spectrum.yulear(14);
                    a=psd(Hyulear,signal1,'Fs',250,'NFFT',250);
                    bpsd(Hyulear1,signal2,'Fs',250,'NFFT',250);
                    af a.Frequencies;
                    aa a.Data;
                    bf b.Frequencies;
                    ba b.Data;
                    plot(af,aa,'r');hold on;plot(bf,ba,'b') 
                    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                    دیدگاه


                      #25
                      پاسخ : Signal Segmentation

                      مرسی .
                      اون دستوری که من نوشته بودم این 4 خط آخر رو لحاظ نکرده بودم . آخه توی مثال خود متلب هم نداشت .
                      الان کد شما رو اجرا کردم شکل اول و با داده های من و دستور شما شکل دوم ایجاد شد ولی زیاد خوب به نظر نمیرسن . راهی هست ؟ :cry:

                      شکل دوم
                      http://upload7.ir/images/45256554212187241991.jpg

                      دیدگاه


                        #26
                        پاسخ : Signal Segmentation

                        ولی زیاد خوب به نظر نمیرسن
                        اگه علمی تر مطرح کنی ممکنه بتونم جواب بدم. :biggrin:
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                        دیدگاه


                          #27
                          پاسخ : Signal Segmentation

                          معمولا باید به یه همچین نتیجه ای برسیم .
                          شکل ما همچین تعریفی نداره .

                          دیدگاه


                            #28
                            پاسخ : Signal Segmentation

                            مقیاس محور عمودی در تصویر شما لگاریتمی است.
                            کد PHP:
                            figure;semilogy(af,aa,'r');hold on;semilogy(bf,ba,'b') 

                            کد بالا رو به جای plot ها بنویس تا تصویر زیر رو بگیری(سیگنالهای تصادفی):

                            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                            لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                            با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                            اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                            یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                            دیدگاه


                              #29
                              پاسخ : Signal Segmentation

                              من از دستورات زیر استفاده کردم درست شد .
                              فقط یه چیزی . من تعریف دقیق power spectral density رو نمی دونم . توی مثال من یک سیگنال نویزی داریم که با فیلتر دنویز کردیم . جواب رو براتون میزارم . تا یه محدوده فرکانسی این دو تا شکل از هم جدا هستند و بعد از مدتی روی هم قرار می گیرند . این تفسیرش از نظر power spectral density چی میشه ؟
                              آیا شکلی که نویزی هست و دنویز میشه باید این طوری بشه ؟
                              مرسی
                              [ltr]
                              h = spectrum.welch('hamming',64);
                              hpsd1 = psd(h,sig,'Fs',250);
                              hpsd2 = psd(h,denoise,'Fs',250);
                              w = hpsd1.Frequencies;
                              a = hpsd1.Data;
                              b = hpsd2.Data;
                              hpsd = dspdata.psd([a, b],w,'Fs',250)
                              plot(hpsd);

                              دیدگاه


                                #30
                                پاسخ : Signal Segmentation

                                PSD همون طور که از اسمش معلومه چگالی توان رو بر حسب فرکانس نشون میده، یعنی هر فرکانسی چه سهمی از توان سیگنال داره.
                                شکل سیگنال دنویز شده به نوع سیگنالتون بستگی داره. از شکلی که گذاشتی به نظر میرسه نویز در فرکانس پایین بوده (0 تا 20 هرتز) که بعد از حذفش، توان در این محدوده فرکانسی کمتر شده.
                                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                                دیدگاه

                                لطفا صبر کنید...
                                X