154
Mahanakorn University of Technology ภาควิชาวิศวกรรมอิเล็กทรอนิกส์ มหาวิทยาลัยเทคโนโลยีมหานคร EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล EEET0485 Digital Signal Processing Laboratory

EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

Mahanakorn University of Technology

ภาควชาวศวกรรมอเลกทรอนกส

มหาวทยาลยเทคโนโลยมหานคร

EEET0485 ปฏบตการ

การประมวลผลสญญาณดจตอล

EEET0485 Digital Signal Processing

Laboratory

Page 2: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

I Mahanakorn University of Technology

คานา

ค มอปฏบตการการประมวลผลสญญาณดจตอลเลมน� เปนสวนหน" งของวชาการประมวลผลสญญาณดจตอล (EEET0485) ซ" งจะใหความรและประสบการณแกผเรยนดวยโปรแกรม LabVIEW ซ" งเปนการเขยนโปรแกรมโดยใชรปในการพฒนา (Graphical-based Programming) เพ"อใชในการจาลองสญญาณและวเคราะหสญญาณในเชงดจตอลได คณะผจดทาหวงวา คมอฉบบน�จะทาใหผเรยนไดมความเขาใจในเน�อหาทางทฤษฎไดดข�น และมความรสกสนกกบการทดลอง หากพบขอผดพลาด หรอมขอแนะนาเพ"อปรบปรงประการใด กรณาแจงตออาจารยผสอนจกเปนพระคณอยางสง

หองปฏบตการอเลกทรอนกสข�นสง

ภาควชาวศวกรรมอเลกทรอนกส มหาวทยาลยเทคโนโลยมหานคร

Page 3: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

II Mahanakorn University of Technology

สารบญ

หนา การทดลองท" 1

Introduction to LabVIEW การทดลองท" 2

การสรางและวเคราะหสญญาณ I การทดลองท" 3

การสรางและวเคราะหสญญาณ II การทดลองท" 4

การชกตวอยางสญญาณ (Sampling) การทดลองท" 5

การแปลง DTFT/ DFT การทดลองท" 6

การแปลง FFT การทดลองท" 7

ตวกรอง FIR การทดลองท" 8

การประยกตใชงานตวกรองแบบ FIR การทดลองท" 9

การประยกตใชงานตวกรองแบบ FIR และ IIR การทดลองท" 10

การประมวลผลสญญาณหลายอตราชกตวอยาง การทดลองท" 11

Fixed-point Experiments with LabVIEW

การทดลองท" 12 ดทเธอร (Dither)

การทดลองท" 13 Noise Shaping with LabVIEW I

การทดลองท" 14 Noise Shaping with LabVIEW II

1

19

37

42

55

59

65

69

72

80

85

104

121

138

Page 4: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

1 Mahanakorn University of Technology

1. Introduction to LabVIEW

บทนา

การประมวลผลสญญาณดจตอล หรอ Digital Signal Processing (DSP) จะเปนการศกษาความเขาใจทางทฤษฏและโครงสรางการทางานของหลกการตางๆ ซ< งจะอยบนพAนฐานทางคณตศาสตร เพ<อจะนาไปสการสรางอลกอรธมเพ<อประยกตใชงานไดอยางมประสทธภาพ โดยในสวนของงาน DSP นAนจะอยในรปแบบของการใชเปนตวประมวลผล เชนงานเกบขอมล (Data Acquisition), การวเคราะหสญญาณทAงทางเวลาและความถ< หรอการดงลกษณะสาคญของขอมล (Feature Extraction), การเขารหส (coding) และถอดรหส (decoding), การลดขนาดขอมล (Compression) เปนตน โดยซอฟทแวรท<จะสามารถ Simulation และสามารถแสดงผลทางหนาจอท<สวยงาม และมเมนโตตอบกบผใชท<เรยกวา Human Machine Interface หรอ HMI ท<สะดวกและเขาใจงาย อกทAงมฟงกชนทาง DSP ท<หลากหลาย ซอฟทแวรนAนคอ LabVIEW โดยมขอดท<สามารถนามาใชงานทางดาน DSP ไดดงนA 1. มหนาจอ User Interface ท<งายตอการพฒนาโปรแกรม LabVIEW จะมหนาจอท<ทาหนาท<ส<อสารกบผใชงานโดยเฉพาะ หนาจอนA เรยกวา Front

Panel โดยมกลมอปกรณท<เรยกวา “Control” ใหเลอกใช 2. การเขยนโปแกรมเปนกราฟฟกและดบกงาย การเขยนโปรแกรมใน LabVIEW จะเปนแบบกราฟฟก ในรปของบลอกไดอะแกรมและสญลกษณ โดยฟงกชนบลอกจะทางานบนหนาจอ Block Diagram ซ< งหนาจอนA จะทางานรวมกบหนาจอ Front panel อยตลอดเวลา การทางานของโปรแกรม LabVIEW ใชหลกการท<เรยกวา การ

ไหลของขอมลหรอ “Data Flow Programming” ทาใหการดบกโปรแกรมงาย เพราะแตละขAนตอนการทางานจะแสดงเปนเสนทางเดนของลกบอลสแดงว<งไปตามเสนทางเช<อมตอระหวางบลอกเพ<อแสดงการไหลของขอมลในขณะนAน 3. การเช<อมตอกบอปกรณไดหลากหลาย LabVIEW สามารถ “คย” กบอปกรณหลายชนด มฟงกชนบลอกท<ใหเลอกใชงานกบโปรโตคอลและมาตราฐานตางๆ เชน Serial, Parallel, GPIB, TCP/IP และ VISA กบ VXI รวมถงการใชสภาพแวดลอมท<เปน .NET และระบบฐานขอมล (Database) ดวย

Page 5: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

2 Mahanakorn University of Technology

4. มเคร<องมอชวยดาน DSP ใน LabVIEW ม Toolset เก<ยวกบ DSP มากมายเชน บลอกการสรางสญญาณ, บลอกการทา Convolution, FFT, Digital Filter Design, Linear Algebra, Wavelet Analysis, Joint Time-Frequency Analysis ทาใหงานท<เก<ยวกบการวเคราะหสญญาณนAนเปนไปไดอยางสะดวกรวดเรว ดวยคณสมบตขางตน ทาใหเราสามารถใช LabVIEW มาพฒนางาน DSP ท<ใชไดจรง ดงตวอยางในรปท< 1.1 ซ< งเปนตวอยางงานทาง DSP ท<ทาการสรางและวเคราะหสญญาณท<มหนาจอ HMI ท<สมบรณและสวยงาม

รปท* 1.1 ตวอยางของงาน DSP ท<พฒนาดวย LabVIEW

เร*มตนใชงาน LabVIEW

เร<มตนใชงาน LabVIEW 8.2 เราจะพบหนาจอดงในรปท< 1.2 ซ< งเม<อเสรจการ initialization แลว จะปรากฏหนาจอ Getting started ดงรปท< 1.3

Page 6: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

3 Mahanakorn University of Technology

รปท* 1.2 หนาจอของ LabVIEW 8.2

รปท* 1.3 หนาจอ Getting Started

ใน LabVIEW ตAงแตเวอรชน 8.0 เปนตนมา จะสามารถคอนฟกใหสภาพแวดลอมในการทางานเปนแบบ Project ซ< งเหมาะกบการทางานพฒนางานแอพพลเคชนขนาดใหญท<มไฟลท<เก<ยวของจานวนมาก ซ< งเปนรปแบบสภาพแวดลอมแบบเดยวกบ Visual Basic, Visual C++ หรอ

Page 7: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

4 Mahanakorn University of Technology

Visual อ<นๆ แตในการทดลองนA เราจะเลอกการทางานในรปแบบของ “เคร*องมอเสมอน” หรอ “Virtual Instrument” หรอ VI โดยจากหนาจอ Getting Started เม<อเลอก New >> Blank VI จะปรากฏจอ Front Panel และ Block Diagram ของ VI ดงแสดงในรปท< 1.4

รปท* 1.4 หนาจอ Front Panel และชด Controls

Front Panel นAนเปนเสมอนหนาตางท<โตตอบกบผใชงานผานทางชดอปกรณท<มใหเลอกหลากหลาย เชน อปกรณคอนโทรล (Controls) เชน ลกบด, สวทซ, สไลเดอร, เรดโอบทตอน เปนตวรบคาจากผใช หรอ อปกรณแสดงคา (Indicators) เชน หลอดไฟ, มเตอร, เกจ, text box, กราฟ, ชารท และอ<นๆ หนาจอท<ปรากฏขAนมาดวยคอ หนาตาง Block Diagram ดงแสดงในรปท< 1.5 นAนเปนหนาจอท<เราจะใชเขยนโปรแกรม โดยอาศยบลอกการทางานตางๆ ท<เรยกวาฟงกชน ซ< งถกแบงออกเปนกลมๆ ตามลกษณะของการทางาน เชน กลมโปรแกรมม<ง ท< มกลมยอยเชน บลอกคณตศาสตร เชน บวก, ลบ, คณ, หาร กลมบลอกบลน กลมบลอกเปรยบเทยบ และกลมบลอกโครงสรางโปรแกรม เชน การ For loop, While loop หรอ กลมบลอก Signal Processing ท<เก<ยวของกบงาน DSP

Page 8: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

5 Mahanakorn University of Technology

รปท* 1.5 หนาจอ Block Diagram และชด Function

การเลอกดอปกรณทAงคอลโทรล, อนดเคเตอร หรอ ฟงกชนบลอก วามอะไรบางนAน ทาไดงายๆ เพยงคลกเมาสปมขวาเทานAน และเม<อพบอปกรณท<ตองการแลว กเพยงแคลากมาวางไวในหนาจอท<ตองการเทานAนกสามารถใชงานไดทนท ในการทางาน DSP ดวย LabVIEW นAน ไดมเคร<องมอท<รองรบการทางานดาน DSP ไวอยางครบครนในรปแบบของเคร<องมอชวยหรอ Tools ซ< งอยในบลอกฟงกชน Signal Processing ซ< งรวบรวมฟงกชนท<จาเปนทAงในดานโดเมนเวลา เชน Waveform generation ตA งแตสญญาณมาตราฐานไซน จนกระท<งสญญาณท<เปนมลตโทน (multitone), Waveform Measure เชน การวด

Page 9: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

6 Mahanakorn University of Technology

คาเฉล<ย คาทรานเชA ยนตของรปคล<น และฟงกชนในโดเมนความถ< เชน การหาเพาเวอรสเปคตรม, การแปลงฟรเยร การทาตวกรองดจตอลแบบตางๆ ตวอยางแสดงในรปท< 1.6

รปท* 1.6 ฟงกชนบลอก Signal Processing

แตในการทดลองนA เรามาลองดการใชงาน LabVIEW เพ<องานทางดาน DSP ดวยตวอยางการทางานแบบงายๆ กนกอน คอการทางาน arithmetic ของตวเลขสองจานวน

การทดลองท* 1.1 การสราง VI เบ@องตน ในตวอยางงายๆ เบAองตน สาหรบการใชงาน LabVIEW กคอตองการ VI ท<ทาหนาท<บวกเลขสองจานวนคอ A, B พรอมทAงแสดงผลลพธ C ออกทางหนาจอดวย ดงนAนส<งท<เราตองการกคอ VI ท<ทาสมการ A+B = C การรบคาตวเลขจากหนาจอจะตองใช Control ท<เปน Numeric สวนการแสดงผลจะตองใช

อนดเคเตอรท<เปน Numeric เชนกน โดยเราเลอกตวคอนโทรลแบบ Numeric คอ จาก

Numeric >> Numeric Control แสดงดงรปท< 1.7 เม<อวาง ลงใน Front panel แลวจะ

ปรากฏฟงกชนบลอก ในหนาจอบลอกไดอะแกรม ดงรปท< 1.8

Page 10: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

7 Mahanakorn University of Technology

รปท* 1.7 Numeric Control จาก Controls

รปท* 1.8 Front panel เม<อวาง Numeric Control และฟงกชนบลอกในหนาจอ Block Diagram

Page 11: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

8 Mahanakorn University of Technology

จากนAนทาซA าอกครA งสาหรบ Numeric Control อกหน< งตวสาหรบตวแปร B แตสาหรบผลลพธ C

นAนเราจะใชอนดเคเตอร โดยเลอกเปนบลอก หลงจากนAนกทาการเปล<ยน label ของทAง Numeric Control และ Indicator ใหเปนตวอกษรท<มความหมายเชน A, B และ C เพ<อท<โปรแกรมจะทางานใหเปนไปตามสมการ A + B = C ซ< งทาไดโดยการคลกท< label แลวเปล<ยนเปนตวอกษรท<ตองการ

รปท* 1.9 Numeric Control และ Indicator

ตอไปกเลอกฟงกชนการบวก ไดจาก Function >> Numeric >> Add

รปท* 1.10 ฟงกชน Add จาก Programming

Page 12: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

9 Mahanakorn University of Technology

จากนAนนาฟงกชน ไปวางไวในหนาจอบลอกไดอะแกรม ซ< งจะเปนสวนของการเขยนโปรแกรมของเรา จากนAนทาการลากสายเช<อมตอระหวางบลอกทAงหมด ดงแสดงในรปท< 1.11

รปท* 1.11 หนาจอ Block Diagram เม<อเช<อมตอสายระหวางบลอก

จะได VI ท<เสรจสมบรณแลว โดย VI ท<ไดนA คอโปรแกรมท<ทาหนาท<บวก A และ B เพ<อจะ

ไดคา ผลลพธเปน C การรนโปรแกรมกเพยงคลกปม Run หรอ ระบบกจะสามารถทาการบวกให โดยผใชสามารถเปล<ยนแปลงคาของ A และ B ไดจากคอนโทรล A และ B ซ< งสามารถใสคาลงในชองไดโดยตรงหรอ การกดเล<อนคาจากปมลกศรจากตวคอนโทรล จากนAน save โดยใชช<อโปรแกรมวา “simple.vi” โดยในหนาจอ Front panel นAนเราสามารถตกแตงเพ<มเตม เพ<อใหงายแกการใชงานมากขAน

รปท* 1.12 หนาจอ “simple.vi” ท<ตกแตงเพ<อใหเขาใจไดงาย

การรนโปรแกรมสามารถทาไดโดยกดปมไอคอน หรอ กด Ctrl + R โดยเราสามารถทดลองรน “simple.vi” ไดทนท พรอมกบทดลองเปล<ยนคาของ A และ B เพ<อดผลลพธ C

Page 13: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

10 Mahanakorn University of Technology

ขณะโปรแกรมกาลงรนอย ไอคอน จะเปล<ยนรปรางเปน และหากตองการใหหยด

การรน กจะตองคลกปม STOP ( ) แตตอนนAการรนโปรแกรมจะเกดขAนเพยงครA งเดยว หรอรอบ

เดยว หากตองการใหโปรแกรมสามารถรนไดตอเน<อง กจะตองเลอก โปรแกรมจะรนตอเน<องไดหากมการเขยนตวควบคมการรน เชนการใส While loop ดงแสดงในหวขอถดไป

การทดลองท* 1.2 การเพ*ม While loop หากตองการใหโปรแกรมสามารถรนไดอยางตอเน<องนAน บลอกท<ทาหนาท<คอนโทรลการ

รน โดยสวนมากเราใช While loop ซ< งมความหมายวาเปนการ “รนโปรแกรมไปจนกวาจะพบ

เง*อนไขการหยดท*ถกตอง” เง<อนไขการหยดท<วาอาจเกดจากการทางานของโปรแกรมเอง หรอจากการรบคาส<งจากผใชงาน เชน การกดปมยกเลกการทางาน

บลอก While loop ใน LabVIEW จะใชไอคอนเปน จาก Programming >>

Structure >> While Loop ในโปรแกรมท<เปน Text ทAงหลายจะใช “While” และ “end” ครอบสวนของโปรแกรมท<ตองการ หรอ While [เง<อนไข] [โปรแกรม] end วธการใช While loop ใน

LabVIEW กคอการใชบลอก ครอบลงไปในสวนบลอกท<เราตองการ เชนเดยวกบในการ

เขยนโปรแกรมแบบ Text น<นเอง ดวธการใส ใน VI ไดจากรปท< 1.14

รปท* 1.13 การเลอก While loop

Page 14: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

11 Mahanakorn University of Technology

รปท* 1.14 การใส While loop

จากรปสงเกตวา หากไมใสเง<อนไขการหยดทางานใหกบ While loop แลว จะเกดความ

ผดพลาดหรอ Error ขAน ท<แสดงดวยไอคอน ซ< งหากคลกเขาไปด LabVIEW จะแสดงเหตผลของ Error ท<เกดขAน โดย Error ท<เกดขAนในตอนนA เกดเน<องจากตวแสดงเง<อนไข Loop condition ท<แสดงดวย นAน ยงไมไดรบการกาหนดเง<อนไข หนาจอแสดง Error แสดงในรปท< 1.15 การแกไข Error นAกเพยงแคใส Control เพ<อแสดงเง<อนไขการทา While loop ซ< งเราเลอกเปนปมกดตดปลอยดบช<อ Stop ( ) ท<ไดมาจาก Control >> Boolean >> Stop Button ดงในรปท< 1.16 จากนAนเรากจะลากบลอก ซ< งเปน Boolean นAนลงมาในสวนของ Front panel แลวลากสายใหเช<อมตอกบเง<อนไขยกเลกการทา While loop

Page 15: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

12 Mahanakorn University of Technology

รปท* 1.15 หนาจอแสดงรายการ Error

รปท* 1.16 Stop button

Page 16: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

13 Mahanakorn University of Technology

รปท* 1.17 simple.vi ท<ม while loop ท<มเง<อนไขการหยด

เทานA เรากจะไดโปรแกรมการบวกท<สามารถรน เรยบรอยแลว เม<อกดปม กจะปรากฏการรน

ตอเน<อง ขAน จนกวาจะยกเลกดวยการกดปมยกเลก หรอ stop บนเมน ในรปท< 1.17 จะปรากฏวามบลอกการตAงเวลาการทางานใน While loop ดวย โดยสญลกษณ

ของฟงกชนบลอกเปน โดยไดมาจาก Function >> Programming >> Timmimg >> Wait

until next multiple สาเหตท<ตองใชบลอกตAงเวลากคอวา ใน While loop นAนจะทางานตอเน<องจาก loop เกาไป loop ถดไปโดยไมมชวงหยดพก ซ< งจะทาใหโปรแกรมนAจองเวลาของ CPU เตมท<จนไมมเวลาไปทางานอ<นๆ ไดเลย ดงนAนจงควรจะมสวนของการตAงคาหนวงเวลาของการวนแตละ loop ดวย โดยการตAงเวลาทาไดจาก การใสอนพทเปนคาคงท<ซ< งมบลอกเปน โดยมหนวย มลลวนาท

ซ< งเขยนเปนชดบลอกท<เปนมาตราฐานเชน นAนหมายความวา เราตAงคาใหมการรอเปนเวลา 200 มลลวนาท กอนท< loop ถดไปจะเร<มทางาน

Page 17: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

14 Mahanakorn University of Technology

การทดลองท* 1.3 การเพ*มตวเลอกดวย Case structure จากโปรแกรม simple.vi สามารถทา operation ทางคณตศาสตร ไดมากกวาเพยงแคการบวก กคอการลบ (subtract) และการคณ (multiply) ดวย โดยผใชงาน หรอ user สามารถปรบเปล<ยน operation ท<ตองการ ระหวางการบวก การลบ การคณ ไดจากหนาจอโดยตรง การกาหนดท<ใหผใชสามารถเลอกวาจะใช operation ใดนAน กคอการท<ตองมกรณการเลอกไวดวย ซ< งในท<นA เราใชการเลอก “กรณการทางาน” หรอ Case Structure ซ< งเปนตวเลอก วธการ operation ระหวาง A และ B

ใน LabVIEW จะใชตว Case Structure การเลอกใช กทาเชนเดยวกบการทา While loop โดยเลอกให Case Structure นAครอบโปรแกรมสวนท<ตองการ ซ< งในท<นA กคอเฉพาะสวนฟงกชนการบวก ซ< งเม<อเพ<ม Case Structure แลวเราจะได VI ท<มลกษณะดงรปท< 1.18 สงเกตวา Case Structure นAนมการรบคาเง<อนไขผานทางจดเขาของ Case Structure ซ< งแสดงดวยเคร<องหมาย

คาถาม โดยคาดฟอลตจะเปน Boolean ซ< งหมายถงคา True-False แตสามารถเปล<ยนให Case Structure นA รบเง<อนไขเปนแบบหมายเลข เชน 0, 1, 2... ได ขAนกบชนดของ Control

รปท* 1.18 การเพ<ม Case Structure

Page 18: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

15 Mahanakorn University of Technology

เน<องจากโครงสรางของ Control ท<เราใชเปนการเลอก การบวก คณ และลบ เราจะใชตวเลอกท<

เรยกวา Text ring box ซ< งใหการตอบสนองตอการเลอก Ring เปน Numeric จะไดจาก Control >> Moderns >> Ring & Enum >> Text Ring

รปท* 1.19 หนาจอเม<อใส Text ring แสดง operation

ซ< งเม<อเราคลกขวาท< Text Ring และเลอก Edit Items เพ<อใสคาแทนความหมายของ Ring โดยการกาหนดคาตวเลข (value) เปน 0, 1 และ 2 สาหรบ Add, Multiply และ Subtract ตามลาดบ เพ<อนาไปเปนเง<อนไขการทางานของ Case Structure การกาหนดพารามเตอรแสดงในรปท< 1.20 เม<อกาหนด

พารามเตอรให Ring แลว การลากสายจากบลอก ท<ใหเอาทพตเปน Numeric เขาท< Case

Structure ณ จด จะเปล<ยนเง<อนไขการรบคาของ Case Structure จาก Boolean เปน Numeric โดยอตโนมตดงแสดงในรปท< 1.21

Page 19: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

16 Mahanakorn University of Technology

รปท* 1.20 การกาหนดพารามเตอรของ Text Ring

รปท* 1.21 การเช<อมสายของ Text ring เขากบ Case structure

สงเกตวา Add เปน case “1” ซ< งเราสามารถจดโครงสราง case นA ใหเปน case “0” หรอ

“default” ไดโดยการคลกขวาท< case แลวใชเมน Make this case 0, default

Page 20: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

17 Mahanakorn University of Technology

ทาการเพ<มสวนท<เปนกรณของการคณ และลบดวย แตเน<องจากวาในขณะนA Case Structure มอยเพยง 2 กรณสาหรบคาอนพตท<เปน 0 (Add) และ 1 (Multiply) เทานAน ตองทาการเพ<มอก1 กรณสาหรบการรบคา 2 (Subtract) ดวยการคลกขวาท< Case แลวเลอกเมน Add Case After เทานAนกจะได Case เพ<มขAนมาเพ<อรองรบกรณของการลบแลว แตเม<อคลกดใน Case ท< 1 และ 2 นAน จะพบวายงไมมการสราง operation ใดๆ เลย แตเราสามารถสราง operation รองรบในทAงสอง Case นA ไดงายๆ โดยการเพ<มบลอก และ สาหรบ Case 1 และ Case 2 ตามลาดบ จากนAนทาการเช<อมโยงสายอนพตและเอาทพตเชนเดยวกบท<ทากบบลอกบวก ดงรปท< 1.22

(a) (b)

รปท* 1.22 (a) Case 1 สาหรบการ Multiply (b) Case 2 สาหรบการ Subtract ทาการตกแตงหนาตาของโปรแกรมใหดสวยงาม ดวยเคร< องมอในชด Control >>

Decoration ตามใจชอบ

Page 21: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

18 Mahanakorn University of Technology

รปท* 1.23 โปรแกรม “simple.vi” ท<เสรจสมบรณ

สรป

ในการทดลองนA เราพบวา LabVIEW นAนเปนชดพฒนาแอพพลเคชน ท<มความสามารถในการแสดงหนาจอท<สวยงาม มเมนการโตตอบกบผใช HMI ท<สะดวกและเขาใจงาย อกทAงมฟงกชนทาง DSP อยครบครน สวนตวอยางใน Lab นA เราใช LabVIEW สรางโปรแกรมพAนฐานอยางงายๆ เพ<อใหเหนวธการใชงานเพ<อเปนพAนฐานสาหรบการใช LabVIEW ในการทางาน DSP ท<ซบซอนมากขAนในตอนตอๆไป เอกสารอางอง

1. เอกสาร “Getting Started with LabVIEW” สามารถดาวนโหลดไดจาก http://www.ni.com/pdf/manuals/373427a.pdf

Page 22: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

19 Mahanakorn University of Technology

2. การสรางและวเคราะหสญญาณ I

วตถประสงค

1. เพ�อใหเขาใจกระบวนการสรางและวเคราะหสญญาณแบบไมตอเน�องทางเวลา 2. เพ�อใหสามารถประยกตการสรางและวเคราะหสญญาณแบบไมตอเน�องทางเวลาในการใช

งานจรงได

การสรางและการแสดงผลสญญาณไซน

ส�งสาคญท�สดในเร�องการประมวลผลสญญาณ กคอ “สญญาณ” น�นเอง และสญญาณท�มความเปนพ2นฐานมากท�สดกคอ สญญาณไซน (Sinusoidal Signal) LabVIEW Signal Processing VIs มบลอกสาหรบทาหนาท�สรางสญญาณไซนถง 5 บลอก แตละบลอกทาหนาท�คลายๆกน แตมความแตกตางกนบางในรายละเอยด บลอกท2งหมดแสดงในรปท� 2.1

สญญาณออกเปน Signal Out สญญาณออกเปน Waveform Out

รปท2 2.1 บลอกท�ทาหนาท�สรางสญญาณไซนใน LabVIEW บลอกตางๆ เหลาน2 สามารถแบงออกตามลกษณะของสญญาณท�ออกจากบลอกไดสองประเภทคอ Signal Out และ Waveform Out ความแตกตางของขอมลท�มาจาก Signal Out และ Waveform Out มดงน2 คอ สญญาณในแบบ Signal Out น2นใหคาเฉพาะขอมลของสญญาณเปนคาเลขดบเบ2ล (Double) เปนแบบอารเรย (Array) แบบ 1 มต สวนแบบท�สองคอ Waveform Out น2น

Page 23: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

20 Mahanakorn University of Technology

จะใหขอมลของสญญาณซ� งเปนขอมลผสมตางชนดกน เชน ขอมลสญญาณ, เวลาเร�มตน และระยะเวลาในการแซมปล2งของสญญาณ รวมอยในอารเรยแบบ 1 มต ท�มรปแบบเฉพาะท�เรยกวา คลสเตอร (cluster) เราสามารถสงเกตความแตกตางของขอมลแบบดบเบ2ลและแบบคลสเตอรไดจากรปรางและสของเสน โดยขอมลท�เปน Signal จะเปน “สสม” ในขณะท�สญญาณแบบ Waveform จะเปน “สน2าตาล” และสามารถดจากการเปรยบเทยบตารางในรปท� 2.2

บลอกไดอะแกรม ชนดของขอมลออก ฟรอนพาเนล

ขอมลเปนอารเรยแบบหน� งมต (1-D array) มเสนเปนสสม

ใหสญญาณออกเปนคลสเตอร (cluster) ของขอมลเสนเปนสน2าตาล

รปท2 2.2 เปรยบเทยบลกษณะสญญาณจากบลอก sine wave.vi และ waveform.vi

สรางสญญาณไซนดวย Signal Wave VI

ในตวอยางน2 จะใชบลอกท�สรางสญญาณออกมาในรปแบบ Signal Out จากชดเคร�องมอสาหรบงานดาน Signal Processing ใน LabVIEW จาก Function >> Signal Processing

>> Signal Generation >> Sine Wave.vi

Page 24: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

21 Mahanakorn University of Technology

รปท2 2.3 ไดเรกทรอรของ Signal Generation

คลกเลอก (Sine Wave) แลวนาไปวางไวในโปรแกรมซ� งเปนหนาตางบลอกไดอะแกรม(Block Diagram) และสวนแสดงผลในหนาตางของฟรอนพาเนล (Front Panel) ดวย โดยใชบลอก

(Waveform Graph) เปนตวแสดงผลโดยเลอกจาก Modern >> Graph >>

Waveform Graph ในหนาตางฟรอนพาเนล ทาการเช�อมตอสายระหวางบลอก sine wave และ waveform graph และส�ง Run จะปรากฏสญญาณไซนท�ฟรอนทพาเนล ดงรปท� 2.4

รปท2 2.4 แสดงการสรางและแสดงสญญาณไซน ดวยบลอก Sine wave และบลอก Waveform graph

Page 25: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

22 Mahanakorn University of Technology

จากรป กราฟท�ไดซ� งเปนสญญาณไซน ถกแสดงไว 1 รปคล�น โดยมตาแหนงสดทายท� 128 ซ� งเปนจานวนแซมเป2 ลของสญญาณ (Sample) ท� LabVIEW กาหนดไวต2งแตเร�มตนหรอคา ดฟอลท (Default) เชนเดยวกบคาขนาด (Amplitude) ของสญญาณ ท�กาหนดไวใหเปน 1 มเฟส (phase) เปน 0 และจานวนรปคล�น (cycles) เปน 1 ซ� งเราสามารถหาคาความถ� (frequency) ของสญญาณน2ไดจาก อตราสวนของจานวนไซเคลตอแซมเป2 ล โดยคาแซมเป2 ลจากรปคล�นเปน 128 แซมเป2 ล ตอหน� งรปคล�น หรอคาความถ�ท�ไดเทากบ 1/128 = 7.8125E-3 (f = 0.0078125 Hz) ทาการเปล�ยนแปลงคาพารามเตอรตางๆของบลอก sine wave เชน จานวนแซมเป2 ลของกราฟ หรอขนาดของสญญาณ หรอเฟส สามารถทาไดโดยการวางเมาสไวท�ตาแหนงเทอรมนลของ

sample ของบลอก sine wave กจะปรากฏขอความวา “samples” จากน2นใหคลกขวาท�เทอรมนลน2น แลวเลอก Create >> Control กจะมคอรโทรลแบบตวเลข (Numeric Control) มคา

128 บนฟรอนทพาเนลข2 นมา ทา เ ชนเดยวกนกบเทอรมนลของ “amplitude”

และ “frequency” ท�หนาตางฟรอนทพาเนล หากตองการเปล�ยนรปแบบของการคอนโทรลและอนดเคเตอรเปนแบบอ�นๆท�แตกตางกน ทาไดโดยคลกขวาท�ตวคอนโทรลน2นแลวเลอกเมน Replace ซ� งจะปรากฏหนาจอของคอนโทรลตางๆ ใหเลอก เชนจากคอนโทรลแบบเดมเปนแบบตวเลข

ตองการใหเปนแบบปมหมน (Knob) และเปล�ยนคาความถ�ใหมต2งแต 0 – 127 แซมเป2 ลตอรปคล�น

Page 26: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

23 Mahanakorn University of Technology

รปท2 2.5 การเปล�ยนรปรางของคอนโทรลโดยใชเมน Replace

ทาการเลอกคาคอนโทรลตางๆใหกบ sine wave VI ดงแสดงในรปท� 2.6

รปท2 2.6 ฟรอนพาเนลแสดงสวน HMI ของโปรแกรมสรางสญญาณไซน

Page 27: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

24 Mahanakorn University of Technology

ตองการใหโปรแกรมสามารถรนไดอยางตอเน�อง โดยเราจะใช เพ�อสรางลปการ

ทางานจนกวาจะมการส�งยกเลกโปรแกรมดวยการส�งงานผานทางคอนโทรล (stop) และทา

การหนวงเวลาในการวนแตละรอบของ While loop ดวยการเพ�มบลอก (wait until next ms) ในวงรอบของ While loop โดยใหมการหนวงเปน 100 มลลวนาท ดวยการใชคาคงท� 100 เปน

อนพตของบลอก ดงแสดงในรปท� 2.7

รปท2 2.7 บลอกไดอะแกรมของโปรแกรมสรางสญญาณไซน

ความถ�ของสญญาณ (frequency) ท�สรางจาก Sine wave VI น2นมหนวยเปนจานวนรปคล�น (Cycles) ตอจานวนแซมเป2 ล หรอเปนคาหนวยแบบนอรมลไลซ (Normalized) ของสวนกลบของจานวนแซมเป2 ลใน 1 รปคล�น โดยคาดฟอลทของความถ�เม�อเร�มใชบลอก Sine wave VI คอ 0.0078125 รปคล�นตอแซมเป2 ล ซ� งคาน2ไดมาจากการท�จานวนแซมเป2 ลมคาดฟอลทเทากบ 128 แซมเป2 ลตอ1 รปคล�น ดงน2นเทากบ 1/128 = 0.0078125 รปคล�นตอแซมเป2 ล แตส�งท�เราตองการคอ การแสดงคาของหนวยท�เปน “รปคล�น” แทนท�จะเปน “ รปคล�นตอแซมเป2 ล” เพราะเวลาเราดรปคล�นจากกราฟเราจะเหนจานวนรปคล�นท�แสดง ไมใชสวนกลบของมน ในรปท� 2.8 น2นเปนการเปรยบเทยบใหเหนวา การแปลงหนวยของความถ�ท�แสดงบนคอนโทรล “Frequency” น2นใหเปน “รปคล�น” สามารถทาไดโดยการนาเอาคาจากคอนโทรล “sample” ไปหารคาของคอนโทรล “Frequency” เพ�อใหไดการแสดงหนวยเปน “รปคล�น” ซ� งทาใหไดโครงสรางโปรแกรมดงแสดงในรปท� 2.7 ขางตน

Page 28: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

25 Mahanakorn University of Technology

โครงสราง VI ความถ2 ผลลพธ

(1/128 = 0.0078125)

รปคล�นตอแซมเป2 ล

รปคล�น

รปท2 2.8 วธการปรบหนวยความถ�จาก “รปคล�นตอแซมเป2 ล” ใหเปน “รปคล�น” สงเกตอกวาในรปท� 2.7 เราเปล�ยนการแสดงไอคอน (Icon) ท2งหมดใหเหลอแตเปน “สญลกษณ” ท�ใชพ2นท�นอยกวา เพราะสญลกษณจะแสดงเฉพาะชนดของขอมล (data type) เทาน2น เชนไอคอน

ท�เปนจานวนแซมเป2 ลน2นถกแทนดวยสญลกษณ ซ� งตวอกษร “I32” กคอชนดของ

ขอมลแบบ 32-bit signed integer numeric และ ไอคอน ถกเปล�ยนเปน โดย “DBL” กคอเลข Double-precision floating-point numeric การเปล�ยนไอคอนเปนสญลกษณน2นกเพ�อประหยดเน2อท�ของโปรแกรมและทาใหอานไดงาย การเปล�ยนไอคอนเปนสญลกษณทาไดโดยคลกเมาสขวาท�ไอคอนท�ตองการ เอาเคร�องหมายถก (�) หนา View As Icon ออก กจะสามารถเปล�ยนไอคอนใหเปนสญลกษณได การเพ2มขอมลตางๆใหกบสญญาณ

สงเกตวาสญญาณท�ออกมาจากบลอก น2นจะมเพยงคาขอมลของสญญาณในลกษณะของอารเรย 1 มตเทาน2น หากตองการเพ�มขอมลอ�นๆ เชนคาเวลา เราอาจจะเลอกใชบลอกสรางสญญาณท�ให Waveform Out เชน Basic Function Generatot.vi และ Sine Waveform.vi หรอเราอาจจะใชบลอกท�ใหขอมลเปน Signal Out และ เพ�มขอมลโดยการใชฟงกชน Build Waveform กได

ตวอยาง การเพ�มขอมลของชวงหางแตละแซมเป2 ลของสญญาณ หรอ dt ใหแกสญญาณท�ไดจาก

บลอก จากรปกราฟท�แสดงในรปท� 2.6 ท�แกน x จะแสดงเปนจานวนแซมเป2 ล ซ� งในท�น2 คอ 128 แซมเป2 ล ซ� งเปนการไมสะดวกเม�อตองแปลงคา 128 แซมเป2 ลใหเปนคาเวลา ซ� งในทางปฎบตแลว การแสดงผลสญญาณจะนยมแสดงคาของแกน x เปนเวลา (time) แกไขโดยการใชบลอกตว

Page 29: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

26 Mahanakorn University of Technology

สรางสญญาณ Build Waveform ท�ไดมาจาก Waveform >> Build Waveform

โดยสงเกตวาตอนวางบลอกลงไปน2นจะแสดงเพยงแคสญญาณ Y เทาน2น แตเราสามารถเพ�มพารามเตอรท�เก�ยวของเชน ชวงหางแตละแซมเป2 ล (dt) หรอเวลาเร�มตนสญญาณ (t0) ลงไปได โดยคาพารามเตอรน2 รวมเรยกวา แอทรบวต (Attribute) ในการเพ�มแอทรบวตโดยการคลกแลวลากขอบลางของบลอก Build Waveform เพ�อคลกเลอกแอทรบวต dt ดงแสดงในรปท� 2.9 คาของ dt จะใช

หนวยเปนวนาท ดงน2น คอ 1 มลลวนาท สญญาณท�ออกจากตวบลอก จะกลายเปนชนดท�เรยกวา waveform ท�มลกษณะคลายกบท�ไดจากบลอกท�ใชขอมลเปนแบบ waveform ระยะหางของแตละแซมเป2 ลน2นเราสามารถเลอกจากการคลกท� dt

รปท2 2.9 การเพ�มสวนของคาเวลาระยะหางแตละแซมเป2 ล (dt) ใหกบสญญาณ

จากรปท� 2.10 (a) จะเหนการแสดงผลเปนหนวยวนาท โดย 1 แซมเป2 ลจะมคา 0.001 วนาท ดงน2น 1 รปคล�นม 128 แซมเป2 ล มคาเทากบ 128 * 0.001 = 0.128 วนาท ดงแสดงในรปท� 2.10(b)

(a)

Page 30: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

27 Mahanakorn University of Technology

(b)

รปท2 2.10 บลอกไดอะแกรมและฟรอนทพาเนลของการสรางสญญาณไซนดวยบลอก Sine wave

การแสดงผลหลายสญญาณในหน2งกราฟ

จากเดมท�เราแสดงผลเฉพาะรปคล�นไซน แตถาตองการเพ�มสญญาณในการแสดงข2นอก เชนสญญาณส� เหล�ยม โดยใหแสดงผลอยในกราฟเดยวกนเพ�อเปรยบเทยบ และสามารถเลอกใหแสดงหน� งหรอสองสญญาณพรอมกนไดอก ซ� งมประโยชนมากโดยเฉพาะเม�อเวลาทาฟงกชนการวเคราะหสญญาณ

ทาไดโดยสรางเง�อนไขเพ�อเลอกการทางานใน LabVIEW โดยใช (Case Structure) เพ�อเลอกกรณในการทางานวาจะใหแสดงผลสญญาณไซน หรอไม ดวยการเลอก “case

true” หรอ “case false” โดยจะใชปมคอนโทรล (Button) ซ� งแสดงในโปรแกรมดวย

สวนท�เปนจดตอท�จะลากสญญาณออกมาจาก case เรยกวา Output tunnel

Page 31: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

28 Mahanakorn University of Technology

(a)

(b)

รปท2 2.11 แสดงบลนท�เปนตวเลอก case วาจะใหแสดงผลสญญาณไซนหรอไม และการใชคา default ใน “case False”

กรณท�เปน “case True” น2นโครงสรางกจะเปนดงรปท� 2.11 (a) สวนกรณท�เปน “case False” แสดงในรปท� 2.11 (b) หากเราไมตองการใหโปรแกรมทางานใดๆ ใน “case False” เชนไมตองการใหมการปรากฏสญญาณใดๆบนกราฟน2น กสามารถปลอย “case False” ใหวางไวกได แตเราตองส�งงานใหโปรแกรมให “case False” มเอาทพตในรปแบบดฟอลทดวย ซ� งทาไดงายๆเพยงคลกขวาท�บรเวณจดตอท�สญญาณออกจากเคทท�เรยกวา Output tunnel เพ�อแสดงเมนและเลอกเมน Use Default If Unwired เพ�อบอกวาเราจะใชคาดฟอลทซ� งเปนคา 0.0 เพราะขอมลขณะน2 เปนแบบ Double-precision

Page 32: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

29 Mahanakorn University of Technology

รปท2 2.12 ฟรอนพาเนลแสดงการเพ�มปมแสดงผล

จากน2นกเพ�มสญญาณส� เหล�ยม (Square wave) ท�ไดจากบลอก เพ�อแสดงผลบนกราฟเดยวกนกบสญญาณไซน ส�งท�เราตองทาตอกคอ การรวมสญญาณท2งสองเขาดวยกน โดยปกตแลวสญญาณใดๆท�สรางข2 นมาน2น LabVIEW จะมองวาอยในรปของขอมลท�เปนอารเรย (array) ซ� งขอมลชนดน2 ทาใหเราสามารถจะใชบลอก (Build Array) เปนตวรวมขอมลได และการแปลงขอมลใหอยในรปแบบอารเรย มขอดคอ ทาใหใชประโยชนจากบลอกอารเรยของ LabVIEW ไดอกหลายฟงกชน ไมวาจะเปนการหาคาสงสด ต�าสดของอารเรย (Max-Min) หรอการสรางคาเทรชโฮลด (Threshold) ความสะดวกของการสรางอารเรยใน LabVIEW ทาใหเราสามารถทาการจดการกบสญญาณไดอยางหลากหลาย

Page 33: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

30 Mahanakorn University of Technology

(a)

(b)

รปท2 2.13 บลอกไดอะแกรมและฟรอนทพาเนลแสดงการสรางสญญาณไซนและส�เหล�ยม จดการรปแบบหนาตางท�ฟรอนทพาเนล ในสวนของการคอนโทรลตางๆใหดสวยงาม

Page 34: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

31 Mahanakorn University of Technology

แอลเอส (Alias)

จากการทดลองขางตน เม�อเราทาการหมนปรบความถ�ของสญญาณเพ�มข2นเปน 64 หรอมากกวา เม2อปรบใหความถ2เพ2มขbน ความถ2ของสญญาณมขนาดลดลง ซ� งดไดจากจานวนแซมเป2 ลท�มากข2นตอรปคล�น ย�งเพ�มความถ�จาก 64 จนเขาใกล 128 (ซ� งเปนความถ�แซมปล2ง)น2น ความถ�ของสญญาณกย�งลดลงเร�อยๆ หรอ จานวนแซมเป2 ลตอรปคล�นมากข2นเร�อยๆ หรอเสมอนวาเกดการพบ

กลบดานของสเปกตรม เหตการณท�เกดข2นน2 เรยกวา แอลเอส (Alias) ทฤษฏการสมสญญาณของไนควสต (Nyquist sampling theorem) น2นบอกวา สญญาณท�ถก

สมน2น หากตองการใหกคนกลบมาใชงานไดตองมความถ2ไมเกนคร2งหน2งของความถ2แซมปลbง มฉะน2นจะทาใหเกดแอลเอสข2น และท� ณ ความถ�ท�เปนคร� งหน�งของความถ�แซมปล2งน2นคอ ความถ�ไนควสต (Nyquist frequency) ดงน2น ในกรณน2ความถ�แซมปล2งเปน 128 ดงน2น 0.5 เทาของความถ�แซมปล2ง หรอความถ�ไนควสตจงเปน 64

เราสามารถใชบลอกการวเคราะหสญญาณซ� งใน LabVIEW มอยมากมาย เพ�อดสเปคตรม (spectrum) ของสญญาณแอลเอส โดยบลอกท�ถอเปนหลกกคอบลอกการวเคราะหสเปคตรม ซ� งใชหลกการการแปลงฟรเยรแบบเรว (Fast Fourier Transform) หรอเรยกยอวา FFT ในท�น2 เราจะมาดกนวา เราจะใชการวเคราะหสญญาณน2 ชวยในการหาคาของแอลเอสไดอยางไร

ท�หนาตางบลอกไดอะแกรมเลอกท�ฟงกชนของ Signal Processing เลอกบลอกสเปคตรม

ในน2นจะมโครงสรางของการวเคราะหสเปคตรมแบบตางๆ เลอกใชบลอก หรอ Power Spectrum ท�ใชหลกการของ FFT และแสดงสเปคตรมเปนแบบสองดาน (Two-sided) สงเกตวาในกลมของบลอกสเปคตรมน2นมบลอกการคานวณสเปคตรมท�คลายกบ Power Spectrum

กคอแบบ (Auto Power Spectrum) ดวยซ� งใหผลคานวณแบบสเปคตรมดานเดยว (One-sided) คอ จากศนยถงความถ�ไนควสต แตส�งท�เราตองการกคอ การแสดงสเปคตรมแบบสองดาน เพ�อจะไดแสดงการเกดแอลเอสใหเหนไดชดเจน กคอจะใชบลอก Power Spectrum

เร�มจากการนาเอาบลอก ไปวางในสวนโปรแกรมของ “เคส true” และลาก

สายเช�อมตอเขากบสญญาณเอาทพตจากบลอกไซน และจดการทาใหสวนของ Use Default If Unwired หรอการเลอกท�จะใชการออกแบบใชเปนคาดฟอลลทสาหรบกรณ “เคส false” จากน2นลากสายออกจากเคสผานทาง Output tunnel เพ�อการแสดงผลดวยบลอกกราฟ ท�มช�อวา “Power Spectrum” ดงรปท� 2.14

Page 35: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

32 Mahanakorn University of Technology

รปท2 2.14 การเพ�มสวนวเคราะหสเปคตรมดวย Power Spectrum

และทาเชนเดยวกนกบสญญาณส�เหล�ยม หลงจากน2นใชอารเรยในการรวมสญญาณเพ�อแสดงผลดงรปท� 2.15

(a)

(b)

รปท2 2.15 การทางานของ Power Spectrum ของสญญาณไซนและส�เหล�ยม

Page 36: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

33 Mahanakorn University of Technology

สเปคตรมของสญญาณท�เปนไซนน2นจะแสดงใหเหนสองยอดความถ� คอ ความถ�ดานต�ากวาคร� งหน� งของความถ� สมและดานสงกวา ในขณะท�สญญาณแบบส� เหล�ยมน2นจะมหลายยอดความถ� โดยแตละความถ�จะเปน ความถ2ท2เปนเลขค2 1, 3, 5, 7,... เทา ของความถ2หลก หรอท2เรยกวา

ฮารโมนกเลขค2 (Odd Harmonics) สงเกตวาการแสดงผลจะเปนลกษณะของสเปคตรมท�มสองดาน คาความถ�ของการแปลงสเปคตรมจะเทากบจานวนแซมเป2 ลของการแสดงผลรปคล�น ความถ�แซมปล2งซ� งในท�น2 คอ 128 ถาหากถอวาความถ� 128 น2นเปนความถ�นอรมลไลซ (Normalized frequency) แลวคอจะแปลงคร� งหน�งของความถ�จะเรยกวาเปน ไนควสท เม�อปรบใหความถ�เปน 64 เราจะพบวาเราไดคาความถ�ตรงตาแหนงของ 64 พอด

ความถ2 สเปคตรม

ความถ� 8

ความถ� 64

ความถ� 120 เกดแอลเอส

รปท2 2.16 สเปคตรมของสญญาณส�เหล�ยม ท�ปรบความถ�จาก 8, 64 จนเปน 120

Page 37: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

34 Mahanakorn University of Technology

ทดลองเล�อนความถ�ของไซนไปเร�อยๆ จนกระท�งถง 64 เราจะพบวาส�งท�นาสนใจเกดข2นกคอ เร�มมการ “หมนกลบดาน” ของสเปคตรมเกดข2น กคอ ย2งหมน knob ปรบความถ2เพ2มขbนสเปคตรมจะ

เคล2อนกลบเขาใกลศนย ปรากฎการณน2 เปนส�งบอกถงการเกดแอลเอสข2น อนเน�องมาจากความถ�ของสญญาณน2นมากเกนกวาคร� งหน�ง (64) ของความถ�แซมปล2ง (128) ซ� งเปนการฝาฝนกฎการสม องคประกอบความถ�ท�พบกลบดานน2 อาจจะมองวาเปนการสะทอนความถ2จากความถ2แซมปลbง ตวอยางเชน เม�อความถ�เปน 120 ระยะหางของความถ�น2 จากความถ�แซมปล2ง 128 เทากบ 128 - 120 = 8 ทาใหไดองคประกอบความถ�เหมอนกบกรณความถ�เปน 8 องคประกอบความถ2 แมวาเราจะทราบแลววาสญญาณรายคาบเชน สญญาณส� เหล�ยมน2น มองคประกอบท�เปนสญญาณความถ�หลายความถ�ประกอบกนอย ดงท�เหนดงรป แตอยางไรกตามการจะช2 ชดลงไปวา สญญาณน2 มองคประกอบเชงความถ�เทาใดบางน2น กตองอาศยการคาดคะเนดจากกราฟ วามยอดสญญาณท�ใดบาง โดยมหลกอยวาหากยอดของรปคล�นตรงกบตาแหนงความถ�เทาใด น�นกคอคาขององคประกอบทางความถ�ของสญญาณ ใน LabVIEW มบลอกการทาการตรวจจบยอด (peak detection) ซ� งจะทาใหเราได

องคประกอบความถ�ท�มอยในสญญาณไดชดเจนข2น อยในไดเรกทอร�ของ (Waveform

Measurement) เลอกท�บลอก จะมบลอก (Waveform Peak Detection)

จากบลอก ดคาของเอาทพต โดยเลอกท�ตาแหนง Locations คลก

ขวาเลอก Create แลวเลอก Indicator แลวเปล�ยนช�อใหเขาใจงายเปน Hamonics of Square Wave จากน2นไปท�หนาตางฟรอนทพาเนล สงเกตวาตวอนดเคเตอรท�ไดเปนอารเรยชองเดยว เราสามารถแสดงผลไดโดยการดงจานวนชองใหมากข2นไดดงรปท� 2.17

รปท2 2.17 การเพ�มจานวนชองของอนดเคเตอร โดยการลากขยายชอง

Page 38: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

35 Mahanakorn University of Technology

(a)

(b)

รปท2 2.18 การใชบลอกตรวจจบยอด เพ�อแสดงฮารโมนก

จากรป สงเกตวาเม�อเปล�ยนความถ�ของสญญาณส� เหล�ยมเปน 8 ทาใหเราไดคาฮาโมนกสามอนดบแรก (1,3,5) เปน 8, 24 และ 40 ตามลาดบ โดยในท�น2 เราใชเทรชโฮลด (threshold) ของบลอก

เปน 0.01

Page 39: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

36 Mahanakorn University of Technology

สเปกตรมลกเกจ (Spectral leakage)

นกศกษาบางทานอาจมขอสงเกตเพ�มเตมกคอ จะเกดอะไรข2นเม�อเราเปล�ยนความถ�ของสญญาณเปนคาท�ไมเปนเลขจานวนเตมเชน 4.1, 5.4 หรอ 7.3 เปนตน คาตอบกคอ การทาใหอตราสวนของจานวนแซมเป2 ลในหน�งรปคล�นไมลงตว สงผลใหการแซมเป2 ลไมลงพอดคาบรปคล2น จงทาใหมการเกดข2นของความถ�พลงงานนอยๆ ข2นระหวางความถ�ฮารโมนก เราเรยกปรากฎการณน2 วาการร�วไหลของสเปคตรมหรอ สเปคตรมลกเกจ (Spectral Leakage) ซ� งหากเปนองคประกอบความถ�ท�สงเกนกวาความถ�ไนควทส องคประกอบเหลาน2 กจะพฒนากลายเปนแอลเอสข2นได ซ� งมความรนแรงตามระดบพลงงานของมน ซ� งเปนเร�องท�ตองพจารณาใหด ในการออกแบบระบบ

ความถ2 4

ไมเกดสเปคตรมลกเกจ

ความถ2 4.1

เกดสเปคตรมลกเกจ

เอกสารอางอง

1. LabVIEW 8.2 Help Topics: Signal analysis, Signal Processing VIs.

Page 40: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

37 Mahanakorn University of Technology

3. การสรางและวเคราะหสญญาณ II

วตถประสงค

1. เพอใหเขาใจกระบวนการสรางและวเคราะหสญญาณแบบไมตอเนองทางเวลา 2. เพอใหสามารถประยกตการสรางและวเคราะหสญญาณแบบไมตอเนองทางเวลาในการใช

งานจรงได

บทนา

ในการทดลองน. จะเปนการวเคราะหสญญาณคลนไฟฟาหวใจ Electrocardiogram (ECG) ซ งขอมลทไดจะอยในรปของจานวนแซมเป. ล โดยในการทดลองเราจะทาการแปลงขอมลใหสามารถดเทยบเปนเวลาหรอความถได

ภาพจาก http://www.cvphysiology.com/Arrhythmias/A009.htm

การทดลอง

1. ทดลองความแตกตางของ Graph และ Chart

2. เลอก Uniform noise.vi จาก Signal Generation และลองใช waveform chart เปรยบเทยบกบ waveform graph สาหรบใชแสดงผลสญญาณออกจาก Uniform noise.vi อะไรคอสงทแตกตางของการแสดงผลท.งสองแบบ

Page 41: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

38 Mahanakorn University of Technology

3. ทดลองดการประยกตใชการแสดงผลและการวเคราะหสญญาณในการแสดงคาความถของ Electrocardiogram (ECG) signal หรอสญญาณคลนไฟฟาหวใจ ดงแสดงในรป

ภาพจาก www.phy.bris.ac.uk/people/fletcher_j/ecg.html

4. นาสญญาณ ECG ทไดใน http://www.eegrad.mut.ac.th/home/peerapol/dsp_lec.html save แลว เลอก ecg_noisefree.vi แลวเปดข.นมาจะได ฟรอนทพาเนลดงรป

Page 42: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

39 Mahanakorn University of Technology

5. ลากไอคอน ไปวางไวในโปรแกรมวางๆ

6. ในนกศกษาทาการสรางการแสดงสญญาณ ดวยกราฟ 7. สญญาณ ECG ทไดมาน.นเปนสญญาณทไมมการรบกวน และ เนองจากสญญาณ ECG น. ม

จานวน 1500 แซมเป. ล ดงน.นสญญาณรบกวนน. จงตองมจานวน 1500 แซมเป. ลดวย

8. ใหทาการบวกสญญาณรบกวนจาก ในขอท 1 และแสดงคาดวย Waveform Graph 9. สงเกตวาการแสดงกราฟของสญญาณท.งสองน.นแสดงเปนคาจานวนแซมเป. ลและยงไมม

คาเวลา โดยสญญาณ ECG น.นมอตราการเตนของหวใจทมความถประมาณ 1 Hz โดยถอวาในจานวนแซมเป. ล 1500 น.น มรปคลน EGC อย 5 รปคลน

10. ใหนกศกษาคานวณ วาหากตองการใหสญญาณมความถ 1 Hz จะตองทาใหระยะหางของแตละแซมเป. ลสญญาณ (dt) มคาเทาไร และจากน.น จะทาใหเราคานวณคาความถสม (sampling frequency) ได เพราะคาความถสมมคาแปรผกผนกบระยะหางของแตละแซมเป. ลสญญาณ (dt)

11. หากตองการ ECG ทมความถ 1 Hz จะใชบลอก Build waveform สรางสญญาณ ECG + Noise ใหไดดงรป

Page 43: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

40 Mahanakorn University of Technology

Tip บลอกไดอะแกรมสวนการสรางสญญาณสามารถทาไดดงน.

12. ใหแสดงสเปคตรมของสญญาณ ECG + Noise สงเกตวาสญญาณทไดน.นมสเปคตรมเปน

อยางไร

(ไดจากบลอก Signal Processing >> Waveform Measurements >> FFT Power Spec.) 13. ในการใชงานจรง การวดอาจจะมสญญาณความถ 50 Hz เขามารบกวนไดดวย ดงน.น ใหทา

การเพมสญญาณไซน Sine wave.vi อกหนงสญญาณ แลวนามารวมกนกบอกสองสญญาณกอนหนาน. รวมเปนสามสญญาณ โดยใชบลอก compound Arithmetic

(อยท Programming >> Numeric >> Compound Ar…) เพอรวมสญญาณท.งสาม

14. กาหนดความถของสญญาณไซนท 50 Hz มจานวนแซมเป. ล 1500 โดยใชการสรางความถดงรปขางลาง

Page 44: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

41 Mahanakorn University of Technology

15. ทาการเปรยบเทยบวากราฟทแสดงในขอท 11 (ECG + Noise) และขอท 15 (ECG + Noise + 50Hz) แตกตางกนอยางไรบาง และอธบายวาการวเคราะหสเปคตรมใหประโยชนอยางไรบางสาหรบการวเคราะหสญญาณ

16. ในรายงานทได จะตองแสดงรปของ VI ท.งรปฟรอนทพาเนล และรปบลอกไดอะแกรมทสามารถรนไดอยางถกตอง

Page 45: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

42 Mahanakorn University of Technology

4. การชกตวอยางสญญาณ (Sampling)

วตถประสงค

1. เพอใหเขาใจกระบวนการชกตวอยางสญญาณแบบไมตอเนองทางเวลา 2. เพอใหสามารถประยกตการสรางและวเคราะหการชกตวอยางสญญาณในการใชงานจรงได

การชกตวอยางสญญาณ (Sampling)

การชกตวอยางสญญาณคอ กระบวนการแปลงสญญาณทเปนแบบตอเน#องทางเวลา

(Continuous-time) หรอ สญญาณแอนะลอก (Analogue) ใหเปนสญญาณแบบ ไมตอเน#องทางเวลา

(Discrete-time) หรอเรยกทบศพทวา ดสครตไทม ซ งจะเปนสญญาณเชงดจตอลทเราสามารถใชตวประมวลผลตางๆ เชน โปรเซสเซอรในการจดการประมวลผลได

เมอป 1928 เฮนร ไนควสต (Henry Nyquist) เปนผพบวา ในการชกตวอยางเพอเกบสญญาณนJน เราไมจาเปนจะตองเกบสญญาณมาทJงหมด เพยงแตดงมาเฉพาะบางสวนกสามารถนามาสรางคนเปนสญญาณดJงเดมได มเพยงขอแมอยางเดยวกคอ แคอตราการชกตวอยางเกบขอมล

