เสียงรอบทิศทาง

เสียงคอมพิวเตอร์

The Science of Sound and Digital Audio

วิทยาศาสตร์ของเสียงและเสียงดิจิตอล

Digital Audio ระบบเสียงดิจิตอล

เสียงดิจิตอล.doc เสียงดิจิตอล.doc
Size : 1275 Kb
Type : doc

 ระบบเสียงอนาล๊อก โดย คุณ ประวิทย์  อุตมา

หลักสูตรความผิดพลาดในการเชื่อมระบบเสียงดิจิตอล

 lm3886tf x2 PCB Layout

lm3886tf x2 PCB Layout.doc lm3886tf x2 PCB Layout.doc
Size : 108 Kb
Type : doc


จับผี...อะไรคือความแตกต่างด้านเสียง.. ส่วนของระบบดิจิตอล

จับผี...อะไรคือความแตกต่างด้านเสียง.. ส่วนของระบบดิจิตอล
เกี่ยวกับผู้เขียนบทความ
ข้าพเจ้าผู้เขียนบทความมีรู้แค่ชั้นมัธยมศึกษาตอนต้น
ความรู้ในด้านอิเล็คทรอนิคและเทคโนโลยีมีน้อยมาก
มีความรู้ทางพระพุทธศาสนาในระดับกลาง
เป็นที่แน่นอนในส่วน ศาสนา ลัทธิ ความเชื่อ ข้าพเจ้าจะเข้าใจได้ดีในระดับหนึ่ง

จึงใช้หลักการทางพระพุทธศาสนเข้ามาประกอบ
ผลํ อตฺถิ เหตุ โหติ แปลว่า ผลมีอยู่ เหตุย่อมมี

ดั้งนั้นก่อนที่จะหาเหตุผลอะไรมาถกในเรื่องที่มีความเห็นไม่ตรงกันจึงต้อง ทดสอบก่อนว่ามันมีผลอยู่จริง แล้วให้คนหมู่มากช่วยทดสอบว่า ผลมีอยู่จริง ไม่ใช้แค่ความคิดของคนๆเดียว(อุปทาน ความยึดมั่นถือมั่น) แล้วมาพิจารณา ถึงเหตุที่น่าจะเป็น ได้เหตุมาแล้วทดลองซ้ำอีกครั้ง ว่ามันจริงอย่างที่คิดหรือป่าว

เกริ่นนำ

เสียง คืออะไร
เสียง คือ คลื่นแห่งการสั่นสะเทือนของวัตถุบางอย่าง ทำให้ประสาทรับเสียงสั่น และรับทราบอาการสั่นตามลักษณะของเสียงนั้นๆด้วย

ส่วนประกอบหลักๆด้านเสียงในระบบดิจิจตอล

-ข้อมูล ไฟล์ต่างๆ(DATA )ที่บรรจุลงอุปกรณ์บันทึกข้อมูลแบบแม่เหล็ก เช่น ฟลอปปีดิสก์ (Floppy dishs/Diskettes) ฮาร์ดดิสก์ (Hard disks) เทปแม่เหล็ก (Magnetic tape) ซิปไดรฟ์ (Zip drive) และ(2) อุปกรณ์บันทึกข้อมูลชนิดแสง เช่น ซีดีรอม ดีวีดีรอม ซีดีอาร์ ซีดีอาร์ดับบลิว ดีวีดีอาร์ลบ ดีวีดีอาร์บวก ดีวีดีอาร์ดับบลิว และล่าสุด บลูเรย์ดิสก์ และ(3) อุปกรณ์บันทึกข้อมูลแบบดิจิตอล เช่น SD-card, MMC-card, CF-card, MS-card, Micro SD, trumbdrive (หรือที่เรียกกันชื่ออื่นอีกว่า flash drive travel drive) ฯลฯ
-อุปกรณ์อ่านข้อมูล เช่น CD-Rom DVD-Rom BD-rom PC NB ฯลฯ
-อุปกรณ์โอนถ่ายข้อมูล เช่น ลายทองแดงในวงจร สายไฟส่วนรับสัญญาณ
ในเครื่องเล่นต่างๆ สายสัญญาณ
-อุปกรณ์แปลงสัญญาณเสียง(Digital-to-Analog Converter) ได้แก่ DAC AVR Sound card ฯลฯ
-อุปกรณ์ขยายสัญญาณเสียง (Analog)
-ลำโพงพร้อมทั้งสายสัญญาณ(Analog)
- ไฟฟ้า พร้อมทั้งสายไฟ


คนส่วนใหญ่คิดว่าในส่วน ของดิจิตอล ไม่มีผลต่อเสียง(ตั้งแต่อุปกรณ์อ่านข้อมูลจนถึงอุปกรณ์โอนถ่ายข้อมูล) สิ่งที่ทำให้เสียงแตกต่าง เริ่มตั้งแต่อุปกรณ์แปลงสัญญาณเสียงจนถึงลำโพง ส่วนเรื่องไฟฟ้าไม่มีผลอะไรแค่เครื่องติดทำงานได้ หรือที่เสียงเปลี่ยนแปลงไปเพราะถูกซอฟแวร์หรือฮาร์ดแวร์ไปแก้ไขในส่วนของ ข้อมูล(DATA 01)


ดังนั้นจึงต้องทำความเข้าใจในศัพท์ และความหมายในการใช้งานจริงก่อน

ศัพท์ที่เราได้ยินกันบ่อยๆก็มี

pass through = เดินทางผ่าน ทำให้เคลื่อนผ่าน

decode ถอดรหัส

decoder เครื่องถอดรหัส

Eencodeเข้ารหัสหมายถึง การแปลงข้อมูลเป็นรหัส เช่น ตัวเลข 2 จะเข้ารหัสบีซีดี(BCD) เป็นเลขฐานสอง 0010 เป็นต้น

Encode เปลี่ยน (ข้อมูล) ให้เป็นรหัส

