Bài tập lớn xử lý số tín hiệu - pdf 16

Download miễn phí Bài tập lớn xử lý số tín hiệu
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 2là 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 đư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ằmtrong 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ênsử dụng một chương trình để dịch chuyên biến đổi.
Nghĩa là ta cần 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ô ( ) ( )
i i
Y e X e
w w -= . Hàm số sẽ thực hiện biến đổi với cặp vector (H,W).


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 1
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<L)
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 đư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
[ ]
0 elsewhere
r n
£ £ì
= í
î
a. Tìm phổ tần số của tín hiệu trên:
Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 2
2 2 2 -1
2
2 2 2
-1
2
--1
- -
-
- 0
- - 1
-2
- - 1
2
1
-2
1
2
2
2
1-
( ) [ ]*
1-
sin( )( - )
sin( )( - )
sin( )
( )
sin( )
sin( )
sin ( , )
sin( )
L L L
L
L
iLL
i in in
i
n i
i i i
i
i i i
ii
L
e
R e r n e e
e
Le e e
e
e e e
L
R e e
a c L
q q q
q q q
q
q q q
q
q
qq
w
w
q
q
q
q
w

= ¥ =
= = =
= =
=
=
å å
Vậy phổ tần số của tín hiệu đã đánh giá là
-1
2
1
-2
1
2
sin( )
( )
sin( )
Lii LR e e ww
w
w
=
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 :
2
2
sin( )
sin ( , )
sin( )
L
a c L
w
w
w =
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);
Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 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
Lw
w
ì =ïï
í
ï ¹
ïî
Suy ra
2k
L
pw = 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(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)
function W = asinc(w,L)
L = fix(L);
len = length(w);
for i = 1:1:len
if(w(i)==0)
Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 4
W(i) = L; %#ok
else
W(i) = sin(1/2*L*w(i))./ sin(1/2*w(i)); %#ok
end
end
Sử dụng hàm asinc(w ,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.
Project 2 DTFT SYMMETRIE, DTFT ĐỐI XỨNG
Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 5
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 2p . Tuy nhiên dể nghiên cứu
tính đối xứng của đồ thị DTFT chúng ta cần đư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 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ô ( ) ( )i iY e X ew w-= . 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
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
Xử Lý Tín Hiệu Số & Hệ Thống
Nguyễn Duy Bình-Kỹ sư chất lượng cao K53 6
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
0
0[ ] ( )
i nDTFT ix n n e X ew w-- ¬¾¾®
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]=...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status