น7นตองมคามากกวาหรอเทากบสองเทาของแบนดวท (Bandwidth) ของสญญาณเทาน7น ตอจากนJนในป 1949 คลาวด อ แชนนอน (Claude E. Shannon) ผใหกาเนดสาขาวชา

Information Theory ทฤษฏทพลกโลกสยคสอสารดจตอล ไดทาการพสจนทฤษฏดงกลาวทางคณตศาสตร ในบทความทชอวา Communication in the presence of noise จนแงมมทJงหมดของทฤษฏการชกตวอยางไดรบการเปดเผยอยางไมมขอโตแยงใดๆ ซ งผลลพธกลายเปนทฤษฎทมชอเสยง ทใชกนอยในปจจบน คอ ทฤษฎการชกตวอยางไนควสต-แชนนอน (Nyquist-Shannon

Sampling Theorem) หรอเรยกสJนๆ วา ทฤษฎการชกตวอยาง

a) b)

รปท# 4.1 a) เฮนรไนควสต b) คลาวด อ แชนนอน

Page 46: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

43 Mahanakorn University of Technology

ระบบชกตวอยางสญญาณ

สวนทเปนการ Sampling ในระบบ DSP จะเปนสวนทเรยกวา Sample and Hold

รปท# 4.2

สญญาณทไดจากการชกตวอยางนJน จะมลกษณะเปนดงรป คอมการชกตวอยางสญญาณทกๆ ชวงเวลา T วนาท

รปท# 4.3

เราสามารถกาหนดชวงเวลาชกตวอยางไดงายๆ สาหรบ LabVIEW ไดจากการใชบลอก Build

Waveform เชน เราตองการสรางสญญาณทมความถชกตวอยางอยท 1kHz ซ งสามารถทาไดดวยบลอก Build Waveform ทสามารถสรางสญญาณทมระยะหางของแตละแซมเปJ ล dt เปน 0.001 หรอ สรางไดโดยการหารคา 1000 ดวย กอนทจะนาไปใสในคา dt

การเกด Copy ของสเปคตรมทกๆ Fs

ผลของการชกตวอยางสญญาณนJนจะทาใหเกด การซJ าคาสเปคตรมทกๆ ความถชกตวอยาง Fs หรอคลายๆ กบม copy ของสเปคตรมเกดขJน ณ ตาแหนงความถ Fs เราลองมาดการพสจนตามขJนตอนดงแสดงขางลาง สมมตวา เรามแซมเปJ ลของสญญาณไซน 7 แซมเปJ ล เปน

Page 47: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

44 Mahanakorn University of Technology

( )( )( )( )( )( )( ) 06

866.05

866.04

03

866.02

866.01

00

=

−=

−=

=

=

=

=

x

x

x

x

x

x

x

ซ งทาใหไดลกษณะสญญาณเปนดงรปท 4 a) หากลองจนตนาการ ลากเสนเชอมระหวางจดๆ ตอกน ไดดงรปท 4 b) แตในขณะเดยวกนหลายคนอาจจะไดจดเชอมตอนJนเปนดงรปท 4 c) สงเกตวาเราไดกราฟอกเสนทมความถมากกวา ของใครถกกนแน??? คาตอบกคอ ถกทJงค เพราะเมอไรกตาม หากมแซมเปJ ลทมาจากการชกตวอยางขอมลเมอไร กจะตอง ปรากฏวามสญญาณมากกวาหน#งความถ#สอดคลองกบแซมเป7 ลเหลาน7นเสมอ เราลองมาดวาสญญาณเหลานJนมความถทใดบาง

รปท# 4.4

สมมตใหมสญญาณ ( ) ( )tftx 02sin π=

Page 48: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

45 Mahanakorn University of Technology

ทาการแซมปลJงดวยความถ Fs แซมเปJ ลตอวนาท หรอ มชวงเวลาชกตวอยางเปน sF

T1

= วนาท

ดงนJนสญญาณ ( )nx ทไดมาจากการแทน t ใน ( )nx ดวย nT จงเขยนไลลาดบตามคา n ดงนJ

( ) ( )( ) ( )( ) ( )

( ) ( )nTfnx

Tfx

Tfx

Tfx

0

0

0

0

2sin

22sin2

12sin1

02sin0

π

π

π

π

=

=

=

=

แตเราทราบวาสญญาณไซนนJน มการซJ าคาทกๆ 2π เรเดยน

( ) ( )mπφφ 2sinsin += โดยท m คอเลขจานวนเตม ดงนJน เราเขยนสญญาณไซนไดใหมเปน

( ) ( )( )mnTf

nTfnx

ππ

π

22sin

2sin

0

0

+=

=

เมอจดสมการใหมได ( ) ( )( )

+=

+=

nTnT

mf

mnTfnx

0

0

2sin

2sin

π

π

ทนJกาหนดให m เปนคาจานวนเทาของ n m = kn

ดงนJนอตราสวนของเลขจานวนเตมดงกลาว

n

mk =

จงได

( )

( )( )nTkFf

nTT

kfnx

s+=

+=

0

0

2sin

2sin

π

π

ทาใหเทยบเคยงกบสมการดJงเดมของ ( )nx ไดเปน

( ) ( )( ) ( )( )nTkFfnTfnx s+== 00 2sin2sin ππ

Page 49: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

46 Mahanakorn University of Technology

ซ#งแปลวาการชกตวอยางสญญาณจะทาใหเกดสญญาณไซนท#ความถ# f0 และท#หลายความถ#ท#หาง

จาก f0 เปนจานวน k เทาของ Fs หรอเม#อ k = …,-2, -1, 0, 1, 2,… หรอพดงายๆ กคอเกด

องคประกอบความถ#เกดข7นทกๆ เทาของ Fs

ดงนJนหากมการชกตวอยางสญญาณใดๆ องคประกอบของสญญาณ กอนและหลงชกตวอยางจะเปนดงนJ

รปท# 4.5

สรปวาการชกตวอยางสญญาณแอนะลอกนJน ทาใหเกดมคาของสเปคตรมททกๆ คาความถเทากบ

ความถแซมปลJง (Fs)

แอลแอส (Alias)

ปรากฏการแอลแอส หรอเกดการซอนทบของสเปคตรมจะเกดขJน เมอความถชกตวอยาง

(Fs) มคานอยกวา 2 เทาของแบนดวทของสญญาณแอนะลอก (B) ทจะถกชกตวอยาง แสดงดงรปท

4.6

Page 50: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

47 Mahanakorn University of Technology

รปท# 4.6

การกคนสญญาณ (Recontruction)

วธการในการกคนสญญาณทถกชกตวอยางไปนJน เราใชเพยงตวกรอง Lowpass Filter กรองเอาแตเฉพาะ copy ของสเปคตรมทตองการ กจะไดสญญาณกลบคนมา ในกรณทไมเกดแอลแอสในระบบ ไดผลดงรปท 4.7

รปท# 4.7

ในกรณทเกดแอลแอส สญญาณสเปคตรมทได จะเกดการซอนทบ ทาใหมการบวกรวมของสเปคตรมเปนดงรปท 4.8

รปท# 4.8

จงทาใหไมสามารถกคนสญญาณทแซมปลJงไปแลวไดเหมอนเดม ดวยการใช Lowpass Filter ไดดงแสดงในรปท 4.9

รปท# 4.9

Page 51: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

48 Mahanakorn University of Technology

การนอรมลไลซ

ในทางปฎบตเราจะนอรมลไลซคาความถ Fs ใหมคาเทากบ 1 ซ งวธการนJ เราเรยกวา การ

นอรมลไลซดวยความถ#ชกตวอยาง ซ#งมหนวยเปน Hz ดงนJนเมอคดความถไนควสตแลว เราพบวาจะได ความถคร งหน งของความถนอรมลไลซนJน คอ 0.5 จะเรยกวาเปน ความถ#ไนควสต (Nyquist Frequency) สวนทความถนอรมลไลซเปน 1 เรยกวา อตราไนควสต (Nyquist rate) การนอรมลไลซความถนJ ใหความสะดวกในการปรบเปลยนความถชกตวอยาง เอกสารอางอง [1] Richard G. Lyons, Understanding Digital Signal Processing, Pearson Education, 1st edition [2] Nasser Kehtarnavaz and Namjin Kim, Digital Signal Processing System-Level Design Using LabVIEW, Newnes; Pap/Cdr edition

การทดลอง 1) ใหสรางสญญาณดสครตเปนไซนตาม VI ดงรป แลวใหชอวา discrete_sin.viโดยใหสญญาณมจานวนแซมเปJ ล 10 มความถชกตวอยาง(fs) 1000 Hz สญญาณเขาจะถกนอรมลไลซ (Normalised) เชงความถเทยบกบความถชกตวอยาง โดยใหความถทเทากบความถชกตวอยางมคาเปน 1 สงเกตวาเราใช cosine wave แทนทจะเปน sine wave ซ งเราสรางไดโดยใชคาคงท 90 องศาตอทเฟสเทอรมนลของ sinewave.vi

.

Page 52: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

49 Mahanakorn University of Technology

เปลยนรปสญญาณทแสดงใหเปนแบบดสครต โดยใชเมาสคลกขวาไปท แลว

เลอก Common Plot เลอก และคลกขวาอกท เลอก Point Style เลอก [ ] 1. จากนJนเราจะสรางสญญาณแอนะลอก โดยปกตสญญาณแอนะลอกทแทจรงไมสามารถ

สรางไดบนคอมพวเตอร แตเราสามารถประมาณสญญาณแอนะลอก จากสญญาณดสครตไดโดยการเพมจานวนแซมเปJ ลใหมากๆ ใหกบสญญาณดสครตดงรป

น คอการจาลองสญญาณแอนะลอกโดยจะทาใหไดกราฟทมลกษณะเหมอนสญญาณแอนะลอก สราง VI ตามรปบลอกไดอะแกรมขางลางนJ แลว save ในชอวา analogue_sin.vi โดยใหมการเพมจานวนแซมปลJงเปน 100 เทา เมอเทยบกบกรณสญญาณดสครต

Page 53: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

50 Mahanakorn University of Technology

ซ งเมอพลอตแลวจะทาใหไดลษณะดงรป

2. รวมทJงสอง VI จากขอ 1 และ 2 เขาดวยกน เพอเปน VI ใหม แลวใหชอวา sampling1.vi จะ

ไดกราฟทผสมกนดงรป

Page 54: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

51 Mahanakorn University of Technology

3. สรางสญญาณแอลแอสดงรปแลวใหชอเปน alias.vi โดยใชโครงสรางดงรป โดยมหลกการ

ทวา หากสญญาณทเขามามความถนอรมลไลซเกน 0.5 (ซ งกคอความถไนควสต) จะเกดแอลอแอส และความถแอลแอสจะแสดงเปนเสนประ หากความถนอรมลไลซสญญาณเขาไมถง 0.5 ไมตองแสดงความถแอลแอส (คอแสดงหนาจอกราฟวางๆ)

(ทดลองเขยนบลอก)

Page 55: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

52 Mahanakorn University of Technology

สวนเคส False ใหทาวางๆ ไวและอยาลม set ให output tunnel เปน “use default if unwired” ดวย

คาถาม จงอธบายความหมายตรงบรเวณจด A และจด B โดย A = การลบคาความถจาก 1 B = การเปรยบเทยบความถกบ 0.5

4. จากนJนนาเอาสวน สรางแอลแอสในขอท 4 ไปเขารวมกบทไดมาจากขอท 3 เพอแสดงผลรวมของสญญาณทJ งสาม (Continuous, Discrete และ Aliased) โดยใหชอวา sampling_alias.vi ดงรปท 4.10

Page 56: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

53 Mahanakorn University of Technology

ไมเกดแอลแอส เกดแอลแอส

รปท# 4.1

TIP: วธการเพมพJนท ใน while loop ทาโดยกด Ctrl คางแลว ลากเมาส ตามตองการ (เพมไดหดไมได)

จากนJน เอาเฉพาะเสนประของการทดลองในขอ 4 ไปวางไว

LED ไมตด LED ตด

มความถแอลแอส

Page 57: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

54 Mahanakorn University of Technology

รายงาน

ให นศ เขยนรายงาน แสดง Front Panel และ Block Diagram ของการทดลองทกๆ ขอ และอธบายตามความเขาใจ โดยละเอยด

(ทดลองเขยนบลอก)

Page 58: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

55 Mahanakorn University of Technology

5. การแปลง DTFT / DFT

วตถประสงค

1. เพ�อใหเขาใจถงหลกการและขดจากดของการแปลง DTFT และ DFT 2. เพ�อใหเขาใจถงสเปกตรมของสญญาณแบบไมตอเน�อง

การทดลองท� 5.1 DTFT (Discrete Time Fourier Transform)

ในการทดลองน+ จะเปนการเขยนฟงกช�นเพ�อทาการแปลง DTFT กบสญญาณไมตอเน�อง

โดยฟงกช�นรบคา x และทาการแปลง DTFT โดยใชนยาม คอ ( ) ( )∑∞

−∞=

′−′=

n

njj enxeX ωω โดยสมมต

วาสญญาณ x(n) เปนสญญาณแบบ causal น�นคอ ฟงกชนจะเร�มตนท� n = 0 ดงน+ ถาสมมตวา ( ) [ ]…4321 xxxxnx = จะได ( ) ⋯++++=

′′′′ ωωωω jjjj exexexxeX 4321

โดยจะทาการวาดกราฟของ ฟงกช�นของ ( )ω′jeX ซ� งเปนฟงกช�นตอเน�องของ ω′ ซ� ง ω′ ม

คาไดต+งแต −∞ ถง ∞ แตในโปรแกรมน+กาหนดใหหาคา X จากแค 0 ถง f = fs / 2

1. ในสวนของ Front Panel ตอตามรป

2. ในสวน Block diagram ตอตามรป

Page 59: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

56 Mahanakorn University of Technology

• MathScript Node ท� (Mathematic>>Scripts&Formulas) เม�อเขยนฟงกช�นลงไปใน MathScript แลวใหทาการ add input และ add output โดยการวางเมาสไวท�กรอบสฟาแลวคลกขวาและกาหนดช�อของโหนดตางๆ ตามรป

3. ทาการเปล�ยนชนดขอมลของสญญาณเอาทพต Y และ fx โดยใชเมาสวางลงบนโหนด Y แลว

คลกขวาเลอกตามรป (ทาท�โหนด fs เหมอนกน)

Page 60: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

57 Mahanakorn University of Technology

4. นาสายสญญาณเอาตพตท� Y และ fx มาพลอตเทยบจดกนดวย Build XY Graph (เลอกท�หนาตาง Front Panel)

5. เม�อวางสวนประกอบตางๆครบแลว ทาการตอสายเช�อมตอตามรป บนทกช�อไฟล DTFT.vi ใสคาความถ� f = 25 แลว run สงเกตผลของสญญาณท�ได

6. ทาการแกไขคาของ fend เปน fend = fs; และเปล�ยนคาความถ� f = 30 สงเกตผลของสญญาณท�ได

7. และท�ความถ�เดมทาการแกไขคาของ fend เปน fend = fs*2; สงเกตผลของสญญาณท�ได คาถาม จากการทดลองขอท� 5 ถง 7 เม�อทาการเปล�ยนคา fend ไป ผลของสเปกตรมท�ไดแตกตางกนอยางไร จงอธบาย 8. ลองเปล�ยนสญญาณเปนส�เหล�ยมจาก Square Wave ท� (Signal Processing>>Signal

Generation) แทนสญญาณไซน (แกความถ� fend กลบเปนคาเดมท� fend =

fs/2;) แกไขคา N เปน 200, fs เปน 500 และคาความถ� f ท� 20 สงเกตผลของสญญาณท�ได

การทดลองท� 5.2 DFT (Discrete Fourier Transform)

ถงแม DTFT จะใชหาคาสเปกตรมของสญญาณได แตกไมเหมาะสมท�จะนามาใชในทางปฎบต เพราะสญญาณในเชงความถ�ท�ไดเปนสญญาณแบบตอเน�อง ซ� งจดการดวยลาบาก การแปลงท�สามารถเปนตวแทนของ DTFT ไดกคอ DFT ซ� งใหผลลพธเปนสญญาณแบบไมตอเน�องท�มจานวนจดจากดท+งในเชงเวลาและความถ� จากความจรงท�วา

“ DFT กคอ การสมคาความถ�ของ DTFT ท�ความถ� 1,,1,0 ,2 −==′ NkNk …πω ”

ซ� งไดนยามใหมคอ ( ) ( )1

2

0

Nj kn N

n

X k x n e π−

=

=∑

1. ในสวนของ Front Panel ตอตามรป

Page 61: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

58 Mahanakorn University of Technology

2. ในสวนของ block diagram ตอตามรป

• สมการท� MathScript Node

3. ท�โหนด c เปนโหนดอนพตท�ไดจากการคานวณสมการ N

jc

π2=

4. เม�อวางสวนประกอบตางๆครบแลว ทาการตอสายเช�อมตอตามรป บนทกช�อไฟล DFT.vi แลว

run สงเกตผลของสญญาณท�ไดเปรยบเทยบกบผลท�ไดจากการแปลง DTFT วาเหมอนหรอแตกตางกนอยางไร

Page 62: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

59 Mahanakorn University of Technology

6. การแปลง FFT วตถประสงค

1. เพอใหเขาใจถงหลกการของการแปลง FFT 2. เพอใหเขาใจถงสเปกตรมของสญญาณแบบไมตอเนองและการนา FFT ไปใชงาน

บทนา

FFT (Fast Fourier Transform) คอ DFT ทคานวณไดเรวข0น เพราะลดความซ0 าซอนในการคานวณเลขเชงซอนลง ในการทดลองน0 จะเปนการนา Block FFT ทชอวา FFT.vi ทมอยใน

LabVIEW มาใช

การทดลองท+ 6.1 1. ในสวนของ Front Panel ตอตามรป

Page 63: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

60 Mahanakorn University of Technology

2. ในสวนของ block diagram ตอตามรป

คอการหา Power Spectrum จากสมการ

{ }2

2

n

XFS xx =

3. เมอตอตามรปเรยบรอยแลว ใหบนทกชอเปน FFT_2sided.vi 4. ทาการต0งคาของ sampling freq = 1000 และ # of samples = 100 และ run โปรแกรม หมน

ปรบคา frequency (Hz) สงเกตผลทเกดข0น 5. กาหนดคา frequency (Hz) ไปท 100

คาถาม ท sampling freq ท 1000 คาความถสงสดควรมคาเทาไร คาถาม สเปกตรมท 100 และ 900 คออะไร

6. เปลยน frequency (Hz) = 480 บนทกรป อธบายผลของสเปกตรมท+เกดขFน

7. เปลยน frequency (Hz) = 520 บนทกรป อธบายผลของสเปกตรมท+เกดขFน

Page 64: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

61 Mahanakorn University of Technology

การทดลองท+ 6.2 จากการทดลองตอนท 6.1 เปนการดสเปกตรมทชวงความถ fs แตถาตองการดแคชวงไนควสตหรอชวง fs/2 เทาน0น สามารถแกไขไดดงน0

1. ตอเพมในสวนทกาหนดตามรปแลวบนทกชอ FFT_1sided.vi และ run โปรแกรม

บนทกรป อธบายผลของสเปกตรมท+เกดขFน

การทดลองท+ 6.3 การนาเอา FFT ไปใชสาหรบหาคาสเปกตรมของสญญาณทมความยาวมากๆ ตอเนองกน อาจตองแบงสญญาณเปนบลอกๆ แลวนาแตละบลอกมาหา FFT ซ งกจะไดสเปกตรมเฉพาะของบลอกน0 นๆ แตวธน0 ยงผลใหเกดความผดพลาดจากสเปกตรมจรงของสญญาณ เพราะการนาสญญาณแตละบลอกมาหา FFT น0น เปนการสมมตวาสญญาณนอกบลอกเปนศนยท0งหมด ดงเชน การหาสเปกตรมของสญญาณไซน ซ งในการทดลองใชจานวนจด 100 จด (# of samples) เสมอนวาเรากาลงหาสเปกตรมของสญญาณดงรปขางลาง แทนทจะเปนสญญาณซายนทยาวตอเนองกนไป

จนถง ∞

ซ งกเปนสาเหตททาใหสเปกตรมของสญญาณน0 มองคประกอบของความถอนรวมอยดวย (ไมเปน ความถเดยว) เรยกความถทเกนน0นวา side lobe เราสามารถลด side lobe ซ งเกดจากการคดสเปกตรมของบลอกของสญญาณไดโดยการคณสญญาณขาเขาดวยฟงกชนหนาตาง (windows) กอนการทา FFT ซ งฟงกชนหนาตางเปนฟงกชนประเภททมความสมมาตร จะมคามากตรงจดกงกลาง และคาลนอยลงในดานขาง ฟงกชนหนาตางมอยหลายชนด แตละชนดกมขอดแตกตางกน

Page 65: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

62 Mahanakorn University of Technology

ซ งจะกลาวถงอกคร0 งในเร องการออกแบบตวกรอง FIR โดยในการทดลองน0 เราจะใชฟงกชนหนาตางแฮมมง (Hamming windows) ซ งมอยแลวใน Function ของ LabVIEW 1. ทดลองตดสญญาณไซนออกเปนชวง ดวยบลอก square wave ดงรป

2. ทาการ run ดรปสญญาณทได 3. นาสญญาณทไดมาวเคราะหสเปกตรม โดยต0งคาทบลอก Waveform Graph ของสญญาณ

สเปคตรม คลกเมาสขวาเลอก Y Scale → Mapping → Logarithmic

4. ทาการเพมฟงกชนหนาตางแฮมมงดงรป แลวดสเปคตรม ลงไป run โปรแกรม สงเกตผลของ

สญญาณสเปกตรมทไดเปลยนไปอยางไร

Square Waveform ท (Signal Processing >> Waveform Generation)

Hamming Window ท (Signal Processing>>Windows)

Page 66: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

63 Mahanakorn University of Technology

การทดลองท+ 6.4 การหาสเปกตรมของสญญาณเสยง (ไฟล . wav) 1. ทาการอานไฟลเสยง .wav มาพลอตรปสญญาณ

• Front Panel

• ท (Express >> Text Control >> File Path Ctrl)

• Block Diagram

• Simple Read ท (Programming >> Graphics&Sound >> Sound >> Files)

• Index Array ท (Programming >> Array)

• Get Waveform ท (Programming >> Waveform)

• ลองเปดไฟลเสยงตวอยางทเปน . wav (จาก C:/Windows/Media/) ดรปสญญาณ

Page 67: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

64 Mahanakorn University of Technology

2. เมออานไฟลเสยงไดแลว ไฟลเสยงทไดจะถกเกบอยในรปแบบของขอมล ท Y ทสามารถนาไปวเคราะหดสเปกตรมของสญญาณได โดยเราจะทาการแกไขโปรแกรม fft_1side.vi จากการทดลองตอนท 6.2 โดยใหเปลยนสญญาณอนพตทมาจากบลอก sinwave มาเปนสญญาณเสยงทจด Y แทน save as เปน fftsound.vi

Page 68: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

65 Mahanakorn University of Technology

7. ตวกรอง FIR วตถประสงค

1. เพอใหเขาใจถงวธการหาคาสมประสทธ" ของตวกรอง FIR โดยใชวธ window 2. สามารถเปรยบเทยบถงขอดและขอเสยของการใช window แบบตางๆ ได

บทนา

การทดลองน7 จะแนะนาการหาคาสมประสทธ" h(n) ของตวกรอง FIR ชนดตางๆ โดยใชวธwindow

ชนดของตวกรอง ( ) 0,, ≠∞<<∞ nnnd ( )0d

ผานตา (LPF) ( )n

nc

πω′sin

πωc′

ผานสง (HPF) ( )n

nc

πω′

−sin

πωc′−1

ผานแถบความถ (BPF) ( ) ( )n

nn cc

πωω 12 sinsin ′−′ −

πω 2c

πω 1c′

ตดแถบความถ (BSF) ( ) ( )n

nn cc

πωω 12 sinsin ′+′−

πω

πω 12 1 cc ′

+′

ตารางท� 7.1 ผลตอบจากสญญาณ impulse ของตวกรองอดมคตตางๆ

window ( ) 1,...1,0, −= Nnnw Rectangular 1

Hamming

−1

2cos46.054.0

N

Blackman

+

−1

4cos08.0

1

2cos5.042.0

N

n

N

n ππ

ตารางท� 7.2 ฟงกชนหนาตางแบบตางๆ

รปท� 7.1 ตวกรองในอดมคต

Page 69: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

66 Mahanakorn University of Technology

การทดลองท� 7.1 การหาคาสมประสทธ" ของตวกรองชนดตางๆ 1. ในสวนของ Front Panel ตอตามรป

2. ในสวนของ Block Diagram จะเปนการหาคาสมประสทธ" ของตวกรอง FIR จากสมการในตารางท 7.1 ตวอยาง การหาคาสมประสทธ" ของตวกรองแบบผานตา

wc คอ ความถตดเชงมมท normalized ดวย fs M คอ ตาแหนงกงกลางของ h(n) d คอ สมการหาคาตวกรองแบบผานตา d0 คอ สมประสทธ" คากลาง w คอ ชนดของ window ทใช (1 = rectangular)

3. ในการคานวณหาคาสมประสทธ" ของ d0 น7น เปนการคานวณทแยกออกมาจากสมการใหญของ d ซ งเมอคานวณคาไดแลว เราจาเปนทจะตองนาคากลางทไดไปรวมไวในคาทไดจากสมการใหญกอน ถงจะเปนคาของสมประสทธ" ทสมบรณ ดงน7

4. บนทกชอ labfir.vi ใสคา Frequency Sampling = 8000 , Cut-off Frequency = 1000 และ Order of N = 51 (คาของ N ตองเปนจาวนวนเลขคเทาน7น) ทาการ run

Page 70: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

67 Mahanakorn University of Technology

5. ทาการแกไขโปรแกรม ใหสามารถหาคาสมประสทธ" ของตวกรองแบบอนพรอมกนได (ผานสง, ผานแถบและ ตดแถบความถ) โดยใชเงอนไข case เปนตวเลอก

Tip ทตวรกองแบบผานแถบและตดแถบตองกาหนดคาความถตดสองคาคอ fa และ fb ตามสมการในตารางท 7.1

การทดลองท� 7.2 ผลตอบสนองความถของตวกรองชนดตางๆ

การตอนท 7.1 เมอไดคาสมประสทธ" ของตวกรอง หรอ impulse แลว ในการดผลตอบสนองความถของตวกรองในทางโดเมนความถ กคอการนาคาของ impulse ทไดมาทา FFT นนเอง การทา FFT ใหนาเอาวธเดยวกบในการทดลองท 6.2 มาประยกตใช

Page 71: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

68 Mahanakorn University of Technology

รปบลอกไดอะแกรมรวม

Page 72: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

69 Mahanakorn University of Technology

8. การประยกตใชงานตวกรองแบบ FIR วตถประสงค

1. สามารถนาตวกรอง FIR ท�ออกแบบมาประยกตใชงานกบสญญาณเสยงจรงได

การทดลองท! 8.1

จากการทดลองท� 7 หลงจากท�เราไดทาการออกแบบตวกรองดวยการหาคาสมประสทธ0 h(n) และดผลตอบสนองความถ�ของตวกรองมาแลว ในการทดลองน8 เราจะนามาประยกตใชงานในการกรองสญญาณโดยการปอนคาอนพตท�เปล�ยนแปลงไดแลวดผลของสญญาณเอาทพตวามการเปล�ยนแปลงอยางไร

1. นาไฟลจากการทดลองท� 7.2 มาใช

2. ท� Block Diagram ใหเพ�มสญญาณอนพตไซน กาหนดใหเปน Signal input 3. นาสญญาณอนพตจาก signal input กบคาสมประสทธ0 h มาทาการ convolution ดวยบลอก

(ท� Signal Processing>>Sig Operation) x คอสญญาณไซนและ y คอ คาสมประสทธ0

Page 73: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

70 Mahanakorn University of Technology

รปบลอกไดอะแกรมรวม

Page 74: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

71 Mahanakorn University of Technology

การทดลองท! 8.2 กรองสญญาณรบกวนความถ�เดยวออกจากสญญาณเสยง ว ธการว เคราะหสญญาณเสยงท� ด เราจะตองว เคราะหสญญาณทางความถ�หรอด

องคประกอบทางความถ�เพ�อท�จะสามารถแยกสญญาณเสยงกบสญญาณรบกวนออกจากกนได ในการทดลองเราจะทาการดงสญญาณเสยงจากไฟล .wav เขามาดสเปกตรม และทาการออกแบบตวกรองท�เหมาะสมในการกรองเอาสญญาณรบกวนออกจากสญญาณเสยงได ใหนาโปรแกรมจากการทดลองท� 6.4 มาใชงานรวมกบการทดลองท� 8.1 1. แกไขโปรแกรมท� 8.1 โดยเปล�ยนสญญาณอนพตเปนสญญาณจากไฟลเสยง พรอมกบด

สเปกตรมของสญญาณเสยงท�ไดกอน เพ�อนาไปวเคราะหหาตวกรองตอไป 2. เม�อทาการออกแบบตวกรองไดแลว ใหนาคาสมประสทธ0 ท�ไดมาทาคอนโวลช�น เพ�อกรองเอา

สญญาณรบกวนออกไป 3. นาสญญาณใหมท�ไดจากการทาคอนโวลช�นมาวเคราะหดสเปกตรม เทยบกบสเปกตรมของ

สญญาณอนพต วามความเปล�ยนแปลงไปอยางไร รปบลอกไดอะแกรมรวม

Page 75: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

72 Mahanakorn University of Technology

9. การประยกตใชงานตวกรองแบบ FIR และ IIR

วตถประสงค

1. สามารถนาตวกรองแบบ FIR และ IIR มาสรางเสยงพเศษได 2. รจกการสรางฟงกชนของเสยงเอฟเฟค (Effect) ตางๆได

บทนา

เสยงเปนสญญาณท9เหมาะสาหรบนามาประมวลผลอยางย9ง เน9องจากยานความถ9ของเสยงจดวาอยในยานความถ9ต 9าในชวง 20 – 20 kHz โดยในหองบนทกเสยงสมยใหมปจจบน จะทาการประมวลผลสญญาณเสยงในรปแบบดจตอลเกอบทFงหมด ทFงการผสมเสยง การเตมเสยงพเศษ และการปรบแตงลกษณะของเสยง จนถงการจดเกบเสยงในรปแบบของแผนซด และดวด ซ9 งเปนเสยงท9เกบในรปแบบดจตอลแทบทFงสFน นอกจากนF เสยงยงเปนส9งท9ละเอยดออนมาก เพราะมนษยสามารถสมผสไดดวยการฟง และแยกแยะลกษณะบางอยางจากเสยงท9ไดยน เชนเสยงทมหรอเสยงแหลม, มทศทางของเสยงมาจากทศใด, ใครคอผพดและคาพดท9อยในเสยงคอคาวาอะไร เปนตน ซ9 งลกษณะเหลานF ไดถกนามาจาลอง และวเคราะหดวยโปรแกรม LabVIEW การทดลองท" 9.1

9.1.1 การสรางเสยงสะทอน (Echo) ดวย FIR วตถสะทอนแหลงกาเนด

ผฟNง (ก)

(ข)

รปท" 9.1 (ก) การเกดเสยงสะทอน (ข) การจาลองการสรางเสยงสะทอน

Page 76: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

73 Mahanakorn University of Technology

เสยงสะทอนมลกษณะคลายเปนเสยงท9มการสะทอนจากผนงของหองโถง หรอผนงถFาแลวสะทอนกลบมาใหเราไดยน ในการทาเสยงสะทอนดวย FIR สามารถจาลองรปแบบการเกดเสยงสะทอนดวยบลอกไดอะแกรมดงรป โดยสญญาณเอาทพตเปนผลรวมของสญญาณอนพตโดยตรง กบสญญาณอนพตท9ทาการหนวงเวลา (Delay) และเพ9อใหไดเสยงสะทอนท9เสมอนจรงเราตองลดขนาดของสญญาณท9ทาการหนวงเวลาลง ไมใหเกนกวาขนาดของสญญาณอนพต

1. สรางสญญาณไซน 1 ลกคล9น เพ9อใชเปนสญญาณทดสอบ

2. จากบลอกไดอะแกรมรปท9 9.1 นามาเขยนในรปแบบของ LabVIEW ดงนF

• แทนเปน อยท9 Signal Processing / Point By

Point / Signal Operation PtByPt / Y[i] = Clip{X[i]} PtByPt.vi

• แทนเปน

• +

แทนเปน

3. ตอบลอกไดอะแกรมดงรป

4. บนทกไฟลช9อ echofir.vi ทดลองเปล9ยนคา Delay และ gain สงเกตรปสญญาณท9ไดเปน

อยางไร

Page 77: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

74 Mahanakorn University of Technology

9.1.2 การสรางเสยงสะทอน (Echo) ดวย IIR

Multi Echo

รปท" 9.2 บลอกไดอะแกรม Echo IIR จากบลอกไดอะแกรม การสรางเสยงสะทอนดวย IIR จะแตกตางกบ FIR ตรงมการนาเอา

สญญาณเอาทพตปอนกลบมาดวย ในการสรางเสยงสะทอน 1. ตอบลอกไดอะแกรมตามรป

2. ในการตอสญญาณแบบปอนกลบ ไมสามารถนามาตอโดยตรงได จะตองใชตวชวยคอ Shift

Register โดยการวางเมาสไวท9กรอบของ For Loop คลกขวา เลอก Add Shift Register 3. บนทกไฟลช9อ echoiir.vi

9.1.3 การสรางเสยงสะทอน (Echo) ดวย IIR

All Pass Reverberator

Page 78: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

75 Mahanakorn University of Technology

แบบท" 1

กาหนดคา gain = 0.5 คา delay เทากบ 200

Tip ใหใช

Input

Output

Delay+gain

+

+

-1

รปท" 9.3 บลอกไดอะแกรม All Pass Reverberator

แบบท" 2

กาหนดคา gain ของ a1 = 0.3, a2 = 0.5, a3 = 0.6 คา delay เทากบ 200

Page 79: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

76 Mahanakorn University of Technology

Page 80: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

77 Mahanakorn University of Technology

การสรางเสยงเอฟเฟคกบสญญาณเสยงจรง

การทดลองท" 9.2

9.2.1 การสรางเสยงสะทอน (Echo) ดวย FIR

1. จากการทดลองท9 9.1.1 ทาการแกไข โดยเพ9มบลอกท9สามารถรบสญญาณเสยงจรงและเลนเสยงได ดงนF

Page 81: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

78 Mahanakorn University of Technology

2. จากรปนาสญญาณ Y มาตอแทนสญญาณอนพตเดม และสญญาณ Data นาไปตอท9จดเอาตพตเพ9อฟงเสยงของสญญาณท9เปล9ยนไป (ถานาเสนสญญาณ Data ไปตอกบเสนสญญาณ Y เปนการฟงเสยงของสญญาณอนพตโดยตรง )

3. ไปท9หนาตาง Front panel เปดเลอกไฟลเสยงท9ตองการขFนมา แลว run ไฟล 4. แกไข การทดลองตอนท" 9.1.2 ใหสามารถรบสญญาณเสยงจรงได 5. แกไข การทดลองตอนท" 9.1.3 ใหสามารถรบสญญาณเสยงจรงได

การทดลองท" 9.3

การสรางเสยงคอรส (Chorus)

คอรสเปนการจาลองการประสานเสยง โดยการแปลงเสยงพดของคนๆเดยว ดวยการเปล9ยนความถ9ของเสยงนFนใหเปนเสยงใหม แลวนาสองเสยงมารวมกน จงเสมอนวามคนหลายคนพดคาเดยวกนพรอมๆกน

DelayInput + Output

gain (A)

รปท" 9.4 บลอกไดอะแกรมการสรางเสยงคอรส ถาแทน x(i) เปนอนพต และ y(i) เปนเอาทพต เขนยเปนสมการไดดงนF

y(i) = x(i) + a*x(i-LFO(i))

LFO (Low Frequency Oscillator) คอคาความถ9ต 9าในการสรางเสยงคอรส 1. สรางสญญาณ LFO ดงนF

2. ตFงคา cycle ท9 0.5 แลวดรปสญญาณท9จด O

Page 82: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

79 Mahanakorn University of Technology

3. จากบลอกไดอะแกรม เขยนใหอยในรปแบบของ LabVIEW ดงนF

4. Run ไฟล ลองฟงเสยงเอาทพต แลวลองเปล9ยนคา cycle เปน 1 ดรปสญญาณท9จด O และเสยงท9

ไดยนเปนอยางไร 5. ลองเปล9ยนคา cycle เปน 0 1 ดรปสญญาณท9จด O และเสยงท9ไดยนเปนอยางไร

Page 83: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

80 Mahanakorn University of Technology

10. การประมวลผลแบบหลายอตราชกตวอยาง

วตถประสงค

1. สามารถทาการเพ�มอตราชกตวอยางของสญญาณท�ตองการได 2. สามารถทาการลดอตราชกตวอยางของสญญาณท�ตองการได 3. สามารถนาวธการเปล�ยนอตราชกตวอยางไปประยกตใชงานจรงได

การลดอตราชกตวอยาง (Downsampling)

การลดอตราชกตวอยาง คอ การลดจานวนขอมลลงดวยอตราสวน 1/D หรอ ลดอตราลง D เทา โดยท� D เปนจานวนเตม วธการสามารถทาไดโดยสรางสญญาณใหมข5นมาโดยการดงเอาสญญาณเกามา 1 คา แลวเวน D-1 คา ตวอยางเชน ถา D = 3 เราจะตองสรางสญญาณใหม y(n) โดยดงเอาคาจากสญญาณเกา x(n) 1 คา เวน 2 คา ทาใหไดอตราขอมลของ y(n) นอยลงกวา x(n) 3 เทา

รปท. 11.1 ดาวนแซมปล5ง (Downsampling)

โดย T แสดงถงคาชวงเวลาของแซมเป5 ล หรอเทากบสวนกลบของอตราชกตวอยาง T = 1/Fs

และ D คอ อตราการทาดาวนแซมปล5ง ถาเปรยบเทยบไดกบการตดตอสวทซ ท�ถกยดชวงเวลาไป D เทา สงผลใหแตละแซมปล5งของ

สญญาณขาออกมระยะหางเปน DT

การทดลองท. 10.1 การลดอตราชกตวอยาง

1. สรางสญญาณอมพลซ h(n)

2. ดรปสญญาณ h(n) กาหนดคา sample = 50 และ delta = 0.1 (0 < delta < 1)

Page 84: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

81 Mahanakorn University of Technology

3. ดงบลอก ซ� งเปนบลอกในการดงคาขอมลแบบจดเวนจด 4. นาไปตอแลวดรปสญญาณท�ไดเปนอยางไร 5. วเคราะหสเปคตรมของสญญาณท�ยงไมทาการลดอตราชกตวอยางเปรยบเทยบกบสญญาณท�ลด

อตราชกตวอยางแลวแตกตางกนอยางไร บลอกไดอะแกรมรวม

การเพ.มอตราชกตวอยาง (Upsampling)

การเพ�มอตราชกตวอยาง คอการแทรกศนยลงไประหวางคาของสญญาณในทกๆจด

รปท. 11.2 อพแซมปล5ง (Upsampling)

ถาเปรยบการทาอพแซมปล5งไดกบการตดตอสวทซ ท�ถกลดชวงเวลาการตดตอไป I เทา สงผลใหแตละแซมเป5 ลของสญญาณขาออก มระยะหางเปน T/I และกลายเปนสญญาณท�มความถ�ไนควสตเพ�มข5น I เทา

การทดลองท. 10.2 การเพ.มอตราชกตวอยาง

1. ดงบลอก 2. กาหนดคาศนย เพ�อนาไปแทรกลงไประหวางคาของสญญาณ in

Page 85: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

82 Mahanakorn University of Technology

3. สญญญาณ In คอสญญาณ h(n) กาหนดคา sample = 50 และ delta = 0.5 4. ดรปสญญาณ y ท�ไดเปนอยางไร 5. วเคราะหสเปคตรมของสญญาณท�ยงไมทาการเพ�มอตราชกตวอยางเปรยบเทยบกบสญญาณท�

เพ�มอตราชกตวอยางแลวแตกตางกนอยางไร บลอกไดอะแกรมรวม

เดซเมชนและอนเตอรโปเลชน

ผลตอเน�องหลงจากการทาดาวนแซมปล5งและอพแซมปล5งคอ การเกดสเปคตรมท�เกนจากไนควสต และการเกดสเปคตรมเงาท�เราไมตองการ วธท�งายท�สดกบท5งสองกรณกคอ การใชตวกรองต�าผานเพ�อกรองสเปคตรมท�ไมตองการ โดยสาหรบกรณของดาวนแซมปล5งน5นการขยายขนาดของแบนดวทอาจจะทาใหเกดแอลแอสข5นได ดงน5นจงตองมการจากดแบนดวทของสญญาณกอนท�จะทาดาวนแซมปล5ง การจากดแบนดวทสญญาณคอการกรองสญญาณดวยตวกรองต�าผาน การรวมบลอกตวกรองเขากบบลอกการทาดาวนแซมปล5ง เรยกวาการทาเดซเมชน (decimation) แสดงดงรป

Page 86: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

83 Mahanakorn University of Technology

รปท. 11.3 การทาเดซเมชน การทดลองท. 10.3 เดซเมชน

1. สรางสญญาณ x(n) เปนสญญาณท�สามารถเปล�ยนแปลงคาความถ�จากความถ�ต �าไปหาความถ�สง

ดวยบลอก แลวตอตามรปขางลาง

2. ดรปสญญาณท�ได โดยกาหนดคา sample = 500, f1 = 1, f2 = 1000 และ fs = 10000 และดรป

สเปคตรมของสญญาณ x(n)

3. สรางตวกรองจากบลอก กาหนดคาความถ�ชกตวอยาง fs เทากบความถ�ชก

ตวอยางเดยวกบสญญาณ x(n) และคาความถ�ตดท� D

2fs freq cutoff low = ไดคา fc =

____________. 4. นาสญญาณ x(n) มาเปนสญญาณอนพทของตวกรองท� X ดรปสญญาณท�ไดเม�อผานตวกรอง

แลวและรปสเปคตรมของสญญาณ 5. ลองแปล�ยนคาความถ� f2 เปน 2000 แลวสงเกตรปสญญาณท�ได 6. แกคาความถ� f2 กลบเปนคาเดม ตอรวมกบบลอกการทาดาวนแซมปล5ง เลอกทาดาวนแซมปล5ง

ท� 2 (D = 2) ดรปสญญาณท�ไดพรอมสญญาณสเปคตรม สาหรบปญหากรณการทาอพแซมปล5งจะเกดเน�องจากสเปคตรมเงาท�เกดข5นเปนสวนของสเปคตรมท�เพ�มจานวนข5นมาอนเน�องจากอตราแซมปล5งมากข5น การกาจดสเปคตรมเงากเพ�อกรองเฉพาะสเปคตรมท�เราตองการเทาน5นจงมตวกรองอยภายหลงจากการทาอพแซมปล5ง การกระทาเชนน5 ใหผลลพธเหมอนการทาอนเตอรโปเลท (interpolate) ของแซมเป5 ลสญญาณ เรยกการรวมของตวกรองต�าผาน และการอพแซมปล5งเขาดวยกนวา การอนเตอรโปเลชน (Interpolation)

Page 87: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

84 Mahanakorn University of Technology

รปท. 11.4 การทาอนเตอรโปเลชน

การทดลองท. 10.4 อนเตอรโปเลชน

1. จากบลอกไดแกรมรปท� 10.4 ตอดวยบลอกของ LabVIEW ได

2. สญญาณ x(n) คอสญญาณเดมจากการทดลองท� 10.3 โดยกาหนดคา sample = 100, f1 = 1, f2 = 1500 และ fs = 10000 ดรปสญญาณและสเปคตรมของสญญาณ

3. นาสญญาณ x(n) ตอผานบบลอกอพแซมปล5ง ทาอพแซมปล5งท� 2 เทาดรปสญญาณและสเปกตรมของสญญาณ

4. นาสญญาณจากการทาอพแซมปล5งมาตอผานบลอกตวกรอง ท�ความถ�ตด

I

2fs freq cutoff low =

ดรปสญญาณและสเปคตรมของสญญาณ สงเกตสเปกตรมของสญญาณท�ทาการอพแซมปล5งกบท�ผานตวกรองแลวแตกตางกนอยางไร

5. เปล�ยนคาการทาอพแซมปล5งเปน 3 เทา ดผลของสญญาณท�ได

Page 88: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

85 Mahanakorn University of Technology

11. Fixed-point Experiments with LabVIEW

วตถประสงค

1. เขาใจท�มาของความผดพลาดอนเกดจากการควอนไตซ 2. เขาใจความหมายของระบบ Fixed-point ในดานการประมวลผลสญญาณท�ตองการได 3. สามารถออกแบบระบบ Fixed-point เพ�อประยกตใชงานจรงได

บทนา

ระบบตวเลขท�ใชในคอมพวเตอรจะมอย 2 กลมใหญ คอ Floating-point และ Fixed-point กอนหนาน? เราจะไมคอยไดเจอกบคาวาระบบคานวณแบบ Fixed-Point เทาใดนก แตในเม�ออปกรณท�ใชระบบสมอง

กลฝงตว (Embedded Systems) เร�มมาเปนท�รจกกนมากข?น คาวาระบบ Fixed-point กเขามาใหไดเหนไดยนหนาหกนข?นทกท ท?งน?กเพราะอปกรณตางๆ ท�เก�ยวเน�องกบระบบสมองกลฝงตวท�มประสทธภาพสงแตกนพลงงานต�าน?นตางกใชระบบตวเลข Fixed-point แทบท?งส?น ซ� งตรงกนขามกบซอฟทแวรท�ใชระบบตวเลข Floating-point ท�เนนการทางานบน PC ท�ม หนวยประมวลผลแบบ Floating Point ท�เรยกวา Floating Point Unit หรอ FPU ตดมาอยกบ CPU ของระบบอยแลว ในการทดลองน? เราจะใช LabVIEW เพ�อการศกษาเร�องของ Fixed-point แบบเปนข?นเปนตอน

ทฤษฎของระบบ Fixed-Point

คอมพวเตอรน?นแมเปนเคร�องคานวณท�ซบซอน แตมนกตองทางานดวยระบบเลข 0 หรอ 1 เทาน?น คาวาคอมพวเตอรน? รวมไปถง ตวประมวลผลสญญาณดจตอล (Digital Signal Processors) ไมโครโปรเซสเซอร หรอ ฟลดเกตอารเรยท�โปรแกรมได หรอ FPGA (Field Programmable Gate Array) เปนตน โดยขอมล 0 และ 1 น?จะเรยกวา บท (bit) และเปนองคประกอบของเลขฐานสอง หรอ เรยกวาระบบเลขไบนาร (Binary Numbers) ซ� งหากนาขอมลหลายๆบทมาเรยงตอกน เชน 8, 16 หรอ 32 บท กจะไดชดขอมลสารสนเทศ (Information) สาหรบใชส�อความหมายของส�งท�จะถกคานวณ และขอมลท�คานวณแลว สวนระบบตวเลขท�มนษยเขาใจน?นกลบเปนเลขฐาน 10 คอ ประกอบดวยเลข 0 ถง 9 เชน 1234 , 12.34 หรอ -12.34 เปนตน เลข 1234 น?น เรยกเลขจานวนเตม (Integer Numbers) เลขท�มทศนยม 12.34 เรยกวา เลขตรรกยะ (Fractional numbers) และ สวน -12.34 เปนเลขท� ตดคาลบ (Signed Numbers) ดงน?นหากจะใหคอมพวเตอรท�คานวณดวยเลขฐานสองน?นแสดงผลลพทท�เปนเลขจานวนเตม เลขตรรกยะและเลขตดลบท�มนษยเขาใจไดน?น กจะตองมระบบตวเลขบางอยางเพ�อใหส�อสารกนเขาใจ Fixed-Point คอ ระบบตวเลขท�ใชเลขไบนาร หรอ บท (Bit) คอ 0 และ 1 สาหรบการแสดงท?งเลขจานวนเตม เลขตรรกยะ หรอ เลขท�ตดคาลบ หลายคนเขาใจผดคดวา Fixed-point นCน คอ ระบบทEคานวณได

แตเลขจานวนเตม แตหากดจากความหมายน? แลว เรากจะเหนไดวาเปนความเขาใจผดโดยส?นเชง เพราะ

Page 89: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

86 Mahanakorn University of Technology

ระบบเลข Fixed-point นCน สามารถคานวณไดทCงขอมลทEเปนระบบเลขจานวนเตม (Integer numbers)

เลขตรรกยะ (Rational numbers) หรอ เลขทEตดคาลบ (Negative numbers) ไดดวย ทาไมจงเปน เชนน?น กอนอ�นตองมาดความหมายของคาวาเลขจานวนจรง (Rational numbers) และสญญาณจรง (Real signals) กนกอน

สญญาณจรง คอ เลขตรรกยะ

สญญาณจรงเชน สญญาณไซน จากฟงกชนเจนเนอเรเตอร หรอ สญญาณเสยงพด (Speech Signal) เปนตน ท�เราคนเคยกนน?นจะอยในรปเลขตรรกยะ(Rational numbers) เลขตรรกยะน?นไดมาจากตวเลขทE

เปนอตราสวนของเลขจานวนเตม a และ b หรอ a/b ซ� งหากเขยนในรปแบบของเลขทศนยม ตวอยางเชน 12.34 หรอ 0.0015 โดยจดทศนยมจะอย ณ ตาแหนงตางๆ กนไปแลวแตคาของการใหนยสาคญของตวเลขน?นๆ จดทศนยมในเลขฐานสบน?นมช�อเรยกแบบท�วไปซ� งเอาไวใชสาหรบเลขฐานอ�นๆ ดวยวา เรดกซ

พอยท (Radix point) โดยเลข Fixed –Point น?น ตาแหนงของเรดกซพอยนทของ Fixed-point นCนจะคงทE

ไมมการเปลEยนแปลง หรอ แปลตรงตวกคอ “Fixed” หรอ “ยด” ตรงกนขามกบ ระบบ เลข Floating-point เพราะเรดกซพอยนทในระบบ Floating-point น?น “Floating” หรอ “ลอย” หรอ ไมยดตดกบตาแหนงท�กาหนดไว ซ� งขอดท�เหนอกวาของ Floating-point เม�อเทยบกบ Fixed –point กคอ Floating-point สามารถแสดงตวเลขในยานท�กวางกวา Fixed-point มากๆ เหมาะกบงานท�ตองการความละเอยดข?นสง เชน ระบบ Hi-Fi Audio ระบบ Radar และ ระบบ Medical Electronics เปนตน และนอกจากน?นในระบบคอมพวเตอรท�ใชงานโดยท�วไปแลว กจะนยมใชงานตวเลข Floating-Point มากกวา Fixed-point และอกท?งภาษาในการโปรแกรมท�นยมกนอยางเชน ภาษา C กไมไดออกแบบใหสนบสนนกบ Fixed-point โดยตรง มาตรฐานท�ใชงานระบบ Floating Point กคอ The IEEE Standard for Floating-Point Arithmetic หรอ IEEE 754 ท�ใชกบ CPU ในปจจบน ดงน?นจงไมนาแปลกใจวาทาไมระบบ Fixed-Point จงไมคอยคนหเทาใดนก แตกระน?นกตาม Fixed-Point กกลบเปนทEนยมมากในระบบสมองกลฝงตวและระบบทEตองการ

ประสทธภาพทEสงแตกนพลงงานตEาและในราคาทEแขงขนได เพราะขอดท�สาคญมากของระบบ Fixed-point กคอ การท�มนใชกระบวนการคานวณเลขจานวนตรรกยะเหมอนกบท�คานวณเลขจานวนเตม ดงน?น Fixed-point จงไดเปรยบท�สามารถใชหนวยประมวลผลเลขคณต หรอ Arithmetic Logic Unit หรอ ALU ท�มอยใน CPU ทกตวอยแลวอยางมประสทธภาพ โดยไมตองอาศยหนวยประมวลผลทางฮารดแวรใดๆ เชน ชพ FPU เพ�มเตม หรอ โดยไมตองกระทาการทางซอฟทแวร เชน ไลบราร� ภายนอก เปนตน ในตวประมวลผลสญญาณดจตอลราคาไมแรงท�วไปจะไมมสวนของ FPU ท?งน? เหตผลหนEงกคอ เรEองของการประหยด

พลงงาน เชน ตวประมวลผลตระกล Blackfin ของ Analog Devices หรอ ตระกล TMS320C5x ของ Texas Instruments เปนตน การใชระบบ Fixed-point จะมประโยชนในเร� องของการเขยนโปรแกรมใหมประสทธภาพสาหรบงานท�ตองมการคานวณทางคณตศาสตรอยางหนกหนวง

Page 90: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

87 Mahanakorn University of Technology

ดงน?นดวยเหตผลดานราคา ดานประสทธภาพ ดานการจดการพลงงานของชพ กเพยงพอแลวท�จะทาให Fixed-point น?นเปนท�นยมมากกวา Floating-Point และ แตส�งท�ตามมาจากนอกเหนอจากน?น กลบเปนดานความเรวในการทางานของตวประมวลผลในตระกล Fixed-point ท�เหนอกวา Floating-point มาก โดยประสทธภาพของชพ DSP จะวดกนดวย ความสามารถในการคณและแอคควมเลทตอวนาท หรอ Millions

of Multiply Accumulates (MMAC) per second หรอ MMAC ตอ วนาท ซ� งเม�อเทยบคา MMAC ของ Floating-point กบ Fixed-point แลว ชพ Floating-point ในตระกล TMS320C67x มคาสงสดอยท� 2100 MMAC แต จะพบวา Fixed-point DSP ในตระกล TMS320C64xx ว�งไปถง 8000 MMAC และ ในตระกล TMS320C645x สามารถใหไดถงสงสดท� 9600 MMAC เพราะฉะน?นตวประมวลผลดจตอลท�แรงๆ แลวจะเปน Fixed-point DSP แทบท?งส?น โดยงานท�ใช Fixed-point กเชน Audio Coding หรอ ชพท�เปน Graphic Engine ของวดโอเกม ของ Sony, Nintendo DS และ จะใชระบบการคานวณเปน Fixed-point ท?งหมด

การควอนไตซ : ตนกาเนดของการแปลงสญญาณแอนะลอกเปนดจตอล

เม�อทราบถงท�มาท�ไปของระบบ Fixed-point ท�เปนเหตผลสาคญตอระบบการคานวณสญญาณท�มประสทธภาพแลว ตอนน? เรามาดกนวาหากเราตองการจะประมวลผลสญญาณท�อยในรปของระบบเลขตรรกยะดวยตวประมวลผลในระบบสมองกลฝงตวท�เปนระบบเลข Fixed-point แลว การจะแปลงสญญาณในระบบเลขตรรกยะใหเปนระบบตวเลข Fixed-point จะทาไดอยางไร คาตอบกคอตองทา การควอนไตซ

(Quantization) สญญาณจรงน?น การควอนไตซเปนการเปล�ยนตวเลขในระบบเลขตรรกยะ (Fractional) ใหเปนระบบเลขจานวนเตม (Integer) เพ�อจดรปใหถกประมวลผลดวยคอมพวเตอรในระบบ Fixed-point ไดเพราะเลขจานวนเตมท�วาน?นกคอสญญาณดจตอล การควอนไตซเปนรปแบบหน�งของการ“ปดเศษ” หรอ “Rounding” การควอนไตชน?นถอวาเปนตนกาเนดของการแปลงสญญาณจากแอนะลอกเปนดจตอล (Analogue to Digital Converter) หรอ A/D เพราะการควอนไตซน?นเปนแนวคดทางทฤษฎ สวนการทา A/D กคอเปนปฏบตการควอนไตซสญญาณน�นเอง เม�อมการแปลงสญญาณผานการควอนไตซ ส�งท�ตามมาอยางแนนอนกคอ ความผดพลาดอนเกดจากการควอนไตซ ในทางปฏบต เราอาจจะทดสอบวดรปสญญาณท�ถกแปลงเทยบกบสญญาณตนฉบบแอนะลอก ดวยการตอวงจรฮารดแวร อนประกอบดวย ตวแปลงแอนะลอกเปนดจตอล (Analog to Digital Converter) หรอ A/D และแปลงกลบดวย ตวแปลงดจตอลเปนแอนะลอก (Digital to Analog Converter) หรอ D/A แตหากเปนการจาลองดวยซอฟทแวร จะมขอดกวา เพราะไมตองมการตอวงจรทาใหประหยดคาอปกรณ และหากมการปรบเปล�ยนพารามเตอรเชน จานวนบทของตวแปลง A/D กสามารถทาไดโดยสะดวก โดย LabVIEW น?นมฟงกชนท�อานวยความสะดวกในการใชงานหลากหลาย รวมถงบลอกการควอนไตซท�เราจะใชงานดวย

Page 91: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

88 Mahanakorn University of Technology

การทดลอง

เราจะแบงการทดลองเปน 2 สวน คอ การทดลองเร�องควอนไตซ (Quantisation) และ การทดลองเร�อง Fixed-point

การทดลองเรEองควอนไตซ (Quantisation)

โดยหลกการแลว วธการเขยนโปรแกรม LabVIEW ท�รวดเรววธหน� งกคอ การรางไอเดยของโปรแกรมเปนไดอะแกรมกอน เพราะจะเหมาะกบวธเขยนโปรแกรมดวยบลอกไดอะแกรมและการลากสายเชน LabVIEW โดยเราจะสรปส?นๆ ดงน? คอ “สรางสญญาณไซน และ ผานสญญาณน?นเขาสกระบวนการควอนไตซ และ แสดงกราฟท?งสองเปรยบเทยบกน” การทาควอนไตซน?น เราจะทาโดยการใชบลอกตวแปลงสญญาณแอนะลอกเปนดจตอล (A/D) กอนแลวสวนการแปลงกลบเปนแอนะลอก ดวยตวแปลงสญญาณดจตอลเปนแอนะลอก (D/A) ดงรปท� 11.1 การพลอตกราฟ จะมอยสองบลอกไดอะแกรม คอ บลอก Plot Signals ซ� งพลอตกราฟของสญญาณตนบบ และสญญาณท�ผานการควอนไตซ และ บลอกพลอต Error จะเปนคาความแตกตางของสญญาณท?งสอง และเราจะสรางโปรแกรม LabVIEW ตามแนวทางท�แสดงน?

รปทE 11.1แนวคดของโปรแกรมทดสอบผลการควอนไตซ

การสรางโปรแกรม LabVIEW สาหรบ การควอนไตซ

จากแนวคด ใน รปท� 11.1เราเร�มจากการสรางสญญาณไซนโดยใชบลอก Sine Waveform.vi จากฟงกชน Signal Processing>> Waveform Generation >> Sine Waveform.vi ซ� งใหผลลพทเปนสญญาณไซนโดยคาดฟอลท (Default) จะมขนาด 1 Vp และมความถ� 10 Hz ดงในรปท� 11.2

Page 92: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

89 Mahanakorn University of Technology

รปทE 11.2 Signal Processing>> Waveform Generation >> Sine Waveform.vi

โดยเราจะสมมตวาสญญาณจากบลอก Sine waveform.vi น? เปนสญญาณไซนแอนะลอกตนฉบบ แมวาท�จรงแลวมนจะไมใชสญญาณแอนะลอกแทๆ เพราะถกสงเคราะหข?นมา ซ� งเราไดเลอกการใช Sine Waveform จดวางลงบนพ?นท�วางของหนาจอบลอกไดอะแกรมท�จะเปนโปรแกรมของเรา จะไดดงรปท� 11.3 โดยเราจะใหทกพารามเตอรเปนคาดฟอลทไปกอน ยกเวนแตคา Sampling info ซ� งจะเปล�ยนคาความถ�สมสญญาณ 1 kHz เปน 10 kHz วธการกคอ คลกขวาท�เทอรมนล sampling info ของบลอก Sine waveform.vi แลวเลอก create >> control กจะไดเปน control เพ�อการเลอกคาในฟรอนทพาเนลดงในรปท� 11.3

รปทE 11.3 การจดวาง Sine Waveform.vi ในบลอกไดอะแกรม และรปการตCงคาความถEชกตวอยาง (Fs) และ

จานวนแซมเปC ล (#s) ในสวนฟรอนทพาเนล

จากน?น เราจะเลอก บลอก Analog to Digital.vi หนาท�ของบลอกน? คอการทาการแปลง จากสญญาณแอนะลอกของ Sine waveform มาเปนสญญาณดจตอล โดยมความละเอยด (resolution) ตามจานวนบทท�กาหนด โดยเลอก Programming >> Waveform >> Analog to Digital.vi

Page 93: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

90 Mahanakorn University of Technology

รปทE 11.4 แสดงบลอกของ Analog to Digital.vi และ Digital to Analog.vi

แลวทาการเขยนโปรแกรมโดยใหมบลอกไดอะแกรมและฟรอนทพาเนลเปนดงรปท� 11.5 โดยเพ�อแสดงผลของการควอนไตซใหเหนอยางชดเจน เราจะกาหนดความถ�สมสญญาณ (Fs) ใหมเปน 10 kHz ซ� งคาความละเอยดท�กาหนดมาให หรอ คา Default น?นจะเปน 16 บท แตเราจะเลอกทดสอบท�จานวนบท (No. of Bits) เปน 5 บท สวนจานวนแซมเป? ล (#s) ใชคาดฟอลทเปน 1000 แซมเป? ล

รปทE 11.5 การวาง Analog to Digital.vi และเชEอมตอกบ Sine Waveform.vi

จากน?น เราเลอกบลอก Digital to Analog.vi เพ�อสรางสญญาณกลบคน Programming >>

Waveform >> Digital to Analog.vi แลวลากสายเช�อมตอกบบลอก ดงรปท� 11.6 เทาน? เรากจะได โครงสรางของระบบการแปลง A/D และ D/A แลว

Page 94: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

91 Mahanakorn University of Technology

รปทE 11.6 เชEอมตอสายระหวางบลอก Analog to Digital.vi และ Digital to Analog.vi

จากน?นเราทาการรวมกราฟเขาดวยกน เพ�อแสดงสญญาณแอนะลอก และ สญญาณแอนะลอกท�ถกควอนไตซเปรยบเทยบกน โดยเราจะเลอกใช บลอกของการสรางอารเรย (Build Array) โดยการเลอกท�ฟงกชน Programming>> Array>> Build Array ซ� งตาแหนงจะแสดงดงรปท� 11.7

รปทE 11.7 ฟงกชน Array และ Build Array

โดย อารเรยท�สรางจากบลอก Build Array เม�อนามาวางบนโปรแกรมจะแสดงเปน ซ� งหมายถงอารเรย 1 แถว แตขอดของ LabVIEW กคอ เราสามารถขยายขนาดของอารเรยไดโดยงาย เพยงแคลากขอบ

ดานลางของบลอก เปน และเราทาการเลอกใหมจานวนอารเรย 2 แถว ซ� งมอนพทเปนสญญาณแอนะลอกและสญญาณแอนะลอกท�ถกควอนไตซ จากน?นเลอกการแสดงผลเปน Controls >>

Modern >> Waveform Graph ซ� งจะเปนฟงกชนพลอตกราฟ และเพ�อแสดงความผดพลาดอนเน�องมาจากการ ควอนไตซ เราเลอกใชวธการลบคาของสญญาณท?งสองออกจากกน ซ� งจะไดผลลพทเปนคา

Error โดยใชบลอกตวลบสญญาณ เพ�อแสดงคาความผดพลาดและโชวผลดวยฟงกชนพลอตกราฟ

ซ� งในท�สด เราจะไดโปรแกรมการทดสอบผลการควอนไตซ ท�สมบรณดงรปท� 11.8

Page 95: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

92 Mahanakorn University of Technology

a)

b)

รปทE 11.8 a) บลอกไดอะแกรมและ b) ฟรอนทพาเนลของโปรแกรมการทดสอบผลการควอนไตซ

การทดลองทE 11.1 ทดลองเปล�ยนแปลงจานวนบทของโปรแกรมในรปท� 11.8 เพ�อลดความละเอยดเปน 3 บท เพ�อเปรยบเทยบคาของความผดพลาดท�จานวนบทเปน 3 บท และ 5 บท และอภปรายผล จะพบวา การแปลงผลลพทจากแอนะลอกเปนดจตอลน?นกจะมความผดพลาดจากการควอนไตซเสมอ โดยคาความผดพลาดท�มากข?นน?นมความสมพนธโดยตรงกบ จานวนบทในการแปลงท�ลดลง น? สงผลเปนสญญาณรบกวนท�เกดข?นในระบบท�เรยกวาสญญาณรบกวนควอนไตซ (Quantization Noise) สญญาณรบกวนน? เปนท�ไมพงปรารถนา สาหรบระบบท�ตองการความละเอยดของสญญาณอยางถงท�สด โดยเฉพาะ

Page 96: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

93 Mahanakorn University of Technology

อยางย�งในระบบภาพและเสยงแบบดจตอล (Digital Video and Audio) แบบไฮเอนด หรอ ในระบบเคร�องมอวดความเท�ยงตรงสงๆราคาแพงๆ เปนตน เม�อเราทราบวา สญญาณมความผดพลาดจากการแปลง เราควรมาเรยนรวาเบ?องหลงของการเกดการผดพลาดน?มาไดอยางไร

Q-format

Q-Format เปนรปแบบของ Fixed-point ท�ใชแสดงเลขตรรกยะจากขอมลเลขฐานสอง 0 กบ 1 ซ� งจะทาใหอปกรณฮารดแวรดจตอล เชน คอมพวเตอร หรอ ตวประมวลผลดจตอล อนประกอบดวย ไมโครโปรเซสเซอร หรอ ดจตอล ท�ทางานดวยเลขฐานสองสามารถคานวณเลขตรรกยะได ตวอยางของ Q-Format น?นมหลากหลาย แตท�แสดงในการทดลองน? จะใช รปแบบ “Qm.n” โดยท� แสดงจานวนบทของเลขจานวนเตม (Integer) หรอ เรยกวา ความยาวเวรดของเลขจานวนเตม (Integer Word Length)” หรอ iwl สวน n แสดง จานวนบทของเลขทศนยม (fractional number) หรอ กคอคาของ 2’s complement โดยคาของผลรวม m+n จะเปนความยาวเวรด (Word Length) หรอ wl ตวอยางของโครงสรางและสญญลกษณของ Q-format แบบ Q1.7 และแบบ Q5.3 แสดงรปท� 11.9 รปแบบท�แสดงในการทดลองน? เปนแบบ Modified Q-format เพราะรปแบบด?งเดมจะไมมการแสดงสวนของจานวนบทท�เปน iwl เชน 01.10 จะเปน Q1.2 ใน Modified Q-format แตเปน Q2 ใน Q-format แบบด?งเดม

รปทE 11.9 โครงสรางของ Q-format แบบ Q1.7 และ Q5.3

Page 97: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

94 Mahanakorn University of Technology

สงเกตวาเวลาเขยน Q-format น?น จะมจดแบงจานวนบทของเลขจานวนเตมและเลขทศนยมเรยกวาเรดกซ

พอยท (Radix point) ซ� งมช�อวาเดซมอลพอยนท (Decimal Point) สาหรบเลขฐาน 10 และ ไบนารพอยนท

(Binary point) สาหรบเลขฐาน 2 เรดกซพอยนทมไวเพ�อแสดงถงตาแหนงการแบงของคาจานวนเตมของเลขฐานสองและสวนเลขทศนยม (ตรรกยะ) โดยตวประมวลผลนCนจะไมรบรถงความหมายของเรดกซ

พอยนทนC คงไดแตทาการคานวณไปตามปกต การคานวณผลลพทของ Q-format ใน LabVIEW ทาไดดงน? คอ

1

12

( ) 2 2 2wl

iwl iq i

i

x Q x b b− −

=

= = − × + ×

สาหรบ wl = 3 และ iwl=1 จะได เปน Q1.2 ( )1 1 2 3

1 2 3

0 1 21 2 3

2 2 2 2

2 2 2

qx b b b

b b b

− − −

− −

= − × + × + ×

= − × + × + ×

เชน 1 2 3. 0.11b b b = เราจะไดเปน

0 1 2ˆ 0 2 1 2 1 2

0.75

x − −= − × + × + ×

=

และ หาก 1 2 3. 1.11b b b = เราจะไดเปน

0 1 2ˆ 1 2 1 2 1 2

0.25

x − −= − × + × + ×

= − เปนตน ซ� งหากจานวนบทมากกวาหรอนอยกวาน? กสามารถปรบ wl และ iwl ไดตามความตองการ

การทดลองทE 11.2 จงแสดงการคานวณคาท�ไดจากระบบฟกซพอยนทท�มความยาวเวรด wl เปน 8 บท และ มความยาวเลขจานวนเตม (iwl) 5 บท (Q5.3) ของ 1 2 3 4 5 6 7 8. 01000.111b b b b b b b b = และ หาคาสงสด (Maximum) และ คาต�าสด (Minimum)

Page 98: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

95 Mahanakorn University of Technology

รปทE 11.10 แสดงคาทEเปนไปไดจากการควอนไตซและขCนความผดพลาดหรอความละเอยดของ Q1.2

มเกรดเร�องคาศพทของเร�อง Fixed-point ท�นาสนใจอย 2 คากคอ คาวาความละเอยด (Resolution) และ ความเทEยงตรง (Precision) ในเร�องของ Fixed-point น?น ความละเอยดจะหมายถงคาท�นอยท�สด หรอ กคอคาท�ไดจากบท LSB เชน Q1.2 จะมความละเอยดเปน 22 0.25− = สวนความเท�ยงตรงน?นจะเปนจานวนความยาวเวรด (wl) โดย Q1.2 จะมความเท�ยงตรงเทากบ 3 บท

การทดสอบการทางานของระบบ Fixed-point

หลงจากเรยนรเร� องของระบบ Q-format ซ� งจะนามาใชงานกบระบบ Fixed-point กนไปแลว ในตอนน? เราจะมาทดสอบกบระบบการแปลงบลน ซ� งเราจะใชแทนคาอนพทเพ�อแปลงเปนคา Fixed-point แบบ Q5.3 และแสดงผล โดยหลกการแลว เราจะสรางโปรแกรมสาหรบการแปลงอนพทท�เปนบลน (Boolean) เพ�อเรยนรวาจะให คา Fixed-point เปนอยางไรตาม Q-format ท�กาหนดมาให

Page 99: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

96 Mahanakorn University of Technology

รปทE 11.11 แนวคดของโปรแกรมแสดงผลดวย LabVIEW เพEอการแปลงบลนเปนระบบ Fixed-point Q5.3

สรางโปรแกรม LabVIEW ทดสอบ “แปลงบลนเปน Fixed-point”

จากแนวคดในรปท� 11.11 เราสรางบลนอนพทอารเรยดวยสวทซแบบ Vertical Toggle Switch

จาก Modern>> Vertical Toggle Switch และเลอก Boolean Properties เปน Switch when pressed ดงแสดงในรปท� 11.12 แลวทาการสรางอารเรยดวยบลอก Build Array.vi ในรปท� 11.13 จากน?น copy ลงมาเพ�อสรางเปนอารเรยของบลนจานวน 8 ตว ใหเปนดงรปท� 11.14

รปทE 11.12 เลอก Boolean Properties ของ เปนแบบ Switch when pressed

Page 100: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

97 Mahanakorn University of Technology

รปทE 11.13 สรางอารเรยของบลนดวยบลอก Build Array.vi

รปทE 11.14 สรางอารเรยของบลนจานวน 8 ตว

ถดจากน?นเลอก Boolean Array To Number.vi จาก Programming>>Boolean>>Boolean Array

To Number.vi เพ�อแปลงคาอารเรยใหเปนคาในรปแบบของเลข Fixed-point ดงรปท� 11.15

รปทE 11.15 สาหรบ เลอก Programming>>Boolean>>Boolean Array To Number.vi

แตกอนทEจะนา ไปวางเพEอเชEอมตอกบบลอกอารเรย จะตองมกระบวนการ “กลบลาดบบท” ในอารเรย

เสยกอน เพEอใหตวแปลงอารเรยบลน สามารถแปลงคาอารเรยไดอยางถกตองตามลาดบบท เพราะวาหากไม

ทาการกลบลาดบบทในอารเรย การเรยงลาดบของบทตามทEแสดงในรปทE 11.14 จะเปน 8 7 6 5 4 3 2 1b b b b b b b b

ไมใช 1 2 3 4 5 6 7 8b b b b b b b b

Page 101: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

98 Mahanakorn University of Technology

เราใชบลอก Reverse 1D Array.vi ในการกลบลาดบบทในอารเรย โดยเลอก Programming >> Array >>Reverse 1D Array.vi

รปทE 11.16 บลอก Programming>>Array>>Reverse 1D Array.vi

รปทE 11.17 แสดงบลอก Boolean Array To Number.vi และ บลอก Reverse 1D Array.vi

จากน?นเลอกบลอก Numeric Indicator จากคอนโทรล Modern>> Numeric >> Numeric

Indicator แลวสราง While loop เพ�อใหโปรแกรมรนไดอยางตอเน�อง และอปกรณควบคม คอ ปม stop และ wait unit next ms multiple ซ� งสดทายแลว เราไดโปรแกรม Boolean to Fixed-Point Test.vi ท�เสรจสมบรณเปนดงรปท� 11.18 ท?งบลอกไดอะแกรมและฟรอนทพาเนล

Page 102: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

99 Mahanakorn University of Technology

a)

b)

รปทE 11.18 โปรแกรม Boolean to Fixed-Point Test.vi a) บลอกไดอะแกรม b) ฟรอนทพาเนล

ข?นตอนถดมา น?นเรากาหนดให เปน Fixed-point โดยเราคลกขวาเลอก Properties เพ�อแสดงหนาจอ

Object Properties และคลกตรง Representation แลวเลอกตวเลอก Fixed-Point จากน?นเราเลอก

คณสมบตของ ดวย Object Properties โดยให Word Length (wl) เปน 8 bits และให Integer

Word Length (iwl) เปน 5 bits ซ� งจะไดความละเอยด (Resolution) ของระบบเปน 32 0.125− = และ ถด

จากน?น เรากทาการเลอก คณสมบตของ Result ดวย Properties >> Data Type

Page 103: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

100 Mahanakorn University of Technology

a) b)

รปทE 11.19 กาหนด a) Object Properties ของ Array to Number และ b) Data Type ของ result

ใหม Word Length (wl) เปน 8 bits และ Integer Word Length (iwl) เปน 5 bits

จากน?นทดลองรนโปรแกรม โดยเลอกคาบลนเปน 01000111 ซ� งจะใหคาเปน 8.875 ตามท�ไดคานวณไวกอนหนา สงเกตวา เราอาจจะเขยนตาแหนงเรดกซพอยท เปน 01000.111 หรอไมกได แตกจะไมมผลใดๆ ตอการคานวณของโปรแกรม เพราะเรดกซพอยท เปนเพยงเพ�อการทาความเขาใจของผเขยนโปรแกรมเทาน?น

รปทE 11.20 แสดงผลกรณเลอกบลน 01000111 จะไดคา 8.875

หาก ทดสอบการแสดงคามากสด และ คานอยสดท�จะใหได กจะแสดงดงรปท� 11.21 a) และ b)

a)

Page 104: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

101 Mahanakorn University of Technology

b)

รปทE 11.21 แสดงผลกรณเลอกบลน a) คานอยสด (Minimum) b) คามากสด (Maximum)

จากน?นทดลองเปล�ยนจานวนบทของ iwl เปน 1 บท ดงรปท� 11.22 เราจะไดวา

รปทE 11.22 Object Properties ของ Array to Number ให Integer Word Length (iwl) เปน 1 bits

0 1 2 3 4 5 6 7

1 2 3 4 5 6 7 82 2 2 2 2 2 2 2qx b b b b b b b b− − − − − − −= − × + × + × + × + × + × + × + ×

ซ� งจะพบวา คา 01000111 มคาเปน 0.55468750เพราะ

0 1 2 3 4 5 6 70 2 1 2 0 2 0 2 0 2 1 2 1 2 1 2

0.55468750qx − − − − − − −= − × + × + × + × + × + × + × + ×

= โดยม ความละเอยดอยท� 72 0.00781250− =

Page 105: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

102 Mahanakorn University of Technology

รปทE 11.23 แสดงผลกรณเลอกบลน 01000111 จะไดคา 0.55468750

a)

b)

รปทE 11.24 a) คานอยสด (Minimum) b) คามากสด (Maximum)

หากทาการเปล�ยนคาของ data type แลวพบวา เกดจดสแดงข?นท�อนพทของอนดเคเตอร จดน? จะเรยกวาจด

บบบงคบ (Coercion Dot) ซEงเปนการทางานของ LabVIEW จะเปลEยนชนดของขอมลใหโดยอตโนมต เราอาจจะปลอยไวกได หรอหากไมตองการใหเกดจดบบบงคบ กใหทาการเปล�ยน Data Type ของอนดเคเตอรเปนตามคาของ Array to Number คอ wl=8 บท และ iwl=1 บท

Page 106: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

103 Mahanakorn University of Technology

รปทE 11.25 การเกดจดบบบงคบ (Coercion Dot) กบ อนดเคเตอร Result แสดงชนดขอมลทEไมตรงกน

แกไขโดยการเปลEยน Data Type ของอนดเคเตอรเปนตามคาของ Array to Number คอ wl=8 บท

และ iwl=1 บท

การทดลองทE 11.3 จงเปล�ยนโปรแกรม Boolean to Fixed-Point Test.vi ในรปท� 11.18 ใหสามารถทางานในระบบ Q10.6

เอกสารอางอง

1. Digital Signal Processing System-Level Design Using LabVIEW, Nasser Kehtarnavaz and Namjin Kim, Newnes, Elsevier Inc., 2008 2. Fixed-point Signal Processing, Synthesis Lectures on Signal Processing, Wayne T. Padgett and David V. Anderson, Morgan & Claypool, 2009 3. Comparing Floating-point and Fixed-point Implementations on ADI Blackfin Processors with LabVIEW, NI Developer Zone, http://zone.ni.com/devzone/cda/tut/p/id/3115

Page 107: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

104 Mahanakorn University of Technology

12. ดทเธอร (Dither)

วตถประสงค

1. เขาใจผลของความผดพลาดจากการควอนไตซท�เกดข!นกบสญญาณ 2. เขาใจความหมายของดทเธอรท�ใชในดานการประมวลผลสญญาณ 3. สามารถออกแบบระบบดทเธอรเพ�อประยกตใชงานจรงได

การควอนไตซและความเพ�ยน จากการทดลองท� 11 เราทราบวาการควอนไตซ (Quantization) น!นเปนกระบวนการแตเพยงอยางเดยวท�จะแปลงสญญาณแอนะลอกเปนสญญาณดจตอล เพ�อนาไปประมวลผลตอดวยอปกรณประมวลผลดจตอล แตการควอนไตซกนามาซ� งปญหานาปวดหวอยางหน�งของนกออกแบบระบบ การควอนไตซทาใหเกดความแตกตางระหวางสญญาณกอนและหลงจากการควอนไตซหรอเรยกวาความผดพลาดควอนไตซ

(Quantization Error) ความผดพลาดท�วาน! ทาใหเกดสญญาณแปลกปลอมอนซบซอนท�มความถ�เปนจานวนเทาของความถ�เดมท�เรยกวา ฮารโมนกส (Harmonics) หรอ กลาวอกอยางวาการควอนไตซน!นเปนตวการท�ผลตองคประกอบทางความถ�ท� “ไมได” มอยแตแรกในสญญาณแอนะลอก การควอนไตซจงเปนตนเหตของความเพ!ยนท�เรยกวา ความเพ�ยนฮารโมนกส (Harmonics Distortion) มคาถามวา ถาเราใชควอนไตเซอรท�มความละเอยดสง ๆ เชน 16 บท ซ� งทาใหระดบควอนไตซมมากถง 65,536 ระดบ แลวเร�องของความผดพลาดในการควอนไตซจะยงคงเปนปญหาอยหรอไม คาตอบกคอ ยงเปนปญหาอย เพราะแมวาการใชควอนไตเซอรท�มความละเอยดสงๆ น!นจะชวยใหความละเอยดท�ไดจากผลการแปลงไดผลลพทท�ดกตาม แตเพราะความละเอยดของการควอนไตซน!นมคาคงท�และข!นอยกบจานวนบทในการทาควอนไตซ โดยจากการทดลองตอนท�แลว เราไดเหนวา สญญาณผดพลาดคอสญญาณรบกวนข!นหลงจากการควอนไตซ จะมคาอยในระหวาง +/- 0.5 LSB (Least Significant Bit) เชนสาหรบ Q1.2 น!นม LSB อยท� 2-2 =0.25 ดงน!น คาของสญญาณผดพลาดจงอยท� +/- 0.125 หากสญญาณท�จะถกควอนไตซมระดบต�าๆ กจะสงเกตถงความผดพลาดควอนไตซไดงาย เชน ชวงหางเสยงของโนต หรอ เสยงท�มการลดระดบลงมาจากเดม สาหรบงานดาน Audio เปนตน หากพดถงเร�องการสงเกตความผดพลาดควอนไตซ กคงตองกลาวถงธรรมชาตการรบรผสสะของมนษยกนเลกนอย สมองมนษยมคณสมบตพเศษอยอยางหน�งกคอ มนจะใหความสนใจมากกบส�งแปลกใหม แตจะลดความสนใจกบส� งท�เกดข!นซ! าๆซากๆ ตวอยางท�เหนไดชดกคงจะเปนเร� องทางเสยง เชน เสยงรบกวนจากเคร�องปรบอากาศน!นจะใหความแปลกใหมในตอนเร�มเปดเคร�อง แตหลงจากน!นอกไมก�นาท หากวาเสยงรบกวนน!นไมดงมากจนเกนไป สมองกจะเลกใหความสนใจกบมนในท�สด เพราะสมองจะไปสนใจส�งอ�นๆ แทน เชน ทวท�มรายการโปรด หรอ งานท�กาลงเรงทาเปนตน เสยงรบกวนท�วากจะกลายเปนสญญาณรบกวนพ�นหลง (Background Noise) ท�ไมมความสาคญอกตอไป แตหากเม�อใดเสยงรบกวนมการ

Page 108: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

105 Mahanakorn University of Technology

เปล�ยนแปลง เชน เร�มเสยงดงข!น หรอ ความถ�เปล�ยนไปจากเดม หรอ มความถ�ใหมเพ�มเขามา สมองกจะกลบไปใหความสาคญใหม กบสญญาณเสยงใหมน!นอก สาหรบสญญาณรบกวนท�วไปในระบบเคร�องเสยง เชน เสยงซา หรอ ฮส (hiss) ในเทปแคะเซท (Cassette) ยคโบราณ หรอ เสยงรบกวนท�เกดจากอปกรณสารก�งตวนา กจะมลกษณะเปนสญญาณรบกวนพ!นหลงดวย เน�องจากความเปนสญญาณท�เกดซ! าๆซากๆ และ หากสมองเร�มสนใจในเน!อหาของ “ดนตร”มากกวา นานๆเขา สมองจะเลกใหความสาคญกบสญญาณรบกวนเหลาน! ในท�สด หรอ พดงายๆ กคอเกดอาการชนชากบส�งท�เกดซ! าๆซากๆน�นเอง แตสาหรบสญญาณความผดพลาดจากการควอนไตซน!นจะไมเหมอนกบสญญาณรบกวนธรรมดา เพราะมนเกดข!นมาพรอมๆกบสญญาณท�ถกควอนไตซอยางแยกกนไมออก หากสงเกตใหดจะพบวาสญญาณผดพลาดควอนไตซน! มลกษณะเปนรายคาบ (periodic) ซ� งจะกอใหเกดฮารโมนกสท�ไมตองการ และสมองจะเขาใจวา ฮารโมนกสจากความผดพลาดจากการควอนไตซคอสวน

หนBงของสญญาณ และดวยการท�ความผดพลาดน! จะเปล�ยนแปลงตามสญญาณตลอดเวลา สมองจงรสกวาจะตองไลตาม (track) การเปล�ยนแปลงของฮารโมนกสน!นอยางไมกะพรบตา ในบรบทการใชงานทาง Audio และ Video น!น ความเพ! ยนจะหมายถงสญญาณความถ�อ�นๆ รวมท!งฮารโมนกสท�เพ�มเขามาในสญญาณเดม ดวยเหตน! ฮารโมนกสท�แปลกปลอมเขามาดงกลาวจงกลายเปนความเพ�ยน (Distortion) ไปโดยปรยาย และดวยการท�หและตาของมนษยมคณสมบตท�ไวตอการแยกแยะความถ�ของสญญาณ เสยงและแสง ความเพ!ยนจากฮารโมนกสของสญญาณจงมคณสมบต “ระคายหระคายตา” แตเพราะหและตามนษยจะไมไวตอ สญญาณรบกวนท�มแถบความถ�กวาง เชน สญญาณรบกวนพ!นหลง (Background Noise) ดงน!นการมอยของสญญาณรบกวนท�วาจงไมเปนปญหาตอการรบรของมนษยมากดงเชนความเพ!ยนจากฮารโมนกส การลดความเปนสญญาณท�เกดข!นซ! าๆ ใหกลายเปนสญญาณพ!นหลงน!น เราทาไดดวยกระบวนการทาดทเธอร (Dithering)

ทฤษฎของดทเธอร (Dither)

การทาดทเธอร คอกระบวนการ “เพ�มสญญาณรบกวน เพ�อลดความเพ!ยน” โดยหลกการกคอการทาใหฮารโมนกสจากการควอนไตซเปนความเพ!ยนท�รบรไดงาย ถกปรบใหกลายเปนสญญาณรบกวนพ!นหลงท�ยากจะสงเกต และเพราะดทเธอรน!นแทจรงแลวกเปนสญญาณรบกวนชนดหน� ง ดทเธอรจงกลายเปนสญญาณรบกวนท�ปรารถนา แนวคดเร�องดทเธอรน!นมมาต!งแตป 1961 จากวทยานพนธระดบปรญญาโทของ ลอเรนซ โรเบรตส (Lawrence Roberts) จากสถาบนเทคโนโลยแมสซาชเซท หรอ MIT ท�นาเสนอเทคนกการลดความเพ!ยนท�เกดข!นจากการลดจานวนบทในการควอนไตซท�เรยกวาการทารควอนไตซ (Requantization) ของสญญาณภาพท�เขารหสแบบ PCM (Pulse Code Modulation) [1] โดยลอเรนซไดเพ�มสญญาณสมเทยม (Pseudo–Random Noise) ท�สรางดวยตวสรางสญญาณสมเทยมขนาด 16 บท เขากบสญญาณภาพ PCM ท�ถกลด

Page 109: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

106 Mahanakorn University of Technology

