You are on page 1of 11

8.2 Biến đổi Fourier .

Nếu g(t) là 1 tín hiệu không tuần hoàn biểu diễn như 1 hàm thời gian t ,
biến đổi Fourier của g(t) như sau :

G(t) = ∫ g (t ) exp(− j 2Πft )dt (8.23)


−∞

Trong đó :

J= − 1 và f là tần số .
g(t) có thể đạt được từ biến đổi Fourier G(f) bằng biến
đổi ngược :

G(t)= ∫ G( f ) exp( j 2πft )df (8.24)


−∞

Để chuyển tín hiệu g(t) thành biến đổi F , nó phải thỏa mãn điều kiện
Direchlet được nói đến trong mục 8.1 . Nếu g(t) liên tục và không tuần
hoàn thì G(f) sẽ liên tục và tuần hoàn . Tuy nhiên , nếu g(t) liên tục và
tuần hoàn thì G(f) sẽ gián đoạn và không tuần hoàn :

g(t) = g(t ± n Tp ) (8.25)

Trong đó T p = chu kỳ .

Và biến đổi Fourier sẽ là :



1 1
G(f) = T ∑ c δ( f − T
n = −∞
n ) (8.26)
p p

Trong đó :
Tp
2
1
cn =
Tp ∫ g (t ) exp(− j 2πnf t )dt
Tp
0 (8.27)

2

8.2.1 Tính chất của biến đổi Fourier :

Nếu g(t) và G(f) là cặp biến đổi Fourier thì có biểu diễn :
g(t) ⇔ G(f) (8.28)

Và biến đổi Fourier sẽ có các tính chất sau :

+ Tuyến tính :

ag1 (t ) + bg 2 (t ) ⇔ aG1 ( f ) + bG2 ( f ) (8.29)

trong đó a và b là các hằng số .

+ Nhân hằng số :

1 f
g (at ) ⇔ G( ) (8.31)
a a

+ Đối ngẫu :

g (t − t 0 ) ⇔ G ( f ) exp(−2 jπft 0 ) (8.32)

+ Dịch thời gian :

g (t − t 0 ) ⇔ G ( f ) exp(− j 2πft 0 ) (8.33)

+ Dịch tần số :

exp( j 2 f c t ) g (t ) ⇔ G ( f − f c ) (8.34)

+ Tích phân :
t
1 G (0)
∫ g (τ )dτ ⇔
=∞
j 2πf
G( f ) +
2
δ ( f )δ ( F ) (8.35)

+ Nhân :

g1 (t ) g 2 (t ) ⇔ ∫ G (λ )G
−∞
1 2 ( f − λ ) dλ (8.36)

+ Tích chập :

∫ g (τ ) g
−∞
1 2 (t − τ )dτ ⇔ G1 ( f )G2 ( f ) (8.37)
8.3 Biến đổi Fourier rời rạc .

Chuỗi Fourier liên kết tín hiệu thời gian liên tục trong miền tần số gián
đoạn . Tính chu kỳ của tín hiệu miền thời gian cưỡng bức phổ tín hiệu
thành rời rạc . Biến đổi Fourier rời rạc của tín hiệu thời gian rời rạc g(n)
được cho dưới đây :
N −1
G[k ] = ∑ g[n] exp(−2 jπnk / N ) k= 0,1,…,N-1 (8.31)
n =0

Biến đổi Fourier ngược , g[n] là :


N −1
g[n] = ∑ G[k ] exp( j 2πnk / N ) n=0,1,..,N-1 (8.39)
k =0

Trong đó :

N : số phần tử của dãy g[n] . Nó cũng là tổng số giá trị của tần
số trong G[k].
T : là khoảng thời gian giữa 2 lần liên tiếp của tín hiệu vào g[n]
F : tần số của 2 lần liên tiếp của tín hiệu ra G[k]

N , T , và F có mối quan hệ như sau :

1
NT = (8.40)
F

NT cũng bằng chiều dài được ghi . Đoạn thời gian , T , giữa 2 tín hiệu
nên được chọn sao cho thỏa mãn Định lí Shannon . Nghĩa là T sẽ phải
nhỏ hơn 2 f H , với f H là tần số lớn nhất trong tín hiệu liên tục g(t) nhận
được từ g[n] . Một vài thuật toán DFT yêu cầu N là số nguyên lần lũy
thừa của 2 .

