คอนโวลูชันและระบบ LTI: แบบฝึกหัดพร้อมเฉลยทีละขั้นตอน

แบบฝึกหัด คอนโวลูชันและระบบ LTI ฟรี พร้อมแผนภาพ คำใบ้ และเฉลยละเอียด ตัวเลขใหม่ทุกครั้ง สามระดับ: คอนโวลูชันไม่ต่อเนื่อง, คอนโวลูชันต่อเนื่อง, การตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์

โจทย์ฝึกฟรีง่าย
x[n]n−10−31224334h[n]n−101112134

ลำดับ x[n] = {−3, 2, 4, 3} และ h[n] = {1, 1, 1} ทั้งคู่เริ่มที่ n = 0 จงหาตัวอย่าง y[1] ของคอนโวลูชัน y[n] = x[n] ∗ h[n]

x[n] = {−3, 2, 4, 3}, n = 0…3h[n] = {1, 1, 1}, n = 0…2
โจทย์ถัดไป →

สิ่งที่คุณจะได้ฝึก

  1. ง่ายคอนโวลูชันไม่ต่อเนื่อง
  2. ปานกลางคอนโวลูชันต่อเนื่อง
  3. ยากการตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์

วิธีแก้โจทย์คอนโวลูชันและระบบ LTI

  1. ร่างสัญญาณทั้งสองและทำเครื่องหมายช่วงที่แต่ละสัญญาณไม่เป็นศูนย์
  2. กลับ h แล้วเลื่อน: สำหรับแต่ละเวลาของเอาต์พุต หาช่วงที่สัญญาณทั้งสองซ้อนทับกัน
  3. คูณแล้วบวก (ไม่ต่อเนื่อง) หรือคูณแล้วอินทิเกรต (ต่อเนื่อง) เฉพาะบริเวณที่ซ้อนทับ
  4. ตรวจสอบผลลัพธ์: เอาต์พุตเริ่มที่ผลรวมของเวลาเริ่มต้น สิ้นสุดที่ผลรวมของเวลาสิ้นสุด และพื้นที่หรือผลรวมของมันคือผลคูณของพื้นที่หรือผลรวมของอินพุต

ข้อผิดพลาดที่พบบ่อย

  • คูณสัญญาณสองตัวทีละตัวอย่างแทนที่จะทำคอนโวลูชัน
  • เลื่อน h โดยไม่กลับ ซึ่งจะได้สหสัมพันธ์
  • ใช้สูตรการตอบสนองต่อขั้นทั้งที่โจทย์ถามการตอบสนองต่ออิมพัลส์ หรือสลับกัน
  • นับลำดับฮาร์มอนิกผิด: ส่วนประกอบที่ k/T คือฮาร์มอนิก k

สูตรสำคัญ

คอนโวลูชันไม่ต่อเนื่อง
y[n] = Σ x[k]·h[n − k]
คอนโวลูชันต่อเนื่อง
y(t) = ∫ x(τ)·h(t − τ) dτ
ความยาวและผลรวม
Ly = Lx + Lh − 1, Σy = Σx·Σh
จุดเริ่มต้น จุดสิ้นสุด และพื้นที่
t1 + t3 … t2 + t4, ∫y = ∫x·∫h
ขั้นเข้าสู่ e^(−at)u(t)
y(t) = (A/a)(1 − e−at)
ระบบอันดับหนึ่ง
y′ + a·y = b·x → h(t) = b·e−atu(t)
สมการเวียนเกิดอันดับหนึ่ง
y[n] = a·y[n − 1] + b·x[n] → h[n] = b·aⁿ
ไซน์ผ่าน h(t)
|H(jω)|, ∠H(jω); H(jω) = b/(a + jω)
แอมพลิจูดของอนุกรมฟูริเยร์
สี่เหลี่ยม ±A: 4A/(kπ), k คี่; สามเหลี่ยม ±A: 8A/(π²k²), k คี่; ขบวนพัลส์: A·D และ (2A/(kπ))|sin kπD|