จานวนบทลง เพ�อดวาจะไดผลเปนอยางไร ในรปท� 12.1 a) น!นแสดงใหเหนภาพตนฉบบท�มจานวนบทมาตรฐานในการควอนไตซเปน 6 บท รปท� 12.1 b) เปนการลดจานวนบท หรอ รควอนไตซ ลงเหลอ 3 บท สงเกตวาดวยความท�ประสาทสมผสทางสายตาของมนษยน!นไวตอการเปล�ยนแปลงของความเขมแสง จงเหนวาความละเอยดของภาพลดลงอยางเหนไดชด ความแตกตางอยางฉบพลนของความเขมของสเดยวกนอนเน�องมาจากการรควอนไตซเปนจานวนบทต�าเชนน! เรยกวา Colour Banding [2] สวนในรปท� 12.1 c) น!นเปนการลดจานวนบทลงเหลอ 3 บท และเพ�มสญญาณสมเทยมเขาไปดวย จะสงเกตเหนส�งท�เกดข!นวา หากเพ�มสญญาณสมเทยมเขาไปแลว ผลลพทกดไมเลวเลยทเดยว ความเขมท�แตกตางกนในภาพถกกระจายออกและ การเกด Colour Banding กลดนอยลง การท�ลอเรนซไดใชการเพ�มสญญาณสมเทยมน! เขาไปกอนท�จะทาการรควอนไตซน!นถอเปนตนกาเนดของวธการทาดทเธอร แตลอเรนซเองกไมไดใชคาวาดทเธอรกบสญญาณสมเทยมน! จนในป 1964 ชคแมน (Shcuchman) เปนคนแรกท�ใชคาวา “ดทเธอร (Dither)” กบ สญญาณสมเทยมดงกลาว และ เรยกกระบวนการการเพ�มสญญาณสมเทยมกอนทาการควอนไตซวา การทาดทเธอร (Dithering) [3]

a) b) c)

รปทB 12.1 รปสญญาณภาพ a) 6 bit ตนฉบบ b) ความละเอยดถกรควอนไตซลงเหลอ 3-bit สงเกตการเกด

Colour Banding และ c) ความละเอยดถกรควอนไตซลงเหลอ 3-bit แตมการเพBมสญญาณสมหรอ “ดท

เธอร”กอนรควอนไตซ [1]

ดทเธอรกบการควอนไตซ

จากโครงสรางของระบบการควอนไตซท�ไดนาเสนอกนไปในการทดลองท� 11 ใน เร�องของ Fixed-

point Experiments with LabVIEW หากเขยนบลอก A/D ท�ใชในการควอนไตซในรปของควอนไตซเซอร

(Q) ซ� งมบลอกไดอะแกรมแสดงในรปท� 12.2 a) เราจะไดวาข!นตอนการแปลงสญญาณแอนะลอกไปเปนดจตอลน!นมการแปลงอยางตรงไปตรงมา สวนรปท� 12.2 b) น!น เปนการแสดงกระบวนการทาดทเธอร ซ� งจะเปนการบวกสญญาณรบกวน (Random Signal) หรอ ดทเธอร (Dither) เพ�มลงไปในสญญาณกอนท�จะทาการควอนไตซ หรอ รควอนไตซ

Page 110: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

107 Mahanakorn University of Technology

ดทเธอรน!นจดเปนสญญาณสม (Random signal) ประเภทหน�ง สญญาณสมมหลายชนด แตละชนดถกแสดงเอกลกษณไดดวยลกษณะเชงสถต ท�เรยกวา รปแบบการกระจายตว (distribution) โดยจะแสดงในรปของความนาจะเปน (Probability) ของ “ขนาด” สญญาณสมท�จะเปนคาตางๆ ระหวางคาสงสด Xmax และ คาต�าสด Xmin โดยรปแบบการกระจายตวของดทเธอรจะมแบบท�ใชกนมากกคอ แบบยนฟอรม

(Uniform Distribution) และ แบบสามเหลBยม (Triangular Distribution) ดงแสดงในรปท� 12.3 แตในการทดลองน! เราจะแสดงเฉพาะดทเธอรท�มการกระจายตวแบบยนฟอรมเทาน!น

a) b)

รปทB 12.2 การควอนไตซหรอ รควอนไตซแบบ a) ไมมการทาดทเธอร b) มการทาดทเธอร โดยการเพBม

สญญาณสมใหกบสญญาณกอนทBจะทาการควอนไตซ หรอ รควอนไตซ

a) b)

รปทB 12.3 แสดงการกระจายตวของสญญาณดทเธอร a) แบบยนฟอรม (Uniform Distribution) และ

b) แบบสามเหลBยม (Triangular Distribution) ในรปท� 12.4 จะเปรยบเทยบผลการควอนไตซระหวาง a) แบบไมมการทาดทเธอร และ b) แบบมดทเธอร สงเกตการเกดสญญาณรบกวนในแตละชวงของการควอนไตซ หากไมมการทาดทเธอรกจะเปนการควอนไตซของสญญาณตามปกต แตในกรณการทาดทเธอรแตละข!นการควอนไตซ จะถกรบกวนดวยสญญาณดทเธอรท�เพ�มเขาไป การรบกวน หรอ “การกอกวน” ควอนไตซเซอร น�เองท�ทาใหรปแบบของความถ�หรอฮารโมนกสของความผดพลาดการควอนไตซมการเปล�ยนแปลงไปดงจะไดเหนในการทดลองดวย LabVIEW

Page 111: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

108 Mahanakorn University of Technology

a) b)

รปทB 12.4 เปรยบเทยบผลการควอนไตซระหวาง a) แบบไมมการทาดทเธอร และ b) แบบมดทเธอร สงเกต

การเกดสญญาณรบกวนในแตละชวงของการควอนไตซ

การทดลองดทเธอรดวย LabVIEW

เราจะมาลองดวา เราจะใช LabVIEW ในการศกษาหลกการของดทเธอรไดอยางไร สาหรบ LabVIEW แลวมขอดกคอเราจะสามารถใชประโยชนจาก Tools ทางดานการประมวลผลสญญาณท�มอยอยางครบครน และท�สาคญกคอ LabVIEW แสดงสญญาณท�ถกประมวลผลแลวในแบบเวลาปจจบน (Real-Time) ไดงาย จงทาใหสามารถปรบเปล�ยนพารามเตอรและดคาจากการเปล�ยนแปลงน!นไดทนท เหมาะกบการศกษาทดลองเปนอยางย�ง จากการทดลองตอนท�แลว เพ�อใหสามารถทาการเปรยบเทยบได ซ� งเราจะนาโปรแกรมท�ไดออกแบบไวสาหรบการแสดงคาความผดพลาดจากการควอนไตซกลบมาใชใหม (reuse) เพ�อการศกษาถงกระบวนการของดทเธอรในการลดความเพ!ยนท�มาจากการควอนไตซ ซ� งโปรแกรมน!จะเปนการสานตอจากโปรแกรมแสดงคาความผดพลาดจากการควอนไตซของการทดลองตอนท�แลว โดยแนวคดหลก คอ การเปรยบเทยบระหวางสญญาณท�มาจากการควอนไตซโดยตรง ท�ไมมการทาดทเธอร และ กบสวนท�เปน การใชหลกการของดทเธอรเพ�อการลดความเพ!ยนท�มาจากความผดพลาดจากการควอนไตซ

Page 112: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

109 Mahanakorn University of Technology

รปทB 12.5 แนวคดของโปรแกรมทดสอบดทเธอรดวย LabVIEW

จากโปรแกรมทดสอบการควอนไตซในการทดลองเดมน!น เราเร�มตนดวยการเพ�ม While Loop

ใหกบโปรแกรมท!งหมดดงแสดงในรปท� 12.6 เพ�อใหโปรแกรมทางานไดแบบตอเน�อง และ ส�งท�สาคญของโปรแกรมอกอยางหน� งกคอ สวนตดตอกบผใชงาน (User interface) ท�เรยกยอๆ วา UI หากโปรแกรมมสวนของ UI ท�ใชงานงายและสวยงาม กจะทาใหโปรแกรมน!นนาใชงานมากข!น ดงตวอยางท�แสดงในรปท� 12.6 b) โดยมการเพ�มคอนโทรลเปน สไลด (slide) เพ�อการปรบความถ� (Frequency) และขนาด (Amplitude) และ รวมถงปม Stop ทาใหสามารถควบคมการทางานของโปรแกรมไดอยางสะดวกงายดาย และเพ�มสวน คอนโทรล และ อปกรณตกแตงหนาตาโปรแกรม (Decorations) ตางๆ เชน บอกซ (Box) เสน (line) หรอ เฟรม (Frame) เพ�อแยกสวนท�ไมเก�ยวของออกจากกนออกเปนสดเปนสวนทาใหโปรแกรมดนาใชงานย�งข!นไปอก

a)

Page 113: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

110 Mahanakorn University of Technology

b)

รปทB 12.6 การดดแปลงโปรแกรทดสอบการควอนไตซ a) บลอกไดอะแกรม b) ฟรอนทพาเนล สงเกตการ

ตกแตง (Decorations) และ คอนโทรล ทBเพBมเขามาเพBอความสวยงามของสวนตดตอผใชงาน (User

Interface) จากน!น ใหขยายเน!อท�ของ While loop ในสวนบลอกไดอะแกรมใหกวางข!นดงในรปท� 12.7 a) เพ�อเตรยมรองรบบลอกของการทาดทเธอรรวมถงการแสดงผลสญญาณและสเปคตรม ในสวนฟรอนทพาเนลกใหทาเชนเดยวกน เพ�อรองรบคอนโทรลท�เพ�มข!น ดงรปท� 12.7 b)

a)

Page 114: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

111 Mahanakorn University of Technology

b)

รปทB 12.7 การเพBมเน�อทBท�งใน a) บลอกไดอะแกรม และ b) ฟรอนทพาเนล เพBอรองรบการเขยนโปรแกรม

เพBมในสวนการทาดทเธอร

จากน!น เพ�มสวนการวเคราะหสเปคตรมของสญญาณ โดยเลอกจาก Auto Power Spectrum.vi จาก Signal

Processing>> Spectral >> Auto Power Spectrum.vi ซ� งเปนการแสดงสวนสเปคตรม หรอฮารโมนกสของสญญาณดงรปท� 12.8

สญญาณเขาสบลอกของ Auto Power Spectrum.vi น!นตองเปนสญญาณชนด Double (สายสสม)

แตเน�องจากสญญาณท�มาจากบลอก Sine Waveform.vi น!นเปนชนดสญญาณ Waveform (สายส

มวง) ดงน! นโดยกอนท�จะนาสญญาณเขาสบลอก ใหแยกสญญาณ waveform ดวยบลอก Get

Waveform Components จาก Programming >> Waveform >> Get Waveform Components ดงในรปท� 12.9 เพ�อใหไดสญญาณชนด Double

Page 115: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

112 Mahanakorn University of Technology

รปทB 12.8 บลอก Auto Power Spectrum.vi จาก Signal Processing>> Spectral Analysis >> Auto

Power Spectrum.vi

รปทB 12.9 บลอก Get Waveform Components จาก Programming >> Waveform >> Get

Waveform Components

หลงจากน!น เรามา เลอกใชบลอก Spectrum Unit Conversion.vi ซ� งจะทาใหสามารถแสดงหนวย (unit) ของสเปคตรมไดตามตองการ โดยเลอกจาก Signal Processing>>Spectral Analysis >> Spectrum Unit Conversion.vi ดงแสดงในรปท� 12.10

Page 116: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

113 Mahanakorn University of Technology

รปทB 12.10 บลอก Spectrum Unit Conversion.vi จาก Signal Processing>> Spectral Analysis >>

Spectrum Unit Conversion.vi

ถดจากน!น เม�อนาบลอกการวเคราะหสเปคตรมของสญญาณ Auto Power Spectrum.vi

และ บลอก Spectrum Unit Conversion.vi รปท� 12.11 a) เราจะไดผลการแสดงรปสเปคตรมของสญญาณดจตอลหลงจากการควอนไตซ ดงแสดงในรปท� 12.11 b) เม�อรนโปรแกรมจะเหนวา ในสเปคตรมของสญญาณดจตอลหลงจากการควอนไตซน!น นอกจากจะมความถ�ของสญญาณหลก 100 Hz แลว ยงมความถ� 300 Hz และ 500 Hz ปรากฏอยดวย ซ� งแสดงถงฮารโมนกสท� 3 และท� 5 ตามลาดบ ฮารโมนกสท�เกดข!นน! ไมไดมมากอนในสญญาณแอนะลอกตนฉบบ แตเปนส�งท�ควอนไตเซอรทาใหมข!น จงถกเรยกวาเปนความเพ!ยนของสญญาณ

Page 117: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

114 Mahanakorn University of Technology

a)

b)

รปทB 12.11 a) นา Auto Power Spectrum.vi และ บลอก Spectrum Unit Conversion.vi วาง

ในโปรแกรม ทาใหไดผลการแสดงสเปคตรมในฟรอนทพาเนล ในรป b) จากน!นกเปนข!นตอนทาดทเธอร เน�องจากดทเธอรท�เราใชน!นเปนสญญาณรบกวนสขาวแบบมการกระจายแบบยนฟอรม (Uniform White Noise) ดงน!นเราจงเลอกใชบลอก Uniform White Noise Waveform.vi

Page 118: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

115 Mahanakorn University of Technology

จาก Programming >> Signal Processing >> Wfm Generation >> Uniform White Noise

Waveform.vi ดงในรปท� 12.12

รปทB 12.12 สญญาณดทเธอรจากบลอก เลอกจาก Programming >> Signal Processing >> Wfm

Generation >> Uniform White Noise Waveform.vi

จากน!นนาลงไปวางในท�วางของบลอกไดอะแกรม โดยเลอกคาขอมลการแซมปล!ง (Sampling

Info) เปน Fs (sampling rate) และ #s (number of samples) เปน 10000 เหมอนกบของบลอก Sine

waveform.vi และเพ�มสวนคอนโทรล คาขนาดของดทเธอรเปน knob ดวยเพ�อการควบคมปรมาณการใสดทเธอร หากเลอกคาดทเธอรมากเกนไปกจะเพBมสญญาณรบกวนโดยไมจาเปน แตหาก

เลอกดทเธอรนอยเกนไป กจะไมสามารถลดคาความเพ�ยนทBเกดจากการควอนไตซได ดงน!น จงตองใสดทเธอรใหมปรมาณท�เหมาะสม

Page 119: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

116 Mahanakorn University of Technology

a)

b)

รปทB 12.13 การทาดทเธอร โดยใชสญญาณจากบลอก Uniform White Noise Waveform.vi a)

บลอกไดอะแกรม b) ฟรอนทพาเนล การทดลองทB 12.1 ทดลองปรบคาความถ�ของสญญาณจากคา 100 Hz ใหลดลงเหลอ 60 Hz อภปรายผลวาสเปคตรมของฮารโมนกสมการเปล�ยนแปลงอยางไร

Page 120: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

117 Mahanakorn University of Technology

จากน!นกใหเพ�มสวนของ Analog to Digital.vi และบลอก Digital to Analog.vi เชนเดยวกบโปรแกรมเดม และเลอกจานวนบทเปน 5 บท ดงรปท� 12.14

รปทB 12.14 บลอกไดอะแกรมแสดงการเพBมสวนของ A/D และ D/A สาหรบสญญาณทBเพBมดทเธอรกอน

การควอนไตซ

จากน!นกเพ�มสวนของ Auto Power Spectrum.vi และบลอก Spectrum Unit

Conversion.vi เพ�อแสดงสเปคตรมของสญญาณควอนไตซท�มการทาดทเธอร โปรแกรมทดสอบดทเธอรท�เสรจสมบรณแลว จงแสดงดงในรปท� 12.15 a) โดยม ฟรอนทพาเนลแสดงดงรปท� 12.15 b) โดยเปรยบเทยบสญญาณท! งในโดเมนเวลา และ คาสเปคตรมของสญญาณ ท! งแบบท�มและไมมดทเธอร เปรยบเทยบลกษณะของสญญาณจะเหนไดอยางชดเจนวาการเพ�มสญญาณดทเธอรน!น ทาใหลกษณะการควอนไตซมรปแบบเปล�ยนแปลงอยตลอดเวลา เทยบกบกรณไมมดทเธอรท�ระดบของสญญาณจากการควอนไตซจะมลกษณะเหมอนเดมในทกๆคาบ ผลกคอฮารโมนกสท� 3 และท� 5 ของการทาดทเธอรน!นจะลดลงจากเดม แตส�งท�เกดข!นแทนกคอระดบสญญาณรบกวนพ!นหลงท�เพ�มข!น

Page 121: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

118 Mahanakorn University of Technology

a)

b)

รปทB 12.15 โปรแกรมการทดสอบดทเธอรทBเสรจสมบรณทดสอบทBความถB 100 Hz a) บลอกไดอะแกรม b)

ฟรอนทพาเนล

การทดลองทB 12.2 ทดลองปรบจานวนบทในการควอนไตซ เปน 3 บท และ 8 บท ตามลาดบ อภปรายผลวาปรมาณฮารโมนกสหลงจากการทาดทเธอรมการเปล�ยนแปลงอยางไร

Page 122: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

119 Mahanakorn University of Technology

การทดลองเรBองซบฮารโมนกส และอนเตอรมอดเลชน

จากน!น เราลองปรบความถ� ใหมคาเปน 480 Hz จะพบวา การทาควอนไตซของสญญาณกอใหเกดความถ�ท�นอยกวา ความถ�หลกดวย เชน ท�ความถ� 80, 160, 240, 320 และ 400 Hz สาหรบความถ�ท�นอยกวาเปนจานวนเทา (1/X) ของความถ�หลก เม�อ X เปนเลขจานวนเตม จะเรยกวาซบฮารโมนกส (Subharmonics) เชน ความถ�หลก 480 Hz มซบฮารโมนกสท� 2 เทากบ 240 Hz และซบฮารโมนกสท� 3 เทากบ 160 Hz เชนน! เปนตน แตจะสงเกตวามบางความถ�ท�ไมจดเปนซบฮารโมนกสของ 480 Hz เชน ท�ความถ� 80 และ 320 Hz กเกดข!นอยางชดเจนดวย เราจะเรยกความถ�ท�ไมใชท!งซบฮารโมนกสและฮารโมนกสเหลาน! วาเปน อนเตอร

มอดเลชน (Intermodulation) ซ� งเกดจากการกระบวนการอนไมเปนเชงเสน (Nonlinearity) ของการควอนไตซ และกอใหเกดความเพ!ยนเพ�มเตมจากความเพ!ยนจากฮารโมนกสและซบฮารโมนกส แถมออกจะแยกวาเพราะอนเตอรมอดเลชนประกอบดวยความถ�ท�ไมสมพนธกบสญญาณตนฉบบเอาเสยเลย ในงานดาน audio น!น อนเตอรมอดเลชนจะทาใหเสยงฟงรกห แตสาหรบกรณท�มการเพ�มดทเธอร เม�อสงเกตสเปคตรมสญญาณ กพบวาการทาดทเธอรสามารถลดซบฮารโมนกสและความเพ! ยนแบบอนเตอรมอดเลชนไดเชนเดยวกบท�สามารถลดฮารโมนกสของสญญาณควอนไตซในตวอยางกอนหนา

รปทB 12.16 ทBความถB 480 Hz จะสงเกตเหนการลดลงของท�งซบฮารโมนกส (Subharmonics) และความ

เพ�ยนอนเตอรมอดเลชนทBความถB 80, 160, 240, 320 และ 400 Hz

Page 123: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

120 Mahanakorn University of Technology

การทดลองทB 12.3 ทดลองปรบความถ�สญญาณไซนกอนถกควอนไตซเปน 320 Hz ให อภปรายผลวาม ฮารโมนกส ซบฮารโมนกสและความเพ! ยนแบบอนเตอรมอดเลชนเกดข! นท�ความถ�เทาใดและทดลองปรบระดบดทเธอร อภปรายผลวาการทาดทเธอรสามารถลดฮารโมนกส ซบฮารโมนกสและความเพ! ยนแบบอนเตอรมอดเลชนไดหรอไมอยางไรบาง

เอกสารอางอง

[1] L. G. Roberts, "PGM Television Bandwidth Reduction Using Pseudo-Random Noise," S.M. thesis, Mass. Inst. Tech., Cambridge; February, 1961. (http://www.packet.cc/files/pic-code-noise.html) [3] Dither, “http://en.wikipedia.org/wiki/Dither” [2] L. Schuchman, "Dither Signals and Their Effect on Quantization Noise", IEEE Trans. Communications 12 (4): 162-165, 1964

Page 124: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

121 Mahanakorn University of Technology

13. Noise Shaping with LabVIEW I

วตถประสงค

1. เพ�อทราบถงพ�นฐานการออกแบบการประมวลผลแบบจดตอจดสาหรบระบบนอยสเชปป� ง 2. สามารถออกแบบระบบนอยสเชปป� งเพ�อประยกตใชงานจรงได

บทนา

ในการทดลองเร�องดทเธอรน�น เราไดเหนถงความนาสนใจของการประมวลผลสญญาณของการลดความเพ�ยนฮารโมนกสท�เกดจากการควอนไตซ (Quantisation) ในระบบเสยงดจตอลดวย ดทเธอร (Dither) ซ� งอนท�จรงกเปนการเพ�มสญญาณรบกวนท�มคณสมบตทางสถตท�เลอกมาอยางด เขาไปในระบบการควอนไตซและจากการทดลองดวยโปรแกรม LabVIEW อยางงายๆ เรากไดเรยนรวา ดทเธอรทาใหความเพ�ยนฮารโมนกสอนเกดจากการควอนไตซลดลงไดจรง ในการทดลอง“การออกแบบระบบ Noise Shaping ดวย LabVIEW” น� เราจะมาเรยนรกระบวนการเพ�มคณภาพของสญญาณจากการควอนไตซท�มการทาดทเธอรอยแลวใหมมากข�นไปอกโดยหลกการท�วาน� จะเรยกวาการทานอยสเชปป# ง (Noise Shaping) และเปนภาคตอจากการทากระบวนการทาดทเธอรในการทดลองกอนหนา โดยในตอนท� 1 ของการทดลองน� เราจะมาดกนในเร�องของฟงกชนพ�นฐานกนกอน

ความเพ#ยนฮารโมนกสจากการควอนไตซ

ในเร�องของสญญาณเสยงดจตอลในปจจบนน�น ส�งสาคญท�นกออกแบบระบบใหความสนใจเปนท�สด กคอคณภาพกระบวนการแปลงสญญาณท�มความตอเน�องทางเวลา (Continuous-time) หรอ สญญาณแอนะลอก (Analogue signals) ใหเปนสญญาณท�ไมตอเน�องทางเวลา (Discrete-time) หรอ สญญาณดจตอล (Digital signals) รวมถงการแปลงกลบ ส�งท�เกดข�นในกระบวนการน�กคอ การควอนไตซ แตแนนอนวากระบวนการ ควอนไตซทาใหเกดความแตกตางระหวางสญญาณกอนและหลงจากการควอนไตซหรอเรยกวาความผดพลาดควอนไตซ (Quantization Error) ความผดพลาดท�วาน� ทาใหเกดสญญาณแปลกปลอมท�มความถ�เปน “จานวนเทา” ของความถ�ด�งเดม หรอ เรยกวา ฮารโมนกส (Harmonics) โดยจานวนของฮารโมนกสน�นเกดข�นไดอยางไมจากด ส� งท�หลกเล�ยงไมไดเม�อมฮารโมนกสกคอความเพ� ยนอนสลบซบซอนท�เรยกวา ความเพ#ยนฮารโมนกส (Harmonics Distortion) ซ� งเปนส�งท�นกออกแบบระบบช�นนาตองการกาจด สาเหตหลกกเพราะมนมคณสมบตพเศษอยางหน�งท�สามารถกอกวนการรบรของมนษยคอมนจะไลตาม (tracking) สญญาณเสยงตนฉบบท�บรสทธ หากฮารโมนกสอยในระดบท�มากพอ ผฟงจะรบรไดทนทวา น>ไมใชสญญาณเสยงดนตรท>บรสทธC แตกลบเปนสญญาณเงาท�เกดข�นพรอมๆกบเสยงท�ตองการไดยนอยตลอดเวลา วากนวามนษยสามารถรบรสญญาณท�ปราศจากความเพ�ยนท� -115 dB ดงน�นในระบบ 16 บทท�ใชกนอยในคอมแพคดสก หรอ CD ท�สญญาณรบกวนน�นจะต�าถง -96 dB แลวกตาม ความเพ�ยนฮารโมนกสของระบบ

Page 125: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

122 Mahanakorn University of Technology

CD กไมเกนไปกวาความสามารถการรบรของหมนษย เราสนใจความเพ�ยนฮารโมนกสเพราะสมองมนษยมคณสมบตพเศษอยอยางหน�งตรงท�มนจะใหความสนใจกบสญญาณแปลกๆใหมๆ แตจะลดความสนใจกบสญญาณท�เกดข�นซ� าๆซากๆ ฮารโมนกสน#นคอส> งแปลกใหม แตสญญาณรบกวนจากดทเธอรกลายเปนสญญาณรบกวนพ#น (Noise floor) ไป วธการแกปญหาฮารโมนกอนเกดจากการควอนไตซท�งายแตไดผลกคอการใสสญญาณรบกวนชนดหน�งเขาไปกอนการทาการควอนไตซ สญญาณน� เรยกวา ดทเธอร (Dither) หากระดบสญญาณดทเธอรน� มมากพอ ฮารโมนกสกจะลดลงอยางนาอศจรรย แตน�กไมใชเร�องลกลบแตประการใด เพราะฮารโมนกสน�นเปนสญญาณท�ประกอบดวยความถ� เฉพาะ แตดทเธอรเปนสญญาณรบกวนท>ไมมความถ>ท>แนนอน เปล�ยนแปลงไปไมหยดน�ง การผสมดทเธอรลงไปทาใหระดบพลงงานจากความถ�แปรเปล�ยนไปตลอดทาใหฮารโมนกสท�มความถ�เฉพาะจงไมมโอกาสเกดข�น แตแมกระน�นกตาม ถงฮารโมนกสจะลดลง แตสญญาณรบกวนพ�น (Noise floor) อนเกดจากดทเธอรกยงคงอย ซ� งทาใหระดบของอตราสวนสญญาณตอสญญาณรบกวน (signal to noise ratio) หรอ SNR ลดลง ในการทดลองตอนน� เราจะมาดเร�องของการลดระดบสญญาณรบกวนพ�นโดยกรรมวธท�เรยกวาการทานอยสเชปป# ง (Noise Shaping) โดยใช LabVIEW ในการสรางโปรแกรมทดสอบ

ดทเธอร

ในตอนน� ขอเทาความ ถงเร�องการทาดทเธอรสกเลกนอย ดทเธอรคอกระบวนการ “เพ>มสญญาณรบกวน เพ>อลดความเพ#ยนฮารโมนกส” โดยหลกการกคอการทาใหฮารโมนกสจากการควอนไตซเปนความเพ� ยนท�รบรไดงาย ถกปรบใหกลายเปนสญญาณรบกวนพ�นหลงท�ยากจะสงเกต ดทเธอรจงกลายเปนสญญาณรบกวนท�เปนท�ตองการไป ระบบควอนไตซท�มดทเธอรจะแสดงในรปท� 13.1 โดยเราจะบวกสญญาณสมจานวนนอยๆเขากบสญญาณท�จะถก ควอนไตซกอนท�จะทาการควอนไตซ

รปท> 13.1 การทาดทเธอรโดยการเพ>มสญญาณรบกวนใหกบสญญาณกอนท>จะทาการควอนไตซ

สญญาณ x กคอสญญาณท�ตองการควอนไตซ d คอสญญาณดทเธอรท�เพ�มเขาไป Q คอควอนไตซเซอร และ y คอ สญญาณขาออกท�ผานการควอนไตซมาแลว การกอกวนควอนไตซเซอรดวย d น�เองท�ทาให

Page 126: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

123 Mahanakorn University of Technology

รปแบบของความถ�ความผดพลาดการควอนไตซมความถ�ไมแนนอนจงเปนการลดฮารโมนกสไปโดยปรยาย สวนสญญาณความผดพลาดควอนไตซ e น�นหาไดงายๆ จาก y ลบดวย x ดงใน e = y - x แตกระน�นกตาม ถงแมวาหลงจากการทาดทเธอรแลว สญญาณความผดพลาดควอนไตซ e ซ� งกอใหเกดความเพ�ยนฮารโมนกน�นจะมปรมาณลดลงกตาม แตกยงคงมสญญาณรบกวนอนเกดจากสญญาณรบกวนดทเธอร d ดวย และน�กทาใหเกดขอเสยท�สาคญข� นมาอยางหน� งกคอ การทาใหอตราสวนของสญญาณตอสญญาณรบกวน (Signal to Noise Ratio) หรอ SNR นอยลง และ ทาใหคณภาพของสญญาณหลงจากการควอนไตซ y ลดลงตามไปดวย ความตองการท�จะเพ�ม SNR หรอ การลดสญญาณรบกวนน�นามาสระบบท�ทาหนาท�กดสญญาณรบกวนพ�นหลงในยานความถ�ต �าซ� งเปนยานของสญญาณ โดยระบบท�วาน� เรยกวา ระบบนอยสเชปป# ง (Noise Shaping)

ระบบนอยสเชปป# งและโอเวอรแซมปล#ง

หลกการของระบบนอยสเชปป� งน�นกคอการยายพลงงานในสวนของสญญาณผดพลาดควอนไตซท�รบกวนอยในยานความถ�ต �าและนาไปเพ�มในยานความถ�สงซ� งเปนบรเวณท�ไมมผลตอการรบสญญาณแทน การยายพลงงานน�ทาเฉพาะพลงงานของสญญาณรบกวนท�เกดจากดทเธอรเทาน�นไมเก�ยวกบสญญาณเสยงท�เราตองการ การวเคราะหสญญาณท�ความถ�ตางๆ ทาไดโดยการแสดงสเปคตรม (Spectrum) ของสญญาณ สเปคตรมคอปรมาณพลงงานของสญญาณ ณ ความถ� ตางๆ ตลอดยานความถ� ในรปท� 13.2 a) และ b) แสดงการเปรยบเทยบความแตกตางสเปคตรมของระบบท�ไมมและมระบบนอยสเชปป� งตามลาดบ ในแกนต�งคอความเขมของพลงงาน สวนแกนนอนคอความถ� จะเหนวาในรปท� 13.2 a) น�น แสดงระบบไมมการใชนอยสเชปป� ง สงเกตวาพลงงานของสญญาณน�นนอยเน�องจากถกกลบดวยพลงงานของสญญาณรบกวน สวนรปท� 13.2 b) น�น แสดงกรณท�มการใชระบบนอยสเชปป� ง ซ� งเปนการกดสญญาณรบกวนใหต�าลงในยานความถ�ของสญญาณท�ตองการ ทาใหปรมาณพลงงานของสญญาณท�ตองการมมากข�น สงเกตวาในระบบนอยสเชปป� งน�น ระดบของพลงงานสญญาณรบกวนจะมความลาดชนจากคานอยๆ ในยานความถ�ต �าและคอยๆ เพ�มระดบไปสคาท�มากข�นในยานความถ�สง แตกตางจากในกรณท�ไมมระบบนอยสเชปป� งท�สเปคตรมมคาคงท�ตลอดยานความถ� จะเหนไดวา ตวกรองสงผานเปนองคประกอบท�สาคญมากท�จะทาหนาท�ดดสญญาณรบกวนในยานความถ�ต �าใหต �าลง โดยปกตแลวสญญาณท�มนษยจะรบรไดดจะเปนยาน 3 kHz ระบบนอยสเชปป� งจะดดสญญาณรบกวนใหไปอยในยาน 10 kHz-22 kHz