1 hàm rời rạc sẽ có 1 phổ tuần hoàn . Trong DFT , cả hàm thời gian và
hàm tần số đều tuần hoàn . Vì tính tuần hoàn của DFT , nó thường được
coi như điểm từ n=1 tới n = N 2 là quãng tần số dương và từ n=N/2 đến
n=N-1 là quãng tần số âm . Thêm vào đó giá trị của DFT ở điểm n=N/2
tới n=N-1 bằng giá trị của DFT ở điểm từ n=N/2 tới n=1.

Nhìn chung , nếu dãy thời gian là biến thực thì DFT sẽ có các thành phần
thực và các thành phần ảo lẻ.Tương tự , 1 dãy giá trị thời gian ảo giá trị
DFT sẽ có các thành phần thực lẻ và các thành thần ảo .
Nếu chúng ta định nghĩa hàm hiệu chỉnh WN là :

(8.41)

Từ đó (8.38) và (8.39) sẽ được biểu diễn lại như sau :

Và :

Dạng biến đổi nhanh Fourier , FFT , là 1 công cụ có hiệu quả cho việc
tính toán chuỗi Fourier rời rạc . FFT giúp giảm khối lượng tính toán cần
để tính DFT . Ví dụ nếu dãy có N điểm , và N là 1 lũy thừa nguyên của 2
N
, vì thế DFT yêu cầu N 2 phép toán , trong khi đó FFT chỉ cần Log 2 ( N )
2
phép nhân phức tạp , chừng đó phép cộng phức tạp và cần đó phép trừ
phức tạp . Nếu N = 1024 , việc tính toán giảm của DFT so với FFT là từ
200 xuống 1 .

FFT có thể được dùng để (a) tìm được dãy lũy thừa của 1 tín hiệu , (b) lọc
tín hiệu và (c) tìm mối liên hệ giữa hai tín hiệu .

8.3.1 Hàm MATLAB fft .

Hàm MATLAB để tính FFT là fft(x) trong đó x là vector được biến đổi .
Cũng có nghĩa là lệnh MATLAB có thể được dùng để tìm N điểm fft .
Nếu vector x bị cắt hoặc là 0 hoặc được cộng thêm với N nếu cần thiết .

Hàm MATLAB cho biến đổi fft ngược là :

ift(x)
được dùng để tìm fft và vẽ đồ thị của Z m và Z p của DFT của x . Mẫu biến
đổi ngược là ts . Nó mặc định giá trị bằng 1 . Phổ của nó được vẽ từ tần
số F . 3 ví dụ dưới đây biểu diễn cách dùng của hàm MATLAB fft .

Ví dụ 8.4 :
Cho dãy x[n] = (1,2,1) .
(a) tính DFT của x[n]
(b) dung thuật toán fft để tìm DFT của x[n]
(c) so sánh kết quả của (a) và (b)

Giải :

(a) từ công thức (8.42)

Từ công thức (8.41)

Dùng (8.41) chúng ta có :


(b) Chương trình MATLAB để tính DFT của x[n] là :

Kết quả :

(b) có thể thấy là kết quả lấy được từ (a) và (b) là đồng nhất .

Ví dụ 8.5

Tín hiệu g(t) được cho như sau :

(a) tìm DFT của g(t)


(b) tìm biến đổi Fourier của g(t) có T = 0.05s với N = 1000
(c) tìm DFT của g(t) có T = 0.2s với N = 250
(d) so sánh kết quả của các câu (a) (b) và (c)

Giải :

(a) g(t) có thể được biểu diễn :

Dùng tính chất dịch tần số của biến đổi Fourier ta được :

(b,c) Chương trình MATLAB dung để tính DFT của hàm g(t) là :
Hai phổ được biểu diễn trong hình 8.7
(c) từ hình 8.7 , ta có thể thấy với chu kì là 0.05s , không có phổ hình
răng cưa của G[k] trong phần (b) ở hầu hết các G(f) hay phần (a) ,
chỉ có phổ răng cưa của G[k] là khác so với G(f)

Ví dụ 8.6

Cho tín hiệu nhiễu

trong đó f1 = 100Hz
n(t) không phải tín hiệu nhiễu trắng thông thường . Khoảng thời gian
của g(t) là 0.5s . Dùng hàm MATLAB để chống nhiễu tín hiệu . Dùng
MATLAB để tìm mật độ phổ của g(t) .
Giải :

Chương trình MATLAB có thể làm được việc này :

Đồ thị của hàm được biểu diễn dưới hình 8.8 biên độ của tín hiệu
nhiễu có thể được chuyển đổi để quan sát ảnh hưởng của nó trong phổ
:

You might also like