[
สารบัญกลุ่มเรื่องที่กำลังศึกษา]
correlation เป็นการวัดที่ใช้บอกว่า waveform (หรือ image) สองอันใด ๆ มีความเหมือนกันแค่ไหน, autocorrelation จะบอกว่า waveform ที่เวลา t เหมือนกับตัวมันเองที่เวลา t+τ แค่ไหน (หรือภาพที่ตำแหน่ง (x,y) กับภาพเดียวกันที่ตำแหน่ง (x+σ, y+σ))
ถ้า x(t) และ y(t) เป็น waveform สองอันที่นิยามในช่วง t = [0,∞) (หมายความว่า สัญญาณถูกนิยามจาก lower limit ถึงก่อน upper limit) ฟังก์ชั่น correlation ของ x และ y คือ
เมื่อ τ ≥ 0 และ E[·] แทนค่าคาดหมายหรือค่าเฉลี่ย, สำหรับกรณี waveform ไม่ต่อเนื่อง หน้าตาสมการจะเปลี่ยนไปเป็น
เมื่อ m ≥ 0 เป็น time shift ในหน่วยแซมเปิ้ล
จากนิยาม เห็นว่า correlation เป็นผลคูณเฉลี่ยของสัญญาณสองสัญญาณ ซึ่งผลคูณถูกเฉลี่ยโดยไม่มีขอบเขตบน ฉะนั้น ตราบเท่าที่ time shift เป็นบวก เราก็ไม่ต้องกังวลกับ end effects แต่ถ้า waveform ถูกนิยามในช่วงจำกัด [0, NT] เราจะเพิ่มเงื่อนไขหรือสมมติฐาน 2 ข้อต่อไปนี้ครับ
1. นอกช่วง [0, NT] ไม่มีสัญญาณ หรือพูดว่า ค่าของสัญญาณเท่ากับศูนย์
2. สัญญาณมีลักษณะเป็นคาบ ที่คาบ = NT
ตัวอย่าง correlation ของ waveform x กับ y แสดงดังรูป, x(t) เป็นสัญญาณสี่เหลี่ยม และ y(t) เป็นสามเหลี่ยม โค้ด MATLAB ด้านล่างคำนวณ φ
xy(m) โดยขยายคาบของ y (yy = [y,y]) ไม่ให้ y
n+m หลุดขอบเวกเตอร์นะครับ
กราฟแสดงสัญญาณ x, y กรณี m = 0, m = 10 และ m = 20 ที่ x
n อยู่ที่เดิม ขณะ y
n+m (ซึ่งขยายให้เป็น yy) เลื่อนไปทางซ้าย โดย o ในกราฟ φ
xy(m) แสดง correlation ของทั้ง 3 กรณีดังกล่าว
correlation detection เป็นตัวอย่างการใช้ correlation ในงานประมวลผลสัญญาณ รูปด้านล่างแสดง target signal และ target signal ที่ผสมใน noise ที่ 1000 กับ 3700 ซึ่งถ้ามองแค่รูปกลางรูปเดียว เราอาจบอกไม่ได้ใช่มั้ยครับว่ามี target signal อยู่ตรงตำแหน่ง 1000 กับ 3700 นะ แต่เราก็สามารถตรวจจับ target signal ได้ง่ายโดยหา correlation ระหว่าง target signal กับ target signal + noise
ที่มา: หัวข้อ 3.2 Correlation หนังสือ Digital Signal Processing with Examples in MATLAB ของ S. D. Stearns กับ D. R. Hush