Bit perfect คือการส่งข้อมูล digital จากตัวส่ง ไปถึงตัวรับ ไม่ว่าจะใช้ตัวกลางในการส่งเป็นอะไร ข้อมูลจากตัวส่งที่ส่งไป กับ ข้อมูลที่ตัวรับ รับได้ ข้อมูลต้องเหมือนกัน 100% แบบ Bit ต่อ Bit ไม่ผิดเพี้ยน

Bit perfect ในอุดมคติคือ เสียงที่ output ออกมา ไม่ถูกเปลี่ยนแปลงค่า sample rate ข้อมูล(DATA 01) เหมือนต้นฉบับทุกอย่าง

ความหมายในการใช้งาน


decode ถอดรหัสสัญญาณดิจิตอลเป็นสัญญาณอนาล็อค

decoder เครื่องถอดรหัส จริงแล้ว DAC AVR เราสมควรเรียกเหมารวมว่า decoder

ในส่วน 2 ส่วนนี้ไม่เกี่ยวกับขั้นตอนการโอนถ่ายข้อมูลดิจิตอล เป็นขั้นตอนแปลงสัญญาณ จึงตัดออกไป


pass through (ตรงนี้ไม่ขออธิบายในเชิงลึก) คือการส่งผ่านข้อมูลออกไป คือต้นทางมายังไง ปลายทางก็รับอย่างนั้น พูดง่ายก็คือไม่ได้ลด หรือเพิ่มอะไรเข้าไปในส่วนของข้อมูล(DATA 01)

Eencode คำนี้ใช้ในความหมายที่ค่อนข้างกว้างจึงขอข้ามไปอธิบายเรื่อง Bit perfect ก่อน

Bit perfect ในอุดมคติคือ เสียงที่ output ออกมา ไม่ถูกเปลี่ยนแปลงค่า sample rate เหมือนต้นฉบับทุกอย่าง ดังนั้น
ก็คือไม่ได้ลด หรือเพิ่มอะไรเข้าไปในส่วนของข้อมูล(DATA 01)
และก็เพราะว่า Bit perfect มันไม่มีจริง จึงได้สร้างซอฟแวร์เพื่อมาควบคุมฮาร์ดให้ Eencode พูดง่ายๆก็คือ เข้าไปจัดระเบียบข้อมูล(DATA 01) ให้ตรงกับสัญญาณนาฬิกา(เวลา) ตรงกันเพื่อความสมบูรณ์ในแต่ละบิท

ทำไมถึงมีคำว่า Bit perfect (ซึ่งไม่มีจริง)
เป็นคำที่สร้างขึ้นเพื่อบ่งบอกการจัดการปัญหาของระบบนั่นคือ jitter

พระเอกเราเริ่มเดินทางมาแล้ว แต่ขอข้ามไปก่อน

ตรงนี้ผมจึงให้ความหมายของคำว่า
Eencode ในระบบดิจิตอลว่า
ตัวจัดระเบียบข้อมูล มีหน้าที่ทำให้ข้อมูล(DATA 01) ตรงกันกับสัญญาณนาฬิกา


ดังนั้น ในส่วนที่กล่าวมาคือ pass through Eencode Bit perfect
ไม่ได้เข้าไปลดหรือเพิ่มอะไรในส่วนของข้อมูล(DATA 01) เลย
ตรงนี้เพราะความเข้าใจคลาดเคลื่อนเลยทำให้ผู้ใช้งานเกิดความเข้าใจผิด
และทำให้การใช้งานของอุปกรณ์นั้นๆด้อยลง ทำให้ใช้งานไม่เต็มประสิทธิภาพ


คำถามต่อมา ส่วนไหนบ้างที่เข้าไปลดหรือเพิ่มในส่วนของข้อมูล(DATA 01) ตรงนี้ไม่ขออธิบายมาก ที่เข้าไปลดหรือเพิ่มในส่วนของข้อมูล(DATA 01) ได้แก่ effects ต่างๆเช่น Crystalizer equalizer
virtual surround sound EAX Effects ฯลฯ


เมื่อเจอตัวการที่ทำให้เสียงเปลี่ยนไป คือ jitter
มาทำความรู้จักกับมันก่อน
Jitter คืออะไร
แปลตรงตัว
jitter
VI. กระวนกระวาย
relate:[ว้าวุ่นใจ, ไม่สบายใจ, งุ่นง่าน]
N. ความกระวนกระวายใจ
relate:[ความวุ่นวายใจ, ความว้าวุ่นใจ]
ความหมาย

มารู้จัก Jitter กันเถอะ
(1/1)
Art:
กลับมาส่งเสีย Column นี้อีกแล้วครับ ทิ้งช่วงไปนาน คราวนี้จะเล่าเรื่องของ Jitter ให้ฟังครับ

สัญญาณ ไฟฟ้าทุกชนิดจะประกอบด้วย 2 ตัวประกอบ คือ Amplitude หรือความแรงของสัญญาณ (ทั้ง + / -) และ Time หรือ ความถี่ นั่นเอง (Freq = 1 / Time เพราะฉะนั้น 2 ค่านี้เป็นเรื่องเดียวกัน) ในที่นี้เราจะไม่พูดถึง Amplitude จะกล่าวถึงเรื่อง Time เท่านั้นนะครับ

Jitter เป็นภาษาเทคนิคหมายถึง ค่าผิดพลาดทางเวลา ครับ (Time-base error) ใช้กับ Digital Electronics เท่านั้นนะครับ นัดแฟนแล้วไปไม่ทันจะอ้างว่า พอดีตัวผม Jitter เยอะไปหน่อยนี่ ตัวใครตัวมันเด้อ

