แสดงบทความที่มีป้ายกำกับ Fityk แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Fityk แสดงบทความทั้งหมด

วันอังคารที่ 20 สิงหาคม พ.ศ. 2556

MO ตอบคำถาม การแยกพีค GC ด้วยโปรแกรม fityk MO Memoir : Tuesday 20 August 2556

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

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

ก่อนหน้านี้ผมได้ตอบเขาไปว่าไนโตรเจนและออกซิเจนเป็นคู่หนึ่งที่แยกยาก เพราะขนาดโมเลกุลใกล้กันและจุดเดือดก็ใกล้กัน คอลัมน์บางชนิดแยก "อากาศ" ออกจากแก๊สตัวอื่น เช่น CO CO2 และ Ar ได้ แต่ไม่แยก N2 และ O2 ที่เคยเห็นในแคตตาล็อกขายคอลัมน์ GC บางคอลัมน์ที่เขาบอกว่าแยกได้นั้นจะกระทำที่อุณหภูมิไม่สูง เช่นประมาณ 20 หรือ 25ºC ซึ่งในบ้านเราแล้วอุณหภูมินี้มันต่ำกว่าอุณหภูมิห้องอีก ถ้าจะนำเอาคอลัมน์แบบนี้มาใช้ก็ต้องเพิ่มความยาวให้มากกว่าที่เขาระบุไว้ในแคตตาล็อก หรือไม่ก็หาทางทำให้เครื่อง GC นั้นทำให้คอลัมน์มีอุณหภูมิต่ำกว่าอุณหภูมิห้องให้ได้ คอลัมน์ที่เขาใช้คือ micropacked 13X Molecular sieve 80/100 2m 1.00 I.D. วิเคราะห์ที่ 28ºC ซึ่งตรงนี้เขาบอกว่าเขาทำแลปในห้องแอร์ที่แอร์เย็น เครื่อง GC ก็เลยทำงานที่อุณหภูมินี้ได้

อีกอันหนึ่งที่แนะนำเขาไปคือให้ลองปรับ carrier gas flow rate ให้ต่ำลง แต่ถ้าทำแบบนี้กับ TCD ก็ต้องไปทำ calibration curve ใหม่ด้วย

หลังจากพบกันแล้วเขาก็ไปทดลองปรับอัตราการไหลของ carrier gas ให้ลดลง ซึ่งก็ทำให้เวลาที่พีคออกมานั้นออกมาที่เวลาเดิมก่อนมีปัญหา แต่ก็ยังมีการเหลื่อมซ้อนกันอยู่ดี จนกระทั่งวันศุกร์ที่แล้วก็ได้ส่งรูปพีคและไฟล์ .txt และ .csv มาให้ ผมเห็นรูปพีคของเขาแล้ว (ดูรูปที่ ๑) ก็เห็นว่าไม่น่าจะมีปัญหาอะไรมากในการใช้โปรแกรม fityk ในการแยกพีค (ถ้าใช้โปรแกรมเป็นแล้วนะ) พีคทั้งสองนั้นวางตัวอยู่บน base line ที่ค่อนข้างจะวางตัวราบ (แทบไม่มีการเฉียงขึ้นหรือลง) ไม่มีการปรากฏของพีคอื่นข้างเคียง ก็เลยเอาข้อมูลของเขามาทำการแยกพีคด้วยโปรแกรม fityk เล่นดู

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

จากข้อมูลที่เขาให้ผมมาในรูปที่ ๑ นั้น ผมลองทำการเติมพีคและทำ peak fitting โดยตรงโดยไม่ต้องไปยุ่งอะไรกับข้อมูลเดิมก็พบว่ามันทำได้ แต่ที่จะเอามาเล่าให้ฟังในบันทึกนี้ผมจะใช้วิธีแยกทำ peak fitting ทีละพีค เนื่องจากผมไม่ต้องการย่อรูปให้เล็กลง ดังนั้นคำบรรยายรูปจะแยกออกจากรูปแต่ละรูป
  
รูปที่ ๑ เป็นไฟล์ข้อมูลที่ผมได้รับมาในรูปไฟล์ .csv และนำมาเปิดด้วยโปรแกรม fityk ลักษณะเป็นพีคเล็กนำหน้าพีคใหญ่ โดยส่วนหางของพีคเล็กนั้นซ้อนทับอยู่กับส่วนหน้าของพีคใหญ่

รูปที่ ๑ โครมาโทแกรมที่ได้รับมา เมื่อเปิดด้วยโปรแกรม fityk

รูปที่ ๒ เป็นภาพขยายบริเวณส่วนฐานของพีค จะเห็นว่าในความเป็นจริงเส้น base line มีการเคลื่อนตัวไต่ขึ้นอย่างช้า ๆ โดยข้อมูลส่วนหน้านั้นติดลบเล็กน้อย ส่วนข้อมูลส่วนหลังนั้นมีค่าเป็นบวก
  
เนื่องจากฟังก์ชันที่เราใช้ในการทำ peak fitting นั้นเป็นฟังก์ชันที่มีค่าเป็นบวกเสมอ (เรามักใช้ฟังก์ชันที่โปรแกรม fityk เรียกว่า "SplitGaussian" ซึ่งเป็นฟังก์ชัน Gaussian ที่ไม่สมมาตรนั่นเอง) ถ้าหากข้อมูลที่นำมาทำ peak fitting นั้นมีค่าติดลบ จะทำให้โปรแกรมทำการเติมพีคที่ "กลับหัว" เข้าไป วิธีการป้องกันคือทำการ "ยก" ข้อมูลในมีค่าเป็นบวกทั้งหมดก่อน แต่ในขณะเดียวกันนั้นฟังก์ชันที่เราใช้นั้นจะลู่เข้าหาศูนย์ แต่ไม่ตัดกัน x ดังนั้นการตัด base line จึงควรให้บริเวณที่ใกล้กับฐานของพีคนั้นมากกว่าศูนย์เล็กน้อย แต่อย่ามากเกินไป เพราะจะทำให้โปรแกรมทำการเติมพีคที่มีความสูงน้อย แต่ความกว้างมากเข้ามา พีคนี้จะเป็นพีคตัวแทนของเส้น base line

ในรูปที่ ๒ ผมจึงตัดโดยตามแนวเส้นสีแดงที่แสดงในรูป (ใช้ปุ่มวางเส้น base line ในการวางแนวเส้น base line)

รูปที่ ๒ ภาพขยายโครมาโทแกรมในรูปที่ ๑ บริเวณเส้น base line และแนวการตัดเส้น base line (เส้นสีแดง)

