ในแบบผึกหัดนี้ จะสอนวิธีการเขียน FIR filter โดยการใช้ภาษาแอสแซมบลีของ DSP เริ่มต้นจากแอสแซมบลีพื้นฐานที่ใช้เขียน FIR filter จากไฟล์ filter.asm.
| filter.asm |
|---|
|
filter.asm จะทำการใช้ FIR filter กับอินพุต channel ที่ 1 แล้วทำการส่งผลลัพธ์ที่ได้ไปยัง channel ที่ 1 พร้อมกับส่ง อินพุตที่ไปยัง channel ที่ 2
ลำดับแรก สร้าง workin directory ของคุณขึ้นที่ network drive สำหรับไฟล์ที่จะใช้ในแบบฝึกหัดนี้ จากนั้นทำการ copy filter.asm
และ core.asm
ไปไว้ใน directory ที่สร้างขึ้น เสร็จแล้วให้ใช้ MATLAB สร้าง 20-tap FIR
filter 2 อัน filter ตัวแรก ควรผ่านสัญญาณที่มีความถี่ ตั้งแต่ 4 kHz ถึง 8 kHz; ส่วน filter ตัวที่สอง ให้ ผ่านสัญญาณความถี่ 8 kHz ถึง 12 kHz
สำหรับ filter ทั้งสอตัว ให้ใช้ 1 kHz transition band ที่ทุกริมของ filter passband ในการสร้าง filter พวกนี้ ควรจะแปลง band edge ให้เป็น
สัญญาณดิจิตอล โดยเทียบจาก 44.1 kHz
sample rate ของระบบ จากนั้นให้ใช้คำสั่ง MATLAB
remez ในการสร้าง filter; อาจลองพิมพ์
help remez สำหรับ รายละเอียดของการใช้คำสั่ง และใช้คำสั่ง
save_coefsave filter แต่ละตัวคนละไฟล์ (ตรวจดูก่อน save ว่าได้ทำการกลับเวคเตอร์ ของ filter coef เรียบร้อยแล้ว)
ทำการ save filter ในรูปของ MATLAB matrix ด้วย เพราะคุณจะต้องใช้มันภายหลังในการสร้าง test เวคเตอร์
สารมารถทำได้โดย ใช้คำสั่ง save ใน MATLAB
เมื่อเสร็จเรียบร้อยแล้ว ให้ใช้คำสั่ง freqz
ในการสร้าง frequency response ให้แต่ละ filter