ปริมาณของ Jitter เราจะใช้หน่วย Second ในการวัด แต่หน่วย Second เป็นหน่วยที่ใหญ่เกินไปสำหรับการบอกปริมาณ Jitter ซึ่งด้วยเทคโนโลยีปัจจุบัน อยู่ระหว่าง 1 ส่วนพันล้าน ถึง 1 ส่วนล้าน-ล้านของวินาที เราจึงใช้หน่วย nano-SEC, nS และ pico-SEC, pS แทน แต่อันที่จริงผมว่าเค้าขี้เกียจเขียน 0 หลายๆ ตัวมากกว่าเช่น 0.0000000001 = 100pS (อันนี้เล่นครับ )

ลองยกตัวอย่างให้เห็นปริมาณของ Jitter นะครับ สมมุติความถี่สัญญาณค่าหนึ่ง 100kHz นั่นหมายความว่าทุก 1 วินาที Amplitude ของสัญญาณจะเปลี่ยนแปลงครบรอบ 100000 ครั้ง หรือจะบอกว่า เปลี่ยนแปลงครบ 1 รอบ ทุกๆ 0.00001 วินาทีก็ได้ Jitter ก็คือปริมาณเวลาที่ผิดพลาดไปเช่น สัญญาณลูกที่ 1 ควรจะครบรอบตอน 0.00001 วินาทีพอดี แต่กลับครบรอบตอน 0.000011 วินาที ช้ากว่าที่ควรจะเป็นไป 0.000001 วินาที พอสัญญาณลูกที่ 2 ตามมา แทนที่จะครบรอบตอน 0.00002 วินาที กลับไปครบที่ 0.000019 วินาที เร็วกว่าที่ควรจะเป็นไป 0.000001 วินาที เหตุการณ์เหล่านี้แหล่ะครับ Jitter แต่ค่า Jitter ที่เราเห็นกันบ่อยๆ จะเป็นค่า RMS / Root Mean Square ซึ่งเป็นค่าเฉลี่ยต่อช่วง 1 วินาทีของสัญญาณ เช่น สัญญาณนี้มี Jitter 300pS (rms) ก็หมายความว่าทุกลูกคลื่นของสัญญาณนี้จะมี Error ปนอยู่ในทุกลูกคลื่น เฉลี่ยแล้วเท่ากับ 300pS หรือ 300 ส่วนล้าน-ล้านของวินาทีนั่นเอง

!! ล้าน-ล้านของวินาที!! ฟังดูเหมือนไม่เยอะ แมลงวันที่ว่าบินเร็วแล้ว ยังไปไม่ถึง 1mm เลย แต่กลับส่งผลต่อระบบ Digital Audio อย่างใหญ่หลวง โดยเฉพาะการแปลงสัญญาณ analog-digital และกลับกัน ลองดูรูปข้างล่างก่อนครับ



นี่ คือผลเสียของ Jitter ในการเปลี่ยน Digital เป็น Analog ครับ แทนที่รูปสัญญาณจะ Smooth เหมือน Sine wave ธรรมดา (เส้นแดง) กลับได้เป็นเส้นขยุกขยุยสีน้ำเงินแทน ลองดูรูปขยายข้างล่างนี้นะครับ


จะเห็นชัดขึ้นว่า แทนที่เวลาจะลงตัวเป๊ะ กลับเลื่อนไปซ้ายที-ขวาที ทำให้สัญญาณเสียรูปไป

กลับ มาเข้าใจกับความยิ่งใหญ่ของ ส่วนล้าน-ล้านของวินาที อีกทีนะครับ ระบบการแปลงสัญญาณ A-D และ D-A จะใช้การ Sampling เป็นหลัก เช่น 44100Hz หมายความว่าทุกๆ 1 วินาที มันจะทำการเปลี่ยนสัญญาณ 44100 ครั้ง การที่ระบบมี Jitter อยู่ด้วย ระบบจะแปลงสัญญาณผิดเวลาทั้ง 44100 ครั้งเลย ซึ่งก็จะได้รูปคลื่นอย่างข้างบนนั้นไงครับ ยิ่ง Oversampling หรือ Upsampling มากขึ้นเท่าไหร่ โอกาสในการผิดพลาดก็จะมากขึ้นไปด้วย (ถือโอกาส ปูทางให้กับ Non-Oversamplng Concept ครับ ไว้วันหลังจะเขียนให้อ่านนะครับ)

สาเหตุของ Jitter ในระบบ Digital Audio มีหลายส่วน ผมแยกให้ฟังดังนี้ครับ
- ระบบฐานเวลาหรือที่เรามักจะเรียก Clock กัน
ระบบ ฐานเวลาเป็นตัวสร้างความถี่หลักในการควบคุมการถอดรหัสของ DAC ถ้าฐานเวลานี้ผิดพลาดหรือมี Jitter ทั้งระบบก็จะมี Jitter ไปด้วย ยิ่งระบบซับซ้อนหรือมีขั้นตอนเยอะเพียงใด Jitter ก็จะสะสมเป็นเงาตามตัวครับ (เข้าเรื่อง Non-Oversampling อีกแล้ว) เพื่อนๆ บางคนคงรู้จัก S-clock หรือ L-clock ซึ่งก็คือภาคฐานเวลาที่มี Jitter น้อยนั่นเอง โดยมากไม่เกิน 5pS ครับ ลองเทียบกับระบบ Jitterbug ของ Sonic Frontier ซึ่งให้ Output มี Jitter ประมาณ 20-50pS (ถือโอกาส Quick Attack ครับ )
- ภาคจ่ายไฟ
สัญญาณ ในภาคจ่ายไฟเป็นต้นเหตุหนึ่งของ Jitter เช่นกัน เนื่องจากระบบฐานเวลาและระบบ Digital อื่นๆ ล้วนใช้ไฟจากภาคจ่ายไฟ ถ้าภาคจ่ายไฟมีการสัญญาณรบกวน มันก็จะไปปนเปื้อนออกไปกับ Product ของระบบเหล่านั้นด้วย และเช่นเดิมครับ ยิ่งวงจรซับซ้อนก็ยิ่งพอกพูน Jitter ในระบบ
- ระบบส่งสัญญาณ
สาย Digital และอุปกรณ์รับส่งทุกชนิดมีความเป็น R-L-C แฝงอยู่ ค่าเหล่านี้จะไปเปลี่ยนค่า \"เวลา\" ของสัญญาณที่ส่งผ่าน ซึ่งเป็นการเพิ่ม Jitter ในระบบนั่นเองครับ
- สัญญาณรบกวนจากภายนอก (Radio Freq)
RF ก็เป็นสาเหตุหนึ่งของ Jitter สัญญาณ Digital ต่างๆ ในระบบ Digital Audio จะมีช่วงความถี่ตั้งแต่ 100kHz ขึ้นไปถึง 40-50MHz คลื่นวิทยุเช่น AM สามารถที่จะเพิ่ม Jitter เข้าไปในระบบได้ ไม่เชื่อ ก็เอาชุดสุดรักไปเปิดฟังข้างสถานี AM ดูสิ
- ระบบแปลงสัญญาณ
DAC แบบ Multi-bit จะไวกับ Jitter น้อยกว่า DAC แบบ 1-bit