รูปที่ ๓ เป็นรูปหลังจากตัดเส้น base line แล้ว รูปนี้เป็นการเลือกจุดข้อมูลที่คาดว่าเป็นเฉพาะของพีคแรกเท่านั้น โดยการกดปุ่มที่ลูกศร (1) ชี้ จากนั้นใช้เมาส์กำหนดจุด การทำให้จุดข้อมูลที่ไม่ต้องการเป็นจุด inactive ทำโดยการกดปุ่มด้านขวาของเมาส์ค้างไว้แล้วลากเมาส์ไปตามจุดข้อมูลเหล่านั้น จุดข้อมูลที่เป็น inactive จะกลายเป็นจุดสีเทา ในที่นี้ผมทำให้จุดข้อมูลช่วงเวลาประมาณก่อน 2.00 นาทีและหลัง 2.75 นาทีเป็นจุดที่ inactive จุดก่อนเวลา 2.00 นาทีเป็นช่วงที่ยังไม่มีพีคปรากฏ ส่วนช่วงเวลาถัดจ่าก 2.75 นาทีนั้นเป็นจุดข้อมูลที่เป็นผลรวมระหว่างส่วนท้ายของพีคเล็กและส่วนหน้าของพีคใหญ่ ในขณะที่จุดข้อมูลในช่วงเวลา 2.00 - 2.75 นาทีนั้นประมาณว่าเป็นของพีคเล็กเท่านั้น


รูปที่ ๓ การเลือกจุดข้อมูลที่คาดว่าเป็นของเฉพาะพีคแรก (ในกรอบสีแดง) เพื่อทำการสร้างพีคแรกขึ้นมาก่อน

รูปที่ ๔ เป็นการทำ peak fitting ของพีคแรก โดยเลือกฟังก์ชันที่นำมาใช้ในการทำ peak fitting จากช่องตรงลูกศร 1 ชี้ การเลือกฟังก์ชันนั้นต้องเหมาะสมกับชนิดของพีค ในกรณีของโครมโทแกรมนั้นเนื่องจากพีคมักจะไม่สมมาตร จึงเลือกใช้ฟังก์ชันที่โปรแกรม fityk เรียกว่า SplitGaussian ซึ่งอันทีจริงก็คือฟังก์ชัน Gaussian นั่นเอง แต่เป็นฟังก์ชันที่มีความกว้างด้านซ้ายและด้านขวาแตกต่างกัน (ถ้าเท่ากันมันก็จะเป็นฟังก์ชัน Gaussian)

จากนั้นก็ให้โปรแกรมวางตำแหน่งพีคให้ด้วยการกดที่ icon ที่ลูกศร 2 ชี้ ถ้าพบว่าตำแหน่งและ/หรือรูปร่างพีคที่โปรแกรมวางให้นั้นไม่ถูกใจเรา เรายังสามารถปรับแต่งรูปร่างของพีคที่โปรแกรมวางให้ด้วยการใช้เมาส์ไปปรับที่ตัวพีคโดยตรงได้ การวางพีคนี้ต้องดูรูปร่างพีคเป็นหลัก บางครั้งวางพีคเดียวก็พอ แต่บางครั้งก็ต้องวางหลาย ๆ พีคหน่อย ตรงนี้ต้องทดลองทำเอาเอง อย่างเช่นในทีนี้พบว่าวางเพียงพีคเดียวก็พอแล้ว ก็ไปกด icon ที่ลูกศร 3 ชี้เพื่อให้โปรแกรมทำ peak fitting การกด icon นี้สามารถกดได้หลายครั้งจนกว่าจะพบว่ามันเข้าที่ ในที่นี้จะได้พีคที่เป็นเส้นสีน้ำเงิน และมีรายละเอียดตำแหน่งพีคปรากฏในแทป function ตรงลูกศร 4 ชี้ ส่วนรายละเอียดของพีคเช่นข้อมูลพารามิเตอร์ พื้นที่ ความสูง จะอยู่ข้างล่างตรงกรอบสีแดงที่ลูกศร 5 ชี้

เมื่อได้รูปร่างพีคแรกแล้วก็ทำการตรึงพีคนี้ไว้ เพื่อไม่ให้เกิดการเปลี่ยนแปลงใด ๆ ในการทำ peak fitting ให้กับพีคที่สอง การตรึงพีคนั้นทำได้โดยการไปกดเลือกพีคที่ต้องการตรึง (ในกรอบที่ลูกศร 4 ชี้) จากนั้นไปกดที่ icon ที่เป็นรูปแม่กุญแจข้างล่าง (ตรงกรอบสีน้ำเงินที่ลูกศร 6 ชี้) ทุกตัว มันจะเปลี่ยนจากเปิดอ้างอยู่เป็นล็อค การทำเช่นนี้จะทำให้พีคที่ทำการล็อกเอาไว้แล้วถูกตรึงเอาไว้ ไม่เกิดการเปลี่ยนแปลงใด ๆ ในการทำ peak fitting ในขั้นตอนถัดไป
 
รูปที่ ๔ การทำ peak fitting ของพีคแรก

รูปที่ ๕ เป็นการทำ peak fitting ให้กับพีคที่สอง เนื่องจากพีคนี้ค่อนข้างใหญ่ทำให้บ่อยครั้งการใช้ peak เพียงพีคเดียวไม่สามารถที่จะปรับเข้ากับข้อมูลดิบได้หมด จึงมักต้องทำการเติมเข้าไปหลายพีค การเติมเข้าไปหลายพีคนั้นทำได้หลายแบบ เช่นอาจเพิ่มพีคเข้าไปจำนวนหนึ่งก่อนจนเห็นว่ามันใกล้เคียงข้อมูลดิบ จากนั้นจึงค่อยกดไอคอนให้โปรแกรมเริ่มกระบวนการ peak fitting หรืออาจทำการเติมพีคเข้าไปก่อนหนึ่งพีค กดไอคอนให้โปรแกรมทำ peak fitting แล้วจึงค่อยเพิ่มพีคที่สอง กดไอคอนให้โปรแกรมทำ peak fitting ถ้าเห็นว่าผลที่ออกมายังไม่ดีก็เพิ่มพีคที่สามและทำเช่นนี้ต่อไปเรื่อย ๆ ตรงจุดนี้ต้องลองดูกับข้อมูลของตัวเอง แม้แต่ข้อมูลเดียวกันถ้าตัดเส้น base line ต่างกันก็อาจทำให้กระบวนการ peak fitting เพื่อให้พีครวมออกมาดูดีนั้นแตกต่างกันไปได้ แต่ถ้าคำนวณพื้นที่รวมของทุกพีคแล้วมักจะเห็นว่าพอ ๆ กัน
 
ในกรณีของพีคที่สองในรูปที่ ๕ นั้น ผมใช้การเติมเข้าไปทีละพีคและทำ peak fitting จากนั้นจึงค่อยเติมพีคที่สองและทำ peak fitting จากนั้นจึงเติมพีคที่สามและทำ peak fitting ก็พบว่าพีครวมที่ได้ปรับเข้ากับข้อมูลดิบได้ดี ดังนั้นพื้นที่พีคของพีคหลังจะคำนวณได้จากผลรวมของพื้นที่พีคที่เวลา 3.08811 นาที 3.15324 นาที และ 3.21724 นาที พึงสังเกตว่าแม้ว่าจะมีต้องใช้พีคถึงสามพีค แต่ตำแหน่งยอดพีคของทั้งสามพีคนั้นอยู่ประมาณเวลาเดียวกัน อันนี้เป็นไปได้ว่าแต่ละพีคนั้นเป็นตัวแทนของการคายออกมาจากอนุภาค (packing material ที่อยู่ในคอลัมน์) ที่มีขนาดต่าง ๆ กัน

รูปที่ ๕ การทำ peak fitting พีคที่สอง

