You are on page 1of 18

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÁO CÁO BÀI TẬP LỚN


ĐẠI SỐ TUYẾN TÍNH

Đề tài 19 :
Giới thiệu khai triển Fourier rời rạc & ứng dụng của khai
triển Fourier để khử nhiễu âm thanh.

Giảng viên hướng dẫn : THS. ĐẶNG VĂN VINH


Danh sách thành viên
Hồ Hữu Hậu
Nguyễn Thị Ánh Vy
Phạm Tấn Huy
Nguyễn Vĩnh Hùng
Phan Minh Thy
Nguyễn Tiến Hưng
Vương Lý Hữu Thạnh

1|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
Mục lục
Lời nói đầu
I. Lý Thuyết
1. Giới thiệu
2. Định nghĩa
3. Tính chất
4. Ứng dụng
II. Ứng dụng khai triển Fourier để khử
nhiễu âm thanh
III. Code Matlab
IV. Kết luận
V.Tài liệu tham khảo

2|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
L ờinói đầu
ợi ích của xử lý số các tính hiệu ngày càng được khẳng định
rõ ràng. Nó cũng được ứng dụng ở nhiều dạng khác nhau với
những hiệu quả đặc biệt là trong các ngành khoa học chứ
không phải chỉ là một môn học. Với mức độ phát triển ngày càng cao
về cơ bản, về phương pháp và khả năng ứng dụng nó đã lôi cuốn được
nhiều kỹ sư, các nhà vật lý cũng như các nhà toán học quan tâm
nghiên cứu .
Trong lĩnh vực xử lý tính hiệu, biến đổi Fourier rời rạc (DFT) chiếm
vị trí hàng đầu nhờ sự tồn tại các thuật toán hiệu quả của biến đổi
Fourier rời rạc. Biến đổi Fourier nhanh (FFT) là công cụ hữu hiệu để
tính các biến đổi Fourier rời rạc và Fourier rời rạc ngược. Thuật toán
FFT được ứng dụng trong nhiều lĩnh vực khác nhau, từ các phép toán
số học của số phức đến lý thuyết tính hiệu, lý thuyết nhóm và lý thyết
số, v.v….

3|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
I. Lý thuyết
1.Giới thiệu
Trong toán học, phép biến đổi Fourier rời rạc (DFT), đôi khi còn
được gọi là biến đổi Fourier hữu hạn, là một biến đổi trong giải tích
Fourier cho các tín hiệu thời gian rời rạc. Đầu vào của biến đổi này là
một chuỗi hữu hạn các số thực hoặc số phức, làm biến đổi này là một
công cụ lý tưởng để xử lý thông tin trên các máy tính. Đặc biệt, biến
đổi này được sử dụng rộng rãi trong xử lý tín hiệu và các ngành liên
quan đến phân tích tần số chứa trong một tín hiệu, để giải phương
trình đạo hàm riêng, và để làm các phép như tích chập.

2.Định nghĩa
Dãy của N số phức:x0 , … x N−1 được biến đổi thành N số phức
X 0
,…X
N−1 bởi công thức sau đây :

Với e=2,718 … ; π=3,141 … và i2=−1


Phép biến đổi Fourier rời rạc ngược (IDFT) được cho bởi công
thức sau :
1

xn=
Nn=

Khác với khai triển chuỗi Fourier cho tín hiệu liên tục tuần hoàn,
phép lấy tích phân vây giờ được thay bằng một tổng. Và có điểm khác
quan trọng nữa là tổng ở đây là tổng hữu hạn, lấy trong một khoảng
bằng một chu kỳ của tín hiệu .
Những phương trình này có thể được mô tả đơn giản như sau: các
số phức Xk đại diện cho biên độ và pha ở các bước sóng khác nhau
của "tín hiệu vào" xn. Phép biến đổi DFT tính các giá trị Xk từ các giá

