AYRIK-ZAMANLI KONTROL (~ DİJİTAL KONTROL)



Benzer belgeler
Contents. Doğrusal sistemler için kontrol tasarım yaklaşımları

Sensörlerin ölçümlerinde bir miktar hata payı olması. Ölçümlere gürültü karışması.

ELN3052 OTOMATİK KONTROL MATLAB ÖRNEKLERİ - 2 TRANSFER FONKSİYONU, BLOK ŞEMA VE SİSTEM BENZETİMİ UYGULAMALARI:

BMÜ-421 Benzetim ve Modelleme MATLAB SIMULINK. İlhan AYDIN

MATLAB'dan doğrusal sistemlerin matematiksel modellemesi için transfer fonksiyonu, sıfırkutup-kazanç, durum uzayı vs. gösterimler kullanılabilir.

DENEY.3 - DC MOTOR KONUM-HIZ KONTROLÜ

KST Lab. Shake Table Deney Föyü

1. DENEY ADI: Rezonans Deneyi. analitik olarak bulmak denir. Serbestlik Derecesi: Genlik: Periyot: Frekans: Harmonik Hareket:

Bu soruda eğik şekilde belli bir hızda ve değişik açılarda atılan ve sonrasında yerden seken bir topun hareketini ifade eden kod yazılacaktır.

MATLAB DA SAYISAL ANALİZ DOÇ. DR. ERSAN KABALCI

TIBBİ ENSTRUMANTASYON TASARIM VE UYGULAMALARI SAYISAL FİLTRELER

EEM 452 Sayısal Kontrol Sistemleri /

SİNYALLER VE SİSTEMLERİN MATLAB YARDIMIYLA BENZETİMİ

YÜZÜNCÜ YIL ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ANALOG ELEKTRONİK DENEY RAPORU

girişli, çıkışlı ve durumlu doğrusal olmayan bir sistemin denklemleri aşağıdaki gibi ifade edilebilir:

ELE 301L KONTROL SİSTEMLERİ I LABORATUVARI DENEY 4B: DC MOTOR TRANSFER FONKSİYONU VE PARAMETRELERİNİN ELDE EDİLMESİ

Bu ders boyunca, ilk önce sayısal kontrol sistemlerinin temellerini tanıtıp, daha sonra birkaç temel pratik uygulamasından bahsedeceğiz.

ANOLOG-DİJİTAL DÖNÜŞTÜRÜCÜLER

OTOMATİK KONTROL SİSTEMLERİ. DİNAMİK SİSTEMLERİN MODELLENMESİ ve ANALİZİ

Bölüm 9 KÖK-YER EĞRİLERİ YÖNTEMİ

SÜREKLİ VE AYRIK ZAMANLI KONTROL SİSTEMLERİNDE KULLANILAN TEMEL MATEMATİKSEL OPERASYONLAR VE KARAKTERİSTİKLERİ

DENEY 3 HAVALI KONUM KONTROL SİSTEMİ DENEY FÖYÜ

OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

EEM 451 Dijital Sinyal İşleme LAB 3

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

SAYISAL KONTROL SİSTEMLERİNİN z-düzleminde ANALİZİ

Sayısal Kontrol - HAVA HARP OKULU Bölüm 2 Sürekli Zaman Sistemlerin Ayrık Benzetimi

H(s) B(s) V (s) Yer Kök Eğrileri. Şekil13. V s R s = K H s. B s =1için. 1 K H s

Yükseltici DA Kıyıcılar, Gerilim beslemeli invertörler / 12. Hafta

Kodumuzu yazmaya zaman eksenini, açısal frekans ekseni ve örnekte verilen M değerlerini bir vektör içinde tanımlayarak başlayalım.

Ders İçerik Bilgisi. Sistem Davranışlarının Analizi. Dr. Hakan TERZİOĞLU. 1. Geçici durum analizi. 2. Kalıcı durum analizi. MATLAB da örnek çözümü

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü ELK 2008 DEVRELER II LABORATUARI

DURUM GERİBESLEMESİ. Contents

Ayrık zamanlı sinyaller için de ayrık zamanlı Fourier dönüşümleri kullanılmatadır.

Kırım Filtresi ve Alt Örnekleme

BÖLÜM 1.A Bir sisteme belli frekanslar arasında rastgele bir gürültü karıştığını varsayalım. Örneğin

Sayısal Kontrol - HAVA HARP OKULU

