Xử LÝ SỐ TÍn hiệU


 Thực hiện bộ lọc trên kit DSP



tải về 3.7 Mb.
Chế độ xem pdf
trang31/74
Chuyển đổi dữ liệu29.10.2022
Kích3.7 Mb.
#53684
1   ...   27   28   29   30   31   32   33   34   ...   74
TN DSP-2015-01-18-SinhVien (1)

 
Thực hiện bộ lọc trên kit DSP 
Bộ lọc này được thực hiện trên kit bằng chương trình sau (viết bằng ngôn ngữ C) 
//Fir.c FIR filter. Include coefficient file with length N 
#include "coefficients.h" 
//coefficient file
#include "dsk6713_aic23.h" 
//codec-dsk support file 
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate 
int yn = 0; 
//initialize filter's output 
short dly[N]; //delay samples 
interrupt void c_int11() //ISR 

short i; 
dly[0]=input_sample(); 
//input newest sample 
yn = 0; //initialize filter's output 
for (i = 0; i< N; i++) 
yn += (h[i] * dly[i]); //y(n) += h(i)* x(n-i) 
for (i = N-1; i > 0; i--) //starting @ end of buffer 
dly[i] = dly[i-1]; //update delays with data move 
output_sample(yn >> 15); //scale output filter sample 
return; 


Bộ Môn Viễn Thông-ĐH Bách Khoa TpHCM
TÀI LIỆU THÍ NGHIỆM XỬ LÝ SỐ TÍN HIỆU 
55 

void main() 

comm_intr(); //init DSK, codec, McBSP 
while(1); //infinite loop 

Trong chương trình này, N là chiều dài của đáp ứng xung của bộ lọc (bằng M + 1 với M là 
bậc của bộ lọc) và đáp ứng xung của bộ lọc là mảng h có kích thước N. Giá trị của N và 
vector h được khai báo trong tập tin coefficients.h. Tập tin này được gộp vào nhờ chỉ dẫn 
#include. Như vậy, khi muốn thay đổi bộ lọc, chỉ cần thay đổi nội dung của tập tin 
coefficients.h. 
Chương trình trên có sử dụng ngắt. Khi có có xung lấy mẫu (tần số chọn ở đây là 8KHz), 
trình phục vụ ngắt c_int11 được gọi, đọc mẫu vào và thực hiện giải thuật xử lý mẫu để tính 
ngõ ra. 
(Hướng dẫn: nên sao chép thư mục FIR đã có thành một thư mục với tên khác và thực hiện 
trên thư mục mới này ứng với từng bộ lọc). 
Tóm lại, các bước để thực hiện bộ lọc FIR lên kit như sau: 
1. Lấy các hệ số đáp ứng xung cof của bộ lọc thiết kế ở định dạng 16 bit có dấu. 
2. Mở CCS (nhớ mở nguồn của DSK trước khi mở CCS). Kiểm tra kết nối. 
3. Mở tập tin project (đã được tạo sẵn) FIR.pjt trong C:\CCStudio_v3.1\myprojects\FIR.
4. Trong cửa sổ Project View, tab File View, mở rộng phần Include, mở tập tin 
coeficients.h.
5. Đặt các hệ số đáp ứng xung của bộ lọc vừa thiết kế vào trong tập tin này. (Có thể copy 
và paste từ cửa sổ Array Editor trên). Điều chỉnh giá trị N cho đúng với chiều dài đáp 
ứng xung. Lưu ý rằng các giá trị của đáp ứng xung cách nhau bằng một dấu phẩy (,). 
Lưu tập tin sau khi sửa đổi. 
6. Xác lập các tùy chọn phù hợp (xem phần hướng dẫn sử dụng trong tài liệu này) rồi tiến 
hành biên dịch chương trình. Sau khi dịch thành công, hãy nạp chương trình lên trên kit 
và chạy chương trình. 
Đánh giá kết quả thực hiện 
1. Chọn View  Graph  Time/Frequency. Thay đổi các tùy chọn trong cửa sổ Graph 
Property Dialog để vẽ trong miền thời gian. Địa chỉ bắt đầu của bộ đệm chính là tên 
mảng h được nhập vào Start Address. Các tùy chọn khác có thể để như mặc định. 
Ghi nhận dạng sóng đáp ứng xung của bộ lọc: 


Bộ Môn Viễn Thông-ĐH Bách Khoa TpHCM
TÀI LIỆU THÍ NGHIỆM XỬ LÝ SỐ TÍN HIỆU 
56 
2. Chọn View  Graph  Time/Frequency, sau đó chọn Display type FFT 

tải về 3.7 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   27   28   29   30   31   32   33   34   ...   74




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương