Discrete Filter Simulink
การออกแบบ filter แบบดิจิตอลใน simulink เลือกความถี่ fc 15 Hz ทดสอบโดยการผสมความถี่ ทำการจำลองสัญญาณความถี่หลักกับสัญญาณรบกวน เก็บค่าในตัวแปร x รูปแบบ array เก็บค่า 1 วินาที สุ่มทุกๆ 1ms หลังจากนั้นมาหา สัญญาณรบกวน โปรแกรมนี้ใช้หาค่าสัญญาณรบกวนของ system plant ในระบบจากการเก็บค่าจาก adc มาได้ m file m=length(x); n=pow2(nextpow2(m)); y=fft(x,n); power=y.*conj(y)/n; fs=1000; f=(0:n-1)*(fs/n); plot(f,power) ทำการคำนวนและหา transfer function tau = 1/2*pi*fc fc = 15Hz tau = 1/2*pi*15 = 0.0106 >> sys = tf([1],[0.0106 1]); >> sys Transfer function: 1 ------------ 0.0106 s + 1 ทำการแปลง c2d sampling 200Hz >> c2d(sys,0.005) Transfer function: 0.3761 ---------- z - 0.6239 นำไปใช้งานกับ matlab simulink dsPIC โดยใช้กับ discrete transfer function ที่สำคัญของ simulink กับการรับส่งค่าระหว่างบล๊อกของ microcontroller ก็คือการ convert data type