4|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
trị xn, trong
phần
dạng như trên, ta đã sử dụng công thức Euler để biểu diễn các hàm
lượng giác dưới dạng lũy thừa số phức để biến đổi được dễ dàng. Khi
A
viết Xk dưới dạng tọa độ cực, ta thu được biên độ Nk và pha φk từ
modulus(mô-đun) và argument của Xk:
Ak =|X k|=√ ℜ( Xk)2 + ℑ(X k)2

φk=arg ( X k )=at an 2(ℑ( Xk ) , ℜ( Xk ))

trong đó atan2 là dạng hai đối số của hàm arctan. Cần ghi chú rằng
1
các thừa số chuẩn hóa của DFT và IDFT (ở đây là 1 và N ) và dấu của
các số mũ chỉ là quy ước, và có thể khác nhau trong các tài liệu khác
nhau. Điều kiện duy nhất cho các quy ước này là DFT và IDFT có
dấu ngược nhau ở các số mũ và tích của hai thừa số chuẩn hóa phải là
1
N .

3.Tính chất

3.1 Tính tuyến tính


Biến đổi Fourier rời rạc là một biến đổi tuyến tính: F : CN
→CN Cho F ¿ và F ¿ thì với mọi số phức a,b, ta đều có:

F ¿

3.2 Khả nghịch


Với mọi N > 0, mọi vectơ phức N chiều đều có một DFT (biến đổi
Fourier rời rạc) và một IDFT (biến đổi Fourier rời rạc ngược) và
chúng đều là vectơ phức N chiều. Hay nói cách khác, nếu x(n), y(n)
có các biến đổi Fourier rời rạc lần lượt là X(k), Y(k) thì:
ax (n)+by (n)↔aX (k )+bY (k)

5|Đại số tuyến tí n h

BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
Ta sẽ nhắc lại tính khả nghịch khi biểu diễn DFT dưới dạng ma trận ở
mục 3.5
3.3 Trực giao
Các vectơ i 2 πkn tạo thành một cơ sở trực giao của tập các vectơ phức e N

N−1

