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

xu ly tin hieu so he thong

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 (8.44 MB, 38 trang )

Xử Lý Tín Hiệu Số & Hệ Thống

Xử Lý Tín Hiệu Số
&
Hệ Thống

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

1


Xử Lý Tín Hiệu Số & Hệ Thống

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(Nerror('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

1.1 DTFT một xung
Cho tín hiệu độ rời rạc độ dài hữu hạn sau

1 with 0  n  L
r[n]  
0 elsewhere
a. Tìm phổ tần số của tín hiệu trên:

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53


2


Xử Lý Tín Hiệu Số & Hệ Thống


R(ei ) 

L -1

 r[n]* e-in   e-in 

n - 



e

- i L2

i 0

(e

-i 

i L2

-e


i

- i L2

-i 

e 2 (e 2 - e 2 )
sin( 12 L ) -i L2-1
R(ei ) 
e
sin( 12  )
a sin c( , L) 

)



1- e -iL
1- e -i

sin( 12 L ) -i L2-1
e
sin( 12  )

sin( L2 )
sin( 2 )

Vậy phổ tần số của tín hiệu đã cho là

R (ei ) 


sin( 12 L ) -i L2-1
e
sin( 12  )

Trong công thức trên ta có hàm số hay được dùng trong biến đổi DTFT gọi là hàm aliased sinc :

a sin c(, L) 

sin( L2 )
sin( 2 )

b. Dùng hàm DTFT tính DTFT của tín hiệu xung 12 điểm. Sau đó vẽ đồ thị theo tần số góc ω
trong khoảng từ -π tới π.

x=ones(1,12);
[H,W]=DTFT(x,1024);
plot(W,abs(H));
grid on,xlabel('NORMALIZED FREQUENCY'),ylabel('abs(H(w))')
đồ thị biên độ

c. Tính hàm DTFT với số điểm lẻ L=15
x=ones(1,15);
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

3


Xử Lý Tín Hiệu Số & Hệ Thống
[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)

1

sin( 2 L )  0
Các điểm không thỏa mãn hệ sau : 
sin( 1  )  0

2
Suy ra



2k
L

do đó các điểm 0 là cách đều nhau và giá trị của nó được cho bởi công

thức trên.

2.2

M-file for asinc , Xây dựng M-file cho hàm asinc

Xây dựng hàm asinc(  ,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ố

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

. Tại điểm

ta sẽ cho giá trị hàm số bằng L.

4


Xử Lý Tín Hiệu Số & Hệ Thống
Hàm tính asinc(  ,L)
function W = asinc(w,L)
L = fix(L);
len = length(w);
for i = 1:1:len
if(w(i)==0)
W(i) = L; %#ok<AGROW>
else
W(i) = sin(1/2*L*w(i))./ sin(1/2*w(i)); %#ok<AGROW>
end
end
Sử dụng hàm asinc(  ,L) ta tính trực tiếp phổ tần số của tín hiệu r[n] ban đầu. Sau đó vẽ đồ thị
biên độ và so sánh đồ thị thu được với đồ thị thu được từ sử dụng hàm DTFT trên.
Tính giá trị DTFT theo công thức trực tiếp:
x=ones(1,15);
[H,W]=DTFT(x,1024);%lấy vector tần số lấy mẫu.

H2=asinc(W,15).*exp(-j*W'*(15-1)/2);
plot(W,abs(H));
grid 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.

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

5


Xử Lý Tín Hiệu Số & Hệ Thống

Project 2

DTFT SYMMETRIE, DTFT ĐỐI XỨNG

Cá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 2  . 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ừ    .
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
i

 i

dịch chuyển tần sô Y (e )  X (e ) . 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)
% usage:
%
[ G,Wflipped] =flipDTFT(H,W)
%
H=DTFT values complex
%
W=frequency samples
%
G= DTFT values
%
Wflipped= flipped frequency domain lies within [-pi,pi)
%
N=length(H);

Wflipped=-W(N:-1:1);
G=H(N:-1:1);
%----% now get everything back into the [-pi,pi) interval
% assume that W was monotonically increasing
% so Wflipped is also increasing
%
jkl=find(Wflipped(:)'<-pi);
if(~isempty(jkl))
kk=[(length(jkl)+1):N jkl];
Wflipped(jkl)=Wflipped(jkl)+2*pi;
Wflipped=Wflipped(kk);
G=G(kk);
end
jkl=find(Wflipped(:)'>=(pi-100*eps));
if(~isempty(jkl))
kk=[jkl 1:(jkl(1)-1)];
Wflipped(jkl)=Wflipped(jkl)-2*pi;
Wflipped=Wflipped(kk);
G=G(kk);
end

2.1

Zero—Phase Signals, Tín hiệu pha 0

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

6



Xử Lý Tín Hiệu Số & Hệ Thống
Xử lý các tín hiệu zero-phase là một điều khó khăn trong MATLAB vì hàm DTFT trong Project 1
cho rằng tín hiệu bắt đầu từ n=0 trong khi các tín hiệu zero-phase phải có tính đối xứng xung
quanh điểm n=0. Một cách để xử lý vấn đề này là ta thay đổi hàm DTFT bằng cách thêm vào 1
biế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
DTFT
x[ n  n0 ] 
 e i n0 X (ei )

a. Xây dựng hàm DTFT_n0(x,n0,N) để thực hiện sự dịch chuyển thời gian của tín hiệu bằng
biến n0.
function [H,W]=DTFT_n0(h,n0,N) %#ok<INUSL>
%-% usage [H,W]=DTFT_n0(h,n0,N)
%
h
finite-length input vector
%
n0 xac dinh thoi diem bat dau tin hieu
%
N
number of freuencies for evaluation over [-pi,pi]
%
H
DTFT_n0 values
%
W
(2nd output) vector of frequencies for evaluation over
%
[-pi,pi]

%
N=fix(N);
[X,W]=DTFT(h,N);
H=exp(i*n0*W).*X; %#ok<NASGU>
b. Kiểm tra DTFT_n0 bằng cách tính DTFT của một xung 21 điểm bắt đầu tại n=-10. Kết quả
sẽ là một hàm thực chẵn

1 with -1  n  1
0 elsewhere

Ta sử dụng tín hiệu r[ n]  

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 :
n=1
0.2492 + 0.0000i
n=13
n=2
-0.6969 - 0.0000i
n=14
n=3
1.0000 + 0.0000i
n=15
n=4
-1.0856 - 0.0000i
n=16
n=5
0.9126 + 0.0000i

n=17
n=6
-0.4778 - 0.0000i
n=18
n=7
-0.1831 - 0.0000i
n=19
n=8
1.0000 + 0.0000i
n=20
n=9
-1.8782 - 0.0000i
n=21
n=10
2.7111 + 0.0000i
n=22
n=11
-3.3951 - 0.0000i
n=23
n=12
3.8438 + 0.0000i
n=24
n=25

21.0000
3.8438 - 0.0000i
-3.3951 + 0.0000i
2.7111 + 0.0000i
-1.8782 + 0.0000i
1.0000 - 0.0000i

-0.1831 - 0.0000i
-0.4778 - 0.0000i
0.9126 - 0.0000i
-1.0856 + 0.0000i
1.0000 - 0.0000i
-0.6969 - 0.0000i
0.2492 + 0.0000i

Theo bảng số liệu ta thấy phổ tần số là hoàn toàn thực và giá trị phần ảo là bằng 0. Đồng thời
các giá trị thu được cũng đối xứng qua điểm n=0 nen là hàm chẵn.Điều đó phù hợp với lý thuyết.
c. Vẽ đồ thị của DTFT trên
Đồ thị phần thực

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

7


Xử Lý Tín Hiệu Số & Hệ Thống

Đồ thị biên độ

Vậy từ đồ thị ta lại thấy rằng DTFT của tín hiệu r[n] là chẵn và đối xứng, phù hợp với lý
thuyết.
Giá trị phần ảo cỡ
không hoàn toàn bằng không nhưng đó là do sai số làm tròn trong
quá trình tính toán. Chúng ta hoàn toàn có thể bỏ qua nó mà không ảnh hưởng tới kết quả
thu được
d. Chứng minh phần ảo là bằng 0 và pha biến thien từ 0 tới 



L

R (ei )   r[n]* e in   e in


L

L

L

 1   (ein  e in )  1  2 cos(n )
1

1

Từ chứng minh trên ta thấy phần ảo là bằng 0. Pha của
cố định 1 tới L

R(ei ) biến thiên từ 0 của thành phần

. Mặt khác

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

8


Xử Lý Tín Hiệu Số & Hệ Thống




2 *
k
N

k  1... N  1

Do dó pha của

R(ei ) 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.

2 .2

Triangular Pulse

Cho một tín hiệu đối xứng khác dạng tam giác như sau

L - n with 0  n
[n]  L+n with -L0 eslewhere

Độ dài của tín hiệu là 2L-1 và có thể xác định bằng tích chập của 2 xung hình chữ nhật có L
điểm. Kết quả của DTFT là một hàm asinc được làm vuông, pha bằng 0 vì đây là một tín hiệu
đối xứng.

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     
Đồ thị:

Đồ thị phần ảo của DTFT

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

9


Xử Lý Tín Hiệu Số & Hệ Thống

Đồ thị phần thực của DTFT

Đồ thị biên độ của DTFT

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

10


Xử Lý Tín Hiệu Số & Hệ Thống

2.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.
So sánh biên độ
a=0.9;
nn=[0:1:21];x=a.^nn.*cos(2*pi*nn/sqrt(31)); %#ok<NBRAK>
[H,W]=DTFT(x,1024);
[Y,Wflip]=flipDTFT(H,W);
subplot(211), plot(W,abs(H))
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs(H(w))'),grid on
subplot(212),plot(W,abs(Y))
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs of flipDTFT (H(w))'),grid on

So sánh pha
a=0.9;
nn=[0:1:21];x=a.^nn.*cos(2*pi*nn/sqrt(31)); %#ok<NBRAK>

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53


11


Xử Lý Tín Hiệu Số & Hệ Thống
[X,W]=DTFT(x,1024);
[Y,Wflip]=flipDTFT(X,W);
subplot(211), plot(W,angle(X))
xlabel('NORMALIZED FREQUENCY'),ylabel('Arg(H(w))'),grid on
subplot(212),plot(W,angle(Y))
xlabel('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].
So sánh biên độ
a=0.9;
nn=[0:1:21];x=j*a.^nn.*cos(2*pi*nn/sqrt(31)); %#ok<NBRAK>
[X,W]=DTFT(x,1024);
[Y,Wflip]=flipDTFT(X,W);
subplot(211), plot(W,abs(X))
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs(H(w))'),grid on
subplot(212),plot(W,abs(Y))
xlabel('NORMALIZED FREQUENCY'),ylabel('Abs of flipDTFT (H(w))'),grid on

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

12



Xử Lý Tín Hiệu Số & Hệ Thống

So sánh phase
a=0.9;
nn=[0:1:21];x=j*a.^nn.*cos(2*pi*nn/sqrt(31)); %#ok<NBRAK>
[X,W]=DTFT(x,1024);
[Y,Wflip]=flipDTFT(X,W);
subplot(211), plot(W,angle(X))
xlabel('NORMALIZED FREQUENCY'),ylabel('Arg(H(w))'),grid on
subplot(212),plot(W,angle(Y))
xlabel('NORMALIZED FREQUENCY'),ylabel('Arg of flipDTFT (H(w))'),grid on

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

13


Xử Lý Tín Hiệu Số & Hệ Thống

Ta 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
tín hiệu

trong miền

là chẵn. Tính DTFT của hàm trên


và chứng minh nó chẵn với
Đồ thị phần thực
nn=[-29:1:29];
x=exp(i*2*pi*nn.^2/25);
[H,W]=DTFT_n0(x,30,1024);
plot(W,real(H))
xlabel('NORMALIZED FREQUENCY'),ylabel('Real(H(w))'),grid on

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

14


Xử Lý Tín Hiệu Số & Hệ Thống

Đồ thị phần ảo
nn=[-29:1:29];
x=exp(i*2*pi*nn.^2/25);
[H,W]=DTFT_n0(x,30,1024);
plot(W,imag(H))
xlabel('NORMALIZED FREQUENCY'),ylabel('Im(H(w))'),grid

on
Từ đồ thị ta thấy phần thực và ảo của DTFT đều đối xứng qua trục tung do đó đây là hàm
chẵn. phù hợp với các tính toán lý thuyết
d. Với tín hiệu lẻ

trong khoảng

, thì DTFT của nó sẽ là hàm lẻ theo


Đồ thị phần thực
x=[-19:1:19];

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

15


Xử Lý Tín Hiệu Số & Hệ Thống
[H,W]=DTFT_n0(x,19,1024);
plot(W,real(H))
xlabel('NORMALIZED FREQUENCY'),ylabel('Real(H(w))'),grid on

Đồ thị phần ảo
x=[-19:1:19];
[H,W]=DTFT_n0(x,19,1024);
plot(W,imag(H))
xlabel('NORMALIZED FREQUENCY'),ylabel('Im(H(w))'),grid on

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

16


Xử Lý Tín Hiệu Số & Hệ Thống

Từ đồ 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


là hàm ảo ,lẻ. DTFT của nó sẽ là một hàm phản liên hợp và lẻ tương ứng.
Kiểm tra bằng đồ thị.
nn=[-20:1:20];
x=j*nn.*cos(nn);
[H,W]=DTFT_n0(x,20,1024);
plot(W,real(H)),grid on
xlabel('NORMALIZED FREQUENCY'),ylabel('Real(H(w))'),grid on
plot(W,imag(H)),grid on
xlabel('NORMALIZED FREQUENCY'),ylabel('Im(H(w))'),grid on
Đồ thị biên độ

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

17


Xử Lý Tín Hiệu Số & Hệ Thống

Đồ thị pha

Sử dụng hàm flipDTFT kiểm tra
nn=[-20:1:20];
x=j*nn.*cos(nn);
[H,W]=DTFT_n0(x,20,1024);
[H,G]=flipDTFT(X,W);
plot(G,real(H)),grid on
xlabel('NORMALIZED FREQUENCY'),ylabel('Real of (H(w))'),grid on
plot(G,imag(H)),grid on
xlabel('NORMALIZED FREQUENCY'),ylabel('Im of (H(w))'),grid on

Đồ thị biên độ

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

18


Xử Lý Tín Hiệu Số & Hệ Thống

Đồ 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)

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

19


Xử Lý Tín Hiệu Số & Hệ Thống

Project 3 : DTFT TDTFT OF INFINITE-LENGTH SIGNAL
3.1 Tín hiệu mũ.
j
n
Sử dụng hàm freqz để tính toán DTFT X ( e ) của tín hiệu x[n] = (0.9) u[n] .
3.1.a Vẽ đồ thị biên độ, pha của theo tần số  trong khoảng   ,  






- 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 )
dung hàm freqz(b,a,n,’whole’);
DTFT
x[n] = a nu[n] 
 X (e j ) 

1
(3.1)
1  ae  j

a = [1,-0.9];
b = [1];
N = 512;
[HH,WW] = freqz(b,a,N,'whole');
subplot (221);plot(WW,abs(HH));
grid, title('MAGNITUDE RESPONSE BY FREQZ'),xlabel('NORMALIZED FREQUENCY'),
ylabel('|X(e^-jw)|')
subplot(222);plot(WW,angle(HH)*180/pi);
grid, title('PHASE RESPONSE BY FREQZ' ),xlabel('NORMALIZED FREQUENCY'), ylabel('PHASE
(DEGREE)')
- Đồ thị biên độ, pha theo tần số

 trong khoảng  0, 2 




- Biến đổi HH, WW : chuyển vector tần số lấy mẫu từ khoảng 0, 2

 về   ,  

mid = ceil (N/2) + 1;
WW(mid:N)= WW(mid:N) - 2*pi;
WW = fftshift(WW);

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

20


Xử Lý Tín Hiệu Số & Hệ Thống

HH2 = [HH(mid : N)' HH(1 : mid -1)'];
HH = HH2';
- Vẽ lại đồ thị biên độ và đò thị pha :

subplot (211);plot(WW,abs(HH));
grid, title('MAGNITUDE RESPONSE BY FREQZ'),xlabel('NORMALIZED FREQUENCY'),
ylabel('|X(e^-jw)|')
subplot(212);plot(WW,angle(HH)*180/pi);
grid, title('PHASE RESPONSE BY FREQZ' ),xlabel('NORMALIZED FREQUENCY'), ylabel('PHASE
(DEGREE)')

3.1.b Biên độ là hàm chẵn và pha là hàm lẻ của

:

1

1
; pha
 Biên độ  X (e j )  
1  ae  j
1  2a cos( )  a 2
a sin 
j
:  ( X (e ))   arctan(
)
1  a cos 
X (e j ) 

3.1.c Ta vẽ lại đồ thị biên độ, pha của tín hiệu ra theo tần số sử dụng công thức 3.1.b

AA = 1./sqrt(1 - 2*0.9*cos(WW) + 0.9^2);
PP = atan((-0.9*sin(WW))./(1-0.9*cos(WW)));
subplot (223);plot(WW,AA);
grid, title('MAGNITUDE RESPONSE BY FORMULAS'),xlabel('NORMALIZED FREQUENCY'),
ylabel('|H(e^-jw)|')
subplot (224);plot(WW,PP*180/pi);
grid, title('PHASE RESPONSE BY FORMULAS'),xlabel('NORMALIZED FREQUENCY'),
ylabel('PHASE (DEGREE)')

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

21



Xử Lý Tín Hiệu Số & Hệ Thống

- 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 a  z0  re

j

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
DTFT.
3.2.a Cho z0  0.95e

j 3

11

 của số phức lên

n

, x[n] = z 0 u[n] với 0  n  30 . Ta vẽ song song 2 đồ thị phần thực &

phần ảo của x[n] theo n trên 2 panel:

N = [0 : 30];
z = 0.95 * exp(sqrt(-1) * 3 * pi /11);
Z = z.^N.*(N>0);

subplot(211); plot(N,real(Z));
grid, title('REAL PART OF x[n] VESUS n'), xlabel ('n'), ylabel('REAL(x[n])')
subplot(212); plot(N,imag(Z));
grid, title('IMAGINARY PART OF x[n] VESUS n'), xlabel ('n'), ylabel('IMAG(x[n])')

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

22


Xử Lý Tín Hiệu Số & Hệ Thống

n

3.2.b Tiếp tục với tín hiệu x[n] = z 0 u[n] , z0  0.95e

j 3

11

, ta tính DTFT và vẽ đồ thị biên độ tín


z = 0.95 * exp(sqrt(-1) * 3 * pi /11);
a = [1,-z];
b = [1];
N = 512;
[HH,WW] = freqz(b,a,N,'whole');

hiệu ra theo tần số


plot(WW,abs(HH));
grid, title('MAGNITUDE RESPONSE BY FREQZ'),xlabel('NORMALIZED FREQUENCY'),
ylabel('|H(e^-jw)|')

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

23


Xử Lý Tín Hiệu Số & Hệ Thống

- 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.
j n

DTFT

j

- Ta có : x[n] = ( re ) u[n]  X (e ) 

1

j

Biên độ : X (e ) 


1  2r cos(   )  r
Với z0  0.95e

j 3

11

2

1
1

j  j
1  re e
1  re j (  )

(3-2-b)lớn nhất bằng :

j

thì max( X (e ) ) = 20 đạt được khi

1
khi có   
1 r

  angle( z0 )  0.8590 . Điêu này phù hợp

với kết quả tính DTFT bằng freqz.

3.2.c Với z0  0.95e

j 3

5

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

- Đồ thị có đỉnh max( X (e ) ) = 20 tại

  angle( z0 )  1.8850 .

- Tại các giá trị tấn số ngoài lân cận  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;
[HH,WW] = freqz(b,a,N,'whole');
plot(WW,abs(HH));
grid, title('MAGNITUDE RESPONSE BY FREQZ'),xlabel('NORMALIZED FREQUENCY'),
ylabel('|H(e^-jw)|')

Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

24



Xử Lý Tín Hiệu Số & Hệ Thống

%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
z = 0.975 * exp(sqrt(-1) * 3 * pi /5);a = [1,-z];b = [1];N = 512;
[HH,WW] = freqz(b,a,N,'whole');
subplot(221);plot(WW,20*log10(abs(HH)));
grid, title('MAGNITUDE RESPONSE WITH r = 0.975'),xlabel('FREQUENCY (Hertz)'),
ylabel('MAGNITUDE (dB)')
z = 0.95 * exp(sqrt(-1) * 3 * pi /5);a = [1,-z];b = [1];N = 512;
[HH,WW] = freqz(b,a,N,'whole');
subplot(222);plot(WW,20*log10(abs(HH)));
grid, title('MAGNITUDE RESPONSE WITH r = 0.95'),xlabel('FREQUENCY (Hertz)'),
ylabel('MAGNITUDE (dB)')
z = 0.9 * exp(sqrt(-1) * 3 * pi /5);a = [1,-z];b = [1];N = 512;
[HH,WW] = freqz(b,a,N,'whole');
subplot(223);plot(WW,20*log10(abs(HH)));
grid, title('MAGNITUDE RESPONSE WITH r = 0.9'),xlabel('FREQUENCY (Hertz)'),
ylabel('MAGNITUDE (dB)')
z = 0.8 * exp(sqrt(-1) * 3 * pi /5);a = [1,-z];b = [1];N = 512;
[HH,WW] = freqz(b,a,N,'whole');
subplot(224);plot(WW,20*log10(abs(HH)));
grid, title('MAGNITUDE RESPONSE WITH r = 0.8'),xlabel('FREQUENCY (Hertz)'),
ylabel('MAGNITUDE (dB)')


Nguyễn Duy Bình-Kỹ sư chất lượng cao K53

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×