1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo 2 TN XLSTH

7 6 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 581,49 KB

Nội dung

5.1 THỰC HIỆN FFT-N ĐIỂM Tạo mẫu tín hiệu sine có thành phần tần số 200 Hz 3000 Hz khoảng thời gian t = đến t = 0.1 s, với tần số lấy mẫu Fs = kHz từ chương trình Matlab lưu vào biến giá trị xn: a Viết chương trình thực tìm biến đổi DFT tín hiệu vẽ đồ thị phổ biên độ miền tần số - Code Matlab: Fs = 8000; Ts = 1/Fs; T = 0.1 t = 0:Ts:T - Ts; xn = sin(2*pi*200*t) + sin(2*pi*3000*t); L = length(xn); xk = fft(xn,L); xk_mag = abs(xk); xk_phase = angle(xk); % Signal plot subplot(1,3,1); plot(t,xn); xlabel('Time (sec)'); ylabel('Amplitude'); title('x(n)'); % Spectrum plot subplot(1,3,2); stem((0:L/2-1)*Fs/L,xk_mag(1:L/2)/L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); - Kết mơ phỏng: b Viết chương trình thực tìm biến đổi FFT-128 điểm tín hiệu vẽ đồ thị phổ biên độ miền tần số - Code Matlab: Fs = 8000; Ts = 1/Fs; T = 0.1 t = 0:Ts:T - Ts; xn = sin(2*pi*200*t) + sin(2*pi*3000*t); L = 128; xk = fft(xn,L); xk_mag = abs(xk); xk_phase = angle(xk); % Signal plot subplot(1,3,1); plot(t,xn); xlabel('Time (sec)'); ylabel('Amplitude'); title('x(n)'); % Spectrum plot subplot(1,3,2); stem((0:L/2-1)*Fs/L,xk_mag(1:L/2)/L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); subplot(1,3,3); stem((0:L/2-1)*Fs/L,xk_phase(1:L/2)); xlabel('Frequency (Hz)'); ylabel('Phase'); title('Phase'); - Kết mơ phỏng: c Viết chương trình thực tìm biến đổi FFT-256 điểm tín hiệu vẽ đồ thị phổ biên độ miền tần số - Code Matlab: Fs = 8000; Ts = 1/Fs; T = 0.1 t = 0:Ts:T - Ts; xn = sin(2*pi*200*t) + sin(2*pi*3000*t); L = 256; xk = fft(xn,L); xk_mag = abs(xk); xk_phase = angle(xk); % Signal plot subplot(1,3,1); plot(t,xn); xlabel('Time (sec)'); ylabel('Amplitude'); title('x(n)'); % Spectrum plot subplot(1,3,2); stem((0:L/2-1)*Fs/L,xk_mag(1:L/2)/L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); subplot(1,3,3); stem((0:L/2-1)*Fs/L,xk_phase(1:L/2)); xlabel('Frequency (Hz)'); ylabel('Phase'); title('Phase'); - Kết mô phỏng: 5.2 THỰC HIỆN STFT Tạo mẫu tín hiệu âm có định dạng wav từ chương trình Matlab ứng dụng khác lưu vào biến giá trị xn: a Viết chương trình thực tìm biến đổi STFT tín hiệu âm 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ố biến đổi STFT - Code Matlab: clc; clear; [xn,Fs] = audioread('Nguyễn-Trần-Tú-Anh.wav'); % ham stft [S,F,T] = stft(xn,'Window', gausswin(256),'OverlapLength',30); waterfall(F,T,abs(S(:,:,1))'); figure(1); xlabel('k'); ylabel('Frequency (Hz)'); zlabel('Amplitude'); title('STFT'); % ham dft L=length(xn); t=0:Fs/L:(L-1)*Fs/L; xk = fft(xn,L); xk_mag = abs(xk); figure(2); subplot(1,3,2); stem((0:L/2-1)*Fs/L,xk_mag(1:L/2)/L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); -Kết mơ phỏng: b Nhận xét giải thích đồ thị Cửa sổ Gauss có độ dài L=256 dùng cho biến đổi STFT với khoảng k gần mô phổ biên độ tín hiệu âm ban đầu xác so với biến đổi DFT ... plot subplot(1,3 ,2) ; stem((0:L /2- 1)*Fs/L,xk_mag(1:L /2) /L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); subplot(1,3,3); stem((0:L /2- 1)*Fs/L,xk_phase(1:L /2) ); xlabel('Frequency... tìm biến đổi FFT -25 6 điểm tín hiệu vẽ đồ thị phổ biên độ miền tần số - Code Matlab: Fs = 8000; Ts = 1/Fs; T = 0.1 t = 0:Ts:T - Ts; xn = sin (2* pi *20 0*t) + sin (2* pi*3000*t); L = 25 6; xk = fft(xn,L);... plot subplot(1,3 ,2) ; stem((0:L /2- 1)*Fs/L,xk_mag(1:L /2) /L); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('Magnitude'); subplot(1,3,3); stem((0:L /2- 1)*Fs/L,xk_phase(1:L /2) ); xlabel('Frequency

Ngày đăng: 28/08/2022, 22:37

w