เมื่อได้พีคที่สองแล้วก็ควรทำการตรวจสอบด้วยว่าการทำ peak fitting นั้นยอมรับได้หรือไม่ สิ่งที่ผมทำเป็นปรกติก็คือทำการลบพีคแรกทิ้งแล้วดูว่าผลรวมของฟังก์ชันที่ใช้ในการประมาณค่าพีคที่สองนั้นเข้ากับข้อมูลดิบหรือไม่ รูปที่ ๖ เป็นรูปที่ได้ลบฟังก์ชันของพีคแรกทิ้งไป เส้นสีน้ำเงินคือเส้นผลรวมของพีค 3 พีคที่ใช้ในการประมาณค่าพีคที่สอง ซึ่งก็พบว่าปรับเข้ากับข้อมูลดิบได้ดี
 
รูปที่ ๖ รูปร่างของพีคที่สองเมื่อทำการลบพื้นที่หนึ่งทิ้งไป
 
เนื่องจากขนาด packing material ใน packed column นั้นไม่ได้มีขนาดเท่ากันทุกอนุภาค แต่มีการกระจายตัวของขนาดอนุภาคอยู่ สารที่ถูกดูดซับเอาไว้ในรูพรุนของอนุภาคขนาดเล็กจะหลุดออกมาได้ง่ายกว่าสารที่ถูกดูดซับเอาไว้ในรูพรุนของอนุภาคขนาดใหญ่ เพราะรูพรุนของอนุภาคขนาดเล็กนั้นมีเส้นทางที่สั้นกว่าทำให้ใช้เวลาน้อยกว่าในการแพร่จากข้างในรูพรุนออกมายัง carrier gas ส่วนที่ทำให้พีคเกิดการลากหางจึงเป็นส่วนของสารที่หลุดออกมาจากรูพรุนของอนุภาคขนาดใหญ่ ด้วยเหตุนี้พีคที่ได้นั้นจึงมีลักษณะที่ไม่สมมาตร การใช้ฟังก์ชันที่สมมาตรเช่น Gaussian จะใช้ทำให้ต้องใช้พีคประมาณค่าจำนวนมากจึงจะปรับพีครวมให้เข้ากับข้อมูลดิบได้ การใช้ฟังก์ชัน Gaussian เช่นฟังก์ชันที่เรียกว่า SplitGaussian ของโปรแกรม fityk จะทำให้ใช้พีคประมาณค่าจำนวนน้อยกว่า และปรับเข้ากับข้อมูลดิบได้ดีกว่า

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

วันพุธที่ 29 กุมภาพันธ์ พ.ศ. 2555

GC-2014 ECD & PDD ตอนที่ ๑๙ การคำนวณพื้นที่พีค NH3 (แก้ไข ๑) MO Memoir : Wednesday 29 February 2555


เนื้อหาในเอกสารฉบับนี้เป็นการบันทึกการประชุมย่อยเมื่อช่วงเช้าวันนี้ เรื่องปัญหาการหาพื้นที่พีค NH3 จากเครื่อง GC-2014 ECD & PDD

. การปรับความปริมาณ NH3 ที่ฉีดเข้าคอลัมน์ในการสร้าง calibration curve

๑.๑ "ปริมาณ" ในที่นี้คือผลคูณระหว่าง "ความเข้มข้น" กับ "ปริมาตร"

๑.๒ ในการสร้าง calibration curve นั้นเราต้องฉีดสารที่ทราบ "ปริมาณ" ที่แน่นอน ที่ "ปริมาณ" ต่าง ๆ กัน เพื่อหาความสัมพันธ์ระหว่างสัญญาณ (พื้นที่พีค) กับ "ปริมาณ" สารที่ฉีด

๑.๓ ในกรณีของเครื่อง GC-2014 ECD & PDD ที่เราใช้นั้น การปรับความปริมาณ NH3 ที่ฉีดเข้าคอลัมน์ในการสร้าง calibration curve เราใช้วิธีการเปลี่ยน "ความเข้มข้น" ของ NH3 ในแก๊ส และเปลี่ยน "ปริมาตร" ของ sampling loop

๑.๔ เรามี sampling loop อยู่สองขนาดคือ 0.1 ml และ 0.5 ml ที่ใช้ในการสร้าง calibration curve แต่ในการวิเคราะห์ตัวอย่างนั้นเราจะใช้ขนาด 0.5 ml เท่านั้น

๑.๕ เราสร้างจุดแรกของ calibration curve ได้โดยใช้แก๊ส NH3 เข้มข้น 120 ppm และ sampling loop ขนาด 0.5 ml

๑.๖ จากนั้นเราสร้างจุดที่สองของ calibration curve ได้โดยยังคงใช้แก๊ส NH3 เข้มข้น 120 ppm แต่เปลี่ยนขนาด sampling loop เป็นขนาด 0.1 ml ซึ่งการฉีดแก๊สเข้มข้น 120 ppm ปริมาตร 0.1 ml จะเทียบเท่ากับการฉีดแก๊สเข้มข้น 24 ppm ปริมาตร 0.5 ml

๑.๗ ในการสร้างจุดที่สามและจุดที่สี่นั้น เดิมผมแนะนำให้ทำซ้ำแบบข้อ ๑.๕ และ ๑.๖ แต่ให้ปรับความเข้มข้นของ NH3 เป็น 80 ppm ซึ่งก็จะทำให้ได้จุดเทียบเท่ากับการฉีดแก๊สเข้มข้น 80 ppm ปริมาตร 0.5 ml และการฉีดแก๊สเข้มข้น 16 ppm ปริมาตร 0.5 ml

๑.๘ จากการตรวจสอบข้อมูลที่ได้จากการฉีดตามแบบข้อ ๑.๗ นั้น ผมสงสัยว่าข้อมูลอาจจะมีปัญหา และอาจต้องทำการตรวจสอบใหม่

๑.๙ ปัญหาที่ผมสงสัยคือในการปรับความเข้มข้น NH3 เป็น 80 ppm นั้น เราจำเป็นต้องลดอัตราการไหลของ NH3 ให้ต่ำลงไปอีก แต่การทำงานของ mass flow controller นั้นอาจจะควบคุมการไหลได้ไม่ดีในช่วงที่ใกล้ปิดเต็มที่หรือใกล้เปิดเต็มที่

๑.๑๐ mass flow controller ที่เราใช้กับ NH3 นั้นควบคุมการไหลในช่วง 0-10 และเราได้เคยสร้าง calibration curve เอาไว้ในช่วง 1-5 ในการทดลองตามปรกติที่ความเข้มข้น NH3 120 นั้น เราตั้ง mass flow controller ไว้ที่ไม่ถึง 1.1 ซึ่งเรียกว่าอยู่ติดขอบเขตล่างสุดของ calibration curve ที่เราสร้าง และอาจอยู่ที่ขอบเขตล่างสุดที่ mass flow controller ยังคงทำงานได้ดี

๑.๑๑ ดังนั้นเมื่อเราลดอัตราการไหลของ NH3 ลงเพื่อให้ได้ความเข้มข้น NH3 80 ppm เราต้องตั้งค่าที่ mass flow controller ให้ต่ำกว่า 1.0 ซึ่งทำให้ผมสงสัยว่าอาจจะมีปัญหาในการควบคุมอัตราการไหลได้

