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
Trang 1ĐẠ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
Trang 2Mụ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
Trang 3Lời nó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
L
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…
Trang 4I 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
X0,… X N−1 bởi công thức sau đây :
X k=∑
n=0
N −1
x n e −i 2πkn N ,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 :
x n= 1N ∑
n=0
N−1
X k e 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 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 X k đạ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" x n Phép biến đổi DFT tính các giá trị X k từ các giá
Trang 5trị x n , trong khi IDFT tính x n bằng tổng của các sóng thành phần với tần số N k 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 X k dưới dạng tọa độ cực, ta thu được biên độ A k
N và pha φk từ
modulus(mô-đun) và argument của X k:
A k= |X k| =√ℜ( X k) 2+ℑ(X k) 2
φ k =arg(X k)=at an2(ℑ(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à N1) 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
ChoF¿ 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)
Trang 6Ta sẽ nhắc lại tính khả nghịch khi biểu diễn DFT dưới dạng ma trận ở
3.3 Trực giao
N chiều:
∑
n=0
N−1
(e
2πi
N kn).(e
−2πi
N k ' n)=0 k ≠ k '
viết lại thành:
∑
n=0
N−1
(w kn).(w k '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
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 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:
1 e −2πi N e −2πi N 2 … e −2πi N ( N−1)
1 e −2πi N 2 e −2πi N 4 … e −2πi N 2(N−1)
⋮ ⋮ ⋮ ⋮ ⋮
1 e −2πi N (N −1) e −2πi N .2(N−1) … e −2πi N .(N −1)
2]N × N
Trang 7Các vectơ cột trong F N trực giao như đã đề cập ở tính chất 3.3 với
xứng A=A T Người ta chứng minh được:
F N F N¿= ¿ (3)
nhân thêm hằng số √1N (3) trở thành:
√N F N)( 1
√N F N)¿
=I
Khi đó, √1N F Nlà một ma trận unita
Suy ra:
√N F N)−1
=( 1
√N F N)¿
= 1
√N F N
¿ (4)
√N F N)−1
= √N F N−1(5)
Từ (4) và (5), ta được:
F N−1 = 1
N F N¿
(IDFT)
Tóm lại:
4 Ứng dụng
Ứng dụng trong Y học
Trang 8- Ứ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 đó
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
Trang 9đượ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 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
Hình 1 Ảnh xám(trái) và biến đổi DFT(phải)
Trang 10Nế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
rạc của vectơ X
0
n−1
α t cos 2πt n
0
n−1
β t sin 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
Sau biến đổi ta có tín hiệu chưa qua khử nhiễu có dạng :
∑
0
n−1
α t cos 2πt n + β t sin 2πt n + ¿nhiễu¿
- 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 = 1n 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
Trang 11 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).
Trang 12Code 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;
Trang 13w0 =(-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
Trang 14title('Â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/?
Trang 15fbclid=IwAR0Gtz6CeoA8o1WKIXRcDRu4xqjYDBNZrz4foX2qdCZ LXcI4fC6v5oBlNOs