Xử Lý Tín Hiệu Số & Hệ Thống
Trang 1Project 1 COMPUTING THE DTFT: FINITE-LENGTH SIGNALS
Trong project này chúng ta sẽ tập trung xử lý tín hiệu có độ dài hữu hạn Điều này sẽ sử dụng hàm DTFT cho ở dưới đây Project làm việc với những tín hiệu dạng xung và phổ tần số DTFT của chúng vì đây là những ví dụ dễ nhất cho tính toán phổ tần số của tín hiệu
Chú ý:
Chúng ta cần 2 hàm để tính DTFT Hàm MATLAB freqz sẽ dùng để xác định trong trường hợp tín hiệu infinite-length, nhưng một hàm mới sẽ cần để tính DTFT của tín hiệu finite-length Hàm được gọi là DTFT(h,N)
function [H,W]=DTFT(h,N)
% DTFT calculate DTFT at N equally spaced frequencies
% usage: H=DTFT(h,N)
% h: finite-length input vector, whose length is L
% N: number of frequencies for evaluation over [-pi,pi]
Trang 2-1
2 1
2 1 2 2 2
-
sin( )
sin( ) sin( ) sin ( , )
L
e
e L
w w
q q q
q w
sin( ) ( )
sin( )
L
w w
Trang 3[H,W]=DTFT(x,1024);
plot(W,abs(H));
grid on,xlabel('NORMALIZED FREQUENCY'),ylabel('abs(H(w))')
Qua hai đồ thị biên độ ta thấy các điểm không của hàm asinc(ω,L) là cách đều nhau và
biên độ tại đó bằng 0 Đỉnh của biên độ đạt được là 15
d Xác định các điểm không của hàm asinc(ω,L)
Các điểm không thỏa mãn hệ sau :
1 sin( ) 0 2
1 sin( ) 0 2
L w w
ïï í
2.2 M-file for asinc , Xây dựng M-file cho hàm asinc
Xây dựng hàm asinc(w,L) để tính giá trị hàm trực tiếp theo công thức giải tích Hàm gồm có 2
biến đầu vào là : độ dài L và vector tần số Tại điểm ta sẽ cho giá trị hàm số bằng L
Hàm tính asinc(w,L)
Trang 4grid on,xlabel('NORMALIZED FREQUENCY'),ylabel('abs(H(w))')
Qua hai đồ thị biên độ tính theo hai cách trực tiếp và qua hàm DTFT ta thấy kết quả thu được từ
2 phương pháp là đồng nhất
Project 2 DTFT SYMMETRIE, DTFT ĐỐI XỨNG
Trang 5Các tín hiệu finite-length thường được sử dụng có tính chất đối xứng để dễ tính DTFT hơn Ví dụ các xung hình chữ nhật là chẵn xung quanh điểm n=0 thì tính toán DTFT của nó sẽ là hàm thực ,chẵn theo đối số Trong project 2, sáu loại đối xứng chính sẽ được xem xét và minh họa bởi các ví dụ khác nhau
Chú ý :
Cần thiết phải thay đổi hàm DTFT dể có thể chấp nhân một biến mới xác định thời điểm bắt đầu của tín hiệu x[n] Thông thường các tín hiệu bắt đầu được tính tại thời điểm n=0 bởi hàm DTFT trong Project 1
Một kĩ năng cần thiết nữa trong Project 2 là vẽ đồ thị DTFT để biểu diễn tính đối xứng Thông thương, các tần số góc được xác định trong khoảng từ 0 tới 2p Tuy nhiên dể nghiên cứu tính đối xứng của đồ thị DTFT chúng ta cần phải đưa chúng các tần số góc về khoảng từ - ® p p Khi kiểm tra các đặc tính thực và ảo của biến đổi có thể phần tín hiệu là bằng không lại không thực sự bằng 0 Điều đó có thể xảy ra do một số các giá trị vô cùng nhỏ trong quá trình làm tròn Nếu các giá trị đó nằm trong khoảng từ thì có thể bỏ qua và kết luận là do làm tròn số gây ra Tuy nhiên nếu cỡ thì chưa chắc đã là do làm tròn, trừ khi đã có một số lượng lớn các phép tính đã được thực hiện
Khi kiểm tra biến đổi là chẵn hay lẻ, nên sử dụng một chương trình để dịch chuyên biến đổi Nghĩa là ta cần phải có một hàm MATLAB mới để thực hiện tương tự với biểu diễn toán hạng của dịch chuyển tần sô Y e ( iw) = X e ( -iw) Hàm số sẽ thực hiện biến đổi với cặp vector (H,W)
function [G, Wflipped ]= flipDTFT(H,W)
% FlipDTFT flip the DTFT G(w)=H(-w)
% now get everything back into the [-pi,pi) interval
% assume that W was monotonically increasing
% so Wflipped is also increasing
Trang 6biến mới xác định thời điểm bắt đầu của tín hiệu Thời điểm ban đầu này sẽ làm thay đổi giá trị hàm DTFT theo hệ thức
% h finite-length input vector
% n0 xac dinh thoi diem bat dau tin hieu
% N number of freuencies for evaluation over [-pi,pi]
x=ones(1,21);
[H,W]=DTFT_n0(x,10,25);
H Kết quả tính với r[n] ,n0=10,N=25 như sau :
Trang 7d Chứng minh phần ảo là bằng 0 và pha biến thien từ 0 tới p
Trang 8Do dó pha của R e ( iw) biến thiên từ 0 tới
Cũng cần phải chú ý là sự đối xứng này chỉ có thể quan sát khi số xung là lẻ, nếu số xung là chẵn thì còn phải kể tới một sự trễ pha của nửa tín hiệu
a Vẽ đồ thị 21 điểm xung trong khoảng - £ £ 20 n 20 Sau đó tính DTFT của nó bằng hàm DTFT_n0 và vẽ đồ thị kết quả trong khoảng - £ < p w p
Đồ thị:
Đồ thị phần ảo của DTFT
Trang 9Đồ thị phần thực của DTFT
Đồ thị biên độ của DTFT
Trang 102.3 Symmetries in th DTFT
Có nhiều các đặc tính đối xứng trong miền thời gian và tần số Một nhóm các đặc tính dùng cho các hàm thuần thực hoặc thuần ảo, những thuộc tính khác cho hàm chẵn hoặc hàm lẻ Ví dụ, DTFT của hàm chẵn là hàm chẵn Mỗi ví dụ dưới đây sẽ tập trung vào một loại đối xứng Đối xứng trong miền tần số có thể được thể hiện bằng vẽ đồ thị phần thực và phần ảo (hoặc biên độ và pha) va sử dụng thêm hàm flipDTFT để kiểm tra
a DTFT của một tín hiệu thực là một đối xứng liên hợp, , nghĩa là liên hợp của DTFT giống như là dịch chuyển nó Ví dụ với tín hiệu x[n]= với
Vẽ đồ thị biên độ và pha của DTFT và chứng tỏ rằng nó giống liên hợp phức đối xứng
Trang 11xlabel('NORMALIZED FREQUENCY'),ylabel('Arg of flipDTFT (H(w))'),grid on
Dựa vào đồ thị ta có thể thấy đồ thị biên độ của DTFT và đồ thị liên hợp đối xứng là bằng nhau, đồ thị pha của DTFT và của liên hợp phức đối xứng là đối nhau qua trục tung Đó chính là tính chất cần tìm
b Nếu tín hiệu là thuần ảo, DTFT của nó sẽ là liên hợp phản đối xứng Sử dụng hàm x[n] từ phần trên, định nghĩa hàm y[n] =jx[n]
Trang 13Ta thấy biên độ của DTFT và của liên hợp phức phản đối xứng là bằng nhau pha của chúng đối nhau Đó là tính chất cần tìm
c Một hàm chẵn trong miền thời gian cũng cho một hàm chẵn trong miền tần số sừ dụng
Trang 16Từ đồ thị ta thấy phần thực của DTFT có thể coi là bằng 0 còn phần ảo thì đối xứng qua gốc tọa độ Chứng tỏ DTFT là hàm lẻ theo
e Các tính chất chẵn/lẻ và thực/ảo có thể kết hợp lại xét tín hiệu
Trang 18Đồ thị pha
Từ đồ thị ta thấy
1 Biên độ DTFT và biên độ flipDTFT là bằng nhau, pha DTFT đối xứng với phần ảo
flipDTFT qua trục tung Đây là tính chất của hàm thuần ảo (câu C)
2 Biên độ của DTFT và của flipDTFT là bằng nhau,pha của chúng là đối nhau Đó là tính chất của hàm lẻ -thời gian (câu d)
Trang 19Project 3 : DTFT TDTFT OF INFINITE-LENGTH SIGNAL
3.1 Tín hiệu mũ
Sử dụng hàm freqz để tính toán DTFT X e ( jw) của tín hiệu x [n] = (0.9)nu [n]
3.1.a Vẽ đồ thị biên độ, pha của theo tần số w trong khoảng [ - p p , ]
- Trước hết ta lấy vector giá trị biến đổi HH, tần số lấy mẫu WW (trên đường tròn đơn vị [ 0, 2 p ]) dung hàm freqz(b,a,n,’whole’);
- Đồ thị biên độ, pha theo tần số w trong khoảng [ 0, 2 p ]
- Biến đổi HH, WW : chuyển vector tần số lấy mẫu từ khoảng[ 0, 2 p ] về [ - p p , ]
Trang 201 ( )
Trang 21
- Kết quả thu được hoàn toàn giống với kết quả sử dụng freqz
3.2 Số mũ phức
Nếu cho hệ số a trong công thức (3.1) bởi số phức 0 j
a = z = req thì sự biến đổi vẫn không đổi Điều này rất có ý nghĩa trong việc xác định tác động của biên độ r và pha q của số phức lên DTFT
Trang 223.2.b Tiếp tục với tín hiệu x [n] = z0nu [n], 3 11
0 0.95 j
z = e p , ta tính DTFT và vẽ đồ thị biên độ tín hiệu ra theo tần số w
Trang 23- Trên Matlab ta có thể xác định được tọa độ đỉnh của đồ thị :
%peak location of magnitude
MaxMagnitue = max(abs(HH))
PeakLocation = WW(find(abs(HH) == MaxMagnitue))
- Kết quả thu được : MaxMagnitue = 19.9811 and PeakLocation = 0.8590
z = e p thì max X e ( ( jw) ) = 20 đạt được khi w = angle z ( )0 = 0.8590 Điêu này phù hợp
với kết quả tính DTFT bằng freqz
0 0.95 j
z = e p , từ công thức (3-2-b) ta có thể mô tả đồ thị biên độ của tín hiệu ra sau khi biến đổi DTFT như sau:
- Đồ thị có đỉnh max X e ( ( jw) ) = 20 tại w = angle z ( ) 1.88500 =
- Tại các giá trị tấn số ngoài lân cận q biên độ giảm hẳn, độ lớn xâp xỉ 0.5
- Điều này được kiểm chứng băng việc vẽ đồ thị biên độ tín hiệu ra từ hàm freqz
z = 0.95 * exp(sqrt(-1) * 3 * pi/5);
a = [1,-z];
b = [1];
N = 512;
Trang 24%peak location of magnitude
MaxMagnitue = max(abs(HH))
PeakLocation = WW(find(abs(HH) == MaxMagnitue))
MaxMagnitue = 19.9091 and PeakLocation = 1.8890
3.2.d Thay đổi biên độ của số phức r = 0.975, 0.95, 0.9, 0.8 , ta thực hiện vẽ đồ thị biên độ tín hiệu ra từ biến đổi DTFT
Trang 25r r r
w q
w q
w q w
Trang 26Sử dụng hàm [Y,W] = freqz(b,a,n) để lấy ra vector tần số mẫu W
Trang 27X1 = XX(1:n); %lấy ra tín hiệu ra X e ( jw)trong khoảng tần số [0, ] p
Đồ thị biên độ và đồ thị pha thu được từ 2 cách tính DTFT là giống nhau
Về số liệu sử dụng matlab kiểm tra :
abs(Y2)-abs(Y), angle(Y2)-angle(Y)
Thì sai số thu được từ 2 phương pháp tính là không đáng kể
Project 4 WINDOWING FOR DTFT
Trong project này, có hai đặc tính của DTFT được minh họa : tính điều chế và đặc tính cửa sổ Tính chất điều biến, có hiệu lực trong 1 trường hợp đặc biệt của hàm cửa sổ ở chỗ miền tần số chập lại tới 1 tần số đơn giản
Trang 28Nhiều đặc tính DTFT có ý nghĩa và ứng dụng hữu ích, một trong số đó là biến điệu biên độ, có thể tìm thấy trong truyền thông và radar Nếu tín hiệu x[n] được nhân với một hàm sin phức , thì kết quả biến đổi là một sự dịch chuyển ; trở thành
a Chứng minh khẳng định trên với tín hiệu xung hình chữ nhật với độ dài L=21 và tần số lọc
Vẽ đồ thị kết quả nhờ DTFT Kiểm tra đỉnh của biên độ DTFT đã được dịch chuyển một đoạn Thử các giá trị để biểu diễn tính tuần hoàn của DTFT
Xét tín hiệu xung chữ nhật định nghĩa là r[n]=
1 - 2 1 2
sin( ) ( )
Trang 29từ đồ thị ta thấy đỉnh của DTFT tín hiệu x n [ ] đã dịch sang phải một khoảng w0= 1.129
Trang 30b Lặp lại nhưng nhân với tín hiệu cosin cùng tần số
Đồ thị biểu diễn biên độ
4.2 Windowing Gives Frequency-Domain Convolution
Đặc tính cửa sổ của DTFT của tích hai tín hiệu trong miền thời gian là tích chập trong miền tần số tuần hoàn của tích phân Fourier của chúng
a Không thể tính được tích chập trong miền tần số theo công thức trên vì các giá trị của chúng ta là rời rạc Tuy nhiên, một trường hợp mà kết quả trong miền tần số có thể xác định như một công thức – khi các tín hiệu không bị tác động của hàm cửa sổ là một hàm sin phức (ví dụ x[n]= Khi đó là một xung trong tần số.,sự nhân chập suy
ra Đó là tính chất điều chế Điều này dẫn tới biểu diễn DTFT của hàm cửa sổ dịch chuyển theo tần số
Tạo hàm cửa sổ hình sin với :
Trang 31ở đây r[n] là xung hình chữ nhật có độ dài là L=32 Xung hình chữ nhật này có thể tạo nhờ hàm ones hoặc boxcar Vẽ DTFT và chú ý rằng đỉnh bị dịch chuyển tới
Trang 32Từ đồ thị ta thấy đỉnh biên độ đã dịch chuyển một khoảng Tín hiệu xung hình sin tác động vào tín hiệu w[n]=r[n] đã cho ta tín hiệu y[n] mà DTFT của
nó đã dịch chuyển một khoảng phù hợp với công thức Đồng thời biên độ vẫn như nhau vì
b Cho hàm cửa sổ sau gọi là cửa sổ Hann
Trang 33Đồ thị biên độ DTFT của tín hiệu w[n]
Trang 34plot(W,abs(H));
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs(H(w))'),grid on
Do tác động vào tín hiệu w[n] một tín hiệu dạng sin nên tín hiêu thu được sẽ bị dịch chuyển về 2 phía của trục hoành một khoảng bằng tần số của tín hiệu hình sin Đồng thời biên độ của tín hiệu cũng bị giảm đi một nửa vì
c DTFT của hàm cửa số Hann có thể được viết bởi 3 hàm asinc Điều này được thực hiện bằng cách coi như một cửa sổ chữ nhật tác động vào tín hiệu và sau đó
sử dụng đặc tính điều biến
Ta thấy đồ thị biên độ được tạo ra từ đồ thị của tín hiệu xung chữ nhật như sau:
của sẽ bằng ½ biên độ của tín hiệu xung chữ nhật còn pha thì giống nhau, trong khi đó biên độ của và bằng ¼ của và pha của chúng thì lần lượt bị dịch chuyển một khoảng Ta biểu diễn chúng dưới dạng số
Trang 35Khi đó
Cho ta thấy R e ( iw) cùng pha với DTFT của tín hiệu w[n] xem hình trang 6
d Khi chúng ta cho tín hiệu
Sự thay đổi dấu trừ thành dấu cộng ở đây là quan trọng Vẽ đồ thị trong miền thời gian theo n với
ở đây L=32
Đồ thị biên độ DTFT
Trang 364.3 Convergence to True DTFT
Còn một trường hợp mà chưa được đề cập đến : trường hợp dùng DTFT cho1 phần tử hữu hạn của một tín hiệu vô hạn Trường hợp này thường được gặp trong thực tế vì chúng ta thường ghi lại (hoặc lưu trữ) một phần nhỏ của tín hiệu để phân tích Dù sao, chúng ta cũng muốn suy ra tín hiệu đúng từ 1 đoạn tín hiệu giới hạn
Hàm DTFT là đủ để biểu diễn DTFT của mọi tín hiệu hữu hạn Một ví dụ đơn giản của cửa sổ nhận được bằng việc lấy ra L điểm đầu tiên của lũy thừa dài vô han Khi độ dài tăng lên thì kết quả sẽ hội tụ đến dạng giải tích được đưa ra trước đó cho
Với a=0.977, vẽ log của độ lớn DTFT cho vài độ dài khác nhau L=32,64,128 và 256
Trang 37Ta thấy khi số lượng điểm được tăng lên thì đồ thị càng tiến gần đến đồ thi DTFT thu được từ công thức tính trực tiếp