Bài tập Xử lý số - Bài 1: Thực hiện các bộ lọc Fir trên KIT C6713DSK

II - Thiết kế bộ lọc thông dải bằng phương pháp Kaiser Window:

• N=81

• Fc1=1500

• Fc2=2000 Hz.

• β= 5.

• Fs=8000Hz

 Thực hiện tương tự phần 1. Kết quả thu được như sau :

 Đáp ứng thu được khi thiết kế bằng Matlab:

 

doc20 trang | Chuyên mục: Xử Lý Tín Hiệu Số | Chia sẻ: tuando | Lượt xem: 532 | Lượt tải: 0download
Tóm tắt nội dung Bài tập Xử lý số - Bài 1: Thực hiện các bộ lọc Fir trên KIT C6713DSK, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 BÀI 1: THỰC HIỆN CÁC BỘ LỌC FIR TRÊN KIT C6713DSK .
Thiết kế bộ lọc thông chắn dải bằng phương pháp Kaiser Window
Các thông số cần thiết kế: 
N=89.
Fc1 =2500 
Fc2=2900 Hz .
β = 4.
Fs=8000 Hz.
Tìm đáp ứng xung h
Mở MATLAB trong cửa sổ Command gõ lệnh :
>>sptool
Xuất hiện hộp thoại SPTool , nhấp chọn New
Nhập các thông số như yêu cầu thiết kế và nhấp vào Design Filter :
Đổi tên : startup.spt àeditànameàfilt1 , đặt lại tên: bandstop
Xuất ra workspace :
Từ cửa sổ SPTool, chọn FileàEportTrong Export list xuất hiện chọn Filter :bandstop [ design] rồi nhấn Export to Workspace.
Sang cửa sổ chính của chương trình MATLAB, double click vào bandstop trong tab Workspace để xem các hệ số trên tử của hàm truyền (num):
Ta quan sát thấy có 89 hệ số với giá trị rất nhỏ.
Để thực hiện bộ lọc thông qua phần mềm CCS ta chuyển lên giá trị lớn hơn bằng dòng lệnh sau : (Sau đó nhấp đúp vào biến cof trong workspace để quan sát)
>>cof=round(bandstop.tf.num*2^15);
Mục đích của việc này là giảm sai số trong quá trình lượng tử hóa .Sau quá trình lượng tử hóa thi ta chuyển về giá tri ban đầu bằng cách dịch qua phải 15 bits qua dòng lệnh trong CCS là : output_sample(yn>>15);
Thực hiện bộ lọc :
Mở c6713dsk: 
Kết nối CCS với KIT: Debug à Connect
Mở tập tin project có tên FIR.pjt trong 
C:\Program Files\CCStudio_v3.1\myproject\FIR.
Mở tập tin coeficients.h trong phần include mở rộng thuộc project view.
Nhập số liệu :
N=89, copy ma trận cof từ Array Editor ở MatLab và thay khoảng trắng bằng dấu “,” (Bằng lệnh “Ctr + H”)
Thiết lập các thông số trong ProjectàBuild Options
Trong thẻ Compiler
Trong thẻ Linker 
Lúc này trong thư mục C:\Program Files\CCStudio_v3.1\MyProjects\FIR\Debug
Sẽ xuất hiện tập tin FIR.out , đây là tập tin ta dung để nạp lên KIT.
Biên dịch: Project à Rebuild All
Sau khi CCS chạy xong :
Vào File à Load Program dẫn tới file FIR.out
Chạy chương trình Debug à Run :
Quan sát đáp ứng của bộ lọc Graph à Time/Frequency 
Thiết lập thông số trong Graph Property Dialog như sau:
Đáp ứng như sau:
Kiểm tra bộ lọc vừa thiêt kế:
Mở DSP_Tools.exe : 
Từ File mở: Oscillocope, Spectrum Analyzer, Get real time signal from soundcard để quan sát tín hiệu ra trên KIT :
Điều chỉnh dao động ký với tần số vào là:
2700 Hz
Nhận xét: fi nằm trong khoảng chắn nên tín hiệu bị triệt tiêu.
2Khz
3.4Khz
Nhận xét: Với ngõ vào là 2000 Hz và 3400 Hz thì ta thu được tín hiệu giống tín hiệu vào.
II - Thiết kế bộ lọc thông dải bằng phương pháp Kaiser Window:
N=81
Fc1=1500
 Fc2=2000 Hz.
