BIẾN ĐỔI FOURIER RỜI RẠC CHƯƠNG I: MỞ ĐẦU Từ trước, ta đã thấy ý nghĩa của việc phân tích tần số cho tín hiệu rời rạc.. Để thực hiện phân tích tần số, ta phải chuyển tín hiệu trong miền
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA QUỐC TẾ VÀ ĐÀO TẠO SAU ĐẠI HỌC
-***** -
TIỂU LUẬN: Xử Lý Tín Hiệu Số Nâng Cao
LỌC TUYẾN TÍNH VỚI DFT
Giảng viên : TS Nguyễn Ngọc Minh Nhóm 3 : Nguyễn Huy Thắng
Chu Quốc Thành Nguyễn Hải Hà Lớp : M14CQTE02-B
Hà Nội – 7/2015
Trang 2MỤC LỤC
CHƯƠNG I: MỞ ĐẦU 4
1.1 Định nghĩa 4
1.2 Biến đổi Fourier rời rạc của một dãy tuần hoàn có chu kỳ N 4
1.3 Biến đổi Fourier DFT với dãy không tuần hoàn có chiều dài hữu hạn N 7
1.4 Các tính chất của DFT 9
CHƯƠNG 2: LỌC TUYẾN TÍNH VỚI DFT 14
2.1 LỌC TUYẾN TÍNH VỚI DFT 14
2.1.1 Tín hiệu ngắn 14
2.2.2 Tín hiệu nhập dài 15
CHƯƠNG 3 KẾT LUẬN 18
Trang 3Trong thời gian thực hiện tiểu luận chúng em đã cố gắng hết mình để hoàn thành tiểu luận Song do kiến thức, thời gian nghiên cứu, nên việc báo cáo không thể tránh đƣợc thiếu sót Chúng em rất mong nhận đƣợc sự đóng góp của thầy và các bạn để bài tiểu luận của chúng em đƣợc hoàn thiện hơn
Em xin chân thành cảm ơn!
Tài liệu tham khảo:
• Advanced Digital Signal Processing and Noise Reduction, Second Edition
• Linear Convolution with DFT
• DFT based Linear Filtering
Trang 4BIẾN ĐỔI FOURIER RỜI RẠC
CHƯƠNG I: MỞ ĐẦU
Từ trước, ta đã thấy ý nghĩa của việc phân tích tần số cho tín hiệu rời rạc Công việc này thường được thực hiện trên các bộ xử lý tín hiệu số DSP Để thực hiện phân tích tần số, ta phải chuyển tín hiệu trong miền thời gian thành biểu diễn tương đương trong miền tần số
Ta đã biết biểu diễn đó là biến đổi Fourier X(Ω) của tín hiệu x[n] Tuy nhiên, X(Ω) là một hàm liên tục theo tần số và do đó, nó không phù hợp cho tính toán thực tế Hơn nữa, tín hiệu đưa vào tính DTFT là tín hiệu dài vô hạn, trong khi thực
tế ta chỉ có tín hiệu dài hữu hạn, ví dụ như một bức ảnh, một đoạn tiếng nói… Trong chương này, ta sẽ xét một phép biến đổi mới khắc phục được các khuyết
điểm trên của DTFT Đó là phép biến đổi Fourier rời rạc DFT (Discrete Fourier
Transform) Đây là một công cụ tính toán rất mạnh để thực hiện phân tích tần số
cho tín hiệu rời rạc trong thực tế
1.1 Định nghĩa
Cho tín hiệu rời rạc x(n), phép biến đổi Fourier của x(n) được định nghĩa như sau:
n
Như vậy phép biến đổi Fourier đã chuyển tín hiệu x(n) từ miền thời gian sang miền tần số ω (hay tần số f = ω/2π) Chúng ta sẽ dùng ký hiệu sau để mô tả phép biến đổi Fourier của tín hiệu x(n)
j
FT x n X e
1.2 Biến đổi Fourier rời rạc của một dãy tuần hoàn có chu kỳ N
Biến đổi Fourier rời rạc của một dãy tuần hoàn có chu kỳ N được định nghĩa như sau
Trang 5
Đặt
Kí hiệu toán tử:
Ví dụ 1:
Từ định nghĩa:
Ta khai triển
2
k
j kn
j n
N
1
0
N
kn N n
DFT x n X k
DFT
Cho dãy tuần hoàn chu kỳ N = 10
Tìm X k
n
x n
n
9 4 210
N kn 1 j kn
10 2 5 10
1 1
j k
j k
e
X k
e
2
4 10 10
sin
2 sin
10 10
j k
j k
j e
k k
j e
Lưu ý: Khi tính toán ta chỉ cần xác định với k chạy từ 0 đến 9, các chu kỳ khác lặp lại
1
0
N
kn N n
0 0 0 0
0 1 2 1
0 2 4 2 1
0 1 2 1 1 1
Trang 6Ta kí hiệu:
Biến đổi Fourier rời rạc ngược IDFT được định nghĩa như sau:
Hay
Kí hiệu:
Cách tính IDFT hoàn toàn giống DFT chỉ khác dấu (–) , (+) và hệ số 1/N trước dấu
Vì vậy ta chỉ
cần xét DFT rồi suy ra biến đổi IDFT Về mặt thuật toán là như nhau
Cặp biến đổi Fourier rời rạc:
Ví dụ 2: a) Tìm DFT của dãy x(n)=a n rect N (n)
b) Vẽ phổ biên độ & pha của DFT với a=3/4, N=16
Biến đổi DFT của x(n):
1 1
a
X ( k ) a W aW
aW
0 1 2
1
X X
X N
0 1 2
1
x x
x N
1
0
N
N
0
1
.
N k
N
0
1
.
N
kn N k
N
X k x n
1 0 1 0
1
N
kn N n
N
kn N k
N
Trang 71 2
1 2
N
a
X ( k )
a cos k a N
2
2
1
a sin k N arg X ( k ) arctg
a cos k N
Vẽ:
1.3 Biến đổi Fourier DFT với dãy không tuần hoàn có chiều dài hữu hạn N
Chúng ta đã xét biến đổi Fourier rời rạc đối với dãy tuần hoàn có chu kỳ N
Ƣu điểm nổi bật của biến đổi Fourier rời rạc DFT là biến đổi xuôi và biến đổi ngƣợc đều đƣợc
thực hiện cùng một thuật toán
Nhƣng trên thực tế không phải lúc nào chúng ta cũng gặp dãy tuần hoàn
Ta xét dãy không tuần hoàn có chiều dài hữu hạn nhƣ sau:
Trang 8Ta coi dãy có chiều dài N như trên là một chu kỳ của một dãy tuần hoàn có chu kỳ M như sau:
M ≥ N thường chọn M =2
Biến đổi xuôi DFT:
Ký hiệu:
Biến đổi ngược IDFT:
Ký hiệu:
Ví dụ 3: Hãy tìm biến đổi Fourier rời rạc của dãy có chiều dài hữu hạn sau:
-1 0
1
n
D·y kh«ng
tuÇn hoµn
N
x n
1 2 3 4 -1 0
1
n
M-1 M
D·y tuÇn
hoµn
M
x n
1 0
0
N
kn N n
X k
k
DFT x n X k DFT
1 0
1
0
N
kn N k
n
I DFT X k x n I DFT
1 2 3 4 -1 0
1
n
N-1 N
x(n)
Trang 9Áp dụng định nghĩa:
Chỉ có 1 giá trị
Ta có sơ đồ biểu diễn :
1.4 Các tính chất của DFT
1.4.1 Tuyến tính
Nếu 1 DFT 1
x ( n ) X ( k ) 2 DFT 2
x ( n ) X ( k )
Thì 1 1 2 2 DFT 1 1 2 2
a x ( n ) a x ( n ) a X ( k ) a X ( k )
Nếu
1 1 2 2
L N N L thì N max{ N , N }1 2
1.4.2 Dịch vòng
Nếu DFT
x( n ) X ( k ) thì 0
0
DFT kn
x( n n ) W X ( k )
Với x( n n ) 0 N x( n n ) 0 Nrect (n) N gọi là dịch vòng của x(n) N đi n 0 đơn vị
Ví dụ 4: Cho:
a) Tìm dịch tuyến tính: x(n+3), x(n-2)
b)Tìm dịch vòng: x(n+3) 4 , x(n-2) 4
1 0
0
N
kn N n
X k
k
0 1
n
x n
0
X k
n
1 2 -1 0
1
n
N-1 N
X(k)
x(n)
n
4 3 2 1
Trang 10Ta có
b)
4
3 4 1 2 3
x( n ) , , ,
4
2 3 4 1 2
x( n ) , , ,
0 1 2 3
4 3 2 1
n x(n+3)
-3 -2 -1 0
4 3 2
x(n-2)
0 1 2 3 4 5
4 3 2 1
x(n)
n
0 1 2 3
4 3 2 1
N
x(n-1)
4
n
0 1 2 3
4 3 2 1
Trang 111.4.3 Chập vòng
Nếu 1 DFT 1
x ( n ) X ( k ) 2 DFT 2
x ( n ) X ( k )
Thì 1 2 DFT 1 2
x ( n ) x ( n ) X ( k ) X ( k )
0
m
x ( n ) x ( n ) x ( m ) x ( n m ) gọi là chập vòng 2 dãy x1(n) & x2(n)
Và x ( n m )2 N x ( n m ) rect ( n )2 N N gọi là dịch vòng dãy x2(-m) đi n đơn vị
Chập vòng có tính giao hoán:
1 N 2 N 2 N 1 N
x ( n ) x ( n ) x ( n ) x ( n )
Nếu
1 1 2 2
L N N L chọn N max{ N , N }1 2
Ví dụ 5: Tìm chập vòng 2 dãy x n1 ( ) 2,3, 4
và x n2 ( ) 1, 2,3, 4
1
0
m
x ( n ) x ( n ) x ( n ) x ( m ) x ( n m ) với N-1n 0
Chọn độ dài N: N1 3, N2 4 N max{ N , N }1 2 4
3
3 4 1 4 2 4 1 4 2 4
0
m
x ( n ) x ( n ) x ( n ) x ( m ) x ( n m ) : n
Đổi biến n-> m 1 2 3 4 0
x ( m ) , , , 2 1 2 3 4
x ( m ) , , ,
Xác định 2 4 2 4 4 1 4 3 2
x ( m ) x ( m ) rect ( n ) , , ,
x
m
0 1 2 3
4
3
2
1
0
1 2 3
m
x2(-m)
m -3 -2 -1 0
4 3 2 1 0 1 2 3 m
Trang 122 4 2 4
x ( m ) x ( m )rect ( n )
Xác định x 2 (n-m) là dịch vòng của x2 (-m) đi n đơn vị
với 3 n 0
Nhân các mẫu x 1 (m) & x 2 (n-m) và cộng lại
3
3 4 1 4 2 4
0
m
x ( n ) x ( m ) x ( n m ) : n
n=0:
3
3 4 1 4 2 4
0
m
x ( ) x ( m ) x ( m )
n=1:
3
3 4 1 4 2 4
0
m
x ( ) x ( m ) x ( m )
n=2:
3
3 4 1 4 2 4
0
m
x ( ) x ( m ) x ( m )
n=3:
3
3 4 1 4 2 4
0
m
x ( ) x ( m ) x ( m )
2
x ( m )
m
4 3 2 1
4 3 2 1
4 3 2 1
Trang 13Vậy 3 4 1 4 2 4 26 23 16 25
x ( n ) x ( n ) x ( n ) , , ,
1.4.5 Tính đối xứng
Nếu DFT
x( n ) X ( k ) thì DFT
x ( n ) X ( k )
1.4.6 Quan hệ Parseval
Nếu DFT
x( n ) X ( k ) thì
1
x( n ) X ( k )
N
1.4.7 Chập tuyến tính sử dụng DFT
Kết quả phép chập tuyến tính của 2 dãy x1 (n) N1 và x 2 (n) N2 sẽ giống với chập vòng
nếu thêm các mẫu 0 vào sau các dãy x 1 (n) và x 2 (n) để có chiều dài tối thiểu là
N 1 +N 2 - 1:
x 1 (n) N1 * x 2 (n) N2 = x 1 (n) N1+N2 -1 x 2 (n) N1+N2 -1
Lưu đồ phép chập tuyến tính thông qua DFT được mô tả:
Ví dụ 6: Cho 2 dãy x1(n)=x2(n)=rect3(n)
Hãy tìm x3(n)=x1(n)*x2(n) và x3(n)=x1(n)5 x2(n)5
Chập tuyến tính của 2 dãy: 3 1 2 1 2 3 2 1
x ( n ) x ( n ) x ( n ) { , , , , }
Kết quả sẽ tương tự đối với phép chập vòng nếu thêm vài mẫu 0 vào sau 2 dãy x1(n) và
x2(n) để có độ dài tối thiểu là 5:
1 5 1 1 1 0 0 2 5 1 1 1 0 0
x ( n ) { , , , , } và x ( n ) { , , , , } 3 5 1 5 2 5 1 2 3 2 1
x ( n ) x ( n ) x ( n ) { , , , , }
Trang 14CHƯƠNG 2: LỌC TUYẾN TÍNH VỚI DFT
2.1 LỌC TUYẾN TÍNH VỚI DFT
Kết quả của hai DFT là tương đương với tích chập vòng của chuỗi miền thời gian tương ứng Một điều không may, đó là tích chập vòng không dùng tới để xác định đầu ra của một bộ lọc tuyến tính Trong trường hợp này, chúng ta tìm kiếm một phương pháp theo miền tần số tương đương phép chập tuyến tính
Ta có Y(ω) = H(ω)X(ω)
Hàm liên tục theo tần số ω
Khó thực hiện trên các máy tính số
→ DFT: một cách tính hiệu qủa của tổng chập miền thời gian
Lọc tuyến tính
y(n)
1
0
M
k
x(n) chiều dài = L (n=0,1,…,L-1)
h(n) chiều dài = M (n=0,1,…,M-1)
y(n) chiều dài N = M+L-1
+ Số mẫu phổ (tần số) cần thiết để biểu diễn duy nhất chuỗi y(n) ≥ L+M-1
Y(k) = H(k)X(k), k=0,1,…,N-1
H(k), X(k): DFT N điểm của h(n), x(n)
(các số 0 được đệm vào để tăng kích thước chuỗi lên N)
+ y(n) = IDFTN{Y(k)}
· Tổng chập vòng N điểm của h(n) và x(n)
tương đương với tổng chập tuyến tính của h(n) với x(n)
· DFT có thể được dùng để lọc tuyến tính
(bằng cách đệm thêm các số 0 vào chuỗi tương ứng)
Tóm tắt
h(n)
Trang 152.2.2 Tín hiệu nhập dài: chia nhỏ x(n) thành từng block có độ dài cố định
+ Overlap-Save
+ Overlap-Add
Giả thiết
+Bộ lọc có h(n): chiều dài M
+T/h nhập x(n): được chia nhỏ thành từng block có chiều dài L >> M
DFTn và IDFTn với N = L+M–1
■ Mỗi block dữ liệu được xử lý bao gồm (M – 1) điểm của block trước và L điểm mới của t/h nhập
■ M-1 điểm của block đầu tiên được set bằng 0
■ Đáp ứng xung của bộ lọc được đệm thêm (L – 1) số 0 để tăng chiều dài lên N
■ DFT của N điểm của h(n) được tính một lần duy nhất
Trang 16Đệm thêm (M-1) số 0 vào mỗi block dữ liệu đầu vào
Ví dụ 7:
Sử dụng DFT và IDFT xác định đáp ứng của bộ lọc FIR với đáp ứng xung h(n) = {1, 2, 3}
Với chuỗi đầu vào x(n) = { 1, 2, 2, 1}
Ta có chuỗi đầu vào có độ dài L = 4 với đáp ứng xung có độ dài M = 3 phép chập tuyến tính của hai chuỗi này tạo ra chuỗi có độ dài N = 6 Do đó kích cỡ các DFT cần ít nhất
là 6 Để đơn giản ta tính toán với tám điểm DFT Ta đã đề cập đến cách tính toán DFT dùng biến đổi nhanh FFT Tám điểm DFT của x(n) sẽ đƣợc tính nhƣ sau:
7
2 /8 0
( ) ( )
1 2 2
j kn
n
X k x n e
Khai triển ta đƣợc
X(0) = 6 , X(1) = 2 2 (4 3 2)
2 j 2
X(2) = -1 - j, X(3) = 2 2 (4 3 2)
2 j 2
X(4) = 0, X(5) = 2 2 (4 3 2)
2 j 2
X(6)= -1 + j, X(7) = 2 2 (4 3 2)
2 j 2
8 điểm DFT của h(n)
7
2 /8 0
( ) ( ) j kn
n
H k h n e
= /4 /2
1 2 ej kn 3ej k
Trang 17Khai triển
H(0) = 6, H(1) = 1 2 j(3 2), H(2) = 2 j2
H(3) = 1 2 j(3 2), H(4) = 2
H(5) = 1 2 j(3 2), H(6) = 2 j2
H(7) = 1 2 j(3 2)
Ta đƣợc
Y (0) = 36, Y (1) = -14.07 – j17.48, Y (2) = j4, Y (3) = 0.07 + j0.515
Y (4) =0 , Y (5) = 0.07 – j0.515 , Y (6) = -j4, Y(7) = -14.07 + j17.48
Cuối cùng 8 điểm IDFT là
7
2 /8 0
k
y n Y k e
n= 0,1,2 7
( ) {1, 4,9,11,8,3,0,0}
y n
Ta thấy rằng sáu giá trị đầu tiên của y(n) tạo thành tập hợp các giá trị đầu mong muốn Hai giá trị còn lại bằng không bởi ta đã sử dụng một DFT 8 điểm và IDFT, khi này, thực
tế số lƣợng các điểm cần thiết tối thiểu là 6
Trang 18CHƯƠNG 3 KẾT LUẬN
Kể từ khi DFT cung cấp sự biểu diễn tần số rời rạc của một chuỗi thời gian hữu hạn trong miền tần số , nó như một công cụ tuyệt vời để tính toán và phân tích hệ thống tuyến tính và đặc biệt là để lọc tuyến tính Ví dụ, ta thiết lập một hệ thống với đáp ứng tần số H (ω), khi kích thích với một tín hiệu đầu vào với phổ X(ω) với phổ đầu ra Y(ω) = X(ω)H(ω) Chuỗi đầu ra y(n) được xác định từ phổ của nó thông qua biến đổi Fourier ngược Theo tính toán, vấn đề với cách tiếp cận miền tần số Y(ω), X(ω), H(ω) là tính năng biến đổi liên tục của ω Như một hệ quả, các tính toán không thể được thực hiện trên máy tính số với lý do các máy tính chỉ có tính năng lưu trữ và thực hiện phép tính ở miền rời rạc
Mặt khác, DFT không cho phép dùng nó để tính toán trên máy tính Do vậy cách thức mà DFT có thể được sử dụng để thực hiện lọc tuyến tính trong miền tần số Đặc biệt, một phương thức tính toán như là thay thế cho tích chập miền thời gian Trong thực tế, các phương pháp tiếp cận miền tần số dựa trên các tính toán DFT thì hiệu quả hơn so với tính tích chập miền thời gian, các thuật toán này gọi chung là biến đổi Fourier nhanh ( FFT )
Trang 190 1
2 3
n
y(n)
4
3
2
1