๑.๑๒ ดังนั้นเพื่อเป็นการทดสอบหรือหลีกเลี่ยงปัญหาดังกล่าว ผมจึงเสนอให้ใช้วิธีการปรับความเข้มข้นของ NH3 ที่ฉีดแทน แต่ให้ใช้ sampling loop ขนาด 0.1 ml ในการฉีด

๑.๑๓ เช่นอาจปรับความเข้มข้นของ NH3 ในแก๊สเป็น 240 ppm และฉีดด้วย sampling loop ขนาด 0.1 ml ซึ่งจะเทียบเท่ากับการฉีดแก๊ส NH3 เข้มข้น 48 ppm ด้วย sampling loop ขนาด 0.5 ml

๑.๑๔ ในทำนองเดียวกันถ้าเราทำตามแบบข้อ ๑.๑๓ แต่เปลี่ยนความเข้มข้น NH3 เป็น 360 ppm และฉีดด้วย sampling loop ขนาด 0.1 ml ซึ่งจะเทียบเท่ากับการฉีดแก๊ส NH3 เข้มข้น 72 ppm ด้วย sampling loop ขนาด 0.5 ml ดังนั้นเราก็จะได้จุดข้อมูลเทียบเท่ากับการฉีด NH3 ปริมาตร 0.5 ml ที่ความเข้มข้น NH3 4 จุดด้วยกันคือ 24 48 72 และ 120 ppm

๑.๑๕ เมื่อนำข้อมูลที่ได้จากข้อ ๑.๗ ไปเปรียบเทียบกับข้อมูลที่ได้ในข้อ ๑.๑๔ ก็น่าจะทำให้เราบอกได้ว่าจุดข้อมูล 16 และ 80 ppm นั้นมีปัญหาหรือไม่

. การคำนวณพื้นที่พีค NH3 จากโครมาโทแกรม

บันทึกนี้เป็นการปรับเปลี่ยนวิธีการลากเส้น base line และการทำ peak fitting ทดแทนวิธีการที่ได้กล่าวไว้ใน Memoir ปีที่ ๔ ฉบับที่ ๔๐๗ วันพฤหัสบดีที่ ๒๓ กุมภาพันธ์ ๒๕๕๕ เรื่อง "GC-2014 ECD & PDD ตอนที่ ๑๘ การคำนวณพื้นที่พีค NH3" โดยขอให้ทดลองใช้วิธีการที่จะกล่าวต่อไปนี้แทน

๒ก ตำแหน่งการลาก base line

๒.๑ ในช่วงสัปดาห์ที่ผ่านมา ด้วยการลากเส้น base line ตามวิธีการที่กล่าวในบันทึกฉบับที่ ๔๐๗ และทำ peak fitting พีค NH3 นั้นพบว่าพีค NH3 ที่ได้จากการทำ peak fitting จะสิ้นสุดที่เวลาประมาณ 2.45 นาที

๒.๒ ในกรณีที่ความเข้มข้น NH3 ต่ำนั้น พบว่าการลากเส้น base line และการทำ peak fitting ตามวิธีการกล่าวในบันทึกฉบับที่ ๔๐๗ จะให้พื้นที่พีคของ NH3 ค่อนข้างสูง

รูปที่ ๑ แนวลากเส้น base line ของพีค NH3 โดยเปลี่ยนตำแหน่งเวลาขอบเขตด้านขวาจากเดิมที่ 3.5 นาทีเป็น 2.45 นาทีตรงตำแหน่งลูกศรสีน้ำเงิน (โปรแกรมที่ใช้คือ fityk 0.9.8) ส่วนขอบเขตซ้ายยังคงอยู่ที่ตำแหน่งสัญญาณเริ่มวกกลับตรงลูกศรสีเขียว

๒.๓ ดังนั้นจึงขอปรับเปลี่ยนตำแหน่งจุดลากเส้น base line โดยที่ขอบเขตด้านขวาของพีค NH3 ยังคงเป็นตำแหน่งที่สัญญาณเริ่มมีการวกกลับเหมือนเดิม แต่ขอบเขตด้านขวาให้เปลี่ยนเป็นตำแหน่งที่เวลา 2.45 นาที (รูปที่ ๑)

๒.๔ หลังจากที่ตัด base line เรียบร้อยแล้ว ให้เติมพีคที่ 1 เข้าไปก่อนด้วยคำสั่ง auto-add โดยใช้ฟังก์ชัน SplitGaussian จากนั้นกดปุ่ม Starting fitting 1 ครั้ง (รูปที่ ๒)

รูปที่ ๒ หลังการเติมพีคที่ 1 และกดปุ่ม Starting fitting 1 ครั้ง เส้นสีเหลืองคือสัญญาณรวม จุดสีเขียวคือข้อมูลดิบ พีคที่ใส่เข้าไปเป็นเส้นสีแดง แต่ในขณะนี้โดยเส้นสัญญาณรวม (เส้นสีเหลือง) ทับอยู่

๒.๕ เติมพีคที่ 2 ด้วยคำสั่ง auto-add โดยใช้ฟังก์ชัน SplitGaussian และกดปุ่ม Starting fitting 1 ครั้ง (รูปที่ ๓)

รูปที่ ๓ หลังการเติมพีคที่ 2 และกดปุ่ม Starting fitting 1 ครั้ง เส้นสีเหลืองคือสัญญาณรวม จุดสีเขียวคือข้อมูลดิบ เส้นสีแดงคือพีคแต่ละพีคที่เติมเข้าไป

๒.๖ เติมพีคที่ 3 ด้วยคำสั่ง auto-add โดยใช้ฟังก์ชัน SplitGaussian และกดปุ่ม Starting fitting 1 ครั้ง (รูปที่ ๔)

รูปที่ ๔ หลังการเติมพีคที่ 3 และกดปุ่ม Starting fitting 1 ครั้ง จะเห็นว่าบริเวณในกรอบสีส้มนั้นยังมีความแตกต่างจากข้อมูลดิบอยู่มาก

๒.๗ เติมพีคที่ 4 ด้วยคำสั่ง auto-add โดยใช้ฟังก์ชัน SplitGaussian และกดปุ่ม Starting fitting 1 ครั้ง (รูปที่ ๕)

รูปที่ ๕ หลังการเติมพีคที่ 4 และกดปุ่ม Starting fitting 1 ครั้ง ที่นี้จะเห็นว่าสัญญาณรวมในบริเวณกรอบสีส้มจะเข้าได้ดีกับข้อมูลดิบแล้ว

๒.๘ พีคที่ ๔ ที่เติมเข้าไปนี้ผมคิดว่าเป็นสัญญาณส่วนต้นของพีคที่อยู่ถัดจากพีค NH3 โดยสังเกตจากการลดลงของช่วงหางพีค NH3 ซึ่งมีลักษณะคล้ายกับจะโป่งนูนขึ้นเล็กน้อย ทำให้สงสัยว่าสัญญาณช่วงท้ายของโครมาโทแกรมช่วงที่เราตัดมานั้นเป็นสัญญาณช่วงท้ายของพีค NH3 ที่ซ้อนทับอยู่กับสัญญาณช่วงต้นของพีคที่อยู่ถัดไป ดังนั้นในการทำ peak fitting จึงควรต้องทำการ fit peak เข้ากับสัญญาณรวมก่อน จากนั้นจึงตัดสัญญาณที่คิดว่าเป็นสัญญาณส่วนต้นของพีคที่อยู่ถัดไป (พีคที่ 4 ที่เติมเข้าไป) ออก
 
