I. Wprowadzenie do ćwiczenia CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera) Ogólnie termin przetwarzanie sygnałów odnosi się do nauki analizowania zmiennych w czasie procesów fizycznych. Rozróżniamy analogowe i cyfrowe przetwarzanie sygnałów. Analogowe przetwarzanie dotyczy sygnałów ciągłych w czasie, które mogą przyjmować ciągły zakres wartości amplitudy. Zatem cyfrowe przetwarzanie sygnałów dotyczy sygnałów o czasie dyskretnym (kwantowanej osi czasu) oraz dyskretnych wartościach. W literaturze technicznej przyjmuje się określenie sygnał cyfrowy w przypadku kwantowania zarówno osi czasu jak i osi wartości. Podstawowa różnica pomiędzy sposobem, w jaki jest reprezentowany czas w systemach ciągłych i dyskretnych związany jest z częstotliwością. Ponieważ częstotliwość sinusoidy stanowi odwrotność okresu, w systemach dyskretnych pojawia się problem odstępów (szybkości) próbkowania. W cyfrowym przetwarzaniu sygnałów bardzo pomocne jest określenie składowych częstotliwościowych sygnałów dyskretnych w dziedzinie czasu. Jedną z najbardziej wydajnych metod przetwarzania sygnałów z dziedziny czasu na dziedzinę częstotliwości jest przekształcenie Fouriera, które w postaci ciągłej zdefiniowane jest jako: j πft = x( e dt gdzie: x( jest pewnym sygnałem ciągłym w dziedzinie czasu. X ( f ) (1) W dziedzinie cyfrowego przetwarzania sygnałów stosuje się dyskretne przekształcenie Fouriera DFT () oraz jego modyfikację FFT (szybkie przekształcenie Fouriera). X ( m) = N 1 n= x( n) e j πnm / N gdzie: x(n) - jest dyskretnym ciągiem spróbkowanych wartości w dziedzinie czasu sygnału ciągłego x(. II. Szybka transformata Fouriera FFT procedura fft w MATLABie Przykład Dla przebiegu x(: x( = 1+ 4cos( ω + 3sin( ω + cos(5ω 1sin(5ω + 5cos(1ω 5sin(1ω (3) 1. Wyznaczyć rozkład harmoniczny Fouriera.. Korzystając z współczynników a i, b i rozkładu Fouriera dokonać porównania przebiegu aproksymowanego z przebiegiem wzorcowym x(. 3. Przedstawić na wykresie rozkład harmonicznych w funkcji częstotliwości. ()
Zadanie to realizuje przedstawiony m-plik. % dydaktyka 6 % matlab cw % analiza fouriera T=.1;n=47; % okres i ilosc probek w okresie % uwaga! ilosc probek ma wpływ na dokladnosc odwzorowania t=:t/n:t;n=length(; w=*pi/t; % pulsacja x=ones(1,n); m=1; % największa harmoniczna w sygnale uzytecznym x1=4*cos(w*+3*sin(w*; x=*cos(5*w*-1*sin(5*w*; x3=5*cos(m*w*-5*sin(m*w*; x=x+x1+x+x3; % przebieg x( do analizy widmowej widmo=fft(x); % szybka transformata fouriera sp=widmo; % do wyznaczenia rozkladu harmonicznych C=widmo(1:m+1);widmo=[]; % redukujemy widmo do zakresu: (sklada stala -:- m harmoniczna) C=C*/n; C(1)=C(1)/; % skladowa stala A=real(C),B= -imag(c) % wspolczynniki wielomianu trygonometrycznego xx=zeros(1,n); for k=:m xx=xx+a(k+1)*cos(k*w*+b(k+1)*sin(k*w*; end; % aproksymacja wielomianem trygonometrycznym figure(1) plot(t,x,'g',t,xx,'r-.') xlabel('t'); ylabel('x(, xm('); Legend('x(','xm('); % sprawdzenie, oba wykresy powinny sie pokrywac grid on % -------------tworzenie wykresu harmonicznych ----------------------- figure; p_w=sqrt(sp.*conj(sp))/(n/); % przeskalowanie amplitudy przez czynnik (n/) f=n/*(:n/)/(n/); % ograniczenie zakresu do częstotliwości dodatnich %p_w(:n/)=*p_w(:n/); przeniesienie mocy częstotliwości ujemnych na %czętotliwości dodatnie (nalezy zastosować w przypadku gdy p_w/n) p_w(n/+:n)=[]; p_w(1)=p_w(1)/; bar(f(1:(m+1))/t,p_w(1:(m+1)),.1); %przeskalowanie wykresu na częstotliwość rzeczywistą grid; xlabel('f'); ylabel('amplitudy harmonicznych');
W wyniku otrzymujemy: 15 1 x( xm( 5 x(, xm( -5-1 -15.1..3.4.5.6.7.8.9.1 t Rys. 1 Porównanie przebiegów x( oraz aproksymowanego xm( 8 7 6 amplitudy harmonicznych 5 4 3 1 1 3 4 5 6 7 8 9 1 f Rys. Rozkład harmonicznych w funkcji częstotliwości Uwagi do przykładu Przetwarzanie wstępne danych czasowych przed wyznaczeniem FFT Używając algorytmu FFT o podstawie należy dążyć do tego by liczba próbek była równa k k wielokrotności liczby dwa. Jeżeli dysponujemy liczbą próbek z zakresu 1 < N<, należy uzupełnić liczę próbek do wartości k za pomocą zer, a nie odrzucać do wartości k-1. Należy pamiętać, że korzystając z algorytmu FFT otrzymujemy po transformacji próbki zespolone X(m)=X real (m)+jx imag (m). Aby wyznaczyć prawdziwą wartość amplitudy z dziedziny czasu na podstawie wyników widmowych należy podzielić wartości przez czynnik skalujący N. W przypadku rzeczywistych próbek amplitudowych FFT ( X ( m) = X real ( m) + X imag ( m) ) należy podzielić przez czynnik skalujący N/.
III. Opis zadania laboratoryjnego 1. Przeprowadzić analizę Fouriera przebiegu piłokształtnego. Wyznaczyć współczynniki rozkładu a i, b i,. Liczbę harmonicznych ograniczyć do pięciu najbardziej znaczących. Porównać przebieg wzorcowy x( z przebiegiem aproksymowanym xm(. Przedstawić rozkład częstotliwościowy amplitud harmonicznych na wykresie.. Dokonać identyfikacji modelu ciągłego na podstawie charakterystyk widmowych Metodę tę stosuje się, gdy trudno jest zrealizować wymuszenie skokowe i sinusoidalne. Dla wybranego sygnału wejściowego u( rejestruje się odpowiedź sygnału wyjściowego y(. Dokonuje się przekształcenia Fouriera sygnałów u( i y( (za pomocą algorytmu FFT). Określenie charakterystyki częstotliwościowej polega na wyznaczeniu wyrażenia: Y( jω ) F{ y( } K ( j ) = = U ( jω ) F{ u( } gdzie F{ } oznacza przekształcenie Fouriera dla zarejestrowanych przebiegów u(, y(. ω, (4) Sygnał pobudzający u( przyjmuje tylko dwie wartości +a oraz -a przy czym zmiana tych wartości występuje przypadkowo, w chwilach będących wielokrotnościami okresu próbkowania T p (rys. 3). u( a - a t Rys. 3 Wykres sygnału binarnego losowego Przeprowadzić identyfikację układu przedstawionego na rys. 4. R u( C y( Rys. 4 Schemat układu RC
Równania różniczkowe potrzebne do określenia przebiegu y( są następujące: u ( = ir+ y( (5) dy( i= C (6) dt Przebieg ćwiczenia W części pierwszej należy napisać m-plik funkcyjny pozwalający wyznaczyć współczynniki rozkładu Fouriera dla dowolnego przebiegu x(. Dobrać okres T przebiegu piłokształtnego oraz częstotliwość próbkowania (realizowane za pomocą doboru ilości próbek). Przeprowadzić analizę przy zmianie tych parametrów. W części drugiej wyznaczyć przebieg y(. Należy skorzystać z m-plików służących do rozwiązywania równań różniczkowych (poprzednie zadanie laboratoryjne). Następnie wyznaczyć rozkład harmoniczny Fouriera dla przebiegów u( oraz y(. W końcowym etapie określić transmitancje widmową K(jω). W sprawozdaniu należy przedstawić między innymi: - najważniejszą część skryptów m-plików funkcyjnych, dla części pierwszej i drugiej, - wykres przebiegów sygnału wzorcowego x( i sygnału aproksymowanego xm(, - wykres rozkładu częstotliwościowego harmonicznych dla przebiegu piłokształtnego, - przebieg napięcia na kondensatorze y( (rys.4), - charakterystykę widmową K(jω) (wzór 4), - wnioski końcowe z przeprowadzonego ćwiczenia.