β= 5.
Fs=8000Hz
 Thực hiện tương tự phần 1. Kết quả thu được như sau :
Đáp ứng thu được khi thiết kế bằng Matlab: 
Đáp ứng quan sát sau khi đã nạp các giá trị cof trên CCS:
Kiểm tra kết quả với tần số vào điều chỉnh từ dao động ký:
1 Khz
1.7 Khz
2.4 Khz
Nhận xét: Với tần số ngõ vào là 1 Khz, 2.4 Khz thì ngõ ra bị triệt tiêu. Và tần số 1.7 Khz thuộc khoảng 1.5Khz ÷ 2 Khz nên tín hiệu không bị triệt tiêu.
III - Thiết kế bộ lọc thông cao bằng phương pháp Kaiser Window:
Các thông số cần thiết kế: 
N=81 .
Fc =2200 
β = 4.
Fs=8000 Hz.
Đáp ứng thu được trên Matlab:
Đáp thu được ứng trên CCS:
Kiểm tra đáp ứng với tín hiệu vào là sóng vuông 1 Khz :
Nhận xét: Phổ thu được gần như là 1 vạch phổ ở 3Khz. Ta biết sóng vuông khi phân tích Fourier là tổng của các hài lẻ, và biên độ các hài này giảm dần theo chiều tăng của tần số. Với tín hiệu vào là 1Khz thì ta phân tích ra được các hài là 1Khz, 3Khz, 5Khz,  Khi cho qua bộ lọc thông cao tần số cắt 2.2Khz thì ta chỉ cho qua các hài từ 3Khz trở lên qua, do biên độ các hài 5Khz, 7Khz, quá nhỏ nên ta hầu như không quan sát thấy trên Spectrum Analyzer.
IV - Thiết kế bộ lọc FIR Multiband:
Các thông số cần thiết kế: 
Tần số trung tâm lần lượt là 2500Hz, 3500Hz.
Băng thông mỗi dải là 500Hz.
Tần số lấy mẫu là 8000Hz
Độ lên xuống (giả sử) là 100Hz
Bảng chỉ số của bộ lọc:
Dải
 Tần sồ (Hz)
Tần số chuẩn hóa f/FN
 Biên độ
 1
 0 -- 2150 
 0 – 0.5375
 0
 2 
 2250 -- 2750
 0.5625 – 0.6875
 1 
 3
 2850 – 3150
 0.7125 – 0.7875
 0
 4
 3250 – 3750
 0.8125 – 0.9375
 1
 5
 3850 -- 4000
 0.9625 -- 1
 0
Thực hiện M-file với code như sau :
Chạy file này ta thu được 2 Figure là đáp ứng của bộ lọc như sau :
Đáp ứng thu được trên CCS :
Kiểm tra với tín hiệu ngõ vào là 800Hz :
Dạng sóng :
Phổ :
Giải thích dạng phổ : Ta thấy có 2 vạch phổ là 800Hz, 2400Hz
Sóng vuông 800Hz khi phân tích Fourier ta thu được các hài có tần số 800Hz, 2400Hz, 4000Hz, ,(2k+1)*800Hz. Khi cho qua bộ lọc Multiband ở trên (dựa theo đáp ứng của CCS) thì chỉ cho qua tần số 2400Hz, các tần số còn lại bị suy hao, nhưng do hài cơ bản là 800Hz có biên độ lớn nên tuy bị suy hao nhưng ta vẫn quan sát được.
Thay đổi tần số ngõ vào (tín hiệu sin) :
0.5Khz :
1Khz :
 2.3Khz :
3Khz:
3.3Khz
Nhận xét: Tăng dần tần số tín hiệu vào, các tần số nằm ngoài 2 dãi thông bị suy hao đáng kể.

File đính kèm:

  • docbai_tap_xu_ly_so_bai_1_thuc_hien_cac_bo_loc_fir_tren_kit_c67.doc