๒.๙ หลังจากที่ทำตามขั้นตอนในข้อ ๒.๗ แล้ว ให้ทำการลบพีคที่ 4 ออก จะได้ผลรวมสัญญาณของ 3 พีคแรก (เส้นกราฟสีเหลืองในรูปที่ ๖) ซึ่งผมเห็นว่าการลาดลงในช่วงเวลาตั้งแต่ 2.3 นาทีเป็นต้นไปของเส้นสีเหลือง (พีคที่ได้จากการทำ peak fitting) มีลักษณะที่เป็นธรรมชาติใกล้เคียงกับพีคปรกติที่ไม่ซ้อนทับกับพีคอื่น (ตามแนวเส้นประสีน้ำเงิน) มากกว่าพีคข้อมูลดิบ (จุดสีเขียวที่ลดลงตามแนวเส้นประสีเขียว)

๒.๑๐ พื้นที่พีค NH3 คำนวณโดยเอาพื้นที่พีคย่อยทั้ง 3 มารวมกัน ซึ่งในตัวอย่างนี้คือ (132869 + 7927.33 + 12689.1 = 153485.43)


รูปที่ ๖ หลังการตัดพีคที่ 4 ออก

. การสร้าง calibration curve

๓.๑ เมื่อตอนเช้าผมได้กล่าวถึงข้อสงสัยของผมเอาไว้ว่า ที่ปริมาณ NH3 เป็นศูนย์นั้น พื้นที่พีค NH3 ที่ได้จาก GC นั้นจะเป็นศูนย์ด้วยหรือไม่

๓.๒ การที่ปริมาณ NH3 เป็นศูนย์นั้นเกิดได้สองกรณี กรณีแรกเกิดจากการที่เราไม่ป้อน NH3 เข้าระบบ ซึ่งในกรณีนี้ผมคิดว่าพื้นที่พีค NH3 ที่ได้จาก GC ควรมีค่าเป็นศูนย์

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

๓.๔ แต่เท่าที่สังเกตจากการทำ peak fitting ที่ความเข้มข้นต่างกันนั้น ผมคิดว่าที่ปริมาณ NH3 เป็นศูนย์นั้น พื้นที่พีค NH3 ที่ได้จาก GC ควรจะเป็นศูนย์ด้วย

๓.๕ ในการทำ curve fitting ของกราฟระหว่างพื้นที่พีคกับความเข้มข้น NH3 นั้น ไม่จำเป็นต้องเป็นกราฟเส้นตรง แต่ถ้าพิจารณาแล้วคิดว่าการใช้กราฟเส้นตรงที่ยังคับให้ผ่านจุดศูนย์ดูแล้วไม่เข้ากับข้อมูล ก็ให้ทดลองใช้ฟังก์ชัน polynomial อันดับ 2 ดูก็ได้ (โดยบังคับให้ผ่านจุดศูนย์)

เรื่องงานในฉบับนี้คงพอแค่นี้ก่อน แล้วค่อยว่ากันใหม่อีกที

วันพฤหัสบดีที่ 23 กุมภาพันธ์ พ.ศ. 2555

GC-2014 ECD & PDD ตอนที่ ๑๘ การคำนวณพื้นที่พีค NH3 MO Memoir : Thursday 23 February 2555


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

รูปที่ ๑ โครมาโทแกรมของ PDD ที่ได้จากการวัดปฏิกิริยา NH3 oxidation ที่ 300ºC

รูปที่ ๑ เป็นโครมาโทแกรมของ PDD ที่ได้จากการวัดปฏิกิริยา NH3 oxidation ที่ 300ºC ในภาวะที่มีน้ำและ SO2 (ผลการทดลองของสาวน้อยหน้าบาน) ที่นำมาจากโปรแกรม GC Solution จะเห็นว่าเมื่อสิ้นสุดการวิเคราะห์ (30 นาที) สัญญาณของ PDD จะกลับมาที่ระดับเดียวกันกับตอนเริ่มต้น (ตามแนวเส้นประสีน้ำเงิน) นั่นแสดงว่าไม่มีสารใดยังคงหลุดออกมาจากคอลัมน์ (ซึ่งอาจแปลได้ว่าสารที่ฉีดเข้าไปนั้นออกมาจากคอลัมน์หมด หรือมีบางสารตกค้างอยู่ในคอลัมน์โดยไม่หลุดออกมา ณ อุณหภูมิที่ใช้ในการวิเคราะห์) 
 
พีคของ N2O และ NH3 อยู่ในบริเวณกรอบสีแดงที่แสดงในรูปที่ ๑ โดยพีคของ N2O จะออกมาที่เวลาก่อน 2 นาทีเล็กน้อยโดยอยู่บนส่วนหางของพีคที่เกิดจากการขยับวาล์ว 3 จากตำแหน่งเก็บตัวอย่างไปยังตำแหน่งฉีดสารตัวอย่าง ส่วนพีค NH3 จะออกมาหลังเวลา 2 นาทีเล็กน้อย โดยอยู่บนส่วนท้ายของพีคที่เกิดจากการขยับตำแหน่งวาล์ว 3 (ดูรูปที่ ๒ ในหน้าถัดไปประกอบ)
ในกรณีของเรานั้นโชคดีที่พีค N2O ไม่ซ้อนทับกับพีค NH3 และการใช้อุณหภูมิคอลัมน์ที่ 150ºC ทำให้เราลดปัญหาการมีพีคน้ำซ้อนอยู่บริเวณใต้พีค NH3 ไปได้

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

ในการนำโครมาโทแกรมมาคำนวณพื้นที่พีคด้วยโปรแกรม fityk นั้น ขอให้ทำตามขั้นตอนดังต่อไปนี้
๑. ใช้โครมาโทแกรมช่วงเวลา 1.5-4.0 นาที

๒. ขอบเขตทางด้านซ้าย (จุดเริ่มต้น) ของพีค NH3 ให้ใช้ตำแหน่งที่โครมาโทแกรมมีการวกกลับ (ตรงตำแหน่งลูกศรสีแดงในรูปที่ ๒)

๓. ทำให้จุดข้อมูลที่อยู่ทางด้านซ้ายของจุดเริ่มต้นพีค NH3 กลายเป็น inactive

๔. ของเขตทางด้านขวาให้ใช้ตำแหน่งที่เวลา 3.5 นาที

๕. จุดที่จะให้ลากเส้น base line ให้อยู่ต่ำกว่ากราฟโครมาโทแกรมเพียงเล็กน้อย อย่าให้เส้น base line ตัดหรืออยู่บนโครมาโทแกรม (ดูรูปที่ ๓ ประกอบ) เพราะฟังก์ชันที่เราจะใช้ fit curve (splitGaussina) นั้นมีค่าเป็นศูนย์หรือติดลบไม่ได้ มันมีค่าเข้าใกล้ศูนย์ได้แต่จะไม่เป็นศูนย์

