Tải bản đầy đủ (.pdf) (15 trang)

BÁO cáo bài tập lớn đại số TUYẾN TÍNH 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

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 (414.53 KB, 15 trang )

ĐẠ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
MSSV
Hồ Hữu Hậu
2113322
Nguyễn Thị Ánh Vy
2115349
Phạm Tấn Huy
2113535
Nguyễn Vĩnh Hùng
2113587
Phan Minh Thy
2112422
Nguyễn Tiến Hưng
2113609
Vương Lý Hữu Thạnh
2114819

1 | Đ ạ 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



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 ố 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ời nói đầu

L

ợ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 tố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 ố 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


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: x 0 , … 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 :
N −1

−i

X k= ∑ x n e


2 πkn
N

n=0

, k=0 ,1 , … , N −1

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
x n=
N

N−1

∑ Xk e
n =0

i

2 πkn
N

, k =0 , 1 ,… , N −1

Khác với khai triển chuỗi Fourier cho tín hiệu liên tục tuần hồ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 ố 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


trị xn, trong khi IDFT tính xn bằng tổng của các sóng thành
phần 

với tần số 

k
N

. Khi viết các phương trình dưới

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
viết Xk dưới dạng tọa độ cực, ta thu được biên độ  

Ak
 và
N

pha φk từ

modulus(mô-đun) và argument của Xk:
Ak =|X k|=√ ℜ( X k )2 + ℑ(X k )2
φ k =arg ( X k )=at an 2( ℑ ( X k ) , ℜ ( X k ) )


trong đó atan2 là dạng hai đối số của hàm arctan. Cần ghi chú rằng
các thừa số chuẩn hóa của DFT và IDFT (ở đây là 1 và

1
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 : C N → C N
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 ố 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


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ơ e i
N chiều:

2 πkn
N

tạo thành một cơ sở trực giao của tập các vectơ phức

∑ (e
N−1

2 πi
.kn
N

n =0

).(e

−2 πi '
.k n
N

)=0


k≠k'

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

∑ ( w kn ) . ( w k '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 hồn
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 k =0 , ... , N −1 thì dãy số nhận được là một mở rộng tuần hồ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:

[

1

1

1


e

F= 1


e

1 e

1

−2 πi
N

e

−2 πi
.2
N

e



−2 πi
(N −1 )
N

e


−2 πi
.2
N
−2 πi
.4
N



−2 πi
.2(N−1)
N

1


1

e

… e


−2 πi
.( N−1)
N

−2 πi
.2(N−1)

N

… e



−2 πi
2
.(N −1 )
N

]

N×N

6 | Đ ạ 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


Các vectơ cột trong F N trực giao như đã đề cập ở tính chất 3.3 với
tích vơ hướng (u , v )=u¿ v , và F N cũng đồng thời là một ma trận đối
xứng A=A T . Người ta chứng minh được:
(3)

¿

F N F N =¿

Để có thể dễ dàng lấy nghịch đảo, ta trực chuẩn hóa
1


FN

bằng cách

nhân thêm hằng số √ N . (3) trở thành:

(

1
FN
√N

)(

)

¿
1
F N =I
√N

1

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

(

1

FN
√N

) (
−1

=

)

¿
1
1
¿
F =
FN
N
N


N

Từ (4) và (5), ta được:

(

1
FN
√N


)

−1

=√N FN

F N −1=

(4)
−1

(5)

1
F ¿
N N

Ma trận F N −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à:

X =F N x
−1

x=F N =

1
¿

FN X
N

4. Ứng dụng
 Ứng dụng trong Y học
7 | Đ ạ 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


- Ứ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 tố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 tồ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 ố 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


đượ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 ố 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


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 chun 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 ∈C n ( C ) .Ta có, ma trận F N được gọi là ma trận Fourier cấp
n. Phép biến đổi Y = F N . X được gọi là phép biến đổi Fourier rời rạc
rạc của vectơ X.
Vectơ Y = F N . X được biểu diễn dưới dạng phức Y = A + iB
Vectơ A chứa các hệ số
Vectơ B chứa các hệ số

αt

βt

n −1


trong ∑ α t cos
0

n −1

trong ∑ β t sin
0

2 πt
n
2 πt
n

- Như vậy khi dung biến đổi fourier rời rạc, ta chuyển tín hiệu X ở miền
thời gian thành miền tần số gồm tổng của các hàm

cos

2 πt
n



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 2nπt + βt sin 2nπt +¿ nhiễu ¿
0

- 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.
Biến đổi Fourier ngược : Y . ( F ¿¿ n)−1 ¿= X



X=

1 ¿
F
n 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) .

Khử những tần số nhiễu giữ lại tần số
chính (hình phải).

11 | Đ ạ 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


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 ố 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


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 ố 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


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 tố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 hồ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
/>%C4%91%E1%BB%95i_Fourier_r%E1%BB%9Di_r%E1%BA
%A1c?fbclid=IwAR1aCiLIhY22qZ5HTQgQDPm2KrMoLnWeqEQ82rjnzuGXnGuqJS-_oYVegw
 Toán kỹ thuật – Biến đổi Fourier và bài tập biến đổi Fourier
/>14 | Đ ạ 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


fbclid=IwAR0Gtz6CeoA8o1WKIXRcDRu4xqjYDBNZrz4foX2qdCZ
LXcI4fC6v5oBlNOs

15 | Đ ạ 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



×