Tải bản đầy đủ (.doc) (8 trang)

BÀI THỰC HÀNH XỬ LÝ TÍN HIỆU SỐ VỚI MATLAB – BÀI 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (322.19 KB, 8 trang )

HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA VÔ TUYẾN ĐIỆN TỬ

BÀI THỰC HÀNH XỬ LÝ TÍN HIỆU SỐ VỚI
MATLAB – BÀI 2

HÀ NỘI - 2013


BÀI THỰC HÀNH 2:
Ứng dụng phép biến đổi Fourier rời rạc (DFT) phân tích phổ cho tín hiệu rời rạc có
chiều dài hữu hạn:
Hàm phân tích phổ fft.
Cú pháp thường dùng: X=fft(x).
Với x là tín hiệu rời rạc có chiều dài N, X là DFT của x, số mẫu của X cũng bằng N.
Để lấy phổ biên độ, sử dụng hàm abs(X); phổ pha- dùng hàm angle(X).

Bài 1:
Mỗi học viên lấy ngày, tháng, năm sinh của mình để tạo ra dãy rời rạc theo qui tắc
sau:
Năm – tháng - ngày sinh. Sau đó sử dụng DFT phân tích phổ cho dãy này. Vẽ các đồ
thị và ghi chú đầy đủ theo hướng dẫn, bao gồm cả tên học viên.
Tên học viên là: ĐẶNG SONG TOÀN, sinh năm 1980, tháng 05, ngày 10 thì dãy rời
rạc là x= [1 9 8 0 0 5 1 0]
Bài làm :
Nhập ngày tháng năm sinh vào 1 dãy x theo yêu cầu ta có:
>>x=[1 9 8 0 0 5 1 0] ;
>> X=fft(x)
X=
Columns 1 through 5



24.0000

3.8284 - 9.8284i -8.0000 -14.0000i -1.8284 + 4.1716i -4.0000

Columns 6 through 8
-1.8284 - 4.1716i -8.0000 +14.0000i 3.8284 + 9.8284i
>>pho_bien_do=abs(X)
pho_bien_do =
24.0000 10.5477 16.1245

4.5547

4.0000

4.5547 16.1245 10.5477

>>pho_pha=angle(X)
pho_pha =
0 -1.1994 -2.0899

1.9839

3.1416 -1.9839

2.0899

* Nhận xét : tín hiệu là thực nên phổ biên độ là đối xứng.
Sử dụng hàm stem để vẽ đồ thị phổ biên độ và phổ pha :
>>stem(pho_bien_do)

>>title('pho bien do,DANG SONG TOAN, 10/05/1980');

Hình 13: Phổ biên độ

1.1994


>>stem(pho_pha)
>> title('pho pha,DANG SONG TOAN, 10/05/1980');

Hình 14 Phổ pha.
Khi thực hiện DFT, ta nhận được các mẫu phổ cách nhau một quãng bằng 2π / N
(tính theo tần số chuẩn hóa). Số thứ tự của các mẫu phổ bắt đầu từ 07. Như vậy ta
cần tạo ra lưới tần số (tương tướng với số đo của trục hoành) như sau: Trên matlab ta
thực hiện các lệnh sau:
>>f=2*pi/8*[0:1:7]
f=
0

0.7854

1.5708

2.3562

3.1416

3.9270

4.7124


>> stem(f,pho_bien_do)
>> title('pho bien do,DANG SONG TOAN, 10/05/1980');
>>xlabel('tan so chuan hoa f');

5.4978


Hình 15: Phổ biên độ với trục hoành là tần số chuẩn hóa
>> stem(f,pho_pha)
>> title('pho pha,DANG SONG TOAN, 10/05/1980');
>>xlabel('tan so chuan hoa f');


Hình 16: Phổ pha với trục hoành là tần số chuẩn hóa

Bài 2 :
- Hãy nêu rõ tác dụng và ý nghĩa của các dòng lệnh phân tích phổ cho tín hiệu thoại.
Vì sao lại chỉ cần lấy một nửa số mẫu?
- Mỗi học viên tự tạo một file .wav , sau đó thực hiện phân tích phổ cho file này. Vẽ
đồ thị phổ biên độ theo hướng dẫn. Nội dung file: “ Tên tôi là…….. . Lớp…….”.
Bài làm :
MatLab làm việc với file âm thanh có phần mở rộng là “wav”, mã hóa kiểu PCM
(Pulse Code Modulation). Để thực hành phần này, file âm thanh, chẳng hạn
example.wav, cần phải được copy vào thư mục hiện hành. Thư mục hiện hành thông
thường là thư mục WORK, hoặc thư mục MATLAB…(copy file vào thư mục Matlab
ở Document). Lý do khi phân tích phổ ta chỉ cần lấy một nửa số mẫu là: âm thanh
( tiếng nói ) là tín hiệu thực nên phổ của chúng có tính đối xứng, do đó khi thực hiện
phân tích phổ ta chỉ cần lấy một nửa số mẫu là được.



Chẳng hạn thư mục hiện hành là MATLAB có chứa file âm thanh song toan.wav , file
này mang nội dung: “Tên tôi là ĐẶNG SONG TOÀN lớp ra đa 1 - Bài tập xử lý tín
hiệu số”.
Sử dụng lệnh wavread để đọc file:
>> [s,fs]= wavread(‘song toan.wav’); hoặc >> [s,fs]= wavread(‘song toan’);
(Lưu ý đặt dấu ; đằng sau lệnh!)
Sau khi thực hiện lệnh này, biến s chứa dữ liệu âm thanh, biến fs chứa tần số rời rạc
hóa. Để xem tần số rời rạc hóa, ta nhập vào:
>>fs
Fs=8000
Như vậy file âm thanh song toan.wav có tần số rời rạc hóa bằng 8Khz.
Bây giờ thực hiện phân tích phổ cho tín hiệu s:
Trên cửa sổ lệnh Matlab ta gõ các lệnh sau:
>> N=length(s);
>> M=round(N/2);
>> S=fft(s);
>> f=fs*(1:M)/N; % Lấy ra lưới tần số vật lý ( đo bằng Hz)
>> PhoBD=abs(S);
>> Pho=PhoBD(1:M);% Chỉ lấy một nửa số mẫu.
>> plot(f,Pho)
>> title('pho cua file am thanh Song toan.wav,DANG SONG TOAN M-T-A');
Ta nhận được : Đồ thị phổ âm thanh như sau:


Hình 17: Phổ pha âm than
* Nhận xét: Từ hình trên ta nhận thấy phổ của file âm thanh song toan.wav tập
trung chủ yếu ở khu vực 500-1000 Hz, tần số cực đại của phổ khoảng 4000 Hz.




×