Viết chương trình thực hiện các biến đổi DTFT, DFTFFT dùng TMS320C5515

19 1.2K 6
Viết chương trình thực hiện các biến đổi DTFT, DFTFFT dùng TMS320C5515

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Viết chương trình thực hiện các biến đổi DTFT, DFTFFT dùng TMS320C5515

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ P F I E V BÁO CÁO XỬ LÝ CÁC TÍN HIỆU TƯƠNG TỰ VÀ SỐ Đề tài: Viết chương trình thực biến đổi DTFT, DFT/FFT dùng TMS320C5515 GVBM: PGS.TS Lê Tiến Thường Lớp : VP2008 Thực hiện: Hoàng Gia Minh 20801248 Vũ Hải Quân 50801722 Trần Hà Minh Quyên 90801746 Tp.Hồ Chí Minh, 6/2012 Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 MỤC LỤC MỤC ĐÍCH BÀI THÍ NGHIỆM I II GIỚI THIỆU III CÔNG CỤ YÊU CẦU CHO BÀI THÍ NGHIỆM A Phần mềm phần cứng B Giới thiệu KIT TMS320C5515 eZdsp™ USB Stick Development Tool IV TIẾN HÀNH THÍ NGHIỆM A Phần DTFT Thực biến đổi DTFT MATLAB Chương trình viết ngôn ngữ C cho KIT TMS320C5515 B Phần FFT Mô hình lý thuyết Mô hình thí nghiệm Phần thực hành V KẾT LUẬN 18 VI TÀI LIỆU THAM KHẢO 18 Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 I MỤC ĐÍCH BÀI THÍ NGHIỆM  Ôn tập kiến thức phép biến đổi DTFT, DFT FFT  Cung cấp nhìn thực tế khảo sát tín hiệu miền tần số qua việc thực phép biến đổi phần cứng kiểm nghiệm so với lý thuyết II GIỚI THIỆU Việc phân tích phổ tín hiệu lĩnh vực quan trọng xử lý số tín hiệu Do đó, thí nghiệm đề cập đến phép biến đổi tín hiệu rời rạc để khảo sát miền tần số gồm Discrete − Time Fourier Transform (DTFT), Discrete Fourier Transform (DFT) Fast Fourier Transform (FFT) thực phần cứng TMS320C5515 Texas Instrument (TI) Mặc dù, DTFT sở lý thuyết toán học DFT sử dụng thực tế, xem xét chúng nhằm mục đích Thứ nhất, DTFT DFT sở cho FFT Thứ hai, thực FFT dễ dàng theo dõi trình tính toán mạch III CÔNG CỤ YÊU CẦU CHO BÀI THÍ NGHIỆM A Phần mềm phần cứng Các phần cứng phần mềm cần thiết cho thí nghiệm bao gồm  Bộ TMS320C5515 eZdsp™ USB Stick Development Tool TI sản xuất  Phần mềm giao tiếp PC với KIT Code Composer Studio™ version 4.0  Phần mềm tính toán MATLAB  Máy PC cấu hình Intel® Pentium® hay tương đương trở lên Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 B Giới thiệu KIT TMS320C5515 eZdsp™ USB Stick Development Tool Hình Bộ Kit TMs320C5515 Các thành phần KIT  C55x CPU nhớ liên quan  Phần cứng tăng tốc FFT  Bốn điều khiển DMA giao diện nhớ bên  Module quản lý điện  Các thiết bị ngoại vi I/O bao gồm I2S, I2C, SPI, UART, Timers, EMIF, 10bit SAR ADC, điều khiển LCD, USB 2.0 Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình Sơ đồ khối chức kit IV TIẾN HÀNH THÍ NGHIỆM Tạo tín hiệu ngõ vào, tín hiệu dùng để thực suốt thí nghiệm ( ( ) ( ) ) ( ) ( ) Thực lấy mẫu tín hiệu x1, x2 với tần số lấy mẫu fS = 1000 Hz lấy 128 mẫu đầu tiên, MATLAB có điều dòng lệnh sau: (Chúng ta mô hình hóa nhiễu tín hiệu thực tế hàm rand MATLAB cộng vào tín hiệu gốc) fs=1000; t=0:1/fs:(128-1)/fs; x1 = 3*sin(300*pi*t)+5*sin(600*pi*t)+1*rand(size(t)); x2 = 2*sin(600*pi*t)+5*sin(400*pi*t)+4*sin(200*pi*t)+1*rand(size(t)); subplot(1,2,1); stem(x1); ylabel('x1(k)'); Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 xlabel('k'); subplot(1,2,2); stem(x1); ylabel('x2(k)'); xlabel('k'); Hình Mô hình hoá tín hiệu x1 x2 A Phần DTFT Thực biến đổi DTFT MATLAB clear all; fs=1000; n = 0:127; x1 = 3*sin(300*pi*n/fs)+5*sin(600*pi*n/fs)+1*rand(size(n)); x2 = 2*sin(600*pi*n/fs)+5*sin(400*pi*n/fs)+4*sin(200*pi*n/fs)+1*rand(size(n)); k = -127:127; w = (pi/127)*k; % frequency between -pi and +pi X1 = x1*(exp(-1i*pi/127)).^(n'*k); % DTFT of x1 % X2 = x2*(exp(-1i*pi/127)).^(n'*k); % DTFT of x2 % Graphical verification subplot(2,2,1); plot(w/pi,abs(X1)); grid; xlabel('frequency in pi unit'); ylabel('|X1|'); title('Magnitude of X1'); subplot(2,2,2); plot(w/pi,angle(X1)); grid; xlabel('frequency in pi unit'); ylabel('radiants/pi'); title('Angle of X1'); subplot(2,2,3); plot(w/pi,abs(X2)); grid; xlabel('frequency in pi unit'); ylabel('|X1|'); title('Magnitude of X2'); Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 subplot(2,2,4); plot(w/pi,angle(X2)); grid; xlabel('frequency in pi unit'); ylabel('radiants/pi'); title('Angle of X2'); Hình Biên độ góc pha tín hiệu (có xét nhiễu) Nhận thấy mô hình hóa nhiễu tín hiệu thực tế làm rand MATLAB cộng vào tín hiệu gốc, phổ thu xuất búp tần số DC Đây điều không mong muốn tổng quát, nên xét tới xuất nhiễu mà cụ thể thông qua xuất hàm rand Đối với trường hợp lí tưởng tín hiệu hoàn toàn không bị nhiễu cộng vào, kết sau Tuy nhiên, điều khó tồn thực tế Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình Biên độ góc pha tín hiệu (không nhiễu) Chương trình viết ngôn ngữ C cho KIT TMS320C5515 /* dtft.c - DTFT of length-L signal at a single frequency w */ #include /* complex arithmetic */ complex dtft(L, x, w) w); */ double *x, w; dimensional */ int L; { complex z, X; int n; /* usage: X=dtft(L, x, /* \(x\) is \(L\)- z = cexp(cmplx(0, -w)); /* set \(z=e\sp{-j\om}\) X = cmplx(0,0); /* initialize \(X=0\) */ */ for (n=L-1; n>=0; n ) X = cadd(cmplx(x[n], 0), cmul(z, X)); return X; } /* dtftr.c - N DTFT values over frequency range [wa, wb) */ #include /* complex arithmetic */ Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 complex dtft(); */ /* DTFT at one frequency void dtftr(L, x, N, X, wa, wb) X, wa, wb); */ double *x, wa, wb; dimensional real */ complex *X; dimensional complex */ int L, N; { int k; double dw = (wb-wa)/N; /* usage: dtftr(L, x, N, /* \(x\) is \(L\)/* \(X\) is \(N\)- /* frequency bin width */ for (k=0; k 8, fp); // fwrite(p_buffer_data, 1, pixel, fp); } fclose(fp) ; return ; } Kết thực build debug thành công phần mềm Code Composer Studio kết nối với phần cứng KIT TMS320C5515 Giao diện phần mềm CCS ghi lại hình sau 13 Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình 11 Giao diện chương trình CCS Hình 12 Giao diện thẻ Debug Hình 13 Kết tính toán FFT KIT ghi lại file FFT1.bin d) Hiển thị kết sau chạy KIT MATLAB Đoạn chương trình sau giúp đọc file FFT1.bin sau chạy thuật toán FFT KIT hiển thị phổ tần số MATLAB id = fopen('D:\Project_TMS320C5515\workspace\FFT\FFT1.bin','rb'); fft_board = fread(id,256,'int16'); fclose(id); fft_board = fft_board'; Nhóm – VP2008 | Xử lý tín hiệu tương tự số 14 Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 for k = 0:127 new(1+k) = fft_board(1+2*k)+1i*fft_board(2+2*k); end abs_new = abs(new) ; stem(f,abs_new) xlabel('Tan so (Hz)'); ylabel('Bien cua tin hieu'); title('FFT su dung KIT TMS320C5515'); Hình 14 Phổ tần số tín hiệu sau phép biến đổi FFT KIT TMS320C5515 Phổ tín hiệu vẽ lại dạng đồ thị nối điểm 15 Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình 15 Đồ thị nối điểm phổ tần số tín hiệu Đến bước này, thực xong nhánh sơ đồ thí nghiệm Tiếp theo so sánh kết nhận xét e) So sánh nhận xét kết 16 Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình 16 So sánh phổ tần số Hình 17 So sánh đồ thị nối điểm Từ đồ thị, dễ dàng nhận thấy giải thuật FFT thực MATLAB KIT TMS320C5515 cho kết gần Các tần số cực đại, biên độ, độ suy hao, hình dạng búp phổ nhau, búp phổ phụ khác biệt thí nghiệm tính toán MATLAB KIT → Bộ KIT TMS320C5515 TI sản xuất hoạt động tin cậy cho kết với độ xác cao Nhóm – VP2008 | Xử lý tín hiệu tương tự số 17 Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 f) Kiểm chứng lại thí nghiệm với tín hiệu x2 fs = 1000; t = 0:1/fs:(128-1)/fs; x2 = 2*sin(600*pi*t)+4*sin(200*pi*t)+5*sin(400*pi*t)+1*rand(size(t)); Thực tương tự bước trên, thu kết sau Hình 18 Phép biến đổi FFT x2 MATLAB KIT TMS320C5515 g) V Nhận xét kết thu Một lần lại thu kết từ KIT tương tự kết tính toán lí thuyết từ MATLAB KẾT LUẬN Các phép biến đổi DTFT, DFT/FFT kiến thức lĩnh vực xử lý tín hiệu Thông qua thí nghiệm, sinh viên tiếp cận với phép biến đổi phần cứng kiểm nghiệm lại kết phép biến đổi KIT TMS320C5515 Từ đó, sinh viên có nhìn thực tế phương pháp VI TÀI LIỆU THAM KHẢO [1] Sophocles J Orfanidis, Introduction to Signal Processing, 2010 [2] Vinay K Ingle and John G Proakis, Digital Signal Processing using MATLAB v4, 1997, PWS Publishing Company [3] TMS320C55x DSP Library Programmer’s Reference, Texas Instrument [4] Sen M Kuo and Bob H Lee, Real-Time Digital Signal Processing – Implementation, Applications, and Experiments with the TMS320C55X, John Wiley & Son Ltd, 2001 [5] J G Proakis and D G Manolakis, Digital Signal Processing − Principles, Algorithms, and Apllications, 3rd Ed., Englewood Cliffs, NJ: Prentice-Hall, 1996 Nhóm – VP2008 | Xử lý tín hiệu tương tự số 18 [...].. .Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 Hình 9 Phổ tần số tín hiệu sau phép biến đổi FFT trên MATLAB Chúng ta cũng có thể vẽ lại phổ tần số của tín hiệu dưới dạng đồ thị nối điểm như hình sau 10 Hình 8 Đồ thị nối điểm của phổ tần số tín hiệu Nhóm 8 – VP2008 | Xử lý tín hiệu tương tự và số Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 Đến bước này, chúng ta đã thực. .. FFT1.bin \n ") ; ExportFile( 2*NX, (Uint16*)px ) ; printf(" Done \n ") ; return 0 ; } Chương trình chính main.c thực hiện việc gọi hàm cfft để thực hiện giải thuật FFT từ chương trình con CFFT.C Việc đọc dữ liệu đưa vào KIT, lấy dữ liệu từ KIT và ghi kết quả tính toán từ KIT vào file FFT1.bin được thực hiện nhờ vào chương trình transceiver_file.c File transceiver_file.c #include #include "usbstk5515.h"... cua tin hieu'); title('FFT su dung KIT TMS320C5515' ); Hình 14 Phổ tần số tín hiệu sau phép biến đổi FFT trên KIT TMS320C5515 Phổ tín hiệu được vẽ lại dưới dạng đồ thị nối điểm 15 Nhóm 8 – VP2008 | Xử lý tín hiệu tương tự và số Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 Hình 15 Đồ thị nối điểm của phổ tần số tín hiệu Đến bước này, chúng ta đã thực hiện xong nhánh dưới của sơ đồ thí nghiệm... lý tín hiệu tương tự và số Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 Hình 16 So sánh phổ tần số Hình 17 So sánh đồ thị nối điểm Từ đồ thị, chúng ta có thể dễ dàng nhận thấy giải thuật FFT thực hiện bằng MATLAB và bằng bộ KIT TMS320C5515 cho kết quả gần như nhau Các tần số cực đại, biên độ, độ suy hao, hình dạng của các búp phổ chính như nhau, ngay cả các búp phổ phụ cũng khác biệt... thực hiện xong nhánh trên của sơ đồ thí nghiệm ở hình 6 b) Tạo file ngõ vào cho bộ KIT Đoạn chương trình sau dùng để tạo file ngõ vào cho bộ KIT do các mẫu của tín hiệu khảo sát được tạo ra bằng chương trình MATLAB nên các mẫu này sẽ được lưu dưới dạng biến ma trận 1x128 Để KIT vốn giao tiếp với máy tính qua phần mềm CCS làm việc với ngôn ngữ C có thể đọc được các giá trị này, chúng ta cần chuyển các. .. phần cứng KIT TMS320C5515 Giao diện phần mềm CCS được ghi lại như hình sau 13 Nhóm 8 – VP2008 | Xử lý tín hiệu tương tự và số Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 Hình 11 Giao diện chính chương trình CCS Hình 12 Giao diện thẻ Debug Hình 13 Kết quả tính toán FFT trên KIT được ghi lại trong file FFT1.bin d) Hiển thị kết quả sau khi chạy trên KIT trên MATLAB Đoạn chương trình sau... trên bộ KIT → Bộ KIT TMS320C5515 do TI sản xuất hoạt động tin cậy cho kết quả với độ chính xác cao Nhóm 8 – VP2008 | Xử lý tín hiệu tương tự và số 17 Thực hiện phép biến đổi DTFT, DFT/FFT trên bộ kit TMS320C5515 f) Kiểm chứng lại thí nghiệm với tín hiệu x2 fs = 1000; t = 0:1/fs:(128-1)/fs; x2 = 2*sin(600*pi*t)+4*sin(200*pi*t)+5*sin(400*pi*t)+1*rand(size(t)); Thực hiện tương tự các bước như trên, chúng... Phép biến đổi FFT của x2 trên MATLAB và trên KIT TMS320C5515 g) V Nhận xét kết quả thu được Một lần nữa chúng ta lại thu được kết quả từ bộ KIT tương tự như kết quả tính toán lí thuyết từ MATLAB KẾT LUẬN Các phép biến đổi DTFT, DFT/FFT là những kiến thức căn bản trong lĩnh vực xử lý tín hiệu Thông qua bài thí nghiệm, sinh viên được tiếp cận với phép biến đổi trên phần cứng và kiểm nghiệm lại các kết... thêm cho chương trình như sau Lưu ý phải tạo tất cả đường dẫn đến các thư viện này bằng cách nhấp phải chuột vào "Active Project → Properties → C/C++ Build → Tool Settings → C5500 Compiler → Include Options → Add dir to #include Search Path ( include_path, -I)" 11 Hình 10 Giao diện thẻ C/C++ Project sau khi thêm thư viện Nhóm 8 – VP2008 | Xử lý tín hiệu tương tự và số Thực hiện phép biến đổi DTFT, DFT/FFT... fopen('D:\Project _TMS320C5515\ workspace\FFT\samples1.bin','wb'); fwrite(id, samples1,'int16'); % important: int16 fclose(id); c) 2.3 Chạy chương trình trên CCS và kết nối với KIT TMS320C5515 để cho kết quả Thư viện DSPLib đã cung cấp hàm toán để tính FFT Chúng ta sẽ sử dụng chúng để tính toán phổ tín hiệu Đầu tiên, chúng ta phải thêm thư viện bao gồm các thư viện có sẵn trong CCS, các thư viện ngoài thêm vào và các ... khó tồn thực tế Nhóm – VP2008 | Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 Hình Biên độ góc pha tín hiệu (không nhiễu) Chương trình viết ngôn ngữ C cho KIT TMS320C5515. .. Xử lý tín hiệu tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 B Giới thiệu KIT TMS320C5515 eZdsp™ USB Stick Development Tool Hình Bộ Kit TMs320C5515 Các thành phần KIT  C55x CPU... tương tự số Thực phép biến đổi DTFT, DFT/FFT kit TMS320C5515 xlabel('k'); subplot(1,2,2); stem(x1); ylabel('x2(k)'); xlabel('k'); Hình Mô hình hoá tín hiệu x1 x2 A Phần DTFT Thực biến đổi DTFT MATLAB

Ngày đăng: 22/11/2015, 16:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan