|
ขีดเริ่มสัมบูรณ์ของการได้ยิน
เสียงคือคลื่นความดันอากาศ การวัดระดับเสียง ก็คือการวัดระดับความดันเสียง ก่อนอื่นเรานิยามระดับความดันเสียง (Sound Pressure Level, SPL) ในหน่วย dB SPL จาก

เมื่อ LSPL คือ ระดับความดันเสียงของสิ่งเร้า (sitmulus) มีหน่วยเป็น dB SPL, p คือ ความดันเสียงของสิ่งเร้าในหน่วย Pascal (Pa), และ p0 คือ ระดับความดันอ้างอิง มีค่าเท่ากับ 20 µPa ซึ่งระดับความดันเสียงนี้เป็นตัวบ่งบองถึงพลังงานเสียง เปรียบเทียบง่าย ๆ ว่าคุณยิ่งพูดเสียงดังมาก ค่า dB SPL ของสัญญาณเสียงนั้นก็ยิ่งมาก
ขีดเริ่มสัมบูรณ์ของการได้ยิน (Absolute Threshold of Hearing) คือ SPL ที่ต่ำที่สุดที่เด็กที่หูดีที่สุดได้ยิน เรารู้ว่าเสียงที่เราพูด ๆ กันนี้ประกอบด้วยคลื่นหลายความถี่ผสมผสานกัน ดังนั้นในการหา ATH เขาจึงต้องทดสอบกับ pure tone คือ เสียงที่มีความถี่เดียว ATH จะแปรตามความถี่ (f) เสียงหรือไม่? นี่ถูกใช้เป็นสมมติฐานในการทดลองเพื่อหา SPL ที่ต่ำที่สุดที่คนได้ยินที่ f ใด ๆ (ถึงตรงนี้คุณคงพอมองออกว่าทำไมเราต้องปรับหน่วยจาก Pa มาเป็น dB SPL ด้วยการเทียบ p กับ p0 เดาได้ไม่ยากใช่มั้ยครับ ถ้าคุณจะ calibrate ให้ SPL เท่ากับ 0 ที่ระดับเฉลี่ยของย่านความถี่ที่เราสามารถได้ยินเสียงเบาสุด เราก็แค่หาค่า p0 หรือความดันเสียงที่สูงที่สุดที่ทำให้คนหูดีที่สุดไม่ได้ยินไม่ว่าที่ความถี่ใดก็ตาม)
มีการศึกษาและประมาณค่า [Terhardt, E. (1979). Calculating virtual pitch. Hearing Res., vol. 1, pp. 155-182] ขีดเริ่มสัมบูรณ์ของการได้ยิน Tq(f) ด้วยสมการ

เมื่อ Tq(f) มีหน่วย dB SPL และ f มีหน่วย Hz
ลองพล็อตกราฟ ATH ด้วย MATLAB นะครับ
https://dl.dropboxusercontent.com/u/22226930/MATLAB/ATH/ath.m

ข้อมูลที่ได้มีประโยชน์มากในการบีบอัดเสียงเพลงครับ กราฟนี้บอกเราว่าข้อมูลใดที่ SPL อยู่ต่ำกว่า curve ข้อมูลนั้นหูมนุษย์ธรรมดาโดยเฉลี่ยไม่สมควรได้ยิน!
Create Date : 19 ตุลาคม 2552 | | |
Last Update : 11 กรกฎาคม 2556 12:20:12 น. |
Counter : 1339 Pageviews. |
| |
|
|
|
|
เกมแห่งความยุ่งเหยิง
จาก chaos game เราจะลองเขียน code เพื่อจำลองเกมนี้ด้วย MATLAB ง่าย ๆ โดยเริ่มจากสร้างจุด x, y, z มันไม่ใช่จุดมุมของสามเหลี่ยมด้านเท่า แต่ก็ไม่เสียหายอะไร สังเกตว่าแต่ละจุดจะเก็บพิกัดไว้ใน matrix ขนาด 2 แถว 1 หลัก โดยแถวที่หนึ่ง เราอาจบอกว่ามันคือค่าตามแนวแกน x และแถวที่สองคือค่าตามแนวแกน y จากนั้นสุ่มเลือก seed หนึ่งจุด ดูโค้ดจะเห็นว่าเราเรียกใช้ฟังก์ชั่น rand ถ้าคุณอยากรู้รายละเอียดเกี่ยวกับฟังก์ชั่นนี้ ก็ให้พิมพ์ help rand ฟังก์ชั่น rand (m,n) จะสร้าง matrix ขนาด m x n ที่ element แต่ละตัวถูกสุ่ม (ไม่ใช่สุ่มจริงนะครับ ค่าที่ได้เป็น pseudo-random value) ในช่วงหนึ่งหน่วย จากนั้นทอยเต๋า 5,000 ครั้ง เราก็ใช้วิธีสุ่มแล้วแบ่งช่วงจำนวนจริง [0,1] ออกเป็น 3 กลุ่ม คือ [0,1/3), (1/3,2/3), (2/3,1]
https://dl.dropboxusercontent.com/u/22226930/MATLAB/Chaos-Game/chaos_game_1.m

ลองเปลี่ยนจาก 3 จุดมุมเป็น 6 จุดมุม
https://dl.dropboxusercontent.com/u/22226930/MATLAB/Chaos-Game/chaos_game_2.m

Create Date : 18 ตุลาคม 2552 | | |
Last Update : 11 กรกฎาคม 2556 12:29:23 น. |
Counter : 843 Pageviews. |
| |
|
|
|
|
| |
|