اطلاعیه

Collapse
No announcement yet.

فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب

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

    فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب

    با سلام
    دوستان من نیاز دارم تا از یک شکل موج آنالوگ مثلا سینوسی در متلب نمونه برداری کنم و با نمونه های حاصل پارامتری را محاسبه کنم. الان توی m-file کد نویسی میکنم ولی نمیدونم درست هست اساس کارم یا نه ؟ چون نتایجم به نظرم زیاد دقیق نمیاد
    for i=1:1:2000
    nn(i)=sin(0.0005*pi*i);
    oo(i)=sin(0.0005*pi*i);
    pp(i)=nn(i).*oo(i);
    end
    f43=sum(pp);
    f44=f43/2000;
    f45=sqrt(f44);
    disp('Vrms--2000&#039
    توی این مثلا اومدم یک پرویود از شکل موج سینوسی را به 2000 قسمت تقسیم کردم و با اونها مقدار موثر ولتاژ را حساب کردم.
    for i=1:1:1500
    nn(i)=sin(0.000666*pi*i);
    oo(i)=sin(0.000666*pi*i);
    pp(i)=nn(i).*oo(i);
    end
    f43=sum(pp);
    f44=f43/1500;
    f45=sqrt(f44);
    disp('Vrms--1500&#039
    یا مثلا اینجا 1500 .
    میخوام ببینم تفاوت و در واقع خطاشون چقدره. ولی نتایج خیلی دقیق نیست.
    کسی نظری داره ؟ توی سیمولینک راه بهتری داره ؟
    ممنون میشم. خیلی فوریه

    #2
    پاسخ : فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب


    با سلام

    بنظر درسته

    یکم کدت رو ساده بنویسی راحت تره تحلیلش

    کد:
    fc = 0.0005/2;
    N = 1/(2*fc);
    ii = 1:N;
    
    nn=sin(2*fc*pi*ii);
    pp=nn.^2;
    
    
    f43=sum(pp);
    f44=f43/2000;
    f45=sqrt(f44);
    disp(f45)

    سیمولینک هم برای این کارها مناسب نیست
    همون ام فایل از همه ش بهتره


    http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

    دیدگاه


      #3
      پاسخ : فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب

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

      دیدگاه


        #4
        پاسخ : فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب

        سلام مجدد

        کد:
        بنظر مشکل این بود که نیم پریود کامل نبود
        
        clc
        clear all
        
        
        fc = 0.0005/2;
        [color=red]N = 1/(2*fc)[/color];
        ii = [color=red]0[/color]:1:N;
        
        nn=sin(2*fc*pi*ii);
        
        pp=nn.^2;
        plot(pp,'.-')
        
        f43=sum(pp);
        f44=f43/length(nn);
        f45=sqrt(f44);
        disp(1/sqrt(2) - f45)
        با این تغییرات با افزایش نرخ نمونه برداری طبق انتظار دقت زیاد میشه





        http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

        دیدگاه


          #5
          پاسخ : فوری فوری -- نمونه برداری از سیگنال آنالوگ در متلب

          آقا خیلی ممنون. درست شد.
          فکر کنم ایراد کار اونجا بود که نمونه ها را تقسیم بر تعداشون میکردم. من تعداد نمونه ها را ثابت خودم میدادم ولی راه شما length() خیلی بهتر و دقیقترش کرد.
          بازم ممنون.

          دیدگاه

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