Professional Documents
Culture Documents
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 :
∞
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 :
∞
Để 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 :
Trong đó T p = chu kỳ .
Trong đó :
Tp
2
1
cn =
Tp ∫ g (t ) exp(− j 2πnf t )dt
Tp
0 (8.27)
−
2
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)
+ Tuyến tính :
+ Nhân hằng số :
1 f
g (at ) ⇔ G( ) (8.31)
a a
+ Đối ngẫu :
+ 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
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]
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)
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 .
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 .
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 :
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
Giải :
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
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 :
Đồ 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ổ
: