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

LỌC TUYẾN TÍNH VỚI DFT xử lý tín hiệu số

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 (682.38 KB, 19 trang )

HỌ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


MỤ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




Trong 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:
• Discrete Time Signal Processing 2nd
• Advanced Digital Signal Processing and Noise Reduction, Second Edition
• Linear Convolution with DFT
• DFT based Linear Filtering


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. 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:
j

X (e ) 



 x ( n) e

 j n

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)

FT ( x(n))  X (e j )
FT
x(n) 
 X (e j )

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


Đặt


kn
N

W

e

 jk n

e

j

2
kn
N

Kí hiệu toán tử:

N 1DFT  x n   X k
 
 
X  k    x  n .WNkn 
n 0

DFT
x  n  

 X k 


Ví dụ 1: Cho dãy tuần hoàn chu kỳ N = 10
Tìm X  k 
Giải

9

4

n 0

n 0

X  k    x  n  .WNkn  1.e

j

0n4
5n9

1
x  n  
0

2
kn
10

X k  

1 e

1 e

j

2
k .5
10

j

2
k .5
10

 k  j 2 k
k
2 j sin e
sin
4
j k
2
2
X k  

e 10  A  k  e j  k   X  k  e j  k 

 k  j10 k sin  k
2 j sin e
10
10


k  0 9

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.

Từ định nghĩa:

N 1

X  k    x  n  .WNkn
n 0

Ta khai triển

X  0  x  0 WN0  x 1WN0  x  2 WN0 

 x  N  1WN0

X 1  x  0 WN0  x 1WN1  x  2 WN2 

 x  N  1WN N 1

X  2   x  0 WN0  x 1WN2  x  2 WN4 

 x  N  1WN2 N 1

X  N  1  x  0WN0  x 1WNN 1  x  2WN2 N 1 

 x  N  1WN N 1 N 1



Ta kí hiệu:

 X 0 


 X 1 
X  k    X  2 




 X  N  1 



 x  0 


 x 1 
x  n    x  2 




 x  N  1 



WN0

WN0
WN0
 0
WN1
WN2
WN
WN  WN0
WN2
WN4



WN0 WN N 1 WN2 N 1



WN N 1 

WN2 N 1 


WN N 1 N 1 

Biến đổi Fourier rời rạc ngƣợc IDFT đƣợc định nghĩa nhƣ sau:

2
j kn
1 N 1
x  n    X  k  .e N
N k 0


Kí hiệu:

Hay

1 N 1
x  n    X  k  .WN kn
N k 0
IDFT
X  k  
 x  n

IDFT  X  k   x  n 

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.
N 1

X
(
k
)

 x( n )W Nkn : 0  k  N  1
Cặp biến đổi Fourier rời rạc: 
n 0

N 1
 x( n )  1

X ( k )W N kn : 0  n  N  1


N k 0


Ví dụ 2: a) Tìm DFT của dãy x(n)=an rectN(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):

X( k ) 

N 1

a

n 0

n

W

kn
N



N 1

  aW


n 0

k
N



n

1 aN

1  aW Nk

WN0


1 aN
X( k ) 
2
1  2a cos
k  a2
N
Vẽ:

arg  X ( k )  arctg

a sin
a cos


2
k
N

2
k 1
N

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:


x  nN

D·y kh«ng
tuÇn hoµn

1

-1 0

1

2


3

4

N-1

n

N

Ta 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:
D·y tuÇn
hoµn

xnM
1

M ≥ N thƣờng chọn M =2
-1 0

1

2

4

DFT  x  n   X  k 

Biến đổi ngƣợc IDFT:


n

M-1 M

 N 1
kn
 x  n WN
X  k    n 0
0


Biến đổi xuôi DFT:
Ký hiệu:

3

0  k  N 1
k

DFT
x  n  
 X k 

1

x n   N
0



Ký hiệu: I DFT  X  k   x  n 

N 1

 X  k W

 kn
N

k 0

0  n  N 1
n

IDFT
X  k  
 x  n

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:x  n     n 

x(n)
1

-1 0

1

2

3


4

N-1

N

n


Áp dụng định nghĩa:

 N 1
kn
 x  n WN
X  k    n 0
0


0  k  N  1 X(k)
k

1

Chỉ có 1 giá trị x  n  n0  1
Ta có sơ đồ biểu diễn :


1
X k   

0

0  n  N 1
n

-1 0

1

2

N-1

1.4 Các tính chất của DFT
1.4.1 Tuyến tính
DFT
DFT
Nếu x1 ( n )N 
 X1( k ) N x2 ( n )N 
 X 2 ( k )N
DFT
Thì a1 x1 ( n )N  a2 x2 ( n )N 
 a1 X1( k )N  a2 X 2 ( k )N
Nếu Lx  N1  N 2  Lx thì N  max{ N1 , N 2 }
1

2

1.4.2 Dịch vòng
DFT

DFT
Nếu x( n )N 
WNkn X ( k ) N
 X ( k ) N thì x( n  n0 )N 
Với x( n  n0 )N  x( n  n0 )N rect N (n) gọi là dịch vòng của x(n)N đi n0 đơn vị
0

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

x(n)
4
3
2
1
n