๖. หลังจากได้แนวเส้น base line แล้วให้ใช้คำสั่ง strip background ในโปรแกรม fityk ก็จะเป็นการตัด base line ออก โครมาโทแกรมหลังการตัด base line จะเป็นดังรูปที่ ๔

๗. ในการทำ peak fitting ของพีค NH3 นั้น ให้ใช้ข้อมูลเริ่มจากตำแหน่งที่สัญญาณมีการวกกลับ (จากข้อ ๒) ไปจนถึงตำแหน่งเวลาที่ประมาณ 2.3 นาที (ดูรูปที่ ๔) สัญญาณช่วงนี้เมื่อตัด base line ออกไปแล้วผมคิดว่าเป็นเฉพาะสัญญาณของ NH3 เท่านั้น ถ้าเลือกสัญญาณออกไปทางด้านขวามากเกินไปจะทำให้พีคที่ได้นั้นมีการนำพื้นที่ส่วนต้นพีคของพีคอื่นที่อยู่ทางด้านขวาของพีค NH3 เข้ามาคำนวณด้วย แต่ถ้าเลือกสัญญาณเข้าทางซ้ายมากเกินไปจะทำให้การทำ peak fitting นั้นออกมาไม่ดี

๘. เมื่อเลือกตำแหน่งขอบเขตทางด้านขวาได้แล้ว ให้ทำการเติมพีคโดยใช้คำสั่ง auto-add โดยเลือกเติมพีคชนิด splitGaussian (ฟังก์ชันพีค Gaussian ที่ไม่สมมาตร) จากนั้นให้ใช้คำสั่ง Start fitting โปรแกรมก็จะทำการปรับพีคที่เติมเข้าไปนั้นให้เข้ากับพีค NH3 ที่เลือกเอาไว้

๙. ถ้าเลือกขอบเขตด้านขวาได้เหมาะสม พีคที่ได้จากการทำ peak fitting (พีคสีน้ำเงินในรูปที่ ๕) จะมีจุดยอดพีคใกล้เคียงกับจุดยอดพีค NH3 ของโครมาโทแกรม (ดูรูปที่ ๕) แต่ถ้าเลือกขอบเขตทางด้านขวาของพีคไม่เหมาะสม พีคที่ได้จากการทำ peak fitting จะมีจุดยอดขยับไปทางด้านซ้ายและแตกต่างไปจากจุดยอดพีค NH3 ของโครมาโทแกรมจนเห็นได้ชัดเจน (ดูรูปที่ ๖)


รูปที่ ๓ แนวทางการลากเส้น base line โดยใช้โปรแกรม fityk ตำแหน่งจุดทางด้านซ้ายให้ใช้จุดที่โครมาโทแกรมมีการวกกลับ ส่วนตำแหน่งจุดทางด้านขวาให้ใช้ตำแหน่งเวลาที่ 3.5 นาที

รูปที่ ๔ โครมาโทแกรมของรูปที่ ๓ หลังการตัด base line แล้ว

 รูปที่ ๕ พีคสีน้ำเงินคือพีค NH3 ที่ได้จากการทำ peak fitting ด้วยโปรแกรม fityk ค่าความสูง พื้นที่พีค และพารามิเตอร์ต่าง ๆ ของพีคอ่านได้จากตารางต่าง ๆ ที่อยู่ทางด้านขวาของโปรแกรม


รูปที่ ๖ ถ้าเลือกขอบเขตด้านขวาออกมาทางด้านขวามากเกินไป จะเห็นว่าพีคที่ได้จากการทำ peak fitting (เส้นสีน้ำเงิน) นับจากช่วงยอดพีคออกมาทางด้านขวาจะแตกต่างจากโครมาโทแกรมอยู่มาก และตำแหน่งยอดของพีคจะลดต่ำลงและขยับไปทางด้านซ้าย

ผมอยากให้สาวน้อยหน้าบานและสาวน้อยจากเมืองชายทะเลทดลองคำนวณพื้นที่พีค NH3 ตามวิธีการที่ได้กล่าวมานี้ก่อน เพื่อที่จะได้ดูว่ามันใช้การได้ดีหรือไม่ ถ้าเป็นไปได้อยากให้ทดลองกับโครมาโทแกรมที่ได้จากการทำ calibration curve ของ NH3 ก่อน

วันศุกร์ที่ 10 มิถุนายน พ.ศ. 2554

GC - peak fitting ตอนที่ ๑ การหาพื้นที่พีคที่เหลื่อมทับ MO Memoir : Friday 10 June 2554


หมายเหตุ
: แม้ว่าเรื่องนี้จะเขียนโดยใช้โครมาโทแกรมของ GC เป็นตัวอย่าง แต่ก็สามารถนำความรู้นี้ไปใช้กับโครมาโทแกรมของ HPLC ได้เช่นเดียวกัน


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


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

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


รูปที่ ๑ ตัวอย่างพีค GC ที่มีการเหลื่อมทับกัน และวิธีการแบ่งพีคที่ใช้กันมาตั้งแต่อดีต ซึ่งใช้วิธีหาตำแหน่งจุดวกกลับระหว่างพีคสองพีค (อยู่ที่ประมาณ 3.00) และลากเส้นแบ่งในแนวดิ่งที่ตำแหน่งนั้น


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

วิธีการที่เหมาะสมกว่าและให้พื้นที่พีคแต่ละพีคที่ถูกต้องกว่าคือการนำโครมาโทแกรมดังกล่าวมาทำการแยกพีค (peak deconvolution) พีคโครมาโทแกรมนั้นสามารถทำการ fitting ได้โดยใช้ฟังก์ชัน Gaussian ที่ไม่สมมาตร (ในโปรแกรม fityk เรียกฟังก์ชันดังกล่าวว่า SplitGaussian) คือฟังก์ชัน Gaussian ที่มีความกว้างของพีคด้านซ้ายและด้านขวาของจุดสูงสุดไม่เท่ากัน

อันที่จริงโครมาโทแกรมในรูปที่ ๑ ได้มาจากการรวมฟังก์ชัน Gaussian ที่ไม่สมมาตรสองฟังก์ชันเข้าด้วยกัน คือฟังก์ชันเส้นสีแดงและเส้นสีเขียวดังแสดงในรูปที่ ๒ ข้างล่าง


รูปที่ ๒ เส้นกราฟในรูปที่ ๑ นั้นได้มาจากการรวมฟังก์ชัน Gaussian ที่ไม่สมมาตรสองฟังก์ชันเข้าด้วยกัน เส้นประสีแดงคือรูปร่างของพีค A ส่วนเส้นประสีเขียวคือรูปร่างของพีค B เส้นทึบสีม่วงได้จากการรวมสัญญาณของพีค A และ B เข้าด้วยกัน