เรียนรู้ คอนโวลูชันและระบบ LTI ตั้งแต่ต้น

ก่อนหน้านี้: อินทิกรัล

1คอนโวลูชันทำอะไร

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

อินพุตใด ๆ มองได้เป็นแถวของการกระตุ้นที่ถูกปรับขนาดและเลื่อนเวลา การกระตุ้นแต่ละครั้งให้สำเนาของ h ที่ปรับขนาดและเลื่อนเวลา และเอาต์พุตคือผลรวมของสำเนาทั้งหมด ผลรวมนั้นคือคอนโวลูชัน y = x ∗ h

x[n]n−102112−134h[n]n−10113234

คอนโวลูชันปรากฏทุกที่ที่ระบบมีความจำ: ตัวกรอง เซนเซอร์ โครงสร้าง วงจร และการกระจายของสัญญาณตามเวลา

ตรวจสอบตนเอง ระบบหนึ่งมี h[n] = {1, 3} (n = 0, 1) อินพุตคือตัวอย่างเดียว x[0] = 2 เอาต์พุตคืออะไร
  1. y[n] = {2, 3}
  2. y[n] = {2, 6}
  3. y[n] = {3, 1}
  4. y[n] = {8}

คำตอบ: y[n] = {2, 6}. การกระตุ้นหนึ่งครั้งที่สูง 2 ให้สำเนาของ h หนึ่งชุดที่คูณ 2: {2·1, 2·3} = {2, 6} คอนโวลูชันคงรูปร่างของ h ไว้ ไม่ได้บวกตัวอย่างเข้าด้วยกัน

2คอนโวลูชันไม่ต่อเนื่องทีละขั้น

สำหรับลำดับ คอนโวลูชันคือผลรวม:

y[n] = Σk x[k]·h[n − k]
  1. กลับ h: h[−k] คือ h ที่สะท้อนรอบ k = 0
  2. เลื่อน h ที่กลับแล้วไป n
  3. คูณทีละตัวอย่างกับ x แล้วบวกผลคูณ นั่นให้ y[n]
  4. ทำซ้ำสำหรับทุก n ถ้า x มี Lx ตัวอย่างและ h มี Lh ตัวอย่าง y จะมี Lx + Lh − 1 ตัวอย่าง เริ่มที่ผลรวมของดัชนีเริ่มต้นทั้งสอง

ตรวจสอบเร็ว ๆ: ผลรวมของตัวอย่างทั้งหมดของ y เท่ากับ (Σx)·(Σh)

ตรวจสอบตนเอง สำหรับ x[n] = {1, 2} และ h[n] = {3, 1} ซึ่งทั้งคู่เริ่มที่ n = 0 y[1] เท่ากับเท่าใด
  1. 2
  2. 5
  3. 6
  4. 7

คำตอบ: 7. y[1] = x[0]·h[1] + x[1]·h[0] = 1·1 + 2·3 = 7 การคูณเพียง x[1]·h[1] ได้ 2 และ 6 เก็บผลคูณเพียงหนึ่งในสอง

3ตัวอย่างที่แก้ให้ดู

ทำตามทุกขั้นตอน ลองทำนายขั้นถัดไปก่อนเปิดดู

ตัวอย่างที่แก้ให้ดู

จงทำคอนโวลูชัน x[n] = {2, 1, −1} กับ h[n] = {1, 3} ซึ่งทั้งคู่เริ่มที่ n = 0

1

ดูลำดับทั้งสอง

x[n]n−102112−134h[n]n−10113234

x มี 3 ตัวอย่างและ h มี 2 ตัวอย่าง ดังนั้น y มี 3 + 2 − 1 = 4 ตัวอย่าง จาก n = 0 ถึง n = 3

2

y[0]

มีเพียง x[0] และ h[0] ที่ซ้อนทับกัน

y[0] = 2·1 = 2
3

y[1]

y[1] = x[0]·h[1] + x[1]·h[0] = 2·3 + 1·1 = 7
4

