Xử lý tín hiệu số & Hệ thống - Nguyễn Duy Bình

Project 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]

% ==> constraint N>=L

% H: DTFT values (complex)

% W: (2nd output) vector of freqs where DTFT is computed

%

N=fix(N);

L=length(h);

h=h(:);

if(N

error('DTFT: # data samles cannot exceed # freq samples')

end

W=(2*pi/N)*[0:(N-1)]';

mid=ceil(N/2)+1;

W(mid:N)=W(mid:N)-2*pi;

W=fftshift(W);

H=fftshift(fft(h,N));

Chúng ta không cần phải đưa vào biến độ dài L, vì nó sẽ được xác định bằng tính độ dài vector h.

Ngoài ra, khi tín DTFT là hàm tuần hoàn vùng từ là vùng tần số âm, nên phải sử dụng

hàm fftshift để sắp xếp lại miền tần số theo thứ tự. Sử dụng DTFT tính vector H, vẽ đồ thị trên

miền [- ] với chú ý là H(1) là tần số lấy mẫu ứng với

pdf38 trang | Chuyên mục: Xử Lý Tín Hiệu Số | Chia sẻ: yen2110 | Lượt xem: 461 | Lượt tải: 1download
Tóm tắt nội dung Xử lý tín hiệu số & Hệ thống - Nguyễn Duy Bình, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 (3-6) 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 27 
Sử dụng hàm [Y,W] = freqz(b,a,n) để lấy ra vector tần số mẫu W. 
Với A = 3,r = 0.95, 2 / 7  , / 3  ta tính được 
b = [3*cos(pi/3) , -3*0.95*cos(2*pi/7 - pi/3)] = [1.5 1.0412] 
a = [1, -2*0.95*cos(2*pi/7), 0.95^2] = [1.0000 -1.1846 0.9025] 
 b = [3*cos(pi/3) , -3*0.95*cos(2*pi/7 + pi/3)]; 
a = [1, -2*0.95*cos(2*pi/7), 0.95^2] ; 
n = 512; 
[Y,W] = freqz(b,a,n); 
- Đồ thị biên độ, pha của tín hiệu ra theo tần số  
subplot (211);plot(W,abs(Y)); 
grid, title('MAGNITUDE RESPONSE BY FREQZ'),xlabel('NORMALIZED FREQUENCY'), 
ylabel('|Y(e^-jw)|') 
subplot(212);plot(W,angle(Y)*180/pi); 
grid, title('PHASE RESPONSE BY FREQZ' ),xlabel('NORMALIZED FREQUENCY'), 
ylabel('PHASE (DEGREE)') 
3.3.b Ta có 
- Tách tín hiệu 
/3 2 /7 /3 2 /73 32[ ] 3(0.95) cos( ) [ ] (0.95 ) [ ] (0.95 ) [ ]7 3 2 2
n j j n j j nny n u n e e u n e e u n          
 = ½( [n]x + *[n]x ) 
* *[n] ( ) [n] ( )DTFT DTFTj jx X e x X e    (3-3); 
 *
1( ) ( ) ( )
2
j j jY e X e X e      
- Sử dụng freqz tính DTFT của tín hiệu [n]x : 
 [XX,W1] = freqz([3*exp(sqrt(-1)*pi/3)], [1, -0.95 * exp(2*pi*sqrt(-1)/7)],n*2,'whole'); 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 28 
X1 = XX(1:n); %lấy ra tín hiệu ra ( )jX e  trong khoảng tần số [0, ] 
X2 = XX(n+1:2*n); %lấy ra tín hiệu ra *( )jX e  trong khoảng tần số [0, ] 
Temp = real(X2) - imag(X2)*sqrt(-1); 
X2 = Temp; 
Y2 = 1/2*(X1 + X2(n:-1:1)); 
subplot (211);plot(W,abs(Y2)); 
grid, title('MAGNITUDE RESPONSE BY VIA THE CONJUGATE’),xlabel(‘FREQUENCY'), 
ylabel('|Y(e^-jw)|') 
subplot(212);plot(W,angle(Y2)*180/pi); 
grid, title('PHASE RESPONSE BY VIA THE CONJUGATE’),xlabel(‘FREQUENCY'), 
ylabel('PHASE (DEGREE)') 
Đồ 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. 
4.1 Modulation Property 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 29 
Nhiề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]= 
 Có phổ tần số là :
-1
2
1
-2
1
2
sin( )( )
sin( )
lii lR e e  

 
Xét tín hiệu 0[ ] [ ]* inx n r n e  
Có phổ tần số là : 
0
0 0
0
( )1 1
( )
( )
0 0
1( ) [ ]* *
1
ill l
in ini in in
i
eX e x n e e e e
e
 
    
 
   
  
 


   
  
0 0 0
0
0 0 0
( ) ( ) ( ) 0 ( 1)( )2 2 2
2
( ) ( ) ( )
02 2 2
( )sin( )
2* ( )sin( )
2
il il il
i l
i i i
l
e e e e
e e e
     
 
     
 
 
    
 
  
 


 


Vậy ta đã có 
0( )( ) ( )iiX e R e    
Với tín hiệu đang xét ta có ,L=21 (l=20) : 
Đồ thị biên độ ( )iR e  
r=[0:20/1024:20]; 
l=21;omega0=2*pi/sqrt(31);[H,W]=DTFT(r,1025); 
R=sin(l*(W-omega0)/2)./sin((W-omega0)/2).* exp(j*(l-1)*(W-omega0)/2); 
plot(G,abs(R) 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 30 
từ đồ thị ta thấy đỉnh của DTFT tín hiệu [ ]x n đã dịch sang phải một khoảng 0 1.129  
Với ta có đồ thị mới 
r=[0:20/1024:20]; 
l=21;omega0=2*pi/sqrt(31);[H,W]=DTFT(r,1025); 
W=W+2*pi; 
R=sin(l*(W-omega0)/2)./sin((W-omega0)/2).* exp(j*(l-1)*(W-omega0)/2); 
plot(G,abs(R)),grid on 
Từ đồ thị ta thấy đồ thị của DTFT tín hiệu cũng giống đồ thị của DTFT tín hiệu 
 chứng tỏ DTFT tuần hoàn với chu kì 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 31 
b. Lặp lại nhưng nhân với tín hiệu cosin cùng tần số 
x[n]= r[n]*cos(n) 
1 1
0 0
1( ) [ ]* cos( ) * ( ) *
2
l l
i in in in in inX e x n e n e e e e   
  
   

      
( 1) ( 1)1
( 1) ( 1)
( 1) ( 1)
0
1 1 1 1( ) ( )
2 2 1 1
il ill
in in
i i
e ee e
e e
 
 
 
   
   
   
 
   
  
1 1( 1) ( 1)
2 2
( 1) ( 1)sin( sin(1 2 2( )1 12 sin( ) sin( )
2 2
l li i
l l
e e
l l
 
 
 
 
   
 
 
 
Đây chính là điều chế biên độ hai dải biên. Theo kết quả thu được ta dự đoán đồ thị sẽ là đối 
xứng nhau qua trục tung và có biên độ bằng 0.5 so với đồ thị DTFT của r[n]. Ngoài ra còn có hiện 
tượng điều dịch chuyển tần số về 2 phía trục hoành một khoảng là 1. 
Đồ 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 : 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 32 
ở đâ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 . 
Đồ thị biên độ 
Đồ thị biên độ 
teta=2*pi/sqrt(31); 
x=ones(1,32); 
y=[0:1:31]; 
z=exp(i*teta*y).*x; 
[H,W]=DTFT(z,1024); 
plot(W,abs(H)),grid on; 
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs(H(w))'),grid on 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 33 
Từ đồ 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. 
Áp dụng hàm cửa sổ ở trên vào 1 hàm sin có tần số là . Vẽ đồ thị thời gian và 
tính DTFT của nó sau đó vẽ đồ thị biên độ. 
Đồ thị trong miền thời gian 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 34 
Đồ thị biên độ DTFT của tín hiệu w[n] 
nn=[0:1:31]; 
x=1/2-1/2*cos(2*pi/32*nn); 
[H,W]=DTFT(x,1024); 
plot(W,abs(H)); 
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs(H(w))'),grid on 
Đồ thị DTFT của tín hiệu x[n]=w[n]. 
nn=[0:1:31]; 
x=(1/2-1/2*cos(2*pi/32*nn)).*sin(2*pi/sqrt(31)*nn); 
[H,W]=DTFT(x,1024); 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 35 
plot(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: 
Ta chia tín hiệu thành 3 tín hiệu 
 khi đó 
w[n]=w1[n]+w2[n]+w3[n]. Do đó . Biên độ 
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ố 
phức như sau : 
 , , , 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 36 
. 
Khi đó 
2 2 2( ) ( ) ( ) (1 os( ))
2 4 4 2
i R R R RR e c
L L L
                 
Cho ta thấy ( )iR e  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 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 37 
4.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. 
a=0.977;L=32; 
nn=[0:1:L-1]; 
x=a.^nn; 
[X,W]=DTFT(x,2048); 
subplot(221),plot(W,abs(X)),grid on 
xlabel('L=32'); 
L=64; 
nn=[0:1:L-1]; 
x=a.^nn; 
[X,W]=DTFT(x,2048); 
subplot(222),plot(W,abs(X)),grid on 
xlabel('L=64'); 
L=128; 
nn=[0:1:L-1]; 
x=a.^nn; 
[X,W]=DTFT(x,2048); 
subplot(223),plot(W,abs(X)),grid on, 
xlabel('L=128'); 
L=256; 
nn=[0:1:L-1]; 
x=a.^nn; 
[X,W]=DTFT(x,2048*4); 
subplot(224),plot(W,abs(X)),grid on, 
xlabel('L=256'); 
Xử Lý Tín Hiệu Số & Hệ Thống 
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 38 
Ta 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. 

File đính kèm:

  • pdfxu_ly_tin_hieu_so_he_thong_nguyen_duy_binh.pdf