Page 127: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

124 Mahanakorn University of Technology

a) b)

รปท> 13.2 แสดงการเปรยบเทยบ a) กรณไมมระบบนอยสเชปป# ง พลงงานสญญาณมนอย b) กรณมระบบนอยสเชปป# ง พลงงานสญญาณมมาก

แตการทานอยสเชปป� งน�น จะไดผลนอยหากไมมพ�นท�ดานความถ�ท�มากพอ เพราะตามทฤษฎแซมปล�งแลว ความถ�ของสญญาณแซมปล�งจะตองไมต�ากวา 2 เทาของแบนดวทของสญญาณ จงจะใหการกคนสญญาณ (Reconstruction) ท�ไมผดเพ�ยน แตการแซมปล�งท�อตรา 2 เทาความถ�แซมปล�งตามทฤษฎน�น ทาใหการจดการกบสญญาณรบกวนทาไดยาก เพราะตวสญญาณรบกวนไมมพ#นท>ทางความถ>ท>มากพอจะถกผลกดนใหไปยายตาแหนงไปดานความถ>สงๆได ดงน�นจงจาเปนตองมการทา โอเวอรแซมปล#ง (Oversampling) โอเวอรแซมปล�งกไมใชส�งแปลกประหลาดหรอพเศษไปกวาการแซมปล�งตามปกตแตอยางใด เพราะการโอเวอรแซมปล�งกเปนแตเพยงการแซมปล�งท�ความถ�สงเกนกวา 2 เทาของแบนดวทของสญญาณมากๆ เทาน�นเอง ย�งความถ�แซมปล�งมคาสงการผลกดนสญญาณรบกวนกเปนไปไดงาย และเพ�อความสะดวกในการอธบาย เราจะใชนยามความถ>นอรมลไลซ (Normalised frequency) โดย ความถ>แซมปล#ง เทยบเทาความถ>นอรมลไลซเปน 1 ดงน�นไมวาความถ�แซมปล�งจะเปนก�เฮรสตกตาม เราจะปรบใหเปน 1 เสมอ ซ� งจะทาใหแบนดวทของสญญาณจะถกจากดอยท�คร� งหน�งของความถ�แซมปล�ง มความถ�นอรมลไลซเปน 0 ถง 0.5 รปท� 13.3 a) แสดงระบบท�มนอยสเชปป� งแต ไมมโอเวอรแซมปล�ง พลงงานของสญญาณยงคงมสญญาณรบกวนปะปนอยมากพอสมควร แตในรปท� 13.3 b) หากเราทาโอเวอรแซมปล�งแลว ย�งความถ�แซมปล�งสงข�น สญญาณรบกวนท�ผานระบบนอยสเชปป� ง ซ� งกคอตวกรองสงผานในยานความถ�ต �าจะลดต�าลงมากข�น ท�งน�กเพราะลกษณะทางกายภาพของผลตอบสนองความถ�ของตวกรองสงผานท�จะใหคาสญญาณท�ผานออกไปนอยสดจากความถ�นอรมลไลซเปน 0 และสญญาณท�ผานออกไปม

Page 128: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

125 Mahanakorn University of Technology

คามากสดท�ความถ�นอรมลไลซเปน 0.5 ดงแสดงในรปท� 13.3 เปรยบเทยบท�งกรณไมมและมการทาโอเวอรแซมปล�ง

a) b)

รปท> 13.3 แสดงการเปรยบเทยบสเปคตรมของสญญาณรบกวนในกรณ a) มนอยสเชปป# งแตไมมโอเวอรแซมปล#ง มสญญาณรบกวนในยานสญญาณเสยง และกรณ b) มนอยสเชปป# งและมโอเวอรแซมปล#งดวย ทา

ใหพลงงานสญญาณรบกวนนอยลงในยานสญญาณเสยง โครงสรางของระบบนอยสเชปป� งในรปท� 13.4 ถกพฒนามาจากระบบการควอนไตซแบบมดทเธอรในรปท� 13.1 ท�มการเพ�มเตมบลอกตวกรองดจตอล (Digital Filter) เพ�อการดดสญญาณรบกวนหรอระบบนอยสเชปป� ง (Noise Shaping)

รปท> 13.4 การควอนไตซสญญาณท>มระบบนอยสเชปป# ง (Noise Shaping)

Page 129: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

126 Mahanakorn University of Technology

เราจะมาลองดกนวา เราจะใช LabVIEW ในการศกษาหลกการของนอยสเชปป� งไดอยางไร LabVIEW น�นเปนแพลตฟอรมท�มความสามารถสงในการทางานดานควบคมกระบวนการ ซ� งมบลอกอนสตรเมนทเสมอน หรอ Virtual Instruments หรอ VIs ใหเลอกใชอยางครบครน รวมท�งบลอก VI ท�ใชการประมวลผลแบบเวลาจรง (Real-time Processing) ดวย แตหากเราตองทางานกบสญญาณท�มการประมวลผลในแบบเวลาจรง เราจะใชการประมวลผลสญญาณแบบจดตอจด (Point-by-Point Processing) ดงน�นกอนท�เราจะทาการออกแบบการทานอยสเชปป� งดวย LabVIEW เราจะตองมาดกระบวนการของระบบการประมวลผลสญญาณแบบจดตอจดท�ออกแบบมาใชงานในระบบเวลาจรงของ LabVIEW เสยกอน

การประมวลผลสญญาณแบบจดตอจด (Point-by-Point Processing)

การวเคราะหขอมล (Data Analysis Process) เปนการดาเนนการกบขอมลไมวาจะเปนการดงขอมล (Data acquisition) การจดการกบขอมล การวเคราะหขอมล หรอ การแสดงผล ซ� งใน LabVIEW น�นแบงการวเคราะหขอมลเปนสองแบบ คอ การวเคราะหขอมลแบบอารเรย (Array-based Analysis) ซ� งใชในการวเคราะหขอมลท�ทางานแบบออฟไลน (off-line) และ การวเคราะหขอมลแบบจดตอจด (Point-By-Point Analysis) ซ� งใชในการทางานแบบเวลาจรง (Real-time) ในรปท� 13.5 a) และ b) แสดงการเปรยบเทยบ ของกระบวนการท�งสองกคอ หากเปนการวเคราะหขอมลแบบอารเรยจะตองรอขอมลในบฟเฟอร(Buffer) และประมวลผลขอมล และ สงออกไปแสดงผลทละชด สวนการประมวลผลเพ�อการวเคราะหขอมลในแบบจดตอจด (Point-By-Point Analysis) จะตอบสนองตอการเปล�ยนแปลงของขอมลทละแซมเป� ล และ แสดงผลกการคานวณในทนท โดยปกตแลว LabVIEW จะเลอกกระบวนการวเคราะหขอมลเปนแบบอารเรย เพราะความเรวในการแสดงผลของวธอารเรยจะเรวกวาวธจดตอจดเน�องจากมการใชบฟเฟอร แตถงแมจะแสดงผลเรวกวา แตการประมวลผลกไมเปนเวลาจรง เพราะจะตองรอขอมลเปนชดๆ หรอ เปนแบบออฟไลน ดงน�นสาหรบการประมวลผลเพ�อการวเคราะหขอมลในแบบเวลาจรงท�ตองตอบสนองตอการเปล�ยนแปลงของขอมลท�ฉบไวแลว จะตองใชกระบวนการประมวลผลและวเคราะหแบบจดตอจดเทาน�น ตวอยางของการประมวลผลคอ การทาการกรองสญญาณแบบจดตอจด (Point-to-point Filtering) ซ� งเราจะใชในการสรางระบบนอยสเชปป� ง และ สาหรบการวเคราะหขอมลกคอ การหาสเปคตรมแบบจดตอจด (Point-to-point Spectrum) ในการทดลองน� ใช LabVIEW 2009 SP1 แตเราสามารถใช LabVIEW ท�เปนเวอรชนอ�นๆไดทกเวอรชนท�ม Signal Processing Toolkit และ การประมวลผลแบบจดตอจด (Point-By-Point Processing) ความแตกตางของระบบท�งสองแสดงในรปท� 13.5

Page 130: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

127 Mahanakorn University of Technology

รปท> 13.5 การเปรยบเทยบระหวาง a) การวเคราะหขอมลแบบอารเรย (Array-based) และ b) การวเคราะหขอมลแบบจดตอจด (Point-By-Point) จะลดข#นตอนการบฟเฟอรขอมลลง

กอนอ�นเราตองสรางสญญาณแบบจดตอจดข�นมาเสยกอนใน LabVIEW น�นจะมชดฟงกชนการประมวลผลท�เรยกวา Point-by-Point ให ซ� งจะมบลอกใหเลอกใชท�งการสรางสญญาณและการวเคราะหสญญาณดงแสดงในรปท� 13.6 การสรางสญญาณแบบจดตอจดท�เราจะใชน�นคอบลอก Sine Wave

PtByPt.vi และ Gaussian White Noise PtByPt.vi สวนบลอกการวเคราะหสเปคตรมน�นใช

บลอก Auto Power Spectrum PtByPt.vi และ สวนการแสดงผลกจะใช waveform graph

รวมกบการจดการสญญาณอกเลกนอย

Page 131: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

128 Mahanakorn University of Technology

รปท> 13.6 บลอกการประมวลผลแบบจดตอจด Point By Point

การสรางสญญาณไซนแบบจดตอจด

ในการทดสอบระบบนอยสเชปป� ง เราจะใชสญญาณไซน (Sine wave) แบบจดตอจดเปนตวแทนของสญญาณเสยงท�เราตองการควอนไตซ ใน LabVIEW มบลอกตวสรางสญญาณแบบจดตอจดคอบลอก Sine

Wave PtByPt.vi ดงแสดงในรปท� 13.7 ซ� งเลอกจาก Signal Processing >> Point by Point >> Signal Generation PtByPt >> Sine Wave PtByPt.vi

Page 132: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

129 Mahanakorn University of Technology

รปท> 13.7 บลอก Sine Wave PtByPt.vi

เราจะมาทดสอบการใชบลอก Sine Wave PtByPt.vi และเราสามารถแปลงสญญาณแบบจดตอจดใหเปนอารเรยเพ�อการแสดงผลตอเน�องไดดวยบลอกสรางอารเรย (Build Array) ซ� งนามาจาก

Programming >> Array >> Build Array ดงแสดงในรปท� 13.8 ซ� งเม�อนาบลอกน� ไปวางใน BD เราจะเหนวาขนาดของบลอก มการเปล�ยนแปลงไปตามมตของสญญาณ ซ� งหากมตของสญญาณเปน 1 มต (1D) จะได Build Array เปน ดงแสดงในรปท� 13.9 a) เปน Block Diagram หรอ BD สวนรปท� 13.9 b) น�นเปน Front Panel หรอ FP โดยใชการแสดงผลดวย waveform chart ซ� งจะมการแสดงผลแบบตอเน�องไปตามแซมเป� ล

รปท> 13.8 บลอก Build Array จาก Programming >> Array >> Build Array.vi

ตวอยางของการใชงาน Sine Wave PtByPt.vi แสดงในรปท� 13.9 สงเกตวาสาหรบบลอกของสญญาณไซนน� จะตองใสคาชวงเวลา (Time) และ คาความถ� (frequency) ลงไปดวย หมายถง 1 sinewave(t) = amplitude*sin(f * t+ phase) อยาลมวา หากความถ�แซมปล�งคอ Fs เราจะไดคาชวงเวลาเปน T

Page 133: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

130 Mahanakorn University of Technology

= 1/Fs วนาท ในรปท� 13.9 a) น�นเปน BD จะเหนวาเราจะเลอกใชความถ�แซมปล�ง (Sampling frequency) เปน 100 Hz ดงน�นชวงเวลาระหวางแซมเป� ล (Time) จงเปน 1/100 วนาท ซ� งแตละแซมเป� ลของสญญาณ

ฟงกชนไซนน� จะคานวณไดโดยการหารตวนบ (counter) ของลปซ� งไดจากเทอรมนล ดวยความถ�แซมปล�ง 100 Hz จากน�นลากสายเขาหาเมอรมนล Time ของบลอก Sine Wave PtByPt.vi สวนในรปท� 13.9 b) น�นเปน FP ซ� งปรบความถ� (frequency) ใหเปน 10 Hz ดงน�นจะสงเกตเหนในกราฟไดวา หน�งคาบของสญญาณมจานวน 10 แซมเป� ล เพราะจานวนแซมเป� ลใน 1 คาบ = ความถ�แซมปล�ง (Hz)/ความถ�ของสญญาณ (Hz) ดงแสดงใน FP ของรปท� 13.9 b)

a)

b)

รปท> 13.9 การทดสอบการแสดงสญญาณไซนแบบจดตอจด a) BD b) FP

Page 134: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

131 Mahanakorn University of Technology

การทดลองท>13.1 จากโปรแกรม Test_signalPtByPt.vi จงแสดงการสรางสญญาณไซนแบบจดตอจดมความถ�เปน 100 Hz โดยท�ความถ� Sampling เปน 1,000 Hz และจงแสดงวาแตละจดบนแกน x (Time) น�นมระยะหางจากกนก�วนาท และ มรปสญญาณความแตกตางกนกบในกรณของรปท� 13.9 ซ� งใชความถ� Sampling เปน 100 Hz น�นและสญญาณไซนแบบจดตอจดมความถ�เปน 10 Hz อยางไร และทาไมจงเปนเชนน�น

การสรางสญญาณรบกวนแบบเกาสสขาวแบบจดตอจด

การสรางสญญาณดทเธอรน�นอาศยการใชสญญาณรบกวนสขาว (White noise) มาสรางเปนสญญาณดทเธอรดวยคณสมบตทางสถตท�เหมาะสมของมน ใน LabVIEW น�นมบลอกของการสรางสญญาณรบกวนแบบอารเรยมาใหแลวทาใหสะดวกในการใชงานมาก ในการทดลอง “ไขความลบดวยดทเธอรดวย LabVIEW” กมการใชงานบลอกสญญาณแบบอารเรยท�งหมด แตดวยโครงสรางการประมวลผลดวยสญญาณในแบบเวลาจรงของระบบนอยสเชปป� งทาใหเราตองเลอกใชงานบลอกการสรางสญญาณรบกวน

แบบเกาสสขาวแบบจดตอจดดวยบลอก Gaussian White Noise PtByPt.vi ดงแสดงในรปท� 13.10 โดยคาเทอรมนล standard deviation น�นสามารถใชเปนตวแสดงถงพลงงานของสญญาณรบกวนน�ไดโดยคาดฟอลทคอ 1

รปท> 13.10 บลอก Gaussian White Noise PtByPt.vi

สเปคตรมของสญญาณรบกวนสขาวจะมคณสมบตพเศษคอมสเปคตรมคงท�ตลอดยานความถ� ซ� งแสดงดงในรปท� 13.11 ส�งน� มความสาคญในแงของการสรางระบบนอยสเชปป� งซ� งจะพบวาสเปคตรมท�คงท�น�นถกดดไดดวยตวกรองดจตอล

Page 135: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

132 Mahanakorn University of Technology

รปท> 13.11 สเปคตรมสญญาณรบกวนสขาว (White Noise) มสเปคตรมคงท>ตลอดยานความถ>

การวเคราะหสเปคตรมแบบจดตอจด

สเปคตรม (Spectrum) ของสญญาณกคอการแสดงปรมาณพลงงานของความถ�ท�ประกอบข�นเปนสญญาณน�น หากตองการประมวลผลแบบเวลาจรง (real-time) เราสามารถใชบลอกสเปคตรมแบบจดตอจด

ใน LabVIEW ได ในท�น� เราเลอกใชบลอก Auto Power Spectrum PtByPt.vi จาก Signal Processing >> Point by Point >> Spectral Analysis PtByPt >> Auto Power Spectrum PtByPt.vi ซ� งจะใหผลลพทเปนสเปคตรมในหนวยของความถ� (frequency) ท�แสดงความถ�ท�มคาต�งแต 0 ถง 0.5 ของความถ�แซมปล�งท�มหนวยเปนเฮรสซ (Hz) ตวอยางเชน ความถ�แซมปล�งเปน 1,000 Hz ท�ความถ�ท�จะแสดงผลไดจะมคาในยาน 0 ถง 500 Hz เปนตน เราสามารถต�งจานวนแซมเป� ลท�จะใชในการคานวณสเปคตรม โดยการใสคาท�เทอรมนล Sample length ซ� งคาดฟอลทคอ 100 แซมเป� ล แตท�แสดงในรปท� 13.12 a) เราจะเลอกใชคา 500 แซมเป� ล เพ�อใหการแสดงผลมรายละเอยดความถ�ของกราฟมากข�น

รปท> 13.12 บลอก Auto Power Spectrum PtByPt.vi

Page 136: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

133 Mahanakorn University of Technology

การแสดงผลแบบจดตอจด

จดสาคญของการแสดงผลสเปคตรมดวยบลอก waveform graph แบบจดตอจดน�นกคอเราจะตองกาหนดพารามเตอรบางคาใหแกกราฟดวย เชน คาชวงเวลา (ในกรณแสดงสญญาณทางเวลา) หรอ ชวงความถ� (ในกรณแสดงสญญาณทางความถ�) ซ� งน�เปนความแตกตางของการแสดงผลแบบอารเรย เพราะตามปกตแลวการแสดงผลแบบอารเรยสามารถรบสญญาณจากบลอกตางๆไปแสดงผลไดทนทโดยไมตองมการต� งคาพารามเตอรใดเพ�มเตม แตกระน�นกตามการต�งคาพารามเตอรดงกลาวของการแสดงผลสเปคตรมดวยบลอก waveform graph แบบจดตอจดกมเพยงไมก�คาและไมมอะไรยงยากเกนไป ในรปท� 13.13 a) แสดง BD ของตวอยางการทดสอบการใชงานบลอกแสดงสเปคตรม ของสญญาณไซน สงเกตการนาคา ชวงเวลา (dt) ท�ไดมาจากการคานวณสวนกลบของความถ�แซมปล�ง T= 1/Fs ซ� งไดมาจากการใชบลอกตวหาร เพ�อนาคามาจากความถ�แซมปล�ง Fs ตวอยาง หากในกรณน� เราใช Fs =100 Hz ซ� งเราจะไดวา T= 1/100=0.01 วนาท ความถ�แซมปล�งน� เปนตวกาหนดคาของความถ�ท�จะแสดงผลไดของสญญาณไซน ซ� งจะตองไมเกนคร� งหน� งของความถ�แซมปล�ง ดงน�นสาหรบความถ�แซมปล�ง 100 Hz การแสดงคาสญญาณไซนท�มความถ� 10 Hz กยงคงอยในชวงของสญญาณท�แสดงผลได โดยความถ�ของสญญาณสามารถปรบไดจากฟรอนทพาเนล (FP) ดงแสดงในรปท� 13.13 b) และจากกราฟแสดงผลการหาคาสเปคตรมของคากาลงสญญาณไซนท�ความถ�เปน 10 Hz การกาหนดคาของการแสดงผลสเปคตรมน�น ดไดจากรปท� 13.13 c) โดยจะเหนวาเราจะ

ใชบลอก Bundle เพ�อรวมคาสามพารามเตอรคอ คา x0 คา df และ ขอมลของคาสเปคตรม power

spectrum กอนท�จะนาเขาสการแสดงผลดวย Waveform graph

a)

Page 137: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

134 Mahanakorn University of Technology

b)

c)

รปท> 13.13 การแสดงสเปคตรมของสญญาณแบบจดตอจด a) BD b) FP c) แสดง BD เฉพาะสวนของการ Bundle สญญาณเพ>อแสดงผล

Page 138: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

135 Mahanakorn University of Technology

การทดลองท> 13.2 โดยการปรบปรงจากโปรแกรม Test_spectrumPtByPt.vi จงแสดงสญญาณและส เ ป ค ต ร ม ข อ ง ส ญ ญ า ณ เ ก า ส แ บ บ จ ด ต อ จ ด ส ข า ว LabVIEW แ ล ะ ใ ห โ ป ร แ ก ร ม ใ ห ม ม ช� อ ว า Test_gauss_spectrumPtByPt.vi อภปรายผลท�ไดรบ

การปอนกลบสญญาณ (Feedback)

ในทฤษฎระบบควบคม (Feedback Control Theory) น�นมกจะตองมการปอนกลบ (Feedback) เสมอ สวนในดานการประมวลผลสญญาณน� น ตวกรองดจตอลท� เปนแบบอมพลสไมจ ากด (Infinite Impulse Response) หรอ IIR น�นกจะประกอบดวยสวนปอนกลบเชนกน ดงน�นการปอนกลบจงมความสาคญอยางมากในการศกษาวชาเชงวศวกรรมหลายๆแขนง ใน LabVIEW มฟงกชนท�ทาหนาท�น�อยสองชนด คอ แบบท�ใช Shift register และ Feedback Node.vi ซ� งการใชงานกใชสลบไปมาได แตเพ�อความชดเจนและสะดวกตอการทดลองน� เราจะเลอกใช Feedback Node.vi ในการสรางระบบนอยสเชปป� ง เราเลอก

บลอกไดอะแกรม Feedback Node.vi จาก Programming >> Structures >> Feedback Node.vi ดงแสดงในรปท� 13.14

รปท> 13.14 บลอก Feedback Node.vi

การใชงาน Feedback Node.vi ใน LabVIEW น�นไมซบซอนแตอยางใดแตจเราะตองทาความเขาใจเลกนอยในเร�องทางเดนสญญาณกอน เพราะสญญาณท�ผานออกจาก Feedback Node.vi น�นจะมลกษณะท�แตกตางไปจากสญญาณท�วไปท�คนเคย คอ จะมการหนวงเวลา (delay) หน>งหนวย หรอ เทยบเทาตวดาเนนการ z-1 ในเร�องของการแปลงแซด (z-transform) กระบวนการหนวงเวลาน� เปนกระบวนการท�สาคญ

Page 139: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

136 Mahanakorn University of Technology

ท�สดอยางหน�งในการประมวลผลสญญาณเพราะจะชวยใหเอาคาเกาของสญญาณกลบมาใชไดอก ในรปท� 13.15 a) แสดงการใชงาน Feedback Node.vi ในการบวกคาจากเอาทพทสะสมจากคากอนหนา หรอ t-1 หากให x(t) เปนสญญาณท�สรางจากบลอก Gaussian White Noise PtByPt.vi และจะถกบวกสะสมไปเร�อยในทกๆ ลป หรอ y(t) = y(t-1)+x(t) ซ� งจะเปน สงเกตจากการเกด Feedback Node.vi จะทางานเม�อสญญาณในแตละลปไหลออกจากตวบวก สญญาณน� คอ y(t-1) โดยสญญาณน�จะไปรออยท�อนพทขาเขาของตวบวกเพ�อบวกกบสญญาณขาเขาใหม x(t) ณ เวลาถดไป เราสามารถต�งคาเร�มตนของ Feedback Node.vi ไดซ� งคาดฟอลทจะอยท�คาศนย ในรปท� 13.15 b) น�นแสดงกราฟคาเอาทพทเปรยบเทยบกนระหวางกราฟของสญญาณอนพทและเอาทพทท�มการบวกคาปอนกลบ

a)

Page 140: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

137 Mahanakorn University of Technology

b)

รปท> 13.15 โปรแกรมทดสอบการใชงาน Feedback Node.vi เปนระบบสะสมคากอนหนา a) BD b) FP

การทดลองท> 13.3 คาของ y(t) = y(t-1) + x(t) น� เรยกวา เปนสมการท�ใมเสถยร (Unstable) เน�องจาก โพลอยบนวงกลมหน�งหนวย ใหทดลองแกไข Test_feedbacknode.vi โดยให y(t) = 0.8*y(t-1) + x(t) จงอภปรายผลท�เกดข�นจากกราฟของ y(t) วามความแตกตางไปจากเดมอยางไร

เอกสารอางอง

[1] พระพล ยวภษตานนท, “ไขความลบดทเธอรดวย LabVIEW “, เซมคอนดคเตอร อเลกทรอนกส, 349, 110-119, 2553 [2] K. Poon, “Dithering and Noise shaping”, 2002 [3] National Instruments Inc., “Getting Started with LabVIEW Point–By-Point VIs”, http://www.ni.com/pdf/manuals/370152b.pdf

Page 141: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

138 Mahanakorn University of Technology

14. Noise Shaping with LabVIEW II

วตถประสงค

1. เพอทราบถงการออกแบบระบบนอยสเชปป� งทใชดทเธอรรวมกบโอเวอรแซมปล�ง 2. สามารถออกแบบระบบนอยสเชปป� งเพอประยกตใชงานจรงได

บทนา

ในการทดลองระบบนอยสเชปป� งตอนทสองน� เปนการทดลองดวย LabVIEW ในฟงกชนตางๆ คอ ฟงกชนควอนไตซเซอรและการทาซบวไอ (Sub VI) ตวกรองดจตอลและการทาโอเวอรแซมปล�ง รวมท�งมการอธบายทฤษฎของระบบนอยสเชปป� งกนอยางสมบรณ ซ งท�งหมดน� จะถกรวบรวมเพอนามาสรางเปนโปรแกรมทดสอบระบบนอยสเชปป� ง และแสดงการเปรยบเทยบประสทธภาพของการลดสญญาณรบกวนระหวางระบบทมเฉพาะดทเธอรและระบบทมนอยสเชปป� ง ซ งเราจะใชความสามารถในการตดตอผใชงานแบบกราฟฟก (Graphic User Interface) ของ LabVIEW ในการแสดงผลซ งจะทาใหนกศกษาสามารถปรบเปลยนพารามเตอรตางๆ เพอการศกษาทาความเขาใจในเรองนอยสเชปป� งไดดวยตวเอง

ควอนไตซเซอร (Quantiser)

ควอนไตซเซอร (Quantiser) คออปกรณทใชในการแปลงสญญาณแอนะลอกเปนดจตอล ในบทความตอน “ไขความลบดทเธอรดวย LabVIEW” น�น ใชตวแปลงสาเรจรปในการสรางควอนไตซเซอร

ดวยบลอก Analog to Digital.vi ซ งเปนบลอกไดอะแกรมการแปลงแอนะลอกไปเปนดจตอล (A/D) ของ LabVIEW แตในบทความน� เราจะออกแบบควอนไตซเซอรดวยฟงกชนพ�นฐานใน LabVIEW จาก

สมการการควอนไตซตรงๆกนเลย สมการการควอนไตซน�นสามารถเขยนไดเปน

Q(x(n))=(A/q)*round((x(n)/A)*q)