U.Ü. Mühendislik Mimarlık Fakültesi Elektronik Mühendisliği Bölümü ELN3102 OTOMATİK KONTROL Bahar Dönemi Yıliçi Sınavı Cevap Anahtarı

Direnç(330Ω), bobin(1mh), sığa(100nf), fonksiyon generatör, multimetre, breadboard, osiloskop. Teorik Bilgi

SAYISAL KONTROL 2 PROJESİ

Algoritmalar ve Programlama. DERS - 4 Yrd. Doç. Dr. Ahmet SERBES

H04 Mekatronik Sistemler. Yrd. Doç. Dr. Aytaç Gören

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI

31 Mart 2017 Cuma 23:59 tek epostada tek epostada

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ İLETİŞİM LABORATUARI SAYISAL FİLTRELER

Kontrol Sistemleri Tasarımı

Ders İçerik Bilgisi. Dr. Hakan TERZİOĞLU Dr. Hakan TERZİOĞLU 1

İleri Diferansiyel Denklemler

DENEY 4: SERİ VE PARALEL REZONANS DEVRELERİ

DENEY 5: FREKANS CEVABI VE BODE GRAFİĞİ

OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH

Sistem Dinamiği. Bölüm 9- Frekans Domeninde Sistem Analizi. Doç.Dr. Erhan AKDOĞAN

Tanım: Kök yer eğrisi sistem parametrelerinin değişimi ile sistemin kapalı döngü köklerinin s düzlemindeki yerini gösteren grafiktir.

FIRAT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ EMÜ-419 OTOMATİK KONTROL LABORATUARI DENEY 8

STEM komutu ayrık zamanlı sinyalleri veya fonksiyonları çizmek amacı ile kullanılır. Bu komutun en basit kullanım şekli şöyledir: stem(x,y).

EEM HABERLEŞME TEORİSİ NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

EEM 202 DENEY 9 Ad&Soyad: No: RC DEVRELERİ-II DEĞİŞKEN BİR FREKANSTA RC DEVRELERİ (FİLTRELER)

TRANSİSTÖRLÜ YÜKSELTEÇLERDE GERİBESLEME

DENEY 1: Matlab de Temel Haberleşme Sistemleri Uygulamaları

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

Sayısal Kontrol - HAVA HARP OKULU Bölüm 4 Sayısal Kontrolör Tasarımı

İŞARET ve SİSTEMLER (SIGNALS and SYSTEMS) Dr. Akif AKGÜL oda no: 303 (T4 / EEM)

Şekil 1.1 ve Şekil 1.2 Kod Akışı

Otomatik Kontrol (Doğrusal sistemlerde Kararlılık Kriterleri) - Ders sorumlusu: Doç.Dr.HilmiKuşçu

L300P GÜÇ BAĞLANTISI BAĞLANTI TERMİNALLERİ

Şekil-1. Doğru ve Alternatif Akım dalga şekilleri

Ayrık Zamanlı Sistem Simülatörü Discrete Time System Simulator

OTOMATİK KONTROL

Dijital Kontrol Sistemleri Prof.Dr. Ayhan Özdemir. Dengede bulunan kütle-yay sistemine uygulanan kuvvetin zamana göre değişimi aşağıda verilmiştir.

Fen ve Mühendislik Uygulamalarında MATLAB

DENEY-2 ANİ DEĞER, ORTALAMA DEĞER VE ETKİN DEĞER

FIRAT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ EMÜ-419 OTOMATİK KONTROL LABORATUARI DENEY 8

Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

ELE /16 BAHAR DÖNEMİ - ÖDEV

RF MİKROELEKTRONİK GÜRÜLTÜ

Otomatik Kontrol (Doğrusal sistemlerde Kararlılık Kriterleri) - Ders sorumlusu: Doç.Dr.HilmiKuşçu

DENEY-4. Transistörlü Yükselteçlerin Frekans Analizi

Ayrık Fourier Dönüşümü

Sayısal İşaret İşleme Dersi Laboratuvarı

NJ Kontrolcüler için PIDAT Uygulaması. PIDAT Fonksiyon Bloğu PIDAT Fonk. Bloğu Değişkenleri SSR Çıkışı

Sistem Dinamiği. Bölüm 2- Dinamik Cevap ve Laplace Dönüşümü. Doç.Dr. Erhan AKDOĞAN

MKT 210 OTOMATĠK KONTROL