N

n


Ta có

x(n-2)

x(n+3)
4
3

2
1
-3 -2 -1

n

0

4
3
2
1
0

n
1

2

x(n)
b)

4
3
2
1

n

0


1

2
N

3

4
3
2
1
0

4
3
2
1
0

3

4

5

x(n-1)4

n
1


2

3

 4,1,2,3
x( n  2 )   3, 4 ,1, 2
x( n  3 )4 
4

1

2

3






1.4.3 Chập vòng
DFT
DFT
Nếu x1 ( n )N 
 X1( k ) N x2 ( n )N 
 X 2 ( k )N
DFT
Thì x1 ( n )N  x2 ( n )N 
 X1( k )N X 2 ( k )N


Với x1 ( n )N  x2 ( n )N 

N 1

 x1 ( m )N x2 ( n  m )N

gọi là chập vòng 2 dãy x1(n) & x2(n)

m 0

Và x2 ( n  m )N  x2 ( n  m )N rect 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:
x1 ( n )N  x2 ( n )N  x2 ( n )N  x1 ( n )N
Nếu Lx  N1  N 2  Lx chọn N  max{ N1 , N 2 }
1

2









Ví dụ 5: Tìm chập vòng 2 dãy x1 (n)  2,3, 4 và x2 (n)  1, 2,3, 4

x3 ( n )N  x1 ( n )N  x2 ( n )N 






N 1

 x1 ( m )N x2 ( n  m )N với N-1n 0

m 0

Chọn độ dài N: N1  3, N 2  4  N  max{ N1 , N 2 }  4

x3 ( n )4  x1 ( n )4  x2 ( n )4 

 x1 ( m )4 x2 ( n  m )4 : 0  n  3

m 0

 2,3, 4,0 x ( m )   1,2,3,4
x ( m )  x ( m ) rect ( n )   1, 4 , 3, 2

Đổi biến n-> m x1 ( m ) 
Xác định

3

2

4


2



2

4

4



x
4
3
2
1



x2(-m)
m

0
0 1 2
1

m
m

3

4
3
2
1
0

m

-3 -2 -1 0
1

2

2

3

3


x 2 ( m )

4
3
2
1
x2 ( m )4  x2 ( m )rect 4 ( n )


4
3
2
1

 Xác định x2(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 x1(m) & x2(n-m) và cộng lại

x3 ( n )4 

3

 x1 ( m )4 x2 ( n  m )4 : 0  n  3

m 0

n=0: x3 ( 0 )4 
n=1: x3 (1 )4 
n=2: x3 ( 2 )4 
n=3: x3 ( 3 )4 

3

 x1 ( m )4 x2 ( 0  m )4  26

m 0
3

 x1 ( m )4 x2 (1  m )4  23


m 0
3

 x1 ( m )4 x2 ( 2  m )4  16

m 0
3

 x1 ( m )4 x2 ( 3  m )4  25

m 0

m


Vậy x3 ( n )4  x1 ( n )4  x2 ( n )4 

 26, 23,16, 25


1.4.5 Tính đối xứng
DFT
DFT
Nếu x( n )N 
 X ( k ) N thì x ( n )N 
 X  ( k )N

1.4.6 Quan hệ Parseval
DFT

Nếu x( n )N 
 X ( k ) N thì

N 1



n 0

2

x( n )N 

1
N

N 1

 X ( k )N

2

k 0

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à x2(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 x1(n) và x2(n) để có chiều dài tối thiểu là
N1+N2 - 1:
x1(n)N1 * x2(n)N2 = x1(n)N1+N2 -1  x2(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: x3 ( n )  x1( n )  x2 ( n )  { 1, 2 , 3, 2 ,1 }


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:

x1 ( n )5  { 1,1,1, 0 , 0 } và x2 ( n )5  { 1,1,1, 0 , 0 } x3 ( n )5  x1( n )5  x2 ( n )5  { 1, 2 , 3, 2 ,1 }







CHƯƠ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
2.1.1 Tín hiệu ngắn


h(n)

y(n)

M 1

y ( n)   h( k ) x ( n  k )
k 0

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


2.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


Đệ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

X (k )   x(n)e j 2 kn /8
n 0

Khai triển ta đƣợc

 1  2e

 j k /4


2 2
43 2
 j(
)
2
2
2 2
43 2
X(2) = -1 - j , X(3) =
 j(
)
2
2
2 2
43 2
 j(
)
X(4) = 0, X(5) =
2
2
2 2
43 2
 j(
)
X(6)= -1 + j , X(7) =
2
2

X(0) = 6 , X(1) =


8 điểm DFT của h(n)
7

H (k )   h(n)e j 2 kn /8
n 0

= 1  2e j kn/4  3e j k /2

 2e j k /2  e j 3 k /4


Khai triển
H(0) = 6, H(1) = 1  2  j (3  2) , H(2) = 2  j 2
H(3) = 1  2  j (3  2) , H(4) = 2
H(5) = 1  2  j (3  2) , H(6) = 2  j 2
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

y(n)   Y (k )e j 2 kn /8
k 0

y(n)  {1,4,9,11,8,3,0,0}

n= 0,1,2....7

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.


CHƯƠ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 )




×