∑ (e
n =0
2 πi

Đặt w=e N là một căn bậc N của 1. Khi đó, đẳng thức trên có thể được
viết lại thành:
N−1

∑ (wkn) . (wk 'n )=0


n =0

Ta dễ dàng chứng minh điều trên bằng vòng tròn đơn vị trên mặt
phẳng phức.
3.4 Tuần hoàn

k =0 , ... ,N −1
Nếu ta tính biểu thức định nghĩa DFT tại mọi số
nguyên k thay vì chỉ
cho thì dãy số nhận được là một mở rộng tuần hoàn của

DFT và có chu kỳ N:

X (k+ N)
=X
k

3.5 Ma trận Unita


Phép biến đổi DFT có thể được biểu diễn dưới dạng ma trận như sau:
6|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
Các vectơ cột trong FN trực giao như đã đề cập ở tính chất 3.3 với tích
vô hướng (u,v )=u¿ v, và FN cũng đồng thời là một ma trận đối xứng
A=AT . Người ta chứng minh được:

FN FN¿=¿

Để có thể dễ dàng lấy nghịch đảo, ta trực chuẩn hóa FN bằng cách nhân
1
thêm hằng số √ N . (3) trở thành:

(√1N F )(√1N F ) =I
N N
¿

1 F
Khi đó, √ N là một ma trận unita
N

Suy ra:
−1
1

(√ N FN )
(√1N F ) N
−1
=√N FN−1 (5)
Từ (4) và (5), ta được:

−1 1
F N = N FN¿

Ma trận FN−1 chính là ma trận của phép biến đổi Fourier rời rạc ngược
(IDFT).

Tóm lại:
● Biến đổi Fourier rời rạc của x là:

● Biến đổi ngược để tìm x là:

4. Ứng dụng
Ứng dụng trong Y học

7|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
- Ứng dụng phép biến đổi Fourier gián đoạn phổ tử ngoại tỷ
đối để định lượng đồng thời hai hoạt chất trong một số chế
phẩm hạ nhiệt giảm đau.

- Trên thế giới, biến đổi Fourier rời rạc đã được áp dụng cho
định lượng bằng quang phổ hấp thụ phân tử dựa trên nguyên lý:
phổ tỷ đối của chất phân tích có thể triển khai như một chuỗi
Fourier hữu hạn từ thập niên 1990. Kỹ thuật này đã được ứng
dụng thành công để định lượng hỗn hợp có chứa 2, 3 thành
phần.
- Nghiên cứu này được tiến hành nhằm triển khai ứng dụng
biến đổi Fourier rời rạc cho phép định lượng đồng thời bằng
quang phổ tử ngoại hai hoạt chất trong một số chế phẩm hạ
nhiệt giảm đau (có chứa paracetamol) hiện đang lưu hành trên
thị trường. Tính chính xác của phép định lượng bằng quang phổ
được đánh giá bằng cách so sánh với phương pháp HPLC theo
quy định của Dược điển Việt Nam V.

Ứng dụng khử nhiễu hình ảnh


- Biến đổi Fourier là hàm toán học tách tín hiệu dạng sóng
( hàm thời gian) thành các tần số tạo nên nó. Ảnh số được xem
như hàm biến đổi, tuy nhiên nó không biến đổi theo thời gian
mà biến đổi theo hai chiều không gian của hình ảnh. Ví dụ với
ảnh số đa cấp xám thì mỗi điểm ảnh có giá trị từ 0 đến 255 để
biểu diễn độ xám (cường độ) của điểm ảnh. Vậy, mức xám của
điểm ảnh là hàm số của tọa độ điểm ảnh đó.
- Biến đổi Fourier rời rạc là dạng số của biến đổi Fourier áp
dụng cho ảnh số, được sử dụng để tách hình ảnh trong miền
không gian thành các thành phần tần số. Biến đổi Fourier rời rạc
là biến đổi Fourier áp dụng cho các điểm mẫu, do vậy nó không
cho lại toàn bộ tần số để hình thành ảnh số mà chỉ cho lại tập
điểm mẫu đủ lớn với khả năng mô tả đầy đủ hình ảnh trong
miền không gian. Tổng số tần số tương ứng với tổng số điểm
ảnh trong miền không gian. Biến đổi Fourier rời rạc thường
8|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
được sử dụng để lọc nhiễu hay làm nét hình ảnh. Một hình thức
của biến đổi Fourier rời rạc là biến đổi cosin rời rạc. Tương tự
như biến đổi Fourier rời rạc, nó được sử dụng để biểu diễn dữ
liệu dạng sóng, nhưng chỉ sử dụng phần số thực (thành phần
cosin). Biến đổi cosin rời rạc phù hợp với nén ảnh (JPEG) và
nén video vì thông tin của ảnh có xu hướng tập trung vào một
vài thành phần tần số thấp của biến đổi cosin rời rạc. Ta có thể
áp dụng biến đổi cosin rời rạc ngược (IDCT) để có được hình
ảnh trong miền thời gian từ hình ảnh trong miền tần số.

Hình 1. Ảnh xám(trái) và biến đổi DFT(phải)

Hình 1. Lọc thông thấp(trái) và kết quả(phải)

II. Ứng dụng khai triển Fourier để khử nhiễu


âm thanh

9|Đại số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
Nếu như, chúng ta có thể xử lí tốt một tập tin âm thanh theo các
tiêu chí (trọng tâm, chính xác , hiệu quả và tiết kiệm thời gian)
thì việc đó sẽ giúp ích cho ta rất nhiều. Trong nghiên cứu về âm
thanh, sẽ giúp ta tiết kiệm thời gian hơn. Còn trong doanh
nghiệp chuyên về lĩnh vực truyền thông đa phương tiện, nếu xử
lí tốt file âm thanh, sẽ tiết kiệm được rất nhiều chi phí trong việc
thiết kế một phần mềm nào đó, hay chỉ đơn giản là tăng chất
lượng âm thanh trong quá trình edit video chuyên nghiệp Từ đó
nó sẽ hướng đến nhiều đối tượng khách hàng hơn với một trải
nghiệm về chất lượng âm thanh tuyệt vời, chân thật và đặt biệt
không còn tạp âm nữa.
Cơ sở lý thuyết
- Cho vectơ X ∈Cn (C) .Ta có, ma trận FN được gọi là ma trận Fourier
cấp n. Phép biến đổi Y = FN . X được gọi là phép biến đổi Fourier rời
rạc rạc của vectơ X.
Vectơ Y = FN . X được biểu diễn dưới dạng phức Y = A + iB
n −1

Vectơ A chứa các hệ số αt trong ∑ αt cos


0
n −1

Vectơ B chứa các hệ số βt trong ∑ βt sin


0

- Như vậy khi dung biến đổi fourier rời rạc, ta chuyển tín hiệu X ở
2 πt
miền thời gian thành miền tần số gồm tổng của các hàm cos n và sin
2 πt
n .
Sau biến đổi ta có tín hiệu chưa qua khử nhiễu có dạng :
n −1

∑ αt cos
- Sau khi phân tích Fourier rời rạc, ta có thể xác định tần số tín hiệu
chính và tần số nhiễu thì ta có thể lọc nhiễu và giữ lại tín hiệu chính.
- Kết thúc ta biến đổi fourier ngược vectơ Y về lại X để nghe được
tín hiệu sau khi xử nhiễu.
1
Biến đổi Fourier ngược : Y . (F ¿¿ n)−1 ¿= X ↔ X = n F¿n.
Y Các bước khử nhiễu âm thanh :
Nhận tín hiệu, biểu diễn nó dưới dạng hàm tuần hoàn.
10 | Đ ạ i s ố t u y ế n tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
Lấy mẫu tín hiệu liên tục ấy trong những thời điểm rời rạc.
Có thể dùng 1 số phương pháp xử lý xấp xỉ, và biểu diễn các
điểm được lấy mẫu thành một hàm liên tục.
Rời rạc hoá hàm liên tục này, theo cả về thời gian và biên độ.
Áp dụng biến đổi Fourier để chuyển về hàm phụ thuộc theo tần
số.

Ví dụ : Cho một âm thanh lẫn tạp âm:

Sau khi biến đổi Fourier chuyển từ


miền thời gian sang miền tần số
(hình trái) .

11 | Đ ạ i số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
III.

Code Matlab
NỘI DUNG ĐOẠN CODE
clc
clear
[x,Fs] = audioread('mixed.wav'); % load file âm thanh
X = fft(x); % biến đổi fourier không nằm ở trung tâm
N = length(x);

% Lấy tín hiệu kèn trumpet

a3 = 2000; % tần số cắt


w3 =(-N/2+1:(N/2)); % vecto tần số trung tâm
w4 = w3.*Fs/N; % lấy tần số mẫu
H = 1-(a3./(a3 + (1i*w4))); % H nằm ở trung
tâm Hshift3 = fftshift(H);

a5 = 5000; % tương tự
w5 =(-N/2+1:(N/2));
w6 = w5.*Fs/N;
H5 = 1-(a5./(a5 + (1i*w6)));
Hshift5 = fftshift(H5);

a = 6000;
12 | Đ ạ i số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
w0 =(-N/2+1:(N/2));
w = w0.*Fs/N;
H2 = 1-(a./(a + (1i*w)));
Hshift = fftshift(H2);

Y = X .*Hshift5' .* Hshift3' .*Hshift' ; % lọc tín


hiệu y = real(ifft(Y)); % biến đổi fourier nghịch y =
y*(max(abs(x))/ max(abs(y)));

% Lấy tín hiệu trống

a1 = 100; % tần số cắt


w1 = (-N/2+1:(N/2)); % vectơ tần số trung tâm
w2 = w1.*Fs/N; % lấy một tần số mẫu
H1 = a1./(a1 + 1i*w2); % H nằm ở trung tâm
Hshift1 = fftshift(H1); % H không nằm ở trung tâm

a10 = 50; % tương tự


w10 = (-N/2+1:(N/2));
w20 = w10.*Fs/N;
H10 = a10./(a10 + 1i*w20);
Hshift10 = fftshift(H10);

a12 = 5;
w12 = (-N/2+1:(N/2));
w22 = w12.*Fs/N;
H12 = a10./(a10 + 1i*w22);
Hshift12 = fftshift(H12);

Y1 = X .*Hshift1' .*Hshift10' .*Hshift12'; % lọc tín hiệu


y1 = real(ifft(Y1)); % biến đổi fourier nghịch
y1 = y1*(max(abs(x))/ max(abs(y1)));

% Âm thanh đã lọc, lúc chạy ấn enter để nghe từng đoạn âm

input('s');sound(x,Fs); % âm thanh gốc


input('s');sound(y1,Fs); % âm thanh trống
input('s');sound(y,Fs); % âm thanh kèn

subplot(3,1,1);

13 | Đ ạ i số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
plot(w5,abs(fftshift(X)))
title('Âm thanh gốc');
subplot(3,1,2);
plot(w5,abs(fftshift(Y)))
title('Tiếng trống');
subplot(3,1,3);
plot(w2,abs(fftshift(Y1)))
title('Tiếng kèn trumpet');

IV. Kết Luận


DFT là một trong những công cụ mạnh mẽ nhất trong xử lý tín
hiệu kỹ thuật số, nó cho phép chúng ta tìm ra phổ của tín hiệu có thời
lượng hữu hạn x(n).
Về cơ bản, tính toán DFT tương đương với việc giải một tập các
phương trình tuyến tính.
DFT cung cấp một biểu diễn của chuỗi thời lượng hữu hạn bằng
cách sử dụng một chuỗi tuần hoàn, trong đó một chu kỳ của chuỗi
tuần hoàn này giống với chuỗi thời lượng hữu hạn. Kết quả là chúng
ta có thể sử dụng chuỗi Fourier thời gian rời rạc để suy ra các phương
trình DFT.
V. Tài liệu tham khảo
Giáo trình Đại số tuyến tính - Đặng Văn Vinh. NXB Đại học
Quốc gia Thành phố Hồ Chí Minh.

Biến đổi Fourier rời rạc – Wikiwand


https://www.wikiwand.com/vi/Bi%E1%BA%BFn_
%C4%91%E1%BB%95i_Fourier_r%E1%BB%9Di_r%E1%BA
%A1c?fbclid=IwAR1aCiLIhY22qZ5HTQgQ-
DPm2KrMoLnWeqEQ82rjnzuGXnGuqJS-_oYVegw

Toán kỹ thuật – Biến đổi Fourier và bài tập biến đổi Fourier
https://giaoductieuhoc.vn/toan-ky-thuat-bien-doi-fourier-bai-tap-
bien-doi-fourier-kho-tai-lieu-tong-hop-huu-ich-nhat/?
14 | Đ ạ i số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH
fbclid=IwAR0Gtz6CeoA8o1WKIXRcDRu4xqjYDBNZrz4foX2qdCZ
LXcI4fC6v5oBlNOs

15 | Đ ạ i số tuyến tí n h
BÁO CÁO BÀI TẬP LỚN:GIỚI THIỆU KHAI TRIỂN FOURIER RỜI RẠC VÀ ỨNG DỤNG CỦA KHAI TRIỂN FOURIER ĐỂ KHỬ NHIỄU ÂM THANH

You might also like