Tech

โหลดข้อมูล A-GPS ลงกล้อง

posted on 18 Apr 2012 18:48 by ipats in Tech directory Lifestyle, Tech, Knowledge
สวัสดีฮะ
 
อย่างที่บางคนอาจจะทราบแล้วว่า (ทราบได้ยังไง??) ผมได้ไปถอยกล้องมาใหม่ตัวนึง
มันคือ Sony SLT-A65 นั่นเอง 
 
ซึ่งไอ้กล้องตัวเนี่ย มันมีความสามารถอย่างนึงที่น่าสนใจ คือ มี GPS ในตัว
 
พูดง่ายๆ ก็คือ เวลาถ่ายรูป มันจะแท็กสถานที่ลงไปในรูปด้วย ว่าเราถ่ายจากที่ไหน
ดูน่าสนใจ เหมือนกล้องในโทรศัพท์มือถือเลย
 
แต่จุดที่ต่างกันก็คือ GPS บนมือถือ มันสามารถต่ออินเทอร์เน็ตเพื่อโหลดข้อมูลดาวเทียมมาได้ตลอดเวลา ทำให้มันสามารถหาพิกัดของเราได้อย่างรวดเร็ว (ที่เราเรียกกันว่า A-GPS นั่นแล คือมันต้องโหลดข้อมูล "Assisted" มาจากเน็ต)
 
ทีนี้ พอเป็นกล้อง มันต่อเน็ตไม่ได้ แล้วมันจะโหลดข้อมูลนี้มาจากไหน? คำตอบอยู่ที่ความโชคดีที่ "Assisted Data" มันมีอายุยาวนาน โหลดทีนึงใช้ได้ประมาณหนึ่งเดือน เพราะฉะนั้น เราก็สามารถใช้คอมพิวเตอร์โหลดข้อมูลนี้มาด้วยโปรแกรมที่มากับกล้อง แล้วโปรแกรมมันก็จะโหลดข้อมูลลงกล้องเพื่อให้มันใช้งาน "Assisted Data" ได้ไปหนึ่งเดือน, ข้อมูลหมดอายุเมื่อไหร่ ก็เอามาต่อคอมใหม่ โหลดใหม่ (ถ้าไม่มีข้อมูลช่วย มันจะใช้เวลาล็อกตำแหน่ง 5-15 นาทีเชียวนะ..​ แต่ถ้ามีข้อมูลนี้ช่วย จะเหลือเพียงไม่ถึงนาที!)
 
แต่!! มันมีปัญหาขึ้นมาอีกปัญหานึง (ไม่งั้นผมคงไม่ได้เขียนเอ็นทรีนี้)
 
ไอ้กล้องตัวเนี่ย มันเป็นของอารยธรรมโซนี่ ซึ่งโปรแกรมที่มันแถมมา (ชื่อว่า PMB - Picture Motion Browser) มัน "เสือก" มีแต่เวอร์ชั่นบนวินโดวส์ มันไม่สามารถเอามาใช้กับ "แมคบุ๊ค" ของท่านศาสดาได้ Y-Y
 
ความเศร้าบังเกิด..
 
แต่อย่ากระนั้นเลย บนโลกนี้คงไม่ได้มีคนรักอารยธรรมและบูชาศาสดาไปพร้อมๆ กันแค่เราคนเดียวแน่ๆ
 
สุดท้าย ผมก็ไปเจอลิงค์นี้ http://blog.brixandersen.dk/2010/04/02/downloading-sony-gps-assist-data-using-perl/
 
เค้าอธิบายว่า เพียงแค่เราไปโหลดไฟล์ assistme.dat จากเว็บของโซนี่
แล้วเอามาใส่ในการ์ดที่พาธ /Private/SONY/GPS/ , เสร็จแล้ว ยัดการ์ดลงกล้อง เปิดกล้องขึ้นมา
 
แจ่มแจ่แดมแจ่มว้าววว~~ กล้องก็จะมีข้อมูล assisted เอาไว้ช่วยล็อกตำแหน่งดาวเทียมได้แล้ว เย้~~~
 
 
ปล. กล้องที่มี GPS แต่ละตัว ไม่ได้รองรับ A-GPS ทุกตัวเน้อ มันมีแค่บางตัว, ผมเคยใช้ Lumix TZ-10 มันดีตรงที่มีชื่อสถานที่บอกด้วยในกล้องเลย ไม่ต้องรอโหลดรูปเข้าคอม, แต่ข้อเสียคือ ล็อกสัญญาณดาวเทียมนานมาก Y-Y
 