จบแค่นี้แหล่ะครับ ไว้นึกออกว่าขาดเหลืออะไรแล้วจะมา post ต่อนะครับ
อ้างอิงมาจาก
http://www.thaiavclub.org/Forum/inde...pic=104.0;wap2


บททดสอบว่า jitter มีอยู่จริงในระบบดิจิตอลหรือไม่
การทดสอบแบบง่ายๆ...ก็คือ การโอนถ่ายข้อ (copy)


จากภาพทั้ง2 แสดงให้ว่าเวลาในการโอนถ่ายไม่เสมอกัน ในส่วนของข้อมูลก็ยังครบถ้วนเหมือนเดิม

นี่แหละครับ เรียกว่า jitter

จากภาพ แต่ถ้าการโอนถ่าย มีความเร็วคงที่ 60(หรือเท่าไหร่ก็ได้) MB / second ตลอดเวลาการโอนถ่ายข้อมูล นั่นคือ ไมมี jitter ในระบบ

เกิดคำถามว่า

เพลง , หนัง Full rip , bluray bitrate มันน้อยกว่านั้นครับ ข้อมูลมัน ต่อวินาทีมันไม่เท่าไรเอง
ปัจจุบันในเครื่องเล่น CD DVD BD ที่ใช้หัวอ่านมีวงจรที่เค้าเรียกว่า buffer มาให้ใช้งานกันน่าจะทุกยี่ห้อแล้ว

คำตอบ

การโอนถ่ายข้อมูลไม่ว่ามากหรือน้อยสิ่งที่เราควบคุมไม่ได้และพยายามจะควบคุมสัญญาณข้อมูลกับสัญญาณนาฬิกา ให้ไปเสมอกันครับ

พูดถึง buffer ต้องเข้าใจก่อนว่าอะไรคือ buffer

Buffer คืออะไร

ในทางโปรแกรมมิ่ง buffer หมายถึง memory ที่จองไว้ สำหรับทำงานต่างๆ เช่น รับข้อมูลจากผู้ใช้ ใส่ข้อมูลเก็บชั่วคราว Buffer Overflow ก็คือ การใส่ข้อมูลใน buffer เกินที่จองไว้ เช่นเราได้กำหนดขนาด buffer ไว้ 8 bytes แต่เราใส่ข้อมูลไป 12 bytes
Buffer (บัฟเฟอร์) หรือที่เรียกว่า แคช คือ ส่วนที่คอมพิวเตอร์หรือเซิร์ฟเวอร์ใช้จัดเก็บสิ่งหนึ่งไว้ชั่วคราว

cacheคืออะไร

แคช (อังกฤษ: cache) คือส่วนของข้อมูลที่ถูกเก็บซ้ำไว้ในคอมพิวเตอร์ เพื่อใช้ในการใช้งานครั้งต่อไปโดยไม่ต้องเรียกข้อมูลจากต้นแหล่งอีกครั้ง นิยมใช้เมื่อข้อมูลต้นฉบับมักจะมีราคาแพงในการเรียกใช้ เมื่อแคชถูกสร้างขึ้น การเรียกใช้ข้อมูลในครั้งต่อไปจะถูกอ่านข้อมูลจากแคช แทนที่จะอ่านข้อมูลจากต้นฉบับหรือต้นแหล่งเพื่อประหยัดเวลาและค่าใช้จ่าย รวมถึงการเพิ่มความเร็วในการเรียกใช้งาน แคชนิยมใช้เมื่อรูปแบบการใช้ข้อมูลมีลักษณะที่ใกล้เคียงกันและมีการใช้ซ้ำ บ่อย
แคชจะเป็นหน่วยความจำของคอมพิวเตอร์ซึ่งสามารถติดต่อกับ CPU ได้ด้วยความเร็วสูง การติดต่อระหว่างแคชกับ CPU นั้นก็เพื่อโอนถ่ายข้อมูล การโอนถ่ายแต่ละครั้งก็ได้ข้อมูลตามขนาดความกว้างของสายข้อมูล เช่นสายข้อมูลมีขนาดความกว้าง 64 บิต นั่นก็หมายความว่าสามารถโอนถ่ายข้อมูลผ่านบัสสู่แคชได้ครั้งละ 64 บิต
ทำความเข้าใจง่ายๆก็คือ วงจร buffer ก็คือวงจรแรมใน PC
จากภาพการทดลองโอนถ่ายข้อมูล ขนาดข้อมูลมีขนาด3.45 GB
PC ผมมีแรมขนาด4GB(buffer ขนาดใหญ่)
แต่ไม่สามารถทำจะให้ควบคุมสัญญาณข้อมูลกับสัญญาณนาฬิกา ให้ไปเสมอกันได้ครับ

ในเมื่อเจอพระเอกแล้วคือ jitter