จากตัวอย่างในรูปที่ ๒ จะเห็นว่าความสูงที่แท้จริงของพีค A นั้นจะสูงเท่ากับพีคของโครมาโทแกรมที่ได้ ทั้งนี้เป็นเพราะในกรณีนี้พีค A ขึ้นถึงจุดสูงสุดก่อนที่พีค B จะปรากฏตัว ในกรณีของพีค B นั้นจะเห็นว่าความสูงที่แท้จริงของพีค B นั้นต่ำกว่าความสูงของโครมาโทแกรมอยู่เล็กน้อย ทั้งนี้เป็นเพราะในขณะที่สาร B หลุดออกมาจากคอลัมน์มากที่สุดนั้น สาร A ยังออกมาไม่หมด สัญญาณที่เห็นจึงเป็นสัญญาณรวมระหว่างส่วนท้ายของพีค A กับส่วนต้นของพีค B ดังนั้นในตัวอย่างนี้ถ้าเราหาปริมาณจากความสูงของพีคที่ปรากฏในโครมาโทแกรมโดยตรง เราจะหาปริมาณสาร A ได้ถูกต้องแต่จะได้ปริมาณสาร B ที่มากเกินจริงไปเล็กน้อย (ประมาณ 7%)

ทีนี้ถ้าเราหาปริมาณโดยคำนวณจากพื้นที่พีค การแบ่งตามรูปที่ ๑ นั้นจะได้พื้นที่พีค A ออกมา 0.975055 หน่วย และพื้นที่พีค B ออกมา 1.351319 หน่วย แต่ถ้าเราทำการแยกสัญญาณก่อนตามรูปที่ ๒ แล้วค่อยคำนวณพื้นที่ใต้พีคแต่ละพีคที่แยกออกมา จะได้พื้นที่พีค A ออกมา 1.073059 หน่วย และพื้นที่พีค B ออกมา 1.253314 หน่วย ซึ่งจะเห็นว่าเราได้พื้นที่ของพีค A ต่ำกว่าขนาดที่แท้จริงประมาณ 9.1% และได้พื้นที่ของพีค B สูงกว่าขนาดที่แท้จริงประมาณ 7.8%

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


รูปที่ ๓ การแบ่งพีคโดยใช้วิธีหาตำแหน่งจุดวกกลับระหว่างพีคสองพีค (อยู่ที่ประมาณ 3.10) และลากเส้นแบ่งในแนวดิ่งที่ตำแหน่งนั้น


รูปที่ ๔ เส้นกราฟในรูปที่ ๓ นั้นได้มาจากการรวมฟังก์ชัน Gaussian ที่ไม่สมมาตรสองฟังก์ชันเข้าด้วยกัน เส้นประสีแดงคือรูปร่างของพีค A (ใช้ฟังก์ชันเดียวกับของรูปที่ ๑) ส่วนเส้นประสีเขียวคือรูปร่างของพีค B (ใช้ฟังก์ชันเดียวกับของรูปที่ ๑ แต่มีความสูงเพียงแค่ 60% ของรูปที่ ๑) เส้นทึบสีม่วงได้จากการรวมสัญญาณของพีค A และ B เข้าด้วยกัน


ในกรณีหลังนี้ ความสูงที่แท้จริงของพีค A ในรูปที่ ๓ จะประมาณเท่ากับความสูงที่แท้จริงของพีค A แต่ความสูงของพีคที่สองที่ปรากฏในโครมาโทแกรมนั้นเป็นผลรวมระหว่างความสูงที่แท้จริงของพีค B และส่วนหางของพีค A ถ้าเราใช้ความสูงของพีคที่สองที่ปรากฏมาเป็นความสูงของพีค B เราจะได้ค่าความสูงของพีค B ที่สูงกว่าความเป็นจริงไปประมาณ 11.6%

ถ้าเราคำนวณพื้นที่ใต้พีคโดยใช้การแบ่งพีคแบบในรูปที่ ๓ เราจะได้พื้นที่ใต้พีค A เท่ากับ 1.006260 หน่วย ซึ่งจะต่ำกว่าพื้นที่จริง (ที่แสดงในรูปที่ ๔) อยู่ประมาณ 6.23% และจะได้พื้นที่พีค B เท่ากับ 0.818787 หน่วย ซึ่งสูงกว่าพื้นที่จริงของพีค B อยู่ประมาณ 8.9% (พื้นที่จริงของ B คือ 0.751988 หน่วย)

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

รูปที่ ๕ กรณีที่พีคแรกมีการลากหางที่ยาว และพีคที่สองที่ตามหลังมามีขนาดเล็ก ถ้าทำการแบ่งพีคตามเทคนิคดั้งเดิมจะได้พื้นที่พีคสองส่วนดังรูป


รูปที่ ๖ ในความเป็นจริง โครมาโทแกรมในรูปที่ ๕ ได้มาจากผลรวมของพีคเส้นสีแดงและเส้นสีเขียว


จะเห็นว่าถ้าทำการแบ่งพีคตามวิธีในรูปที่ ๕ จะทำให้ได้ค่าพื้นที่พีคแรกต่ำกว่าพื้นที่จริงไปมาก และได้ค่าพื้นที่พีคของพีคที่สองที่สูงกว่าพื้นที่ที่แท้จริงไปมาก พื้นที่ที่แท้จริงของพีค A คือพื้นที่ใต้เส้นประสีแดงกับแกน x และพื้นที่ที่แท้จริงของพีค B คือพื้นที่ระหว่างเส้นประสีเขียวกับแกน x แต่ในบางครั้งโปรแกรมของเครื่อง GC หรือ integrator จะคำนวณว่าพื้นที่พีค B คือพื้นที่ที่อยู่ระหว่างเส้นทึบสีม่วงและเส้นประสีน้ำเงิน ซึ่งเรื่องนี้จะเอาไว้คุยกันต่อในตอนต่อไป


เรื่องการแยกพีคยังไม่จบแค่นี้ ยังมีอีกหลายเรื่องให้เล่าต่อไปอีก แต่ฉบับนี้คงพอแค่นี้ก่อน

สำหรับสมาชิกใหม่ของกลุ่มก็อย่ามัวแต่เรียนวิชาในห้องเรียนเพียงอย่างเดียว ให้มาเรียนวิชาความรู้ที่ต้องใช้ในการทำวิทยานิพนธ์ภาคปฏิบัติด้วย และถ้าอ่าน Memoir ฉบับนี้แล้วยังไม่เข้าใจ ก็ขอให้ไปอ่าน Memoir ฉบับก่อนหน้านี้ ๓ ฉบับที่เกี่ยวข้องกับการทำ peak fitting ด้วย ได้แก่


ปีที่ ๓ ฉบับที่ ๒๖๐ วันพุธที่ ๑๖ กุมภาพันธ์ ๒๕๕๔ เรื่อง "Distribution functions"

ปีที่ ๓ ฉบับที่ ๒๖๑ วันศุกร์ ๑๘ กุมภาพันธ์ ๒๕๕๔ เรื่อง "XRD - peak fitting"

ปีที่ ๓ ฉบับที่ ๒๖๓ วันอังคาร ๒๒ กุมภาพันธ์ ๒๕๕๔ เรื่อง "UV-Vis - peak fitting"


ไฟล์ฉบับ pdf สามารถไปคัดสำเนาได้จากเครื่องคอมพิวเตอร์ส่วนกลางของกลุ่ม ผมเอาลงไว้ที่นั่นแล้ว ซึ่งเมื่อคุณได้อ่าน ๓ ฉบับที่ผมกล่าวไว้ข้างต้นก็คิดว่าคงจะยังไม่เข้าใจอยู่ดี แต่ก็น่าจะเห็นแล้วว่าในการทำงานภาคปฏิบัติเพื่อให้ได้ผลการทดลองที่ออกมาถูกต้องนั้น มันมีปัญหาอะไรบ้าง