DÜZCE ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ EET305 OTOMATİK KONTROL I Dr. Uğur HASIRCI

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

KISIM 1 ELEKTRONİK DEVRELER (ANALİZ TASARIM - PROBLEM)

ELEKTRİK ENERJİ SİSTEMLERİNDE OLUŞAN HARMONİKLERİN FİLTRELENMESİNİN BİLGİSAYAR DESTEKLİ MODELLENMESİ VE SİMÜLASYONU

ANALOG İLETİŞİM. 3. Kanal ayrımı sağlar. Yani modülasyon sayesinde aynı iletim hattında birden çok bilgi yollama olanağı sağlar.

ideal Sistem Tester Kullanım Klavuzu

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

Şekil 1. Geri beslemeli yükselteçlerin genel yapısı

10. Sunum: Laplace Dönüşümünün Devre Analizine Uygulanması

Sayısal Filtre Tasarımı

ALTERNATİF AKIM (AC) II SİNÜSOİDAL DALGA; KAREKTRİSTİK ÖZELLİKLERİ

SIEMENS MICROMASTER 430 ve FAN UYGULAMA ÖRNEKLERİ

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Sürekli-zaman İşaretlerin Ayrık İşlenmesi

OFF-GRID veya STAND-ALONE INVERTER NEDİR?

Transkript:

AYRIK-ZAMANLI KONTROL (~ DİJİTAL KONTROL) Ayrık-zamanda çalışırken sinyaller bütün zamanlar için değil, sadece belli zaman anları için tanımlıdır. Bu zaman anları arasındaki aralığa Ts diyelim. Örneğin Ts = 0.5 ise sistemdeki bütün sinyaller (giriş, çıkış ve durumlar) sadece t = 0, 0.5, 1, 1.5, 2, 2.5, 3,... anlarında tanımlıdır, ara değerlerde (örneğin t = 0.34, 2.78 vs.) tanımlı değildir. Bu durum sayısal ortamların (bilgisayar, mikroişlemci vs.) tipik özelliğidir. Bu ortamlara veriler, analog/dijital çeviricilerden geçirilerek alınır ve bu çeviriciler sürekli olarak örnek alamazlar, belli bir frekansta örnek alarak sayısal ortama gönderirler. Bunun sonucunda sayısal ortamda sadece bu örneklerin alındığı anlardaki veriler tanımlı olur. Ayrıca bilgisayar veya işlemcideki program da sürekli olarak dış ortama veri gönderemez çünkü bu verileri işlemek için belirli bir zamana ihtiyacı vardır. Bu nedelerden dolayı bu tür sistemlerde giriş-cıkış işlemi sürekli olarak değil kesik kesik (ayrık-zamanda) olur. Bu tür durumlarda çalışabilecek kontrolörlerin ayrık-zamanda elde edilmesi gerekir. Kontorlcüler doğrudan ayrık zamanda tasarlanabileceği gibi, sürekli zamanda tasarlanmış bir kontrolcü sonradan da ayrık-zamana çevrilebilir. Contents DC motor modelinin ayrık zamana çevrilmesi c2d komutu ile sistemin ayrıklaştırılması Ayrık zaman sistemi üzerinde standart işlemler Ayrık-zamanlı sistemlerin Simulink ile incelenmesi ve kontrolcü tasarımı Ayrık zamanlı sistemlerde durum geribeslemesi LQR ile regülasyon örneği LQRI ile verilen bir hız referansını takip örneği LQI için elde edilen sonucu düzeltme çabası LQI için elde edilen sonucu düzeltme çabası 2 Farklı ayrıklaştırma metotlarının karşılaştırılması Sıfırıncı dereceden tutma (Zero-order hold - ZOH) Birinci dereceden tutma (First-order hold - FOH) Dürtü cevabı eşleme (Impulse Invariant Mapping) Çift doğrusal (Tustin) yaklaşıklaması (Bilinear/Tustin Approximation) Kutup-sıfır eşleme (Pole-zero matching) Bütün yöntemleri bir arada kıyaslama DC motor modelinin ayrık zamana çevrilmesi Yine standart örneğimiz olan DC motor modeli üzerinde çalışalım. Modelin çıkarılmasını önceki derslerimizde görmüştük. Burada giriş olarak motor voltajı, çıkış olarak da motor hızının alındığı iki boyutlu modeli ele alalım. Motor parametreleri aşağıdaki gibi olsun: R = 2.0; % Direnç (Ohm) L = 0.5; % Endüktans (H) Km = 0.1; % Armatür sabiti Kb = 0.1; % EMK sabiti Kf = 0.2; % Sürtünme sabiti (Nms)

J = 0.02; % Yük eylemsizlik momenti (kg.m^2) Motor sistemini oluşturalım: Am = [-R/L -Kb/L; Km/J -Kf/J]; Bm = [1/L; 0]; Cm = [ 0 1 ]; Dm = 0; G = ss(am,bm,cm,dm); Sistemin bazı standart tepkilerini inceleyelim. Birim basamak cevabı: step(g); grid; Birim dürtü cevabı impulse(g); grid;

Kök-yer eğrisi rlocus(g); grid;

Bode frekans cevabı P = bodeoptions; P.FreqUnits = 'Hz'; % Frekansı Hz olarak göster bode(g,p); grid; c2d komutu ile sistemin ayrıklaştırılması Sürekli zamanda tanımlanmış bir sistem c2d komutu ile istenilen bir Ts periyodu aralıkla örneklenerek ayrıklaştırılabilir: fs = 10; % Örnekleme frekanası Ts = 1/fs; % Örnekleme periyodu Gd = c2d(g,ts) % G sistemini, Ts örnekleme periyodu ile ayrıklaştır a = x1 x2 x1 0.6676-0.01006 x2 0.2516 0.3656 b = u1 x1 0.1646 x2 0.03199 c = x1 x2 y1 0 1

d = u1 y1 0 Sampling time (seconds): 0.1 Discrete-time state-space model. Çıkan sistemin sonundaki bilgilere dikkat ediniz. Sistemin ayrık zamanlı olduğu (Discrete-time) ve örnekleme periyodunun 0.1 olduğu yazmaktadır. Ayrık zaman sistemi üzerinde standart işlemler Sürekli zaman sistemleri üzerinde kullanmış olduğumuz komutların pek çoğunu aynı şekilde ayrık zamanlı sistemler üzerinde de kullanabiliriz. MATLAB sistemin sürekli mi ayrık mı olduğunu otomatik olarak anlayacak ve gerekirse ona göre sonuç verecektir. Bazı örnekler vermek gerekirse: Durum uzayı sisteminin A, B, C, D matrisleri alalım: [Amd,Bmd,Cmd,Dmd] = ssdata(gd) Amd = 0.6676-0.0101 0.2516 0.3656 Bmd = 0.1646 0.0320 Cmd = 0 1 Dmd = 0 Alternatif olarak nokta notasyonuyla da tek tek bu matrislere ulaşabiliriz: Gd.A ans = 0.6676-0.0101 0.2516 0.3656 Gd.B

ans = 0.1646 0.0320 Gd.C ans = 0 1 Gd.D ans = 0 Ayrıklaştırılmış sistemin transfer fonksiyonuna bakalım: tf(gd) Transfer function: 0.03199 z + 0.02007 ---------------------- z^2-1.033 z + 0.2466 Sampling time (seconds): 0.1 Ayrık zamanda transfer fonksiyonlarının z dönüşümü olarak ifade edildiğine dikkat ediniz. (Sürekli zamanda Laplace (s) dönüşümü olarak ifade ediliyordu). Burada z değişkeni zaman kaydırma operatörü olarak da düşünülebilir. Transfer fonksiyonunun payı ve paydasını alalım: [numd,dend] = tfdata(gd,'v') % 'v' argümanını sonuçları vektör olarak almak % için verdik; aksi takdirde hücre olarak verir. numd = 0 0.0320 0.0201 dend = 1.0000-1.0332 0.2466

Sıfır-kutup-kazanç formatında ayrık zaman sistemine bakalım: zpk(gd) Zero/pole/gain: 0.031989 (z+0.6273) --------------------- (z-0.6589) (z-0.3742) Sampling time (seconds): 0.1 Ayrık zamanlı sistemin birim dürtü cevabı: impulse(gd); grid; Ayrık zamanlı sistemin birim basamak cevabı: step(gd); grid;

Ayrı zamanlı sistemin bir sinüs girişine verdiği cevap: T = 2; % Periyot t = 0:Ts:3*T; % ÖNEMLİ: Ayrık-zamanda çalışırken zaman aralığı hep Ts olmalı! u = 2*sin(2*pi*1/T*t); % Sinüs sinyalini oluştur lsim(gd,u,t); % Cevabı hesaplat ve çizdir