ปล2. Assisted Data ที่โหลดมา ก็คือข้อมูลเกี่ยวกับวงโคจรของดาวเทียมนั่นเอง คือระบบ GPS เนี่ย มันจะหาตำแหน่งเราจากการวัดระยะห่างกับตำแหน่งดาวเทียม ซึ่งถ้าเราไม่รู้ตำแหน่งดาวเทียม มันก็ต้องเสียเวลารับข้อมูลจากดาวเทียมโดยตรงว่ามันอยู่ไหน ซึ่งมันรับได้ช้ามาก ประมาณ..​เอ่อ.. 50 บิตต่อวินาที ... ใช่ฮะ ไม่ผิดฮะ ความเร็วแค่ 50 บิตต่อวินาที!!
 
 

SSD vs HDD ภาคจบ

posted on 06 Feb 2011 12:12 by ipats in Tech
สวัสดีครับ

ภาคจบ.. ฮ่าๆ

ตอนแรกก็ว่าจะเฉยๆ จบๆ ไป แต่นะ.. มันอดไม่ได้
เห็นคนเข้าใจอะไรผิดๆ เราก็อยากช่วยแก้ให้ถูก

ก่อนอื่น ขอย้ำประเด็นของผมก่อน

เริ่มจาก "SSD เสียงแห้ง"
ซึ่งมีคนเคลมว่าเสียงจากการเล่นเพลงบน SSD และ HDD ต่างกัน ด้วย Storage Latency

ข้อสังเกต
1. ตอนแรกที่บอกว่า "SSD เสียงแห้ง" ผมเข้าใจไปเองว่า มันหมายถึง SSD มีผลกระทบในแง่ลบ แต่ไปๆ มาๆ "เค้าว่า" latency ใน hdd ทำให้เสียงเพี้ยนได้.. เอ ไปๆ มาๆ ผมเริ่มไม่แน่ใจแล้วว่า มันดี หรือมันแย่กันแน่ แต่สรุปรวมๆ เค้าว่ามันต่างกันแหละน่า

2. ไอ้ที่ต่างกันเนี่ย เค้าบอกว่าเกิดมาจาก Access Time ของ Storage Device (ซึ่งถ้าใช้ NAS ก็คงจะเสียงห่วยไปสุดๆ เลยทีเดียว)

3. ประเด็นเรื่องเสียงต่าง/ไม่ต่าง อันนี้ผมบอกได้แน่นอนว่ามัน "ควร" ต่างกันแน่นอน เพราะ DAC มันทำงานได้ไม่เที่ยงตรง.. ซึ่งเป็นเพราะมันมีภาค Analog ซึ่งที่ต่างก็เพราะปัจจัยหลายอย่าง เช่น Clock Generator ความถี่ไม่นิ่ง, มีการรบกวนกันของกระแสไฟฟ้า, ไฟไม่นิ่ง ฯลฯ แต่ไม่ใช่ "HDD ช้า" อย่างที่ "เค้า" อ้าง (เพราะงั้น เสียงแห้ง ไม่แห้ง อะไรนี่ผมไม่สน ผมสนที่เค้าเคลมเหตุผล)

** จากข้อ 3, มันเลยสามารถสรุปลงไปได้ว่าทำ blind test ไปก็ไม่ใช่ว่าจะได้ข้อสรุปครับ
เพราะถ้าหูของ "พวกเค้า" ไวมากจริงๆ noise เพียงเล็กน้อยก็มีผลแล้ว อุณหภูมิห้องเปลี่ยน ก็มีผลกับเสียง เวลาฟัง ขยับหัวเล็กน้อย ก็เกิด doppler effect แล้ว ระยะต่างๆ ก็มีผลหมด (นั่งห่างจากลำโพง 1 เมตร ก็เกิด latency ไป 3ms แล้วครับ, สงสัยว่าจะมาเอาอะไรกับ 1ms ของ buffer), เอ่อ.. หรือไม่.. การที่เราหายใจมากๆ ก็ทำให้เสียงเพี้ยนได้นะครับ (CO2 หนักกว่า O2!! ยิ่งหายใจ เสียงยิ่งเพี้ยน.. โอ้ววม่ายยยย~)