อยู่ดีๆมันเกิดขึ้นเองไม่ได้หรอกครับ มันต้องมีตัวการทำให้มันกิดขึ้น
ขณะที่ข้อมูลยังหยุดนิ่งเจ้า jitter ก็ยังไม่เกิดขึ้น แต่จะเกิดขึ้นในระหว่างช่วงการโอนถ่ายสัญญาณ

แล้วในช่วงโอนถ่ายข้อมูลมีอะไรเกิดขึ้นบ้าง

ข้อมูล(DATA)+สัญญาณนาฬิกา(Clock)-กระแสไฟฟ้า -ตัวนำไฟฟ้า(โลหะ)
แน่นอนพวกนี้ต้องมีอยู่แน่นอน ถ้าขาดตัวใดตัวหนึ่งอุปกรณ์จะทำงานไม่ได้ทันที

เกิดมีคำถามว่า


ว่าทำไมตัวนำไฟฟ้าต้องเป็นโลหะสัญญาณไร้สายก็มี สายออฟติคคอลก็มี

คำตอบ

ผมข้ามปัญหานั้นในทันที เพราะสัญญาณเหล่าต้องอาศัยอุปกรณ์ช่วย
ในการแปลงข้อมูล และในอุปกรณ์ต้นทางและปลายทางมีแผงวงจร
หรือที่เรียกว่า PCB ซึ่งมีโลหะเป็นตัวนำกระแสไฟฟ้า ถ้าไม่มีก็ทำงานไม่ได้


มาแยกดูทีละส่วน
ในส่วนของข้อมูล(DATA) เป็นที่ยอมรับครับ ระบบนี้เที่ยงตรง
การสูญหายหรือการผิดพลาดมีน้อยมากหรือเรียกได้ว่าแทบไม่มี

ในส่วนของสัญญาณนาฬิกา(Clock) ตรงนี้ผู้ผลิตพยายามพัฒนากันมาก
เห็นได้จาก HDMI จาก 1.0 ไป1.4 เร็วมาก แต่ก็ยังไม่สามารถขจัด jitterออกไปจากระบบ
บทความเกี่ยวกับ USB
ข้อมูลน่าสนใจเกี่ยวกับ isochronous, synchronous, adaptive & asynchronous (1)



bit-perfect ? จริงๆ แล้วเราไม่ได้ทำอะไรเลยเกี่ยวกับ bit-perfect มันเป็นเรื่องของ jitter ล้วนๆ คอมพิวเตอร์ไม่ได้ทำให้เนื้อแท้ส่วนที่เป็นบิทข้อมูลเสียหาย แต่มีส่วนทำให้ "เวลา" ในการเดินทางของบิทข้อมูลเหล่านั้นต่างหากที่ผิดพลาดไป และแน่นอน สิ่งนั้นก็คือ jitter ซึ่งส่งผลต่อคุณภาพเสียง
มาตรฐาน USB audio ทุก class ต่างก็ใช้รูปแบบการส่งผ่านข้อมูลบน bus ของ USB ด้วยโหมด isochronous ทั้งสิ้น โดยอาศัยการซิงโครไน้ซ์หนึ่งในสามรูปแบบที่เป็นไปได้ นั่นคือ :

1. synchronous
2. adaptive
3. asynchronous

ที นี้มาดูกันว่า การซิงโครไน้ซ์ทั้งสามรูปแบบข้างต้นนี้มีลักษณะการทำงานเช่นไร.? และแต่ละรูปแบบนั้นเข้าไปเกี่ยวข้องกับปัญหา jitter อย่างไรบ้าง.?

แต่ ก่อนจะไปถึงจุดนั้น มาพูดถึงรายละเอียดการทำงานด้วยรูปแบบ isochronous mode กันก่อน พร้อมขจัดความเข้าใจผิดๆ เกี่ยวกับ USB ไปด้วยในตัว จริงๆ แล้ว USB bus (bus = หมายถึงช่องทางการส่งผ่านข้อมูล สำหรับ USB แล้วคล้ายกับสายพาน) ทำงานแตกต่างไปจากการทำงานของระบบเชื่อมต่อ Ethernet อย่างมาก และนี่เองที่เป็นตัวจุดกำเนิดความเข้าใจผิดต่างๆ ที่เกิดขึ้น โดยพื้นฐานเบื้องต้นของ USB นั้น "เจ้าบ้าน" หรือ host (ในที่นี้ก็คือตัวคอมพิวเตอร์) จะอยู่ภายใต้อำนาจควบคุมของ "bus" อย่างเด็ดขาด เป็นไปไม่ได้เลยที่อุปกรณ์หลายๆ ชิ้นในซิสเต็มเดียวกันจะสื่อสารพร้อมกันจนทำให้เกิด overload บน bus ได้เหมือนกับที่สามารถเกิดขึ้นได้บน Ethernet ข้อมูลจะถูกส่งออกไปบน USB bus ในลักษณะเป็น "เฟรม" (หรือหีบบรรจุข้อมูลที่วางเรียงกันไปบนสายพาน) ต่อเนื่องกันไปทุกมิลลิเซ็กคัล พฤติกรรมนี้จะเกิดขึ้นตลอดเวลาไม่ว่าจะมีหรือไม่มีข้อมูลอยู่บน bus เลยก็ตาม อัตราของจำนวนเฟรมข้อมูลที่ถูกส่งออกไปนั้นจะถูกกำหนดโดย oscillator (ตัวควบคุมเวลา) ที่อยู่ในระบบส่งข้อมูลของคอมพิวเตอร์ (ในที่นี้คือ host) ไม่ได้ถูกกำหนดโดยสปีดของคอมพิวเตอร์ หรือกำหนดโดยซอฟท์แวร์ที่กำลังทำงานอยู่บนคอมพิวเตอร์ตัวนั้น แม้ว่าบางส่วนของโปรแกรมซอฟท์แวร์ที่กำลังทำงานซ้อนเป็นแบ็คกราวนด์อยู่บน bus นั้นก็จะไม่สามารถ "หน่วงดึง" ความเร็วของ bus ลงได้ ระดับความเร็วในการส่งผ่านข้อมูลของ bus ก็จะยังคงที่ หรืออย่างน้อยก็เทียบเท่ากับสปีดของ oscillator บนตัว host ที่ควบคุมอยู่

