Báo cáo Thí nghiệm xử lý số tín hiệu - pdf 15

Download miễn phí Báo cáo Thí nghiệm xử lý số tín hiệu



Chương trình tín hiệu sóng VUÔNG: Trong ¼T đầu tiên ta chon là giá trị là 0000 h và 1/4T tiếp theo ta có thể chọn cực đại hay cực tiểu và lập lại đủ tần số lấy mẫu. Và cũng có thể chọn trong 1/2T đầu là giá trị cực đại hay cực tiểu đều được và 1/2T tiếp theo là ngược lại.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

BÀI BÁO CÁO THÍ NGHIỆM XỬ LÝ SỐ TÍN HIỆU
Họ và tên: Trần Công Quang
Mã số SV: 910473D Nhóm: 4. Lớp: 09DD2N.
Ngày làm TN: Thứ ba ngày 17, 24 tháng 3 năm 2009 – TN Ca: 4 Chiều.
BÀI 1:
TÌM HIỂU về KIT THÍ NGHIỆM TMS320C6713 và CÁCH CÀI ĐẶT DRIVER CHO KIT, TẠO MỚI 1 PROJECT
Phần1: TÌM HIỂU VỀ KIT TMS320C6713:
Mục Đích:
_ Biết cách cài đặt KIT thí nghiệm vào máy tính và test KIT thí nghiệm này từ máy tính và sử dụng.
_ Cho ta biết cách chạy chương trình thí nghiệm và tạo mới một project trong CCS.
_ Cho ta biết cách lập trình cho DSK 6713. Bằng cách viết chương trình bằng ngôn ngữ C.
_ Từ chương trình mẫu tạo tín hiệu sóng SIN tương tự từ KIT thí nghiệm ra LINE OUTPUT đến loa công suất nhỏ. Ta có thể thay đổi tín hiệu bởi xung tam giác, xung răng cưa, xung vuông.
PHẦN THÍ NGHIỆM:
Cài đặt KIT thí nghiệm vào máy tính:
Đặt KIT thí nghiệm ở vị trí an toàn. Ta kết nối Port USB từ KIT đến cổng USB của máy tính.
Và kết nối ngõ ra của tính hiệu từ KIT (LINE OUTPUT) đến loa có công suất nhỏ.
Kết nối nguồn cho KIT thí nghiệm qua Adapter của KIT.
=> Như hình sau:
Test KIT thí nghiệm từ máy tính:
Ta mở chương trình Test KIT với tên là 6713 DSK Diagnostics Utility: với biểu tượng là.
Tiếp theo hộp thoại 6713 DSK Diagnostics xuất hiện:
Khi chọn nút Start chương trình sẽ tự động kiểm tra phần cứng của KIT thí nghiệm. khi tất cả các đèn xanh trên hộp thoại sáng là KIT đã được chuẩn bị sẳn sàng cho phần thí nghiệm.
Chạy chương trình và các tạo mới một project:
Mở chương trình ứng dụng cho KIT thí nghiệm với tên là: 6713 DSK CCStudio v3.1, biểu tượng như sau:
Khi chương trình chạy thì xuất hiện với hình dạng ngắn gọn như sau:
Ta tạo mới Project với các bước như sau (ở đây ta không tạo mới mà ta mở chương trình mẩu với cấu trúc đơn giản nhất sau đó nếu cần thiết từ chương trình đơn giản này ta chỉnh sửa lại ): Vào Tab Project à Open… à Ổ đỉa C (đường dẫn đến file mẩu. Ta có đường dẫn này khi ta cài đặt chương trình) à CCStudio à Examples à dsk 6713 à bsl à tone.
Khi ta mở file tone. Thì ta có đoạn chương trình mẩu như sau:
Chương trình tín hiệu sóng sin:
Gọi thư viện chương trình cho KIT thí nghiệm
Khai báo biến toàn cục
#include "dsk6713.h"
#include "dsk6713_aic23.h"
#include "dsk6713_led.h"
#include "dsk6713_dip.h"
short loop = 0 ;
short gain = 10 ;
Int16 outbuffer[256] ; // Khai báo kiểu số nguyển cơ số 16, và 4 bít
Int16 out_buffer ;
const short BUFFERLENGTH = 256 ; //khai báo hằng.
int i = 0 ;
DSK6713_AIC23_Config config =
Gán 10 giá trị cho biến config
Gán 48 giá trị cho mảng sinetable
Gọi các hàm
{
0x0017,
0x0017,
0x00d8,
0x00d8,
0x0011,
0x0000,
0x0000,
0x0043,
0x0001,
0x0001
};
Int16 sinetable[48] =
{
0x0000 , 0x10b4 , 0x2120 , 0x30fb , 0x3fff , 0x4dea ,
0x5a81 , 0x658b , 0x6ed8 , 0x763f , 0x7ba1 , 0x7ee5 ,
0x7ffd , 0x7ee5 , 0x7ba1 , 0x76ef , 0x6ed8 , 0x658b ,
0x5a81 , 0x4dea , 0x3fff , 0x30fb , 0x2120 , 0x10b4 ,
0x0000 , 0xef4c , 0xdee0 , 0xcf06 , 0xc002 , 0xb216 ,
0xa57f , 0x9a75 , 0x9128 , 0x89c1 , 0x845f , 0x811b ,
0x8002 , 0x811b , 0x845f , 0x89c1 , 0x9128 , 0x9a76 ,
0xa57f , 0xb216 , 0xc002 , 0xcf06 , 0xdee0 , 0xef4c
};
Uint32 fs = DSK6713_AIC23_FREQ_48KHZ ; // gọi chương trình con trong thư viện.
void main ( ) // chương trình chính.
{ DSK6713_AIC23_CodecHandle hCodec ;
DSK6713_init ( ) ;
DSK6713_LED_init ( ) ;
DSK6713_DIP_init ( ) ;
hCodec = DSK6713_AIC23_openCodec ( 0 , &config ) ;
while ( 1 ) // Các cấu trúc vòng lặp và điều kiện, gọi hàm, gán biến.
{
if (DSK6713_DIP_get ( 0 ) == 0)
{
DSK6713_LED_on ( 0 ) ;
outbuffer [ i ] = sinetable [ loop ] ;
out_buffer = outbuffer [ i ] ;
while ( !DSK6713_AIC23_write (hCodec , sinetable [ loop ] - gain )) ;
while ( !DSK6713_AIC23_write (hCodec , sinetable [ loop ] - gain )) ;
i++;
if ( i==BUFFERLENGTH) i = 0;
if (++loop > 47) loop = 0 ;
}
else DSK6713_LED_off ( 0 ) ;
}
}
DSK6713 openCodec ( )
hCodec = DSK6713 AIC23 openCodec ( 0 , &c o n f i g ) ;
hCodec = DSK6713 AIC23 closeCodec ( 0 , &c o n f i g ) ;
Trên là chương trình mã hóa từ chương trình ra tín hiệu Sin với tấn số 1KHz, do chọn trên KIT là 16 bit ra code, và code được cấu hình để chấp nhận dử liệu là 48000 mẫu dử liệu stereo trên 1s và có bảng giá trị là 48 mẩu trong 1 chu kỳ. Tín hiệu được chuyển sang tín hiệu tương tự phát ra ngõ Line Output đến loa công suất nhỏ.
Khi ta viết chương trình xong, ta kết nối KIT với máy tính bằng phím nóng Alt + C (hay ta vào tab Debug hay biểu tương ở góc trái dưới của chương trình).
Tiếp theo vào Tab Option: Ta thiết lập các thông số cho KIT cung như giá trị, tần số cho chương trình thực hiện đúng.
Để Build và Load project ta nhấn phím F7 cũng có thể Project à Build hay biểu tượng.
Để chạy chương trinh nhấn phím F5 hay Debug à Run. Và ngưng là Shift + F5.
Kết quả hình ảnh dạng sóng sin thu được khi ta vào: View à Graph. Ta được hình sau:
Chương trình tín hiệu sóng TAM GIÁC: Từ chương trình sóng sin ở trên ta chỉ thay đổi 48 mẫu giá trị gán cho biến sinetable [48], thành 48 mẩu mới ứng với dạng sóng tam giác để hiểu rỏ chương trình ta có thể thay đổi tên biến sinetble [48] cho phù hợp. Với cách tính toán là như sau
Ta có 48 mẫu cho toàn chu kỳ T vậy ½ T là 24 mẫu nhưng do dạng sóng có tính chất đối xứng nên ta có thể tính trong ¼ T, thì có 12 mẫu đầu tiên. Để tính khoảng mẩu cho xung tam giác ta tính như sau:(Để dể tính toán ta đổi về số thập phân).
Ta tính cho nữa chu kỳ đầu (dương).
7ffd h = 7x163 + 15x162 + 15x161 + 13x160 = 32765.
0000 h = 0.Từ giá trị cực đại trên tính đến giá trị cực tiểu này là 12 khoảng nên chia cho 12.
Khoảng giá trị giữa cách mẫu:
Vì sóng dạng tam giác là hàm tuyến tính nên ta tính được 12 giá trị trong ¼ T là như sau:
STT
1
2
3
4
5
6
7
8
9
10
11
12
Số thập phân
2730
5460
8190
10920
13650
16380
19110
21840
24570
27300
30030
32760
Số Hex
0aaa h
1554 h
1ffe h
2aa8 h
3552 h
3ffc h
4aa6 h
5550 h
5ffa h
6aa4 h
754e h
7ffd h
Giá trị mẫu 12 là 32760 32765 =7ffd h.
¼ T tiếp theo ta lấy đối xứng qua từ giá thị cực đại.
Ta tính cho nữa chu kỳ sau (âm).
8002 h = 8x163 + 0x162 + 0x161 + 2x160 = 32770. Là giá trị cực tiểu nhỏ nhất
ef4c h = 14x163 + 15x162 + 4x161 +12x160 = 61260. Từ giá trị cực tiểu tính đến giá trị này là 11 khoảng nên chia cho 11 khoảng.
Khoảng giá trị giữa cách mẫu:
Vì sóng dạng tam giác là hàm tuyến tính nên ta tính được 12 giá trị trong ¼ T là lấy giá trị cực tiểu cấp số cộng với số gia là 2730 được như sau:
STT
1
2
3
4
5
6
7
8
9
10
11
12
Số thập phân
32770
35500
38230
40960
43690
46420
49150
51880
54610
57340
60070
62800
Số Hex
8002 h
8aac h
9556 h
a000 h
aaaa h
b554 h
bffe h
caa8 h
d552 h
dffc h
eaa6 h
f550 h
Giá trị mẫu 12 là 62800 ta lấy giá trị này là 0 = 0000 h.
¼ T tiếp theo ta lấy đối xứng qua từ giá thị cực đại.
Đoạn chương chình viết lại cho sóng Tam Giác là:
Gọi thư viện chương trình cho KIT thí nghiệm
Khai báo biến toàn cục
#include "dsk6713.h"
#include "dsk6713_aic23.h"
#include "dsk6713_led.h"
#include "dsk6713_dip.h"
short loop = 0 ;
short gain = 10 ;
Int16 outbuffer[256] ; // Khai báo kiểu số nguyển cơ số 16, và 4 bít
Int16 out_buffer ;
const short BUFFERLENGTH = 256 ; //khai báo hằng.
int i = 0 ;
DSK6713_AIC23_Config config =
{
0x0017,
0x0017,
0x00d8,
Gán 10 giá trị cho biến config
0x00d8,
0x0011,
0x0000,
0x0000,
0x0043,
0x0001,
0x0001
};
Int16 tamgiactable[48] =
{
0x0000 , 0x0aaa , 0x1554 , 0x1ffe , 0x2aa8 , 0x3552 ,
Gán 48 giá trị cho biến sinetable
0x3ffc , 0x4aa6 , 0x5550 , 0x5ffa , 0x6aa4 , ...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status