y[2] และ y[3]

y[2] = x[1]·h[1] + x[2]·h[0] = 1·3 + (−1)·1 = 2
y[3] = x[2]·h[1] = (−1)·3 = −3
5

ตรวจสอบคำตอบ

Σx = 2 และ Σh = 4 ดังนั้น Σy ต้องเป็น 8 จริงด้วย 2 + 7 + 2 − 3 = 8

คำตอบ

y[n] = {2, 7, 2, −3} สำหรับ n = 0 … 3

4คอนโวลูชันต่อเนื่อง

สำหรับสัญญาณในเวลาต่อเนื่อง ผลรวมกลายเป็นอินทิกรัล:

y(t) = ∫ x(τ)·h(t − τ) dτ

วิธีเหมือนกัน: กลับ h เลื่อนไปที่ตำแหน่ง t และอินทิเกรตผลคูณเฉพาะส่วนที่สัญญาณทั้งสองไม่เป็นศูนย์

x(t)t12h(t)t1

เมื่อ x(t) = 2 สำหรับ 0 ≤ t < 1 s และ h(t) = e−tu(t) เอาต์พุตขณะพัลส์เปิดอยู่คือ y(t) = ∫₀ᵗ 2e−(t − τ) dτ = 2(1 − e−t) ที่ t = 1 s ถึง 2(1 − e−1) = 1.26 และหลังจากนั้นลดลงเป็น 1.26·e−(t − 1)

  • y เริ่มที่ผลรวมของเวลาเริ่มต้นทั้งสองและสิ้นสุดที่ผลรวมของเวลาสิ้นสุดทั้งสอง
  • พื้นที่ใต้ y เท่ากับพื้นที่ใต้ x คูณพื้นที่ใต้ h
  • พัลส์สี่เหลี่ยมสองตัวให้สี่เหลี่ยมคางหมู ถ้าเท่ากันทั้งคู่จะได้สามเหลี่ยม
ตรวจสอบตนเอง x(t) ไม่เป็นศูนย์ตั้งแต่ 0 ถึง 2 s และ h(t) ตั้งแต่ 1 s ถึง 4 s y(t) = x(t) ∗ h(t) สิ้นสุดเมื่อใด
  1. 3 s
  2. 4 s
  3. 5 s
  4. 6 s

คำตอบ: 6 s. y สิ้นสุดที่ผลรวมของเวลาสิ้นสุด: 2 + 4 = 6 s มันเริ่มที่ 0 + 1 = 1 s ดังนั้นยาว 5 s ส่วน 5 s เป็นระยะเวลา ไม่ใช่เวลาสิ้นสุด

5การตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์

ระบบอันดับหนึ่ง y′ + a·y = b·x มีการตอบสนองต่ออิมพัลส์ h(t) = b·e−atu(t) ส่วนระบบไม่ต่อเนื่องที่คล้ายกัน y[n] = a·y[n − 1] + b·x[n] มี h[n] = b·aⁿ สำหรับ n ≥ 0

ไซน์ผ่านระบบ LTI โดยความถี่ไม่เปลี่ยน มันถูกขยายด้วย |H(jω)| และเลื่อนเฟสด้วย ∠H(jω) โดย H คือการแปลงฟูริเยร์ของ h สำหรับ h(t) = b·e−atu(t), H(jω) = b/(a + jω)

สัญญาณคาบที่มีคาบ T คือผลรวมของฮาร์มอนิกที่ความถี่ k/T แอมพลิจูดมาตรฐานบางส่วน:

  • คลื่นสี่เหลี่ยมระหว่าง −A และ +A: เฉพาะ k คี่ แอมพลิจูด 4A/(kπ)
  • คลื่นสามเหลี่ยมระหว่าง −A และ +A: เฉพาะ k คี่ แอมพลิจูด 8A/(π²k²)
  • ขบวนพัลส์สูง A และวัฏจักรหน้าที่ D: ค่าเฉลี่ย A·D, ฮาร์มอนิก (2A/(kπ))·|sin(kπD)|