ที่ นี้มาพูดถึง isochronous เป็นวิธีการที่เจ้าบ้าน (host) สงวนแบนด์วิธบน bus เอาไว้ให้กับปลายทาง (ในที่นี้ "ปลายทาง" ก็คือ USB-DAC ของคุณนั่นเอง) ซึ่งเป็นงานง่ายๆ สำหรับคอมพิวเตอร์ เนื่องจากมันถูกควบคุมโดย bus อย่างเด็ดขาดอยู่แล้ว ไม่มีใครสามารถแย่งแบนด์วิธนี้ไปได้ ไม่สำคัญว่าคุณจะมีฮาร์ดดิสก์ขนาด 300Gb, มีเม้าส์, มีพริ้นเตอร์ หรือมีเครื่องสแกนเนอร์ต่อพ่วงอยู่ใน bus เดียวกันก็ตาม เมื่อใดก็ตามที่อุปกรณ์ปลายทางทำการกำหนดแบนด์วิธมาแล้ว ระบบก็จะทำงานกับอุปกรณ์ตัวนั้นไปตามค่านั้น ถ้าคุณพยายามที่จะเซ็ตอัพอุปกรณ์ปลายทาง (endpoint isochronous) เข้าไปใน bus มากเกินไปจนแบนด์วิธของ USB bus ไม่พอรับมือ ทางฝั่งเจ้าบ้าน (host = คอมพิวเตอร์) ก็จะไม่อนุญาติให้อุปกรณ์ทั้งหมดทำงาน

มี ความน่าสนใจอยู่อย่างหนึ่งเกี่ยวกับการถ่ายเทข้อมูลด้วยวิธี isochronous นั่นคือว่ามันไม่มีระบบตรวจสอบความถูกต้องของข้อมูล มันมีระบบตรวจจับความคลาดเคลื่อนเบื้องต้น แต่ไม่มีระบบการทำงานแบบใดๆ ที่จะเข้ามาแก้ไขปัญหาที่ว่านี้ ไม่มีแม้แต่การอ่านซ้ำ

ที นี้ก็มาถึงโหมดของการซิงโครไน้ซ์ข้อมูล เมื่อข้อมูลเดินทางออกมาจาก bus มันจะไปพักอยู่ในบัฟเฟอร์และรับสัญญาณนาฬิกา (clock) ซึ่งวิธีการในการสร้างสัญญาณนาฬิกากับลักษณะของปฏิสัมพันธ์ที่เกิดขึ้น ระหว่างสัญญาณนาฬิกากับ bus นั้นจะแตกต่างกันไปสำหรับโหมดการซิงโครไน้ซ์แบบต่างๆ

1. synchronous = ใน โหมดนี้ ข้อมูลจะได้รับสัญญาณนาฬิกาโดยตรงจาก bus ด้วยอัตราเฟรมเรตที่ระดับ 1kHz โดยมีวงจร PLL (Phase Lock Loop = วงจรควบคุมเวลา) เป็นตัวเริ่มต้นเฟรมพร้อมทั้งสร้างสัญญาณนาฬิกาขึ้นมา ด้วยกระบวนวิธีนี้ จึงเป็นการยากที่จะสร้างสัญญาณนาฬิกาที่มีระดับความเร็วเท่ากับ 44.1kHz (44,100 เฟรมต่อวินาที) แต่จะง่ายกว่าสำหรับการสร้างสัญญาณนาฬิกาที่ระดับ 48kHz เนื่องจากเป็นจำนวนเต็มที่ไม่มีเศษ นี่คือเหตุผลพื้นฐานที่อุปกรณ์ประเภท USB audio ยุคแรกๆ รองรับได้เฉพาะ 48kHz เพราะมันใช้การซิงโครไน้ซ์ด้วยโหมดนี้นั่นเอง ซึ่งก็คาดเดาได้ไม่ยากว่าโหมดนี้อ่อนไหวต่อปัญหา jitter มาก มีสาเหตุมากมายที่จะทำให้เอ๊าต์พุตจาก host มีจิตเตอร์ปะปน อาทิ น๊อยส์จากเพาเวอร์ซัพพลาย, การรบกวนจากคลื่นความสั่นสะเทือน ฯลฯ รวมถึงจิตเตอร์ที่มีสาเหตุมาจากระบบสาย USB ที่ใช้เชื่อมต่อด้วย (การรบกวนจากภายนอก, การก้องสะท้อนภายในตัวสาย รวมถึงสัญญาณรบกวนจากระบบกราวนด์ ฯลฯ ) ซึ่งจิตเตอร์เหล่านั้นจะผสมผสานเข้ามาในสัญญาณนาฬิกาที่ส่งออกไปให้กับ ข้อมูล นับเป็นโหมดการซิงโครไน้ซ์ที่แย่ที่สุด ไม่เหมาะสำหรับใช้เชื่อมต่อเพื่อการส่งผ่านข้อมูลเสียงที่เน้นคุณภาพ

