วันศุกร์ที่ 27 พฤศจิกายน พ.ศ. 2558

week 11 Lab 4

การทำงานและแนวคิดของโค้ด

       - .ในโปรแกรมจะใช้การวนลูปไปเรื่อย ๆ และเนื่องจากค่าที่ส่งไปได้มากสุดอยู่ที่ 4095 และค่า sine จะวนครบรอบที่รอบละ 2*pi เรเดียน ในการวนลูปแต่ละรอบจึงส่งค่า sine ไป 4095 ครั้ง โดยแต่ละครั้งจะเพิ่มค่ามุมขึ้น pi/2047 เรเดียนแล้วจึงคูณค่าที่ได้ด้วย 2047 เพื่อขยายสัญญาณ และเมื่อส่งครบแต่ละรอบจะตั้งค่ามุมกลับไปเป็น 0 แล้วจึงเริ่มส่งค่ารอบใหม่

     การรับ-ส่งค่ามนที่นี้ จะคล้าย ๆ กับการพล็อตกราฟ โดยเมื่อเราต้องการรูปของกราฟ sine เราจึงวนลูปค่าของ i (เปรียบเสมือนแกน x) ให้วนตั้งแต่ 0 ไปจนถึง 4094 ซึ่งเป็นค่าสูงสุดที่เราจะส่งค่าไปได้ แล้วจึงนำค่า i ไปแปลงให้อยู่ในรูปของกราฟ sine (ซึ่งเปรียบเสมือนแกน y) โดยใช้สมการคือ (sin(i*(2*pi)/4094)*(4094/2))
     ป.ล. ที่ต้องคูณด้วย 2pi/4094 เนื่องจากกราฟ sine จะมีการวนครบ 1 รอบเมื่อองศาเปลี่ยนไปตั้งแต่ 0-2pi และที่ต้องหารด้วย 4094 เนื่องจาก i มีค่าอยู่ในช่วง 0-4095 จึงต้องการแบ่งสัญญาณของกราฟ sine ออกเป็นช่วงเล็ก ๆ
     ป.ล.2 ที่ต้องนำสมการ sine ไปคูณกับ (4094/2) เนื่องจากต้องการขยายกราฟ sine ให้มีสัญญาณใหญ่ขึ้น จะได้ง่ายต่อการมองเห็น

***********************************


VDO แสดงการทำงานของโปรแกรม




************************************

ไม่มีความคิดเห็น:

แสดงความคิดเห็น