Báo cáo bài 2 TN Xử Lý Số Tín Hiệu online Đại học Bách Khoa Thành phố Hồ chí Minh (HCMUT) Hiểu rõ giải thuật thực hiện FFT.Hệ thống lại các lý thuyết đã họcBiến đổi Fourier nhanh (FFT) là một thuật toán cực kì hiệu quả để chuyển đổi một tín hiệu rời rạc miền thời gian sang miền tần số dựa trên biến đổi Fourier rời rạc (DFT).
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN - ĐIỆN TỬ
BÁO CÁO THÍ NGHIỆM
BỘ MÔN: XỬ LÝ SỐ TÍN HIỆU
Nhóm: L10 GIẢNG VIÊN HƯỚNG DẪN: HUỲNH VĂN PHẬN
Năm học: 2020 – 2021
Trang 21 Tạo một mẫu tín hiệu sine có các thành phần tần số 200 Hz và 3000 Hz trong khoảng thời
gian t = 0 đến t = 0.1 s, với tần số lấy mẫu Fs = 8 kHz từ chương trình Matlab và lưu vào biến giá trị xn:
a Viết chương trình thực hiện tìm biến đổi DFT của tín hiệu trên và vẽ đồ thị phổ biên độ miền tần số
b Viết chương trình thực hiện tìm biến đổi FFT-128 điểm của tín hiệu trên và vẽ đồ thị phổ biên độ miền tần số
c Viết chương trình thực hiện tìm biến đổi FFT-256 điểm của tín hiệu trên và vẽ đồ thị phổ biên độ miền tần số
d Nhận xét và giải thích các đồ thị trên
clc;
t = 0 : Ts : T_sim-Ts ;
xn = sin(2*pi*200*t) + sin(2*pi*3000*t);
%DFT
Xk_magnitude = abs(Xk);
subplot(1,3,1);
hold on;
%FFT-128
Xk_magnitude = abs(Xk);
t = 0 : L-1;
subplot(1,3,2);
hold on;
%FFT-256
L = 256;
t = 0 : L-1;
Trang 3Xk_magnitude = abs(Xk);
subplot(1,3,3);
hold on;
Kết quả lần lượt câu a, b, c:
d Nhận xét và giải thích các đồ thị trên
Hàm semilogy vẽ theo thang dB cho thấy đồ thị rõ hơn
Đồ thị ở DFT thể hiện đúng phổ của tín hiệu x(n) Thuật toán DFT của N điểm cho ra kết quả chính xác nhất tuy nhiên cho kết quả tính toán chậm hơn so với FFT
So sánh đồ thị FFT-128 điểm và FFT -256 điểm nhận thấy phổ tín hiệu của thành phần sóng sin tần số 200Hz bị suy giảm biên độ Trong đó, FFT-256 điểm có sự suy giảm nhiều hơn FFT- 128 điểm, phổ thành phần sóng sin tần số 3000Hz ở cả hai trường hợp
Trang 4gần như không suy giảm.
Ở cả ba câu đều dùng hàm fft để thực hiện tính nhanh DFT khi thực hiện FFT với cùng
độ dài với độ dài tín hiệu thể hiện đúng đặc tính sóng sin của tín hiệu, trường hợp gia tăng số điểm FFT sẽ làm suy giảm phổ biên độ ở tần số thấp
2 Tạo một mẫu tín hiệu âm thanh có định dạng wav từ chương trình Matlab hoặc các ứng
dụng khác và lưu vào biến giá trị xn:
a Viết chương trình thực hiện tìm biến đổi STFT của tín hiệu âm thanh trên với cửa sổ Gaussian độ dài 256, độ dài chồng lấn 30 Sau đó vẽ đồ thị phổ biên độ miền tần số của biến đổi STFT trên
Tạo file m4a và chuyển qua wav với tên file là bute.wav, đưa file này vào chung thư mục với chương trình Matlab
clear;
close all;
N=length(xn);
xn=xn(:,1);
figure(1);
t=0:1/Fs:(N-1)/Fs;
plot(t,xn);
xlabel ('n');
figure(2);
; s_man=abs(s);
semilogy(f,s_man);
title('Do thi pho bien do bien doi STFT cua tin hieu am thanh');
Kết quả:
Trang 5b Nhận xét và giải thích đồ thị trên.
Phép biến đổi Fourier thời gian ngắn (STFT) được sử dụng để phân tích thành phần tần
số của tín hiệu không tĩnh thay đổi như thế nào theo thời gian
Trang 6STFT của tín hiệu được tính bằng cách trượt cửa sổ phân tích có độ dài M lên tín hiệu và tính toán biến đổi DFT của dữ liệu đã trượt được Cửa sổ nhảy qua tín hiệu ban đầu tại các khoảng thời gian của R mẫu Hầu hết các hàm cửa sổ giảm dần ở các cạnh để tránh hiện tượng phổ vành Nếu độ dài chồng chéo là L, việc thêm chồng chéo các phân đoạn
có cửa sổ sẽ bù cho sự suy giảm tín hiệu ở các cạnh cửa sổ DFT của mỗi đoạn cửa sổ được thêm vào một ma trận chứa biên độ và pha cho mỗi điểm theo thời gian và tần số Dùng hàm [s,f] = stft( _) trong Matlab để thực hiện mô phỏng với M=256, L=30