2. adaptive = ในโหมดนี้ สัญญาณนาฬิกาจะมาจากแหล่งกำเนิดที่แยกออกไปต่างหาก ส่วนใหญ่แล้วจะประกอบอยู่ในวงจร PLL โดยอาศัย crystal oscillator คอยควบคุมความแม่นยำอีกทอดหนึ่ง ทำให้สามารถปรับตั้งความถี่ของสัญญาณนาฬิกาได้ละเอียดกว่า (แทนที่จะเป็นเฟรมละ 1kHz ตลอดเวลา) ลักษณะการทำงานก็คือ จะใช้วงจรควบคุม (ซึ่งมีทั้งแบบที่ใช้ฮาร์ดแวร์ หรือเฟิร์มแวร์ ทำงานบนโปรเซสเซอร์) คอยตรวจวัดค่าเฉลี่ยของข้อมูล (data) ที่วิ่งอยู่บน bus เพื่อนำมาปรับตั้งสัญญาณนาฬิกาให้ใกล้เคียงกับค่าเฉลี่ยที่วัดได้นั้น ด้วยเหตุที่ระบบนี้ไม่ได้ใช้สัญญาณนาฬิกามาจาก bus โดยตรง ทำให้มีความอ่อนไหวต่อปัญหาจิตเตอร์บน bus น้อยกว่าโหมด sysnchronous มาก แต่ก็ไม่ได้หมายความจะปลอดจากปัญหาจิตเตอร์บน bus ร้อยเปอร์เซ็นต์ ทุกสิ่งทุกอย่างที่เกิดขึ้นบน bus ก็ยังคงมีผลกระทบอยู่สำหรับการเชื่อมต่อด้วยโหมดนี้ เนื่องจากข้อมูลยังใช้สัญญาณนาฬิกาที่สร้างจากวงจร PLL ที่ควบคุมโดยวงจรที่ยังเชื่อมโยงกับจิตเตอร์บน bus อยู่ ในแง่คุณภาพแล้ว โหมด adaptive นี้ให้คุณภาพ (ของข้อมูล) ที่ดีกว่าโหมด synchronous มากมาย แต่ก็ยังไม่ใช่โหมดการซิงโครไน้ซ์ที่ดีสมบูรณ์แบบโดยเฉพาะการต่อเชื่อมที่ ใช้สายยาวมากๆ เป็นโหมดที่อุปกรณ์ USB audio ส่วนใหญ่ในปัจจุบันใช้กันอยู่

3. Asynchronous = โหมดนี้ใช้แหล่งกำเนิดสัญญาณนาฬิกาจากภายนอกในการจ่ายสัญญาณนาฬิกาให้กับ ข้อมูล (data) ที่ออกมาจากบัฟเฟอร์ ในขณะเดียวกัน ก็ได้มีการป้อนสัญญาณย้อนกลับไปบอกทางต้นทาง (host) ให้เร่งหรือลดความเร็วในการส่งข้อมูลมาที่บัฟเฟอร์ด้วย วงจรควบคุมจะทำหน้าที่คอยตรวจสอบปริมาณข้อมูลในบัฟเฟอร์และคอยบอกไปทางต้น ทาง (คอมพิวเตอร์) ให้เร่งสปีดในการส่งข้อมูลเมื่อปริมาณข้อมูลในถังบัฟเฟอร์เริ่มร่อยหรอลงไป และให้ลดความเร็วในการส่งข้อมูลลงเมื่อปริมาณข้อมูลในถังบัฟเฟอร์เริ่มจะล้น อย่างไรก็ตาม- ในสถานะการณ์นี้ การเชื่อมต่อระหว่างคอมพิวเตอร์กับอุปกรณ์ปลายทางก็ยังคงเป็นแบบ isochronous เจ้าบ้านคือคอมพิวเตอร์ก็ยังคงส่งข้อมูลออกไปอย่างต่อเนื่อง แต่จะไม่ใช่แบบคงที่เหมือนเคย และทุกสิ่งทุกอย่างที่เกิดขึ้นบน bus ก็จะไม่ส่งผลกระทบต่อสัญญาณนาฬิกาที่สร้างขึ้นมาโดยตรงจาก oscillator ที่มีจิตเตอร์ต่ำ วงจร PLL จึงไม่จำเป็นต้องใช้ นั่นคือเหตุผลที่ทำให้โหมดการซิงโครไน้ซ์แบบนี้มีผลกระทบต่อปัญหา jitter บน bus น้อยที่สุด

โลกแห่งความเป็นจริง: ไม่มีชิป USB audio สำเร็จรูปตัวใดเลยที่รองรับการใช้งานในโหมด asynchronous! อาจจะมีอยู่บ้างที่ในทางเทคนิคแล้วน่าจะรองรับได้ แต่ก็ต้องอาศัยการแก้ไขเฟิร์มแวร์ที่ใช้อยู่ในชิปตัวนั้นใหม่ให้สามารถรอง รับการส่งผ่านข้อมูลด้วยโหมดอะซิงโครนัซได้ ?

......................................

โพสต์ โดย: John Swenson
วัน-เวลา: November 11, 2005 at 1446
เรื่อง: USB audio spec and jitter
จาก: Computer Audio Asylum Website
ลิ้งค์: http://www.audioasylum.com/forums/pc...ages/7719.html

* หมายเหตุ : ผู้แปลพยายามรักษาความหมายในบทความนี้ไว้ให้เหมือนต้นฉบับให้มากที่สุด และตั้งใจนำมาเผยแพร่เพื่อผลทางการศึกษาเท่านั้น โปรดใช้วิจารณญาณด้วย

อ้างอิงมาจาก http://www.24-192hd.com/content.php?id=37


ในส่วนของกระแสไฟฟ้า ในส่วนของอุปกรณ์ภายนอก เครื่องเล่นCD
DVD มีหม้อแปลงที่ต่างกันไป ตรงนี้ไม่ส่งผลต่อข้อมูล(DATA) แต่จะส่งผลต่อสัญญาณนาฬิกา(Clock)

ในส่วนตัวนำไฟฟ้า(โลหะ) ซึ่งรู้กันทั่วไปว่า โลหะต่างชนิดกันและความยาวเท่ากัน มีค่าความต้านทาน และนำไฟฟ้าไม่เหมือน หรือลวดโลหะชนิดเดียวกัน มีขนาดต่างกัน และความยาวเท่ากัน จะมีความต้านทานต่างกัน

----------------------------------------------

ได้เหตุเบื้องต้น
-โลหะตัวนำไฟฟ้า
-กระแสไฟฟ้า
-ผีที่มองไม่เห็น กระแสสัญญาณต่างๆในอากาศ เช่นสัญญาณโทรศัพท์มือถือ วิทยุ โทรทัศน์ ฯลฯ

แนวทางทดสอบ

-ผีโลหะตัวนำไฟฟ้า
สายสัญญาณดิจิตอลต่างมีคนจำนวนมากลองแล้ว
เห็นผลต่างกันไป ดังนั้นสายไฟที่เป็นตัวส่งสัญญาณดิจิตอลในตัวเครื่องเล่น CD DVD BD ย่อมให้ผลด้วย ตรงนี้ผมเฉยๆเพราะได้รับคำตอบสำหรับตัวเองเป็นที่แน่นอนแล้ว
ลองดูภาพ 2ภาพนี้เป็นเรื่องราวในอดีตที่เคยดังมาก่อน
ใครยังไม่รู้ก็หาข้อมูลเอาเองครับ



-ผีกระแสไฟฟ้า
จากรูปด้านจงจรไม่มีอะไรแตกต่างเลย แตกต่างกันที่หม้อแปลง บางท่านอาจแย้งว่ามันไปส่งผลในส่วนของอนาล็อค

ขออนุญาตเอ่ยถึง รูปหม้อแปลง (psu)มาแสดง(โดยไม่ได้ขออนุญาต)




สวัสดีครับ... นานๆแวะมาที มีเรื่องมาข้อคำแนะนำครับเผื่อเพื่อนๆในนี้พอจะแนะนำได้บ้าง

คือผมอยากลองทำสาย sata ที่ต่อกับ hdd นั้นแหละครับ โดยจะลองใช้สาย audio grade แบบดีๆเลยครับ ปัญหามีอยู่ว่าผมไม่รู้ว่ามันมีหัว conector sata เพือเอามา diy เข้าสายเองหรือเปล่าครับ? หรือพอมีวิธีการไหนที่พอช่วยแนะนำเพิ่มเติมได้บ้างครับ

คือผมได้ลองสาย sata ลองมาต่อฟังเทียบ สายแถมจาก M/B, สายที่ซื้อมาเป็นเกรดเซิร์ฟเวอร์, สายยี้ห้อ Silverstone แต่ละตัวให้โทนเสียงที่แตกต่างกันออกไปครับ
ที่สำคัญสายเส้นเดียวกันลองต่อสลับกลับหัวกลับหางโทนเสียงที่ได้ก็ต่างกัน อีก.... เอาเป็นว่าผมอุปทานเดี่ยวของผมอยู่คนเดียวก็กันนะครับ... 5555 แต่ก็สนุก+มันส์ดีครับ

ความรู้สึกของผมการเปลี่ยนสาย sata ในแต่ละเส้นเกิดการเปลี่ยนแปลงของโทนเสียง พอๆกับที่ผมเคยเปลี่ยนสาย analog xlr จาก dac ไป IntAmp ที่เปลี่ยนจาก nordost baldur ไปเป็น cardas golden reference
ท่าทางผมจะอุปทานหนักพอสมควรเลยละครับ? 555

ชุดของผมเป็นเครื่องเสียงบ้าน 2ch น่าจะระดับกลางออกล่าง เซ็ตคอมไว้ฟังเพลงอย่างเดียวตามแนว cmp เกือบหมดทุกอย่าง

ยังไงช่วยแนะนำแนวทางหรือความคิดเห็นการ diy สาย sata ให้ด้วยนะครับ

ขอบคุณครับ...
ซึ่งผมว่าไม่น่าจะอุปทาน
แนวทางการทดลอง ท่านที่ใช้ psu 1000W 80+ ขึ้นไป
ลองถอดอุปกรณ์ชนิดอื่น ให้เหลือแต่ออนบอร์ดหรือซาวน์การ์ด
ต่อสายโคแอค(ยิ่งห่วยเท่าไหร่ยิ่งดี) เข้า DAC ฟังเสียง แล้ว
เปลี่ยนเป็น psu ธรรมดาเทียบเสียงครับ...ว่ามีความแตกต่างหรือไม่

-ผีที่มองไม่เห็น กระแสสัญญาณต่างๆในอากาศ เช่นสัญญาณโทรศัพท์มือถือ วิทยุ โทรทัศน์ ฯลฯ
จากภาพตัวเครื่อง DVD 2ภาพด้านบนสิ่งที่เห็น กล่องเล็ก กับกล่องที่เป็นลูมิเนียมขนาดใหญ่...มันน่าจะมีผลบ้างน่า
แนวทางทดสอบ
ลองเอา CDT ต่อสายโคแอค(ยิ่งห่วยเท่าไหร่ยิ่งดี)เข้า DAC อื่นๆตามปกติ ลองฟังเสียง
ลองเอาอลูมิเนียมฟอยล์สำหรับห่ออาหาร มาหุ้มCDT แล้วลองฟังเทียบเสียงครับ...ว่ามีความแตกต่างหรือไม่

ตรงนี้น่าจะเคยเห็นกันมาบ้างแล้ว...เวลาโทรศัพท์เข้ามันส่งผลอะไรกับPC

ขอรบกวนท่านที่มีความพร้อมช่วยทดสอบด้วยครับ


จริงๆแล้วข้อมูลความแตกต่างด้านเสียงในระบบดิจิตอลมีมานานมากแล้ว แต่คนส่วนใหญ่ไปติดอยู่แค่ที่ตัวข้อมูลที่ไม่มีความแตกต่างซึ่งมันนำมาใช้ งานไม่ได้ถ้าไม่มีการโอนถ่ายข้อมูล
นี่ครับลิ้งค์
หลักสูตรความผิดพลาดในการเชื่อมระบบเสียงดิจิตอล
http://www.tnt-audio.com/clinica/diginterf1_e.html


เท่านี้แหละครับความรู้ที่ผมเอามานำเสนอ ผิดถูกยังไงลบกวนช่วยแก้ไขด้วยครับ
สุดท้าย...
ขอให้ทุกท่านเที่ยวสงกรานต์อย่างมีความสุขครับ


 

Make a Free Website with Yola.