การดำเนินการทางคณิตศาสตร์เป็นพื้นฐานในการประมวลผลสัญญาณดิจิทัล (DSP) ซึ่งมีอิทธิพลต่อประสิทธิภาพของระบบ การใช้ทรัพยากร และฟังก์ชันการทำงานโดยรวม ในฐานะซัพพลายเออร์ DSP ชั้นนำ เราเข้าใจถึงความสำคัญของการดำเนินการทางคณิตศาสตร์ DSP แบบจุดคงที่ ซึ่งใช้กันอย่างแพร่หลายเนื่องจากความคุ้มค่า การใช้พลังงานต่ำ และความง่ายในการใช้งานในฮาร์ดแวร์ ในบล็อกนี้ เราจะสำรวจวิธีการดำเนินการทางคณิตศาสตร์ใน DSP แบบจุดคงที่
ทำความเข้าใจเกี่ยวกับการกำหนดจุดตายตัว
ก่อนที่จะเจาะลึกการดำเนินการทางคณิตศาสตร์ จำเป็นอย่างยิ่งที่จะต้องทำความเข้าใจการแทนจุดคงที่ ต่างจากตัวเลขจุดลอยตัวซึ่งสามารถแสดงขนาดได้หลากหลายด้วยเลขชี้กำลังที่แปรผันและแมนทิสซา ตัวเลขจุดคงที่จะมีจำนวนบิตคงที่สำหรับจำนวนเต็มและเศษส่วน
โดยทั่วไปหมายเลขจุดคงที่จะแสดงเป็น (Qm.n) โดยที่ (m) คือจำนวนบิตจำนวนเต็ม และ (n) คือจำนวนบิตเศษส่วน ตัวอย่างเช่น ตัวเลข (Q7.8) ใช้ 7 บิตสำหรับส่วนจำนวนเต็ม และ 8 บิตสำหรับส่วนที่เป็นเศษส่วน ทำให้มีค่าจำนวนเต็มสูงสุดที่ (2^7 - 1=127) และความละเอียดเศษส่วนที่ (2^{- 8})
การคำนวณมูลค่าโลกแห่งความเป็นจริงของจำนวนจุดคงที่ (x) ที่แสดงในรูปแบบ (Qmn.) นั้นตรงไปตรงมา ถ้า (x) เป็นตัวเลขที่ลงนามแล้ว เราสามารถใช้สูตรต่อไปนี้:
[x=\text{เครื่องหมายบิต}\times(- 1)\times2^{m}+ \sum_{i = 0}^{m - 1}x_{i}\times2^{i}+\sum_{j = 0}^{n - 1}x_{-(j + 1)}\times2^{-(j + 1)}]
โดยที่ (x_{i}) และ (x_{-(j + 1)}) คือแต่ละบิตของจำนวนเต็มและเศษส่วนตามลำดับ
การบวกและการลบ
การบวกและการลบเป็นการดำเนินการทางคณิตศาสตร์ขั้นพื้นฐานที่สุดใน DSP แบบจุดคงที่ เมื่อเพิ่มหรือลบตัวเลขจุดคงที่สองตัวที่มีรูปแบบเดียวกัน (เช่น (Qm.n)) เราก็สามารถดำเนินการกับการแทนค่าไบนารี่ที่ระดับบิตได้ คล้ายกับการบวกและการลบไบนารีปกติ
อย่างไรก็ตามเราต้องระมัดระวังเรื่องน้ำล้น โอเวอร์โฟลว์เกิดขึ้นเมื่อผลลัพธ์ของการดำเนินการเกินค่าที่สามารถแสดงได้สูงสุดในรูปแบบจุดคงที่ที่กำหนด ตัวอย่างเช่น ในรูปแบบ 8 บิตที่ลงนาม (Q3.4) ค่าสูงสุดคือ (3.9375_{10}(011.1111_2)) หากเราบวกตัวเลขสองตัวและผลลัพธ์เกินค่านี้ จะเกิดโอเวอร์โฟลว์
ในการจัดการกับโอเวอร์โฟลว์ เราสามารถใช้เทคนิคต่างๆ เช่น การคำนวณความอิ่มตัว ในการคำนวณความอิ่มตัว เมื่อเกิดการโอเวอร์โฟลว์ ผลลัพธ์จะถูกตั้งค่าเป็นค่าสูงสุดหรือค่าต่ำสุดที่แทนค่าได้ในรูปแบบ ตัวอย่างเช่น หากเราบวกตัวเลข (Q3.4) สองตัวและผลลัพธ์ควรเป็น (4.0) ก็จะอิ่มตัวไปที่ (3.9375)
การคูณ
การคูณใน DSP แบบจุดคงที่นั้นซับซ้อนกว่าการบวกและการลบ เมื่อคูณตัวเลขจุดคงที่สองตัว (A) ในรูปแบบ (Qm_1.n_1) และ (B) ในรูปแบบ (Qm_2.n_2) ผลลัพธ์ (P = A\times B) จะอยู่ในรูปแบบ (Q(m_1 + m_2).(n_1 + n_2))
ตัวอย่างเช่น ถ้าเราคูณตัวเลข (Q1.3) ด้วยตัวเลข (Q2.2) ผลลัพธ์จะอยู่ในรูปแบบ (Q(1 + 2).(3+2)=Q3.5) ซึ่งมักจะนำไปสู่จำนวนบิตที่เพิ่มขึ้น ซึ่งอาจต้องใช้ทรัพยากรฮาร์ดแวร์มากขึ้น
หากต้องการปรับผลลัพธ์ให้อยู่ในรูปแบบที่ต้องการ เราจำเป็นต้องดำเนินการปรับขนาด ปัจจัยการปรับขนาดขึ้นอยู่กับรูปแบบจุดคงที่ดั้งเดิมและเป้าหมาย วิธีการทั่วไปคือเลื่อนผลลัพธ์ไปทางขวาเพื่อลดจำนวนบิตที่เป็นเศษส่วน อย่างไรก็ตาม สิ่งนี้อาจทำให้สูญเสียความแม่นยำ
แผนก
การหารเป็นการดำเนินการทางคณิตศาสตร์ที่มีราคาแพงที่สุดในการคำนวณใน DSP แบบจุดคงที่ วิธีหนึ่งในการดำเนินการหารคือการใช้อัลกอริธึมการวนซ้ำ เช่น วิธีนิวตัน - ราฟสัน
วิธีนิวตัน - ราฟสันใช้ค้นหาส่วนกลับของตัวเลขก่อน เมื่อพิจารณาจากตัวเลข (x) เราต้องการค้นหา (y=\frac{1}{x}) สูตรวนซ้ำสำหรับวิธีนิวตัน - ราฟสันคือ:
[y_{k + 1}=y_{k}(2 - x\คูณ y_{k})]
โดยที่ (y_0) เป็นการเดาเริ่มต้น หลังจากหาส่วนกลับแล้ว เราก็คูณด้วยตัวเศษเพื่อให้ได้ผลลัพธ์ของการหาร


อีกวิธีหนึ่งคือการใช้ตารางการค้นหา เราสามารถคำนวณผลลัพธ์ของการหารล่วงหน้าสำหรับชุดค่าอินพุตและจัดเก็บไว้ในตารางได้ เมื่อจำเป็นต้องมีการดำเนินการหาร เราสามารถค้นหาผลลัพธ์ในตารางตามค่าอินพุตได้ อย่างไรก็ตาม วิธีการนี้ต้องใช้หน่วยความจำจำนวนมากเพื่อการแบ่งส่วนที่มีความแม่นยำสูง
ข้อควรพิจารณาในทางปฏิบัติ
เมื่อดำเนินการทางคณิตศาสตร์ใน DSP แบบจุดคงที่ เราจำเป็นต้องพิจารณาแง่มุมเชิงปฏิบัติหลายประการ
ประการแรก ความแม่นยำเป็นปัจจัยสำคัญ การเลือกรูปแบบจุดคงที่ส่งผลโดยตรงต่อความแม่นยำของผลลัพธ์ บิตเศษส่วนจำนวนมากจะให้ความแม่นยำที่สูงกว่า แต่ก็อาจเพิ่มความซับซ้อนของฮาร์ดแวร์ด้วย
ประการที่สอง ทรัพยากรฮาร์ดแวร์มีจำกัด การดำเนินการคูณและการหารมักต้องใช้ทรัพยากรฮาร์ดแวร์มากกว่าการบวกและการลบ เราจำเป็นต้องปรับอัลกอริทึมและรูปแบบข้อมูลให้เหมาะสมเพื่อลดการใช้ทรัพยากร
ประการที่สาม ประสิทธิภาพเป็นสิ่งสำคัญในแอปพลิเคชันแบบเรียลไทม์ เราจำเป็นต้องตรวจสอบให้แน่ใจว่าการดำเนินการทางคณิตศาสตร์สามารถเสร็จสิ้นได้ภายในกรอบเวลาที่กำหนด ซึ่งอาจเกี่ยวข้องกับการใช้เทคนิคการวางท่อหรือการประมวลผลแบบขนานเพื่อเร่งการดำเนินการ
แอปพลิเคชันและกรณีการใช้งาน
การดำเนินการทางคณิตศาสตร์แบบจุดคงที่ถูกนำมาใช้กันอย่างแพร่หลายในแอปพลิเคชัน DSP ต่างๆ ตัวอย่างเช่น ในการประมวลผลเสียง DSP แบบจุดคงที่จะใช้สำหรับงานต่างๆ เช่น การกรอง การปรับสมดุล และการบีบอัด ในการประยุกต์ใช้งานเหล่านี้ ความคุ้มทุนและการใช้พลังงานต่ำของ DSP แบบจุดคงที่ทำให้ DSP เป็นตัวเลือกที่เหมาะสมที่สุด
ในโทรคมนาคม DSP แบบจุดคงที่ใช้สำหรับการปรับสัญญาณ ดีมอดูเลชั่น และการแก้ไขข้อผิดพลาด ความสามารถในการดำเนินการทางคณิตศาสตร์อย่างรวดเร็วในรูปแบบจุดคงที่เป็นสิ่งจำเป็นสำหรับการตอบสนองความต้องการความเร็วสูงของระบบการสื่อสารสมัยใหม่
ลิงค์ที่เกี่ยวข้อง
- โมโนโซเดียมฟอสเฟต MSP เกรดอาหาร CAS: 7558-80-7 วัตถุเจือปนอาหาร
- Tetrasodium Pyroฟอสเฟต E452(i) สำหรับการแปรรูปอาหารทะเล TSPP Na2H2P2O7
- โซเดียมไตรโพลีฟอสเฟต 95% STPP E451 เกรดอาหารเป็นตัวแทนกักเก็บน้ำ
บทสรุป
การดำเนินการทางคณิตศาสตร์ใน DSP แบบจุดคงที่จำเป็นต้องมีความเข้าใจที่ดีเกี่ยวกับการแทนค่าจุดคงที่ ตลอดจนเทคนิคในการจัดการกับการบวก การลบ การคูณ และการหาร ในฐานะซัพพลายเออร์ DSP เรามุ่งมั่นที่จะนำเสนอโซลูชัน DSP แบบจุดคงที่ประสิทธิภาพสูงที่ตอบสนองความต้องการที่หลากหลายของลูกค้าของเรา
หากคุณสนใจในผลิตภัณฑ์ DSP จุดคงที่ของเรา หรือมีคำถามใดๆ เกี่ยวกับการดำเนินการทางคณิตศาสตร์ใน DSP โปรดติดต่อเราเพื่อขอหารือเกี่ยวกับการจัดซื้อจัดจ้าง เราหวังว่าจะได้ร่วมงานกับคุณเพื่อบรรลุเป้าหมายการประมวลผลสัญญาณดิจิทัลของคุณ
อ้างอิง
- "การประมวลผลสัญญาณดิจิทัล: หลักการ อัลกอริธึม และการประยุกต์" โดย John G. Proakis และ Dimitris G. Manolakis
- "คงที่ - การประมวลผลสัญญาณดิจิตอลแบบจุด: บทนำ" โดย Richard G. Lyons