เอ็นทรีนี้ผมคงไม่อธิบายส่วนที่พูดถึงไปแล้ว แต่ขอพูดแย้ง และอธิบายสิ่งที่เค้าอ้างมาแล้วกัน

1. XXHighEnd
อันดับแรก วันแรกๆ นั้น เค้าเอาลิงค์มาให้ผมดู บอกว่าเนี่ย เปรียบเทียบการเซ็ต buffer latency ค่าต่างๆ แล้ว เสียงไม่เหมือนกัน มีกราฟประกอบ ให้ไปอ่านดู เป็นข้อพิสูจน์ แล้วก็บลัฟต่อ

ด้วยว่า มันไม่ใช่เรื่องที่จะเข้าใจได้ง่ายๆ หรอก ต้องใช้เวลาเป็นเดือนๆ บลาๆๆ

โอเค จะอธิบายให้เค้าเข้าใจ
1.1 "เค้า" บอกว่า กราฟเนี่ย แสดงถึง bit stream ที่ไปยัง soundcard ที่มันไม่เหมือนกันเพราะปรับ latency (ซึ่งก็เป็นการเอา storage latency มามั่วกับ buffer latency อีกเช่นเดิม) เพราะฉะนั้น computer มันผิดพลาดได้ ไม่ใช่ bit-perfect!

ดูกราฟ: http://www.computeraudiophile.com/content/Why-does-computer-matter#comment-61713
ตอบ:
ในลิงค์ที่เค้าส่งมา มีเขียนชัดเจนว่า "This is an analogue take from a DAC I own" แปลว่า.. ไอ้กราฟที่เค้าได้มาเนี่ย มันคือเอาท์พุตที่เป็นอนาล็อกที่ออกมาจาก DAC คร้าบบบ.. ไม่ใช่ข้อมูล Digital ที่ส่งไป DAC

แถมเค้าก็ไม่บอกอีกว่าเอาข้อมูลอนาล็อกนี้กลับมายังไง ซึ่งผมค่อนข้างแน่ใจว่า ก็อัดเอาจาก Line-in นี่แหละ ซึ่งใครๆ ก็ทราบดีกว่า การเล่นเพลง ถึงแม้จะมี parameter เหมือนกัน สมบูรณ์ทุกอย่าง แต่ผ่าน DAC แล้วย้อนมา ADC อีกรอบเนี่ย ทำยังไงมันก็ไม่เหมือนเดิมครับ

1.2 นอกจากนี้ ไอ้คนที่เอากราฟมาเดโมเนี่ย เค้าเป็นคนที่พัฒนาโปรแกรมที่ชื่อว่า XXHighEnd ซึ่งเป็นโปรแกรมฟังเพลง ที่เค้าเคลมว่าดีมาก โดยวิธีทำกราฟของเค้าบอกว่าเปลี่ยนค่า parameter Q1 ในโปรแกรมของเค้าเป็นค่าต่างๆ แล้วเอามาเทียบ.. แต่ขอหน่อยเถอะ ไอ้ค่า Q1 นี่มันคืออะไรครับ, เค้าอ้างว่าเป็นการปรับ latency อะไรซักอย่าง แต่ผมไม่สามารถหา reference ได้เลย จะโหลดโปรแกรมมาลองใช้ ก็เกิดเรื่องอีก เพราะมันรันไม่ขึ้น (สงสัยโดนพิษ 64-bit เหอๆ)

สุดท้าย ผมก็ต้องไปพึ่ง forum ต่างๆ แล้วก็ได้มาว่า..
"XXHighEnd" - what is this player?
http://www.hydrogenaudio.org/forums/index.php?showtopic=68514

XXHighEnd player for Vista and XP better than foobar?
http://www.head-fi.org/forum/thread/246554/xxhighend-player-for-vista-and-xp-better-than-foobar

เอาไปอ่านแค่สองอันพอ
ถ้าขี้เกียจอ่าน จะสรุปให้ฟังว่า

คนใน forum หลายคนให้ความเห็นว่า XXHighEnd มันเป็นโปรแกรมอะไรก็ไม่รู้ ที่คนพัฒนาไม่สามารถอธิบายอะไรได้จริงๆ จังๆ เป็น concrete เลย มีการอ้างว่าโปรแกรมนี้ ส่งเสียงเป็น bit-perfect แต่สามารถปรับแต่งค่าได้, ปรับแล้วมันจะ perfect ได้อย่างไร ก็ไม่มีคำตอบ มีแต่อ้างเรื่อง jitter, ซึ่งก็มีคนลงความเห็น (ที่มันเป็นจริง) ว่า jitter มันไม่มี, เอะอะๆ จะมา jitter หน่ะ มันโลกอนาล็อครุ่นคุณปู่คร้าบบบ