Ayrık zamanlı sistemin Bode eğrisi. Dikey siyah çizgi temsil edilen en yüksek frekansı ( veya radyan olarak ) gösterir: bode(gd);

Ayrık zamanlı sistemin kök-yer eğrisi. Ayrık zamanda kararlılık bölgesinin birim çemberin içi olduğunu hatırlayınız. Ayrıca sabit-sönüm ve sabit-doğal-frekans eğrilerinin de sürekli zamandan farklı olduğuna dikkat ediniz. rlocus(gd); grid; sisotool ile ayrık zamanda kontrolcü tasarımı sisotool(gd);

Eğer sisotool ile uğraşmak istemiyorsanız doğrudan aşağıdaki gibi bir kontrolcünün transfer fonksiyonunu da girebilirsiniz. if ~exist('cd','var') % Cd değişkeni yoksa (sisotool'dan tasarlanmadıysa) oluştur z = tf('z',ts); % z-değişkenini tanımla Cd = 0.21556*(z+1)/(z-1); end Geribesleme ile kapalı çevrim sistemini oluştur: Gcld = feedback(cd*gd,1) a = x1 x2 x3 x1 1 0 0.5 x2-0.1419 0.6676-0.04555 x3-0.02758 0.2516 0.3587

b = u1 x1 0 x2 0.1646 x3 0.03199 c = x1 x2 x3 y1 0.8622 0 0.2156 d = u1 y1 0 Sampling time (seconds): 0.1 Discrete-time state-space model. Kapalı çevrim sisteminin birim basamak cevabı step(gcld); grid; Ayrık-zamanlı sistemlerin Simulink ile incelenmesi ve kontrolcü tasarımı motormodelayrik01

Ayrık zamanlı sistemlerde durum geribeslemesi Sürekli zaman için kullanılan fonksiyonların aynıları ayrık zamanlı sistemler için de kullanılabilir. MATLAB sistemin ayrık zamanlı olduğunu otomatik olarak anlayacak ve tasarımı ona göre yapacaktır. LQR ile regülasyon örneği % Geribesleme kazancını hesapla Q = 1*eye(2); R = 1; K = lqr(gd,q,r); % Kapalı çevrim sistemi Gcd = ss(amd-bmd*k,zeros(size(bmd)),cmd-dmd*k,zeros(size(dmd)),ts); % Durumları birden başlatarak ilk koşul (sıfır-giriş) cevabı [y,t,x] = initial(gcd,[1;3],3); % Sonuçları çizdir subplot(2,1,1); stairs(t,x,'linewidth',2); grid; xlabel('t (s)'); ylabel('x(t)'); legend('i(t)','\omega(t)'); subplot(2,1,2); stairs(t,-k*x','linewidth',2); xlabel('t (s)'); ylabel('u(t)'); grid;

LQRI ile verilen bir hız referansını takip örneği % Geribesleme kazancını elde et (integral için ekstradan bir durum % geldiğini unutmayın) Q = 10*eye(3); R = 1; K = lqi(gd,q,r); K1 = K(1:2); % Kazancın sistem durumu (x) için olan kısmı K2 = K(3); % Kazancın integralci durumu (xi) için olan kısmı % Integralci çıkışının girileceği sistemi oluştur G1 = ss(amd-bmd*k1,-k2*bmd,cmd-dmd*k1,dmd,ts); % İntegralciyi oluştur z = tf('z',ts); % z değişkeni Gi = Ts/(z-1); Gcd = feedback(gi*g1,1); % Kapalı çevrim sistemi [y,t,x] = step(gcd); % Birim basamak cevabı % Sonuçları çizdir subplot(2,1,1); stairs(t,y); xlabel('t (s)'); ylabel('y(t)'); subplot(2,1,2); stairs(t,x); xlabel('t (s)'); ylabel('x(t)');

LQI için elde edilen sonucu düzeltme çabası Sistem cevabı istediğimizden yavaş çıktı. Takip ile ilgili parametreyi (Q) arttırıp tekrar deneyelim. Q = 100*eye(3); R = 1; K = lqi(gd,q,r); K1 = K(1:2); % Kazancın sistem durumu (x) için olan kısmı K2 = K(3); % Kazancın integralci durumu (xi) için olan kısmı % Integralci çıkışının girileceği sistemi oluştur G1 = ss(amd-bmd*k1,-k2*bmd,cmd-dmd*k1,dmd,ts); % İntegralciyi oluştur z = tf('z',ts); % z değişkeni Gi = Ts/(z-1); Gcd = feedback(gi*g1,1); % Kapalı çevrim sistemi [y,t,x] = step(gcd); % Birim basamak cevabı % Sonuçları çizdir subplot(2,1,1); stairs(t,y); xlabel('t (s)'); ylabel('y(t)'); grid; subplot(2,1,2); stairs(t,x); xlabel('t (s)'); ylabel('x(t)');

grid; LQI için elde edilen sonucu düzeltme çabası 2 Yukarıdaki çabamız sistem cevabı çok fazla hızlandırmadı. Böyle hallerde durumların ağırlıklarını tek tek incelemek faydalı olabilir. LQI ile oluşturduğumuz sistemde bir integral alıcı olduğunu hatırlayın. Integral alma işlemi genellikle sistemi yavaşlatan bir işlemdir. O nedenle Q matrisinide integralci durumu xi ile ilgili parametreyi arttırarak integralcinin yakınsama hızını artırmaya çalışarak tasarım yapmayı deneyelim. QX = 10*eye(2); % Sistem durumu için Q parametresi QI = 100; % Integralcinin durumu için Q parametresi Q = blkdiag(qx,qi); % Tümleşik Q parametresi R = 1; % R parametresi K = lqi(gd,q,r); % Durum geribeslemesi kazancını oluştur K1 = K(1:2); % Kazancın sistem durumu (x) için olan kısmı K2 = K(3); % Kazancın integralci durumu (xi) için olan kısmı % Integralci çıkışının girileceği sistemi oluştur G1 = ss(amd-bmd*k1,-k2*bmd,cmd-dmd*k1,dmd,ts); % İntegralciyi oluştur z = tf('z',ts); % z değişkeni Gi = Ts/(z-1); Gcd = feedback(gi*g1,1); % Kapalı çevrim sistemi [y,t,x] = step(gcd); % Birim basamak cevabı

% Sonuçları çizdir subplot(2,1,1); stairs(t,y); xlabel('t (s)'); ylabel('y(t)'); grid; subplot(2,1,2); stairs(t,x); xlabel('t (s)'); ylabel('x(t)'); grid; Şekillerden görüleceği üzere bu defa daha hızlı ve kabul edilebilir bir cevap elde ettik. Farklı ayrıklaştırma metotlarının karşılaştırılması Bir sürekli zaman sistemini ayrık zamana çevirmek için farklı yaklaşımlar kullanılabilir. Normalde c2d komutunu kullandığımızda ekstra bir argüman vermezsek standart yöntem olan sıfırıncı dereceden tutma (zero order hold - ZOH) yaklaşımını kullanır. Bu yöntem genelde yeterli olur ama bazı özel durumlarda diğer tekniklere de bakmak ve onların içinden birini seçmek tercih edilebilir. Örnek olarak motor sistemimizi MATLAB'da tanımlı farklı ayrıklaştırma yöntemleri ile ayrıklaştıralım ve elde edilen sistemlerin cevaplarını kıyaslayalım. Sıfırıncı dereceden tutma (Zero-order hold - ZOH) Ayrık sistemi hesapla: Gdz = c2d(g,ts,'zoh')

a = x1 x2 x1 0.6676-0.01006 x2 0.2516 0.3656 b = u1 x1 0.1646 x2 0.03199 c = x1 x2 y1 0 1 d = u1 y1 0 Sampling time (seconds): 0.1 Discrete-time state-space model. Birim basamak, dürtü ve Bode cevabını çizdir: step(g,gdz); impulse(g,gdz); bode(g,gdz);

Görülebileceği üzere ayrık zamanlı sistemin birim basamak cevabı sürekli zaman sistemininkine oldukça yakındır. Dürtü tepkileri uyuşmamaktadır ancak bu beklenen bir durumdur çünkü sürekli zaman dürtüsü sonsuz genlikte bir sinyal olup, ayrı zaman dürtüsü ise genliği bir olan bir sinyaldir. Bu nedenle ayrık zaman dürtüsünde sistem daha az uyarılmakta ve daha düşük bir cevap vermektedir. Ayrık zamanlı sistemin Bode frekans cevabı da sürekli zaman sistemine yakındır ancak maksimum frekansa (dikey siyah çizgi) yaklaşıldıkça aradaki fark artmaktadır. Eğer bu çizgiye çok yakın frekanslarda çalışılması gerekiyorsa örnekleme frekansını arttırarak tekrar ayrıklaştırmak iyi olabilir. Birinci dereceden tutma (First-order hold - FOH) Ayrık sistemi hesapla: Gdf = c2d(g,ts,'foh') a = x1 x2 x1 0.6676-0.01006 x2 0.2516 0.3656 b = u1 x1 0.1353 x2 0.04652 c = x1 x2 y1 0 1 d =

u1 y1 0.01193 Sampling time (seconds): 0.1 Discrete-time state-space model. Birim basamak, dürtü ve Bode cevabını çizdir: step(g,gdf); impulse(g,gdf); bode(g,gdf);

Görülebileceği üzere ayrık zamanlı sistemin birim basamak cevabı sürekli zaman sistemininkine oldukça yakındır. Dürtü tepkileri uyuşmamaktadır ancak bu beklenen bir durumdur çünkü sürekli zaman dürtüsü sonsuz genlikte bir sinyal olup, ayrı zaman dürtüsü ise genliği bir olan bir sinyaldir. Bu nedenle ayrık zaman dürtüsünde sistem daha az uyarılmakta ve daha düşük bir cevap vermektedir. Ayrık zamanlı sistemin Bode frekans cevabı da sürekli zaman sistemine yakındır. Maksimum

frekansa (dikey siyah çizgi) yaklaşıldıkça aradaki fark biraz açılmaktadır ancak önceki duruma göre (ZOH) çok daha iyi bir uyum görülmektedir. Yine de eğer bu çizgiye çok çok yakın frekanslarda çalışılması gerekiyorsa örnekleme frekansını arttırarak tekrar ayrıklaştırmak iyi olabilir. Dürtü cevabı eşleme (Impulse Invariant Mapping) Ayrık sistemi hesapla: Gdi = c2d(g,ts,'impulse') a = x1 x2 x1 0.6676-0.01006 x2 0.2516 0.3656 b = u1 x1 1.335 x2 0.5032 c = x1 x2 y1 0 1 d = u1 y1 0 Sampling time (seconds): 0.1 Discrete-time state-space model. Birim basamak, dürtü ve Bode cevabını çizdir: step(g,gdi); impulse(g,gdi); bode(g,gdi);

Dürtü eşleme yaklaşımındaki temel amaç, ayrık zamanın dürtü cevabı ile sürekli zamanın dürtü cevabını birbirine uydurmaktır. Genellikle ayrıklaştırma sonucında bu ikisinin birbine uzak olduğunu söylemiştik çünkü sürekli zaman dürtüsü sonsuz genlikte bir sinyal olup, ayrı zaman dürtüsü ise genliği bir olan bir sinyaldir. Ama bazı uygulamalarda ve filtre tasarımlarında dürtü cevaplarının uyuşması arzu edilebilmektedir; bu gibi durumlarda dürtü cevabı eşleme yöntemi tercih edilebilir. Ancak bu yaklaşım kullanıldığında, şekillerden de görülebileceği üzere, sürekli ve ayrık zamanın birim basamak ve Bode cevaplarında büyük uyumsuzluklar meydana gelebilmesini de göze almak gerekir. Çift doğrusal (Tustin) yaklaşıklaması (Bilinear/Tustin Approximation) Ayrık sistemi hesapla: Gdt = c2d(g,ts,'tustin') a = x1 x2 x1 0.6644-0.0111 x2 0.2774 0.3315 b = u1 x1 1.664 x2 0.2774 c = x1 x2 y1 0.01387 0.06657

d = u1 y1 0.01387 Sampling time (seconds): 0.1 Discrete-time state-space model. Birim basamak, dürtü ve Bode cevabını çizdir: step(g,gdt); impulse(g,gdt); bode(g,gdt);

Görülebileceği üzere ayrık zamanlı sistemin birim basamak cevabı sürekli zaman sistemininkine oldukça yakındır. Dürtü tepkileri uyuşmamaktadır ancak bu beklenen bir durumdur çünkü sürekli zaman dürtüsü sonsuz genlikte bir sinyal olup, ayrı zaman dürtüsü ise genliği bir olan bir sinyaldir. Bu nedenle ayrık zaman dürtüsünde sistem daha az uyarılmakta ve daha düşük bir cevap vermektedir. Ayrık zamanlı sistemin Bode frekans cevabı da sürekli zaman sistemine yakındır ancak maksimum

frekansa (dikey siyah çizgi) yaklaşıldıkça aradaki fark artmaktadır. Eğer bu çizgiye çok yakın frekanslarda çalışılması gerekiyorsa örnekleme frekansını arttırarak tekrar ayrıklaştırmak iyi olabilir. Kutup-sıfır eşleme (Pole-zero matching) Ayrık sistemi hesapla: Gdm = c2d(g,ts,'matched') a = x1 x2 x1 0.3742 1.172 x2 0 0.6589 b = u1 x1 0 x2 0.25 c = x1 x2 y1 0.1221 0.1041 d = u1 y1 0 Sampling time (seconds): 0.1 Discrete-time state-space model. Birim basamak, dürtü ve Bode cevabını çizdir: step(g,gdm); impulse(g,gdm); bode(g,gdm);

Görülebileceği üzere ayrık zamanlı sistemin birim basamak cevabı sürekli zaman sistemininkine oldukça yakındır. Dürtü tepkileri uyuşmamaktadır ancak bu beklenen bir durumdur çünkü sürekli zaman dürtüsü sonsuz genlikte bir sinyal olup, ayrı zaman dürtüsü ise genliği bir olan bir sinyaldir. Bu nedenle ayrık zaman dürtüsünde sistem daha az uyarılmakta ve daha düşük bir cevap vermektedir. Ayrık zamanlı sistemin Bode frekans cevabı da sürekli zaman sistemine yakındır ancak maksimum frekansa (dikey siyah çizgi) yaklaşıldıkça aradaki fark artmaktadır. Eğer bu çizgiye çok yakın frekanslarda çalışılması gerekiyorsa örnekleme frekansını arttırarak tekrar ayrıklaştırmak iyi olabilir. Bütün yöntemleri bir arada kıyaslama Tüm yöntemlerin birim basamak, dürtü ve Bode cevaplarını üst üste çizdirip karşılaştıralım. fs = 100; % Örnekleme frekansı Ts = 1/fs; % Örnekleme periyodu % Farklı ayrıklaştırma yöntemleri ile doğrusallaştır Gdz = c2d(g,ts,'zoh'); % Sıfırıncı dereceden tutma (Zero-order hold - ZOH) Gdf = c2d(g,ts,'foh'); % Birinci dereceden tutma (First-order hold - FOH) Gdi = c2d(g,ts,'impulse'); % Dürtü cevabı eşleme (Impulse Invariant Mapping) Gdt = c2d(g,ts,'tustin'); % Çift doğrusal (Tustin) yaklaşıklaması % (Bilinear/Tustin Approximation) Gdm = c2d(g,ts,'matched'); % Kutup-sıfır eşleme (Pole-zero matching) % Sonuçları üst üste çizdir step(g,gdz,gdf,gdi,gdt,gdm); % Birim basamak tepkisi legend('g(s)','zoh','foh','impulse','tustin','matched'); impulse(g,gdz,gdf,gdi,gdt,gdm); % Dürtü tepkisi legend('g(s)','zoh','foh','impulse','tustin','matched');

bode(g,gdz,gdf,gdi,gdt,gdm); % Bode ferkans cevabı legend('g(s)','zoh','foh','impulse','tustin','matched');

Şekiller incelendiğinde görülebilir ki, dürtü cevabı eşleme ('impulse' s seçeneği) dışındaki ayrık zamanlı sistemlerin birim basamak cevabı sürekli zaman sistemininkine oldukça yakındır ancak dürtü tepkileri uyuşmamaktadır. Dürtü cevabı eşleme ('impulse' seçeneği) kullanıldığında ise birim basamak cevapları uymamakta fakat dürtü cevapları uymaktadır. Bode eğrilerine bakıldığında Nyquist frekansına (dikey siyah çizgi) çok fazla yaklaşılmadığı sürece dürtü cevabı eşleme ('impulse') haricindeki tüm yöntemler kabul edilebilir sonuçlar vermektedir. Makismum frekansa yaklaşıldıkça ise tepkiler değişik ölçülerde bozulmaktadır. Eldeki problem için en az bozulmayı veren yaklaşım birinci dereceden tutma ('foh') olarak gözükmektedir; eğer maksimum frekansa çok yakın çalışılması gereken bir uygulama ile uğraşılıyorsa bu teknik tercih edilebilir. Published with MATLAB 7.13