วันศุกร์ที่ 18 กุมภาพันธ์ พ.ศ. 2554

XRD - peak fitting MO Memoir : Friday 18 February 2554 (วันมาฆบูชา)

ใน Memoir ฉบับที่แล้ว (วันพุธ ๑๖ กุมภาพันธ์ ๒๕๕๔) ได้กล่าวถึงฟังก์ชันต่าง ๆ ที่เรานำมาใช้ในการทำ curve fitting และ peak deconvolution ฉบับนี้ก็เลยจะทดลองนำฟังก์ชันที่ได้กล่าวไว้มาทำ peak deconvolution และ peak fitting โดยจะเริ่มจากสัญญาณ XRD ก่อน

รูปที่ ๑ ข้างล่างเป็นสัญญาณ XRD ของตัวเร่งปฏิกิริยา Titanium silicalite-1 (TS-1) โดยจะนำสัญญาณในช่วง 2θ ระหว่าง 6-11º มาใช้ พึงสังเกตว่าที่ตำแหน่ง 2θ ระหว่าง 8-9º จะมีพีคใหญ่อยู่ 1 พีค และที่ตำแหน่ง 2θ ระหว่าง 9-9.5º จะมีพีค 2 พีคที่ซ้อนทับกันอยู่

รูปที่ ๑ พีค XRD ของ Titanium silicalite-1 (TS-1) ที่จะนำมาทำ peak fitting และ peak deconvolution โดยจะทดลองนำเฉพาะพีคในช่วง 2θ ระหว่าง 6-11º มาใช้ (วิทยานิพนธ์ปริญญามหาบัณฑิตสาขาวิศวกรรมเคมี จุฬาลงกรณ์มหาวิทยาลัย เรื่อง "Toluene oxidation by hydrogen peroxide at elevated temperature over modified TS-1" โดยนายวิริยะ สิริดำรงเดช)


โปรแกรมที่นำมาใช้ในการทำ peak fitting และ peak deconvolution คือ "Fityk" เวอร์ชัน 0.9.7 โดยนำผลมาทำการตัด base line และวางตำแหน่งพีคเริ่มต้นจำนวน 1 พีคในช่วง 2θ ระหว่าง 6-11º และจำนวน 2 พีคในช่วง 2θ ระหว่าง 9-9.5º ก่อน จากนั้นจึงให้โปรแกรมทำการคำนวณปรับพีคที่ประมาณไว้ให้เข้ากับผลการทดลองจนได้ค่า Weight Sum of Square Residual (WSSR) ต่ำสุด

ฟังก์ชันที่ใช้ในการทำ peak fitting และ peak deconvolution คือ

1. Gaussian distribution function

2. Lorentzian distribution function และ

3. Voigt distribution function

ผลการทำ peak fitting และ peak deconvolution แสดงไว้ในรูปที่ ๒-๔ แล้ว

ในแต่ละรูปนั้น จุดสีเขียวคือข้อมูลจากการวัดจริง เส้นสีแดงคือพีคแต่ละพีคที่ได้จากการทำ peak fitting และ peak deconvolution และเส้นสีเหลืองคือผลรวมของเส้นสีแดง

รูปที่ ๒ peak fitting และ peak deconvolutionด้วย Gaussian distribution function


Centre

Height

Area

FWHM

Peak 1

8.18826

453.689

102.124

0.211464

Peak 2

9.08557

256.344

64.6816

0.237042

Peak 3

9.36292

89.0623

17.9935

0.189797

WSSR= 626.076


รูปที่ ๓ peak fitting และ peak deconvolution ด้วย Lorentzian distribution function


Centre

Height

Area

FWHM

Peak 1

8.19272

621.962

121.903

0.124776

Peak 2

9.08504

293.634

74.8748

0.162334

Peak 3

9.34087

83.8168

19.3899

0.147274

WSSR= 156.561


รูปที่ ๔ peak fitting และ peak deconvolution ด้วย Voigt distribution function


Centre

Height

Area

FWHM

Peak 1

8.19235

587.762

121.941

0.140433

Peak 2

9.08724

281.382

73.9042

0.185693

Peak 3

9.34378

85.5410

20.3378

0.154943

WSSR= 146.608


ผลออกมาปรากฏว่าทั้ง ๓ ฟังก์ชันนั้นให้ตำแหน่งของพีคทั้งสามที่สามารถกล่าวได้ว่าตรงกัน แต่มีความคลาดเคลื่อนในการทำ peak fitting แตกต่างกัน โดยฟังก์ชัน Gaussian ให้ค่าความคลาดเคลื่อนสูงสุด ในขณะที่ฟังก์ชัน Lorentzian และ Voigt ให้ค่าที่อยู่ในระดับใกล้เคียงกันและต่ำกว่าของ Gaussian หลายเท่า จุดที่ฟังก์ชัน Gaussian ทำได้ไม่ดีคือตรงบริเวณฐานของพีค เช่นตรงตำแหน่ง 2θ ระหว่าง 8.4-8.8º ซึ่งจะเห็นว่าฟังก์ชัน Lorentzian และ Voigt ประมาณค่าตรงบริเวณนี้ได้ดีกว่ามาก


ในกรณีนี้ยังมีอีกประเด็นหนึ่งที่น่าสนใจคือความกว้างของพีคที่ตำแหน่งครึ่งหนึ่งของความสูง (FWHM - Full Width at Half Maximum ) ซึ่งค่านี้มักจะถูกนำไปใช้ในการคำนวณขนาดผลึกตาม Scherrer's equation (ดู Memoir ฉบับปีที่ ๒ ฉบับที่ ๙๙ วันพฤหัสบดีที่ ๑๔ มกราคม ๒๕๕๓ เรื่อง Scherrer's equation และฉบับปีที่ ๒ ฉบับที่ ๑๐๔ วันพฤหัสบดีที่ ๒๑ มกราคม ๒๕๕๓ เรื่อง Scherrer's equation (ตอนที่ ๒) ค่า FWHM คือค่า B ที่ปรากฏในสมการใน Memoir สองฉบับนั้น) ซึ่งในกรณีที่ใช้ฟังก์ชัน Gaussian พบว่าจะให้ค่า FWHM ที่มากกว่าเมื่อใช้ฟังก์ชัน Lorentzian หรือ Voigt (ใน Memoir ฉบับที่ ๑๐๔ นั้นเรียกฟังก์ชัน Lorentzian ว่า Cauchy) ซึ่งค่า FWHM ยิ่งมากเท่าใดก็จะทำให้คำนวณได้ค่าขนาดผลึกเล็กลงไปด้วย ดังนั้นจึงอาจเป็นไปได้ว่าผลการทดลองที่รายงานว่าคำนวณขนาดของผลึกด้วย Scherrer's equation อาจให้ค่าที่ไม่ถูกต้อง เพราะทำ peak fitting และ/หรือ peak deconvolution ด้วยฟังก์ชันที่ไม่เหมาะสมก็ได้


มาถึงจุดนี้คิดว่าหลายคนคงรู้แล้วว่าทำอย่างไรผลแลปจึงจะออกมาดังความต้องการของคนบางคน