ตรวจสอบตนเอง คลื่นสี่เหลี่ยมสลับระหว่าง −2 และ +2 แอมพลิจูดของฮาร์มอนิกที่สามเท่ากับเท่าใด
  1. 0.283
  2. 0.424
  3. 0.849
  4. 2.546

คำตอบ: 0.849. 4A/(kπ) = 8/(3π) = 0.849 ส่วน 2.546 คือความถี่พื้นฐาน 0.283 หารด้วย k² เหมือนคลื่นสามเหลี่ยม และ 0.424 ใช้ 2A/(kπ) ซึ่งเป็นสูตรของคลื่นจาก 0 ถึง A

6ข้อผิดพลาดที่พบบ่อย

  • คูณสัญญาณสองตัวทีละตัวอย่างแทนที่จะทำคอนโวลูชัน
  • เลื่อน h โดยไม่กลับ ซึ่งให้สหสัมพันธ์ ไม่ใช่คอนโวลูชัน
  • สับสนระหว่างการตอบสนองต่ออิมพัลส์กับการตอบสนองต่อขั้น: การตอบสนองต่อขั้นคือผลรวมสะสมหรืออินทิกรัลสะสมของ h
  • นับฮาร์มอนิกผิด: ส่วนประกอบที่ k/T คือฮาร์มอนิก k
ตรวจสอบตนเอง x[n] = {1, 2} และ h[n] = {1, 1} ทั้งคู่เริ่มที่ n = 0 y[1] เท่ากับเท่าใด
  1. 1
  2. 2
  3. 3
  4. 4

คำตอบ: 3. y[1] = x[0]·h[1] + x[1]·h[0] = 1 + 2 = 3 ผลคูณทีละตัวอย่าง x[1]·h[1] ได้เพียง 2

7ข้อสอบมีหน้าตาอย่างไร

  • ง่าย: คอนโวลูชันไม่ต่อเนื่อง คุณหาตัวอย่างเอาต์พุตหนึ่งตัว ตัวอย่างที่ใหญ่ที่สุด ผลรวมของตัวอย่างทั้งหมด ดัชนีแรกหรือสุดท้ายของ y เอาต์พุตของตัวกรอง FIR หรือการตอบสนองต่อขั้น
  • ปานกลาง: คอนโวลูชันต่อเนื่อง คุณหา y(t) ที่เวลาหนึ่งสำหรับพัลส์สองตัว เอกซ์โพเนนเชียลกับขั้นหรือพัลส์ หรือเอกซ์โพเนนเชียลสองตัว และพื้นที่ จุดเริ่มต้น จุดสิ้นสุด หรือระยะเวลาของ y
  • ยาก: การตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์ คุณหา h(t) ของ ODE อันดับหนึ่ง h[n] หรือการตอบสนองต่อขั้นของสมการเวียนเกิด อัตราขยายหรือเฟสของไซน์ หรือฮาร์มอนิกของคลื่นสี่เหลี่ยม สามเหลี่ยม หรือพัลส์

เรียนรู้ทีละขั้นในแอปเรียนรู้ทีละขั้นในแอป

ตัวอย่างวิธีทำ

ตัวอย่างที่ 1ง่าย
x[n]n−1041−32−234h[n]n−10311234

ลำดับ x[n] = {4, −3, −2} และ h[n] = {3, 1} ทั้งคู่เริ่มที่ n = 0 จงหาตัวอย่าง y[1] ของคอนโวลูชัน y[n] = x[n] ∗ h[n]

x[n] = {4, −3, −2}, n = 0…2h[n] = {3, 1}, n = 0…1

จงหา y[1]

แสดงคำใบ้
  1. y[n] = Σ x[k]·h[n − k]
  2. สำหรับ n = 1 พจน์คือ k = 0, 1
  3. x[0]·h[1] + x[1]·h[0].
แสดงคำตอบและเฉลยทีละขั้นตอน

คอนโวลูชันไม่ต่อเนื่อง: เอาต์พุตของระบบเชิงเส้นไม่แปรตามเวลาคือ y[n] = Σk x[k]·h[n − k]: กลับ h เลื่อนด้วย n คูณทีละตัวอย่างกับ x และบวก ถ้า x มี Lx ตัวอย่างเริ่มที่ nx และ h มี Lh ตัวอย่างเริ่มที่ nh แล้ว y มี Lx + Lh − 1 ตัวอย่างเริ่มที่ nx + nh ผลรวมของตัวอย่างทั้งหมดของ y เท่ากับ (Σx)·(Σh) ตัวกรอง FIR y[n] = b₀x[n] + b₁x[n − 1] + … เป็นคอนโวลูชันกับ h[n] = bn

พจน์ของผลรวม

เฉพาะ k ที่ทั้ง x[k] และ h[n − k] มีอยู่เท่านั้นที่มีส่วนร่วม

x[0]·h[1] = 4·1 = 4
x[1]·h[0] = −3·3 = −9

บวกเข้าด้วยกัน

y[1] = −5

คำตอบ

y[1] = −5
ตัวอย่างที่ 2ปานกลาง
x(t)t11h(t)t1

พัลส์ x(t) = 1 สำหรับ 0 ≤ t < 1 s (เป็นศูนย์ที่อื่น) ถูกป้อนเข้าระบบที่มี h(t) = e−2tu(t) จงหาเอาต์พุต y(2.5) ที่ t = 2.5 s หลังจากพัลส์สิ้นสุดแล้ว

x(t) = 1, 0 ≤ t < 1 sh(t) = e−2tu(t)t = 2.5 s

จงหา y(2.5)

แสดงคำใบ้
  1. เขียนพัลส์เป็นขั้นที่ t = 0 ลบขั้นที่ t = 1 s
  2. การตอบสนองต่อขั้นคือ (A/a)(1 − e−at)
  3. หลังพัลส์: y(t) = y(1)·e−a(t − 1)
แสดงคำตอบและเฉลยทีละขั้นตอน

คอนโวลูชันต่อเนื่อง: y(t) = ∫ x(τ)·h(t − τ) dτ กลับ h เลื่อนไปที่ตำแหน่ง t และอินทิเกรตผลคูณของส่วนที่ซ้อนทับ สำหรับสัญญาณเชิงเหตุผล อินทิกรัลไปจาก 0 ถึง t ผลที่มีประโยชน์: พื้นที่ของ y เท่ากับพื้นที่ของ x คูณพื้นที่ของ h ถ้า x ยาวจาก t₁ ถึง t₂ และ h จาก t₃ ถึง t₄ แล้ว y ยาวจาก t₁ + t₃ ถึง t₂ + t₄ สำหรับ h(t) = e−atu(t) และขั้นสูง A, y(t) = (A/a)(1 − e−at)

เอาต์พุตเมื่อสิ้นสุดพัลส์

y(1) = (1/2)(1 − e−2) = 0.4323

การลดลงหลังพัลส์

y(2.5) = 0.4323·e−2·1.5 = 0.02152

คำตอบ

y(2.5) = 0.02152
ตัวอย่างที่ 3ยาก
δ(t)y′ + 5y = 3xh(t)

ระบบเป็นไปตาม y′(t) + 5·y(t) = 3·x(t) จงหาการตอบสนองต่ออิมพัลส์ที่ t = 0.05 s, h(0.05)

y′ + 5y = 3xt = 0.05 s

จงหา h(0.05)

แสดงคำใบ้
  1. แปลงลาปลาซโดยมีเงื่อนไขเริ่มต้นเป็นศูนย์: (s + 5)Y(s) = 3X(s)
  2. H(s) = 3/(s + 5).
  3. h(t) = 3·e−5tu(t).
แสดงคำตอบและเฉลยทีละขั้นตอน

การตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์: การตอบสนองต่ออิมพัลส์ h(t) อธิบายระบบ LTI อย่างสมบูรณ์: สำหรับ y′ + a·y = b·x คือ h(t) = b·e−atu(t) และสำหรับ y[n] = a·y[n − 1] + b·x[n] คือ h[n] = b·aⁿu[n] ไซน์ cos ωt ผ่านด้วยอัตราขยาย |H(jω)| และเฟส ∠H(jω) โดย H คือการแปลงฟูริเยร์ของ h สัญญาณคาบคือผลรวมของฮาร์มอนิกที่ k/T: คลื่นสี่เหลี่ยม ±A มีเฉพาะฮาร์มอนิกคี่ที่มีแอมพลิจูด 4A/(kπ) คลื่นสามเหลี่ยมที่มียอด A มี 8A/(π²k²) และขบวนพัลส์สูง A ที่มีวัฏจักรหน้าที่ D มีค่าเฉลี่ย A·D และฮาร์มอนิก (2A/(kπ))·|sin(kπD)|

ฟังก์ชันถ่ายโอน

H(s) = Y(s)/X(s) = 3/(s + 5)

ผลตอบสนองอิมพัลส์

h(t) = 3·e−5tu(t)
h(0.05) = 3·e−0.25 = 2.336

คำตอบ

h(0.05) = 2.336

คำถามและคำตอบ

คอนโวลูชันและระบบ LTI คืออะไร

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

อินพุตใด ๆ มองได้เป็นแถวของการกระตุ้นที่ถูกปรับขนาดและเลื่อนเวลา การกระตุ้นแต่ละครั้งให้สำเนาของ h ที่ปรับขนาดและเลื่อนเวลา และเอาต์พุตคือผลรวมของสำเนาทั้งหมด ผลรวมนั้นคือคอนโวลูชัน y = x ∗ h

จะแก้โจทย์ คอนโวลูชันและระบบ LTI ทีละขั้นได้อย่างไร
  1. ร่างสัญญาณทั้งสองและทำเครื่องหมายช่วงที่แต่ละสัญญาณไม่เป็นศูนย์
  2. กลับ h แล้วเลื่อน: สำหรับแต่ละเวลาของเอาต์พุต หาช่วงที่สัญญาณทั้งสองซ้อนทับกัน
  3. คูณแล้วบวก (ไม่ต่อเนื่อง) หรือคูณแล้วอินทิเกรต (ต่อเนื่อง) เฉพาะบริเวณที่ซ้อนทับ
  4. ตรวจสอบผลลัพธ์: เอาต์พุตเริ่มที่ผลรวมของเวลาเริ่มต้น สิ้นสุดที่ผลรวมของเวลาสิ้นสุด และพื้นที่หรือผลรวมของมันคือผลคูณของพื้นที่หรือผลรวมของอินพุต
ข้อผิดพลาดที่พบบ่อยใน คอนโวลูชันและระบบ LTI มีอะไรบ้าง
  • คูณสัญญาณสองตัวทีละตัวอย่างแทนที่จะทำคอนโวลูชัน
  • เลื่อน h โดยไม่กลับ ซึ่งจะได้สหสัมพันธ์
  • ใช้สูตรการตอบสนองต่อขั้นทั้งที่โจทย์ถามการตอบสนองต่ออิมพัลส์ หรือสลับกัน
  • นับลำดับฮาร์มอนิกผิด: ส่วนประกอบที่ k/T คือฮาร์มอนิก k
แบบฝึกหัด คอนโวลูชันและระบบ LTI ครอบคลุมเรื่องอะไรบ้าง
  • ง่าย: คอนโวลูชันไม่ต่อเนื่อง
  • ปานกลาง: คอนโวลูชันต่อเนื่อง
  • ยาก: การตอบสนองต่ออิมพัลส์และอนุกรมฟูริเยร์

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

การฝึกทำงานอย่างไร

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

หัวข้อก่อนและหลังหัวข้อนี้

ควรเรียนก่อน

รายวิชาที่มีหัวข้อนี้

หัวข้ออื่นในไฟฟ้า

ใบงานสำหรับพิมพ์