รายละเอียดลองอ่านกันดูในลิงค์ สนุกมาก ดราม่าสุดๆ แรงกันขนาดที่ว่า มีคนกล่าวหาตาปีเตอร์ (คนที่พัฒนา) ว่า เชียนโปรแกรมหลอกๆ มา เพ้อให้ดูดี แล้วเก็บตังค่าโปรแกรม (70 ยูโรเชียวนะครับ, โปรแกรมยังเบต้าอยู่ด้วย บั๊กก็เยอะ หน้าตาก็ห่วย)

สุดท้าย ได้ข้อสรุปว่าโปรแกรมนี้ คนพัฒนาไม่น่าเชื่อถือ การทำงานของโปรแกรมไม่เคลียร์ แถมมีคนไม่ยอมรับอีกมาก

เพราะฉะนั้นประเด็นกราฟซึ่งเค้ามั่นใจหนักหนาว่าเป็นหลักฐานที่ดีมาก "ตกไป" เป็นฉะนี้นั่นเอง

2. Bit-Perfect
อันนี้ขออธิบายไว้เล็กน้อย คำนี้ ในคอนเท็กนี้หมายถึงว่า โปรแกรมเล่นเพลง สามารถถ่ายทอดทุกๆ บิต จากไฟล์เพลง ไปยัง Soundcard ได้ครบทุกบิต และเหมือนเดิมทุกประการ จริงๆ เหมือนเป็นเรื่องง่าย แต่ก็ยากอยู่ทีเดียว ไม่ใช่เพราะว่า HDD อ่านไม่เร็วพอ แต่เพราะ

2.1 Multimedia Subsystem ของ OS (เช่น directsound) มันปรับเสียงให้เราเอง อย่างเช่นใน Windows เราจะเห็นได้ว่า หลายๆ โปรแกรมสามารถส่งเสียงได้พร้อมกัน เพราะว่ามันจะมี Mixer เป็นตัวรวมเสียงให้ และจัดการเรื่องต่างๆ (เช่นปรับ sample rate/resolution ให้เหมาะสม) การปรับ volume ก็ทำให้มีการแก้ไขข้อมูลเกิดขึ้น มันเลยเกิดมีวิธีพิสดารขึ้นมา คือการข้ามตัว subsystem ตรงนี้ไป แล้วไปติดต่อกับ driver (เกือบจะ)โดยตรงแทน (ที่หลายคนรู้จักในนาม ASIO/WASAPI)

2.2 Media Player มันมีลูกเล่น เช่น DSP ซึ่งถ้าเราต้องการ bit-perfect จริงๆ ต้องปิดการทำงานตรงนี้ทุกอย่าง รวมถึง EQ และแน่นอน volume control ด้วย!!

ผมว่า.. ถ้าทำขนาดนี้ คงต้อง output เสียงจากคอมเป็น digital แล้วไปผ่าน AVR เมพๆ อะไรทำนองนั้นอีกทีจะดีว่า :D

3. Thread Priority
เรื่องนี้ดูท่าจะเยอะ สรุปสั้นๆ หน่อย ว่า thread priority มีผลเมื่อ
3.1 ใช้ soundcard onboard ที่จำเป็นต้องทำ Mixing/DSP ที่ CPU (ถ้า CPU ไม่ว่าง ก็มีผล จริงไหม)
3.2 ใช้ Software DSP ที่หนักมากๆ (ถ้า CPU ทำงานไม่ทัน ก็เจ๊งคร้าบบ)
3.3 Codec ซับซ้อน, bitrate สูงเกินไป decode ไม่ทัน (ถ้าเป็นการเล่นวิดิโอ ก็เทียบได้กับการเอา Atom ไปเล่น H.264 1080p โดยไม่มีการ์ดจอ! มันเล่นได้ก็เมพแล้วคร้าบบ~~)
3.4 I/O เต็ม! อันนี้ไม่ใช่ว่าเป็นประเด็น HDD/SSD นะครับ I/O ที่ว่านี้ คือ System B