โดย round น�น คอฟงกชนทางคณตศาสตรทเรยกวา การปดเศษ (Rounding) สวน x(n) คอ สญญาณฟงกชนไซนทจะทาการควอนไตซทมขนาดเปน A หรอ x(n) = Asin(2πn+π) สงเกตวา x(n) น�นแสดงถงสญญาณทมการเปลยนแปลงไปตามเวลา n ระดบข�นการควอนไตซหรอจานวนบท (bit) น�นแทนดวย q การคานวณผลลพทการควอนไตซ Q(x(n)) สามารถกระทาไดอยางงายดาย แตในตวอยางทจะแสดงตอไปน� จะแสดงใหเหนผลการควอนไตซของสญญาณแอนะลอกทตางคากนทกลบใหคาผลลพทเทากนหากจานวนระดบข�นการควอนไตซ q มจานวนไมมากพอ เชน ใหจานวนข�นการควอนไตซเปน q=3 และใหขนาดของสญญาณเปน A=1 โดยสญญาณท�งสอง คอ x(n)=2.30 และ x(n)=2.50 ซ งจะไดวา

Page 142: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

139 Mahanakorn University of Technology

a) สญญาณ x(n)=2.30 จะไดวา Q(x(n))=(1/3)*round(2.3*3)=2.33

b) สญญาณ x(n)=2.50 จะไดวา Q(x(n)) =(1/3)*round(2.5*3)= 2.33

สงเกตวา แม x(n) จะตางระดบคอเปน 2.3 และ 2.5 แต Q(x(n)) กลบใหคาทเทากนคอ 2.33 นเปนการแสดงใหเหนวาหาก q มคาตา ระดบการควอนไตซกจะหยาบ และนกคอสาเหตของการเกดความผดพลาดควอนไตซนนเอง

การสรางควอนไตซเซอรเปนซบวไอ (Sub VI)

เราจะมาทดลองสรางโปรแกรมการควอนไตซอยางงายๆ ดวยบลอกพ�นฐานงายๆ ทมใหอยแลวใน LabVIEW เชน การคณ การหาร การปดเศษ เปนตน ใน LabVIEW จดบลอกพ�นฐานเหลาน� ใหอยางพรอมมลอยแลวโดยตวดาเนนการทางคณตศาสตรทกตวของ LabVIEW จะอยในหมวด Programming >>

Numeric ซ ง บลอกการคณ (Multiplly) คอ บลอกการหาร (Divide) คอ และ บลอกการปดเศษ (Round to nearest) คอ ในรปท 14.1 a) แสดง BD ของโปรแกรม Quantiser.vi และ รปท 14.1 b) เปน FP ซ งเปดใหผใชงานสามารถทดลองปรบคาอนพท x เพอดผลลพทของการควอนไตซไดทนท

a) b)

รปทL 14.1 บลอก Quantiser.vi a) BD b) FP

แตลองจนตนาการดวา หากเราตองใช Quantiser.vi ซ� าๆ ท�งในโปรแกรมทเรากาลงสรางข�น คอ ระบบนอยสเชปป� งหรอ แมแตในโปรแกรมอนๆ หากจะเขยนฟงกชนน� ใหมทกๆคร� ง กคงเปนการเสยเวลา และทาใหหนาจอโปรแกรมดไมสะอาดตาเทาใดนก คงจะเปนการดไมนอยทเราจะบนทก Quantiser.vi น�ไวใหเปนหนวยโปรแกรมยอยหนงหนวยเพอการนาไปใชประโยชนภายหลง ซ งใน LabVIEW น�นกมการอานวยความสะดวกใหเราสามารถสรางโปรแกรมยอยน� ในชอทเรยกวา ซบวไอ (SubVI)

Page 143: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

140 Mahanakorn University of Technology

ซบวไอ (SubVI)

ซบวไอน�น คอ บลอกไดอะแกรมทผใชงานสรางข�นและทาหนาทเหมอนกบบลอกไดอะแกรมทมมาใหใน LabVIEW โดยมอนพทและเอาทพทในรปเทอรมนล (Terminal) หลกการน� ไมใชอนใดเพราะทแทแลว หนวยโปรแกรมทวากคอ ฟงกชน (Function) หรอ ซบรทน (Subroutine) ในภาษาโปรแกรมมงทวไปนนเอง กระบวนการสรางซบวไอ น�นไมยากเยนแตอยางใด ดงน�น เมอเรามโปรแกรมททาหนาทควอนไตซดงในรปท 14.1 แลว เราจะนาชดมาสรางเปนซบวไอ ทจะใชชอวา Quantiser.vi โดยข�นตอนการสรางจะเปนดงน� เรมจากการเปดหนาตางฟรอนทพาเนล แลวสงเกต ณ ตาแหนงไอคอนดานบนขวา จะเหนเปน

ไอคอน ใหคลกขวาแลวเลอก Show Connector ดงรปท 14.2 a) จากน�นไอคอนจะเปลยนเปนรป

เทอรมนล โดยตารางเลกๆ จะแทนตาแหนงของเทอรมนล ซ งเราจะเลอกใชตารางเหลาน� ตามตาแหนงทดแลวเหมาะสมสวยงาม และกทาการเชอมตารางกบ control หรอ indicator ใน FP ใหเปนเทอรมนลดงรปท 14.2 b)

a) b)

รปทL 14.2 การเลอกตาแหนงของเทอรมนล a) แสดงเมน Show Connector b) เชLอมตาแหนงของตารางกบ

เทอรมนล

จากน�นเราจะตกแตงไอคอน ในทน� จะเลอกแสดงเปนตวอกษร Q ซ งหมายถง Quantiser.vi ดวย Icon

Editor ดงรปท 14.3 หรอ จะเลอกออกแบบไอคอนเองไดตามชอบ เพราะ LabVIEW กมเครองมอในการออกแบบใหเรยบรอยแลว

Page 144: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

141 Mahanakorn University of Technology

รปทL 14.3 การใช Icon Editor เพLอตกแตงไอคอนของ SubVI

จากน�น เรากจะ save ในชอ quantiser.vi ลงในโฟลเดอรทตองการใดกได เมอตองการเลอกใช subVI เรากจะใชการเลอก Functions >> Select a VI … แลวเลอกไฟล Quantiser.vi จากโฟลเดอรทเกบไวตาม

ข�นตอนดงรปท 14.4 กจะไดไอคอน ปรากฏในหนาจอบลอกไดอะแกรม ซ งกเปนอนเสรจส�นสามารถนา ซบวไอ Quantiser.vi น� ไปใชงานไดแบบเดยวกบบลอกไดอะแกรมของ LabVIEW ปกต

รปทL 14.4 การใชงานซบวไอ “quantiser.vi”

ข�นตอนถดไปจะลองสรางโปรแกรมททาการควอนไตซดวยควอนไตซเซอร quantiser.vi รปท 14.5 a) แสดง BD แสดงถงการสรางระบบควอนไตซแบบมดทเธอร รปท 14.5b) แสดง FP ของระบบทปรบใหความถของสญญาณไซนเปน 100 Hz แตดทเธอรเปนศนยหรอไมมดทเธอรจะปรากฎวามฮารโมนกสเกดข�นท 300 Hz รปท 14.5 c) แสดง FP ของระบบทมดทเธอรปรากฎวา ฮารโมนกสท 300 Hz น�นหายไป แตกลบมสญญาณรบกวนเกดข�นแทนซ งจะมากหรอนอยกข�นกบระดบดทเธอร ซ งสญญาณรบกวนน� เราจะตองกาจดมนออกไป เพราะเปนสงททาใหอตราสวนสญญาณตอสญญาณรบกวน หรอ SNR ตาลง และจะสงผลตอคณภาพของสญญาณทไดจากการควอนไตซอยางยง

Page 145: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

142 Mahanakorn University of Technology

a)

b) c)

รปทL 14.5 แสดงโปรแกรมทดสอบระบบดทเธอรแบบเวลาจรง a) BD b) FP กรณสญญาณดทเธอรเปนศนย

c) FP กรณดทเธอรเปน 0.5

การทดลองทL 14.1 จากโปรแกรม Dither_quantiser.vi เมอความถเปน 100 Hz, 120 Hz, 250 Hz, 360 Hz และ 420 Hz ใหนกศกษาพจารณาวา ระดบดทเธอรทเหมาะสมของแตละความถททดลองน�นเทากนหรอไม หากไมเทากน ระดบดทเธอรทเหมาะสมของแตละความถข�นกบสงใด

ตวกรองสญญาณดจตอล (Digital Filter)

ประเดนททาใหเราตองมาสนใจในเรอง ตวกรองสญญาณ หรอ ฟลเตอร (Filter) ซ งเปนฟนเฟองทสาคญในการประมวลสญญาณอเลกทรอนกส กเพราะวาในระบบนอยสเชปป� งน�นสงทเราตองการคอ การ

Page 146: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

143 Mahanakorn University of Technology

“ดด” สญญาณรบกวนทเกดจากการทาดทเธอร หลกการทสาคญทสดของระบบนอยสเชปป� งกคอ การกด

พลงงานของสญญาณรบกวนในยานความถLเสยงทLมนษยไดยนลงและนาเอาพลงงานสวนนfนไปเพLมในสวน

ของยานความถLสงทLมนษยไมไดยนแทน และโดยหลกการน�พลงงานของเสยงรบกวนน�นจะไมไดถกทาใหหายไป แตจะเปนการ “ดด” รปรางสเปคตรมของพลงงานของสญญาณรบกวนน�น ตวกรองสญญาณหรอฟลเตอรในทางอเลกทรอนกสคอวงจรททาหนาทคดกรองสญญาณเพอแยกความถ เรามกเรยกตวกรองชนดน� โดยทวไปวา ตวกรองสญญาณแบบแอนะลอก (Analogue Filters) จะประกอบดวยอปกรณพ�นฐาน คอ อปกรณพาสซฟ (Passive devices) กจะเปน ตวเหนยวนา ตวเกบประจ และตวตานทาน ถาเปนอปกรณแอคทฟ (Active devices) กคออปกรณทขยายสญญาณได เชน ทรานซสเตอร และ ออปแอมป เปนตน การออกแบบตวกรองใหไดสเปค (Specification) ตามตองการน�นนบเปนศาสตรและศลปทวดฝมอของวศวกรอเลกทรอนกสเลยทเดยว เพราะเปนกระบวนการทตองอาศยความชานาญผานการทดลองมายาวนาน ดงน�นทฤษฎตวกรองแอนะลอกจงมรากฐานอนแนนหนาแขงแรงและความรท�งหมดไดประมวลลงในการออกแบบตวกรองแอนะลอก เวลาผานไปเทคโนโลยอเลกทรอนกสกถกพฒนาข� นไปไกลมากข� นจากเทคโนโลยดจตอลคอมพวเตอรทกาวกระโดด ความตองการการเปลยนแปลงในการออกแบบตวกรองทสลบซบซอนกเรมเกดข�นโดยมงไปทอปกรณดจตอล ไมใชเพราะสาเหตทเพยงแคอยากจะลองทาตวกรองสญญาณดวยอปกรณดจตอล แตเกดจากการใครครวญอยางลกซ� งถงความไดเปรยบของตวกรองแบบใหมทมชอเรยกวา ตวกรอง

ดจตอล (Digital filters) ทแปลงความใฝฝนทางคณตศาสตรใหมาเปนของจรงททางานไดใกลเคยงมากกวา และขอดทสาคญของตวกรองดจตอลกคอ การทเราสามารถปรบเปลยนสเปคของตวกรองไดตามความตองการโดยอาศยแตเพยงการปรบต�งคาพารามเตอรผานทางคยบอรดได ซ งความไดเปรยบเหลาน�ตวกรองแอนะลอกไมสามารถสตวกรองดจตอลไดเลย แตเนองจากทฤษฎตวกรองแอนะลอกน�นมความนาเชอถอเพราะผานการลองผดลองถกมายาวนาน ดงน� นวศวกรอเลกทรอนกสจงไดปรบกระบวนการออกแบบตวกรองดจตอลเพอใชทฤษฎตวกรองแอนะลอกไดอยางชาญฉลาด กระบวนการออกแบบจากตวกรองแอนะลอกมาเปนตวกรองดจตอลทนยมใชมชอเรยกวาการแปลงไบลเนยร (Bilinear Transform) ดวยกระบวนการแปลงเหลาน� ทฤษฎการออกแบบตวกรองแอนะลอกจงถกถายทอดเพอสรางตวกรองดจตอลไดอยางครบถวน หากพดถงเรองของสเปคแลว ตวกรองดจตอลมประสทธภาพมากกวาตวกรองแอนะลอกอยางมาก แตไมใชเพยงเทาน�น ตวกรองดจตอลสามารถสรางข�นในรปแบบตางๆ ทเหนอกวา เชน ความงายดายในการปรบเปลยนชนดของตวกรอง เชน จากตวกรองตาผานไปเปนแบบตวกรองสงผาน โดยใชการโปรแกรม โดยทฤษฎแลวการจะออกแบบตวกรองดจตอลจะมกระบวนการออกแบบทคอนขางมากและตองอาศยความเขาใจทางดานการประมวลผลข�นสงเลยทเดยว แตหากเราไมไดตองการตวกรองทประสทธภาพสงมาก และ

Page 147: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

144 Mahanakorn University of Technology

ไมไดผานกระบวนการทาคาใหเหมาะสม (Optimisation) การสรางตวกรองดจตอลกจะเปนสงทนบวางายมากอยางไมนาเชอ โดยหลกการของตวกรองจะแบงออกเปน ตวกรองอมพลสจากด (Finite Impulse response) หรอ

FIR และตวกรองอมพลสไมจากด (Infinite Impulse response) หรอ IIR แตเนองจากเราสนใจในเฉพาะตวกรองดจตอลทถกใชอยในนอยสเชปป� ง เราจงมาสนใจแตเฉพาะตวกรองอมพลสจากด หรอ FIR ทเราใชในสวนของการปอนกลบสญญาณ องคประกอบทสาคญของตวกรองดจตอลมดงน� คอ ตวหนวงเวลา (Delay operator) ตวบวก (Adding operator) ตวคณ (Multiplying operators) และ คาสมประสทธ| (Coefficients) โครงสรางทวไปของตวกรองดจตอล FIR คอ

H(z) = b0+b1z-1+ b2z

-2+…+ bLz-L

เมอ bi น�นคอ สมประสทธ| ของตวกรอง z-L แสดงถง การหนวงเวลาไป L หนวยแซมเป� ลของสญญาณ และ L น�นคอคาอนดบของตวกรอง H(z) สงทเปนขอสาคญคอตวกรอง H(z) น� คอ ฟงกชนถายโอน (Transfer

function) ในรปแบบหน งซ งทาหนาทสงผานดดแปลงสญญาณอนพทไปเปนเอาทพท ดงน�นหากเขยนความสมพนธของ สญญาณอนพท สญญาณเอาทพท และ ฟงกชนถายโอน จะไดเปน ความสมพนธทตรงไปตรงมาดงน�

Y(z) = H(z)*X(z)

โดยท X(z) คอสญญาณอนพท Y(z) คอ สญญาณเอาทพท และ H(z) คอ ฟงกชนถายโอนหรอตวกรองดจตอล นนเอง โดยตวกรองทเราสนใจมากทสดในระบบนอยสเชปป� ง คอ ตวกรองดจตอลสงผานเพราะดวยคณสมบตทกดสญญาณความถต าและสงผานความถสง ในรปท 14.6 แสดงใหเหนวาหากเราปอนสญญาณรบกวนสขาวซ งมสเปคตรมคงทตลอดยานความถ เขาสตวกรองสงผาน ส งท เราจะไดคอผลตอบสนองความถในรปสเปคตรมทมขนาดเปลยนแปลงโดยมคานอยๆ ในยานความถต า และ คอยๆเพมข�นในยานความถสงๆ

รปทL 14.6 สเปคตรมทLคงทLของสญญาณรบกวนสขาว (White noise) จะเปลLยนไปหลงจากผานตวกรองสง

ผาน

Page 148: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

145 Mahanakorn University of Technology

ใน LabVIEW เราสามารถใชตวกรองแบบจดตอจดแบบ FIR ไดโดยตรงจากบลอก FIR Filter PtByPt.vi

ซ งเปนตวกรองจดตอจดแบบงายทสด โดยเลอกจาก Signal Processing >> Point By Point >> Filters

PtByPt >> FIR Filter PtByPt.vi ดงแสดงในรปท 14.7 และ สามารถต�งคาพารามเตอรของตวกรองน� ไดจากเทอรมนลดงในรปท 14.8

รปทL 14.7 บลอก FIR Filter PtByPt.vi จาก Signal Processing >> Point By Point >> Filters PtByPt >>

FIR Filter PtByPt.vi

รปทL 14.8 พารามเตอรของบลอก FIR Filter PtByPt.vi

ในรปท 14.9 a) เปน BD โดยใชตวกรองทมคาเปน H(z) = 1-z-1 ซ งคาสมประสทธ| ของตวกรองน� กคอ 1 และ -1 ตามลาดบของการหนวงเวลา สงเกตวาคา 1 และ -1 น�นจะถกกาหนดใหกบบลอก FIR Filter PtByPt.vi

ซ งผลลพทของตวกรองน�จะใหผลเปนตวกรองสงผานดงแสดง รปท 14.9 b) เราจะแสดงท�งสเปคตรมจากสญญาณรบกวนสขาวทไมผานตวกรอง (Unfiltered Spectrum) และสญญาณรบกวนสขาวทผานตวกรอง(Filtered Spectrum) เพอการเปรยบเทยบ โดยเมอทดลองนาบลอกการ

วเคราะหสเปคตรมอตโนมตของสญญาณแบบจดตอจด Auto Power Spectrum PtByPt.vi เพอการแสดงผลของสเปคตรม ซ งในการแสดงผลสเปคตรม ดงแสดงใน BD ของรปท 14.9 a) และจากกราฟท

Page 149: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

146 Mahanakorn University of Technology

แสดงใน FP ของรปท 14.9 b) จะเหนวา สเปคตรมของสญญาณรบกวนสขาวในกราฟ White Noise Spectrum น�นมลกษณะเปนคาคงทตามทฤษฎทไดกลาวไปแลว สวนสเปคตรมของสญญาณรบกวนสขาวทผานตวกรองสงผานน�นจะเหนวามลกษณะเปนคาทเพมข�นตามความถ โดยสงเกตจากขนาดของเสนกราฟทสงข�นในยานความถสงของกราฟ Highpass Spectrum ดงแสดงในรปท 14.9 b) แสดงถงการตอบสนองตอความถสงมากกวาความถต าของตวกรองดจตอล เราใหความถแซมปล�งเทากบ 1,000 Hz ซ งจะอาศยตวหารเพอสรางคาอตราชวงเวลาแซมปล�ง (Sampling Time) ซ งจะเทากบ 1/1000=1 มลลวนาท เพอใหสามารถแสดงผลสเปคตรมได

a)

Page 150: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

147 Mahanakorn University of Technology

b)

รปทL 14.9 การทดสอบสเปคตรมของสญญาณทLผานตวกรองสงผาน a) BD b) FP

การทดลองทL 14.2 จากโปรแกรม test_highpass.vi ทดลองออกแบบ lowpas filter ทม H(z) = 1+0.8z-1 อภปรายผลทได

ทฤษฎการทางานของระบบนอยสเชปปf ง

โครงสรางของระบบควอนไตซทมระบบนอยสเชปป� งจะแสดงในรปท 14.10 เราจะมาไลเรยงกระบวนการทางานของระบบกน เรมจากสญญาณขาออก y(n) น�นสามารถเขยนไดเปน

y(n)= Q[u(n) + d(n)]

ในกรณน� สงเกตวา สญญาณ u(n) น� คอ สญญาณทจะถกบวกรวมเขากบสญญาณดทเธอร d(n) กอนทจะถกทาการควอนไตซดวยฟงกชน Q ความแตกตางระหวาง y(n) และ u(n) น� เรยกวาความผดพลาดจากการควอนไตซ หรอ e(n)= y(n) – u(n) ซ งจะเหนวาคลายคลงกบกรณระบบควอนไตซทมเฉพาะการทาดทเธอรดงทไดกลาวไปในบทความตอนทแลว แตสงทเปนความแตกตางของระบบนอยสเชปป� งน� กบระบบควอนไตซทมดทเธอรกคอ การปอนกลบแบบลบ (Negative Feedback) ของคาความผดพลาด e(n) น� กลบไปยงสวนสญญาณขาเขา x(n) ของระบบผานตวกรองแบบอมพลสจากด h(n) ดงน�นหมายถงสญญาณ e(n) จะตองทาการประสาน (Convolution) เขากบ h(n) และ สญญาณขาออกของการปอนกลบน� จะเปนสญญาณ u(n) และ จะเขยนสมการของการปอนกลบแบบลบน�ไดเปน

u(n) = x(n) – e(n)* h(n)

โดยท * น�นหมายถงการประสานของสญญาณ e(n) และตวกรอง h(n)

รปทL 14.10 ระบบนอยสเชปปf ง (Noise Shaping)

Page 151: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

148 Mahanakorn University of Technology

และเราทราบวาเนองจาก h(n) น�น เปนผลตอบสนองอมพลสของตวกรอง (Filter Impulse Response) ซ งมผลการแปลงแซดเปน H(z) ดงทไดกลาวไปในหวขอทแลว และ Q น�นคอฟงกชนการควอนไตซ หากเราพจารณาวาสญญาณดทเธอร d(n) น�นมคณสมบตทางสถตทเหมาะสมแลว ผลจากการควอนไตซ Q จะเปรยบเสมอนการบวกเพLมสญญาณความผดพลาดควอนไตซ e(n) ใหแกสญญาณอนพท u(n) และสญญาณดทเธอร e(n) น� ยงเปนอสระไมข�นตอสญญาณอนพท x(n) ดวย เพราะเปนสญญาณจากคนละแหลง ดงน�นจากสมการ y(n)= Q[u(n) + d(n)] จงสามารถเขยนใหมไดเปน

y(n)= u(n) +e(n)

ซ งจะตด Q ออกจากการแกสมการทาใหงายตอการวเคราะห ทน� มาถงข�นตอนทสาคญคอ การแทนคาของ u(n) จาก u(n)=y(n)-e(n) ลงไปใน u(n) = x(n) – e(n)* h(n) จะได

y(n) = x(n) +e(n)– e(n) *h(n)

สมการน�สาคญ เพราะวาหากเราทาการแปลงแซด จะไดวา

Y(z) = X(z) + E(z) [ 1 – H(z) ]

และนคอสมการของการทานอยสเชปป� ง สงเกตวา H(z) น� เปนตวกาหนดขนาดของสญญาณความผดพลาด ควอนไตซ E(z) เมอเทยบสมการของ ระบบดทเธอรแลวจะเหนวา ระบบดทเธอรน�น มองคประกอบเปน Y(z) = X(z) +E(z) สงเกตพจนของ E(z) ในสมการ Y(z) = X(z) + E(z) [ 1 – H(z) ] จะเหนวา หนาทLของ

H(z) ในระบบนอยสเชปปf งนfนคอการดดแปลงผลตอบสนองความถL (Frequency response) ของสญญาณ

ความผดพลาด E(z) นนเอง ดงน�นหาก 1-H(z) เปนตวกรองสงผาน จะเทากบการยายพลงงานของคาความผดพลาด E(z) ใหมคานอยในบรเวณยานความถเสยงซ งเปนชวงคาความถต าและไปเพมในยานความถสงแทน ดงน�นจะพบวา จรงๆ แลว 1-H(z) จะทาหนาทเปนตวกรองสงผาน ซ งสมการทงายทสดของตวกรองสงผาน กคอจะเปนดฟเฟอเรนชเอเตอร (Differentiator) ซ งมสมการเปน 1-z-1 เมอเทยบสมประสทธ|ของ 1-H(z) กบ 1-z-1 จงไดวา H(z)=z-1 หรอ แปลวาสมประสทธ| ของตวกรอง H(z) น�นมคาเปน 1 สาหรบการหนวงเวลาหนงหนวย ขอสงเกตทสาคญทสด คอ H(z) น�นจะมผลตอสญญาณผดพลาด E(z) แตเพยงสญญาณเดยว ไมเกยวของกบสญญาณ X(z) แตประการใดเลย หรอแปลวา สญญาณเสยง X(z) จะยงคงเดมไมถกบดเบอนใหเกดความเพ�ยนใดๆ จะมเพยงสญญาณผดพลาด E(z) ทลดลงในยานความถของ X(z) เทาน�น

Page 152: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

149 Mahanakorn University of Technology

การทดลองระบบนอยสเชปปf ง

เมอเราแปลงทฤษฎนอยสเชปป� งมาเปนโปรแกรมของ LabVIEW เราจะได BD ดงแสดงในรปท

14.11 a) ในการสรางสญญาณจดตอจด เรายงคงใชบลอก Sine Wave PtByPt.vi และ Gaussian

White Noise PtByPt.vi สวนการวเคราะหสเปคตรมและสวนการแสดงผลจดตอจดน�นใช บลอก Auto

Power Spectrum PtByPt.vi และ waveform graph ตามลาดบ เราต�งความถแซมปล�งเปน 1000 Hz ในรปท 14.11 b) เปน FP โดยเราปรบความถสญญาณทตองการใหเปน 100 Hz และแสดงผลลพทของระบบทปรบใหดทเธอรเปนศนย เปรยบเทยบสเปคตรมของระบบควอนไตซท�งทมแตเฉพาะดทเธอรไมมระบบนอยสเชปป� งและทมท�งดทเธอรและระบบนอยสเชปป� ง แสดงใหเหนถงความคลายคลงของระบบท�งสอง แมวาฮารโมนกสทเกดข�นจะแตกตางกนกจะไมใชเร องสาคญ และรปท 14.11 c) เปน FP แสดงผลลพทของการปรบใหดทเธอรเปน 0.5 แมระบบทมดทเธอรแตไมมนอยสเชปป� งจะลดอารโมนกสได แตสญญาณรบกวนพ�นทมคาคงทตลอดยานน�นกยงมคาสงในยานความถ 100 Hz แตสาหรบระบบทมดทเธอรและมนอยสเชปป� งจะแสดงใหเหนถงประสทธภาพในการลดฮารโมนกสและการกดสญญาณรบกวนพ�นในยานความถ 100 Hz และยานตาลงมา แสดงใหเหนประสทธภาพในการลดสญญาณรบกวนพ�นในยานความถทตองการ

a)

Page 153: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

150 Mahanakorn University of Technology

b)

c)

รปทL 14.11 แสดงโปรแกรมทดสอบระบบนอยสเชปปf ง b) ใหดทเธอรเปน 0 c) ใหดทเธอรเปน 0.5 ในรปท 14.12 แสดงการเจาะลกในรายละเอยดของสวนนอยสเชปป� ง สงเกตในการสรางตวกรอง

H(z) ซ งเราใชบลอก FIR Filter PtByPt.vi น�น เราจะมการใช บลอกไดอะแกรม Feedback Node.vi

ซ งเลอกจาก Programming >> Structures >> Feedback Node.vi เพอสรางสญญาณปอนกลบ

Page 154: EEET0485 ปฏิบัติการ การประมวลผลสัญญาณดิจิตอล...อินดิเคเตอร์ทีเป็น Numeric เช่นก

EEET0485 Digital Signal Processing Electronic Engineering Department

151 Mahanakorn University of Technology

หรอ อกนยหน งกคอการสรางตวหนวงเวลา z-1 ใหกบสญญาณความผดพลาด E(z) ซ ง E(z) เปนความแตกตางของสญญาณขาออก Y(z) กบสญญาณ U(z) สญญาณน�จะผานเขาสตวกรอง H(z) ดงน�น H(z) ทมสมประสทธ| เปน 1 จะหมายถง H(z) =z-1 สญญาณทออกจาก H(z) จงถกดดแปลงเปน E(z)H(z) ซ งเมอนาไปลบออกจาก X(z) จงไดเปน U(z)= X(z) –E(z)H(z) สดทายสญญาณน� จะถกนาไปรวมกบดทเธอรและผาน ควอนไตซเซอร ซ งจะไดเปน Y(z) =X(z)+ E(z)[1-H(z)]

รปทL 14.12 แสดงภาพ BD ยอยเฉพาะสวนนอยสเชปปf ง

การทดลองทL 14.3 ทาการทดลองกบโปรแกรม noiseshaping.vi แลว จงอภปรายวา 1) ปรมาณของดทเธอร และ 2) ระดบความถสญญาณไซน มผลกระทบตอประสทธภาพการทางานของระบบนอยสเชปป� งอยางไร และจงอภปรายวาจะสามารถปรบปรงระบบนอยสเชปป� งดงกลาวไดอยางไรบาง

เอกสารอางอง

[1] C. Hicks, The Application of dither and Noise-Shaping to Nyquist-Rate Digital Audio: Introduction, Technical report, Communications and Signal Processing Group, 1995. [2] N. Kehtarnavaz, P. Loizou and M. Rahma, Lab 6: Analog-to-Digital Conversion, DTFT and DFT, http://cnx.org/content/m19843/latest/ [3] National Instruments Inc., “Getting Started with LabVIEW Point–By-Point VIs”, http://www.ni.com/pdf/manuals/370152b.pdf