Hàm bước nhảy đơn vị unit step và hàm dốc đơn vị ramp Bài 1... Các hàm biến đổi Fourier a.
Trang 1TRƯỜ NG ĐẠ I HỌC BÁCH KHOA HÀ N I Ộ
VIỆ N ĐI N Ệ
****************************
Học ph n: Tín Hi u và h ầ ệ ệ thống
Giả ng viên: Tr nh Hoàng Minh ị
Trang 2Bài th c hành s 1: Tín hi u liên t c ự ố ệ ụ
I Hàm bướ c nh ảy đơn vị (unit step) và hàm d ốc đơn vị (ramp)
Bài 1 Viết hàm y=ustep(t) đểbiểu diễn hàm bước nhảy đơn vị
function y=ustep(t,t0)
N=length(t);
y=zeros(1,N);
for i=1:N
if t(i)>-t0
y(i)=1;
end
end
Bài 2: Vi t hàm y=uramp(t) dế ể biểu di n hàm dễ ốc đơn vị
function y=uramp(t,t0)
N=length(t);
y=zeros(1,N);
for i=1:N
if t(i)>-t0
y(i)=t(i)+t0;
end
end
Bài 3: S d ng các hàm v a viử ụ ừ ết, vẽ đồ thị ủ c a các tín hi u liên t c sau trên ệ ụ [-10,10]
a Hàm 5u(t- 2)
>> t=-10:.01:10;
plot(t,5*ustep(t, 2),'r')
->> grid on
>> title('y=5u(t-2)')
Trang 3b Hàm 3r(t+5)
>> t=-10:.01:10;
>> plot(t,3*uramp(t,5))
>> grid on
>> title('y=3r(t+5)')
c Hàm y(t)=2r(t+2.5)-5r(t)+3r(t-2)+u(t- 4)
>> t=-10:.01:10;
>> plot(t,2*uramp(t,2.5)-5*uramp(t,0)+3* uramp(t, 2)+ustep(t, 4))-
->> grid on
>> title('y(t)=2r(t+2.5)-5r(t)+3r(t 2)+u(t 4)')-
Trang 4-d Hàm y=sin(t)*[u(t+3)-u(t-3)]
>>t= 10:.01:10;
->>plot(t,sin(t).*(ustep(t,3) ustep(t, 3)))-
->> grid on
>>title('y=sin(t)*[u(t+3) u(t 3)]')-
-Bài 4: Dùng 2 hàm trên để vẽ đồ thị tín hiệu:
Hình 1:
>>t= 10:.01:10;
->> plot(t,((t+4).*ustep(t,4)-2*t.*ustep(t,0)+(t-4).*ustep(t, 4))
-/2)
>> grid on
Trang 5Hình 2:
>> t=-10:.01:10;
>> plot(t,((t+6).*ustep(t,4)-2*t.*ustep(t,0)+(t-6).*ustep(t, 4))
-/2+ustep(t,8) ustep(t,4)+ustep(t, 4) ustep(t, 8))- - -
->>grid on
>>title('Tin hieu 2')
Trang 6II Tín hi u ch n, l ệ ẵ ẻ
Bài 1: Xây d ng hàm sự ố trả ề ế v k t qu là ph n ch n và ph n l c a tín hiả ầ ẵ ầ ẻ ủ ệu
function evenodd(y)
syms x
ye=0.5*(y(x)+y( x));
-yo=0.5*(y(x) y( x));-
-assignin('base' 'ye', ,ye)
assignin('base' 'yo', ,yo)
Bài 2: S d ng hàm sử ụ ố trên để tìm ph n ch n và ph n l c a các tín hi u liên ầ ẵ ầ ẻ ủ ệ tục sau và vẽ đồ
thị của tín hiệu chính cũng như phần chẵn và ph n lẻ của nó trong cùng một ầ
đồ ị th sử dụng
các dạng đường th ng và màu s c khác nhau: (gi s -ẳ ắ ả ử 10 ≤ t ≤ 10)
>> syms x y(x)
>>
y(x)=2*(x+2.5)*heaviside(x+2.5)-5*x*heaviside(x)+3*(x 2)*heaviside(x 2)+heaviside(x 4);- -
->> evenodd(y)
>> fplot(ye,[-10,10],'r')
>> hold on
>> fplot(yo,[-10,10],'g')
>> fplot(y,[-10,10],'b')
>> title('Ch n lẵ ẻ')
>> xlabel('Time')
>> ylabel('Data')
>> grid on
>> legend('Thành ph n ch n','Thành ph nn l ','Tín hi u ầ ẵ ầ ẻ ệ gốc')
Trang 7III Tổng c a các tín hi ủ ệu tu n hoàn ầ
Vẽ d ng c a các tín hi u sau trên ạ ủ ệ đoạn − 10 t 10 Tín hiệu đó có phải là tín hi u tu n hoàn hay không? N u có, tìm chu kì c a nó?ệ ầ ế ủ
a x1(t)=1+1.5cos(2πΩ0t)-0.6cos(4Ω0t) với Ω0 = 𝜋
10
>> syms t x1 x2
>> x1(t)=1+1.5*cos((2*pi^2/10)*t)-0.6*cos(4*pi*t/10);
>> fplot(x1,[-10,10])
Ta có:
Chu kì hàm 1.5cos(2πΩ0t) là T = 1 10
𝜋(s) Chu kì hàm 0.6cos(4 t) là TΩ0 2 = 5(s)
T1
T2 không là s h u t , nên tín hiố ữ ỉ ệu x1(t) không tu n hoàn ầ
Trang 8b x2(t)=1+1.5cos(6πt)-0.6cos(4Ω0t) với Ω0 = 10
>> syms t x1 x2
>> x2(t)=1+1.5*cos(6*pi*t)-0.6*cos(4*pi*t/10);
>> fplot(x2,[-10,10])
Ta có:
Chu kì hàm 1.5cos(6 t) là Tπ 1 = 1
3(s) Chu kì hàm 0.6cos(4 t) là TΩ0 2 = 5(s)
T1
T2=151
T = 15T 2 1
T = T 0 2
Vậy tín hiệu x2(t) tuần hoàn v i chu kì 5(s) ớ
IV Năng lượng, công suất của một tín hiệu
>> syms t x(t)
>> T=20;
>> x(t)=exp(-t)*cos(2*pi*t)*heaviside(t);
>> E=double(int(abs(x(t))^2,-T/2,T/2))
E =
0.2562
>> P=double(int(abs(x(t))^2,-T/2,T/2)/T)
P =
Trang 9V Phép d ịch, phép co giãn và phép đả o tín hi u ệ
Bài 1:
>> syms t x(t)
>> x(t)=exp(-abs(t));
>> fplot(x(t),[-10,10])
>> hold on
>> fplot(x(t-2),[ 10,10])
->> fplot(x(t+2),[-10,10])
>> legend('x(t)','x(t-2)','x(t+2)')
Bài 2:
>> syms t x(t)
>> x(t)=exp(-abs(t));
>> fplot(x(t),[-10,10])
>> hold on
>> fplot(x(2*t),[-10,10])
>> fplot(x(0.5*t),[-10,10])
>> legend('x(t)','x(2t)','x(0.5t)')
Trang 10Bài 3:
>> syms t x(t)
>> x(t)=exp(-abs(t));
>> fplot(x(t),[-10,10])
>> hold on
>> fplot(x(-t),[ 10,10])
->> legend('x(t)','x(-t)')
Trang 11Bài th c hành s 2: Hàm tuy n tính ự ố ế
a, Mô ph ng tín hi u ỏ ệ
t=linspace(0,1,44100);
F=494;
A=[0.1155, 0.3417, 0.1789, 0.1232, 0.0678, 0.0473, 0.0260, 0.0065, 0.0020];
phi=[-2.1299, 1.6727, 2.5454, 0.6607, 2.0390, 2.1597, -
-1.0467, 1.8581, -2.3925];
x=zeros(1,length(t));
for i=1:9
x=A(i)*cos(2*pi*i*F.*t-phi(i))+x;
end
sound(x,44100)
b, V tín hi u trong 3 chu kì ẽ ệ
>> syms t x(t)
>> F=494;
>> A=[0.1155, 0.3417, 0.1789, 0.1232, 0.0678, 0.0473, 0.0260, 0.0065, 0.0020];
>> phi=[ 2.1299, 1.6727, 2.5454, 0.6607, 2.0390, 2.1597, - -
1.0467, 1.8581, 2.3925];
->> x=zeros(1,length(t));
for i=1:9
x=A(i)*cos(2*pi*i*F.*t-phi(i))+x;
end
>> fplot(x,[0,3/494])
c, Khi pha b ng 0 ằ
Trang 12F=494;
A=[0.1155, 0.3417, 0.1789, 0.1232, 0.0678, 0.0473, 0.0260, 0.0065, 0.0020];
x=zeros(1,length(t));
for i=1:9
x=A(i)*cos(2*pi*i*F.*t)+x;
end
sound(x,44100)
Pha thay đổ i không ảnh hưở ng tới âm thanh của tín hiệu
Trang 13Bài 3: Tích ch p, bi ậ ến đổ i Fourier và l c tín hi u ọ ệ
I Tích ch p và l c âm thanh b ng b l c thông th ậ ọ ằ ộ ọ ấp lý tưởng
[data, Fs]=audioread('female_voice.wav');
data=data(:,1)';
Ts=1/Fs;
sound(data,Fs);
fprintf('Nhấn enter đ nghe tín hi u đã l c\ể ệ ọ n')
pause
t=[ 10:Ts:10];
-wb=1500*2*pi;
ht=wb/(2*pi)*sinc(wb*t/(2*pi));
y=conv(data,ht,'same');
y=y/max(abs(y));
sound(y,Fs)
II Phép bi ến đổ i Fourier và l c tín hi u b ng b l c Butterworth ọ ệ ằ ộ ọ bậc 5
1 Các hàm bi ến đổ i Fourier
a FourierTransform
function [f,X]=FourierTransform(t,x)
ns=size(x,2);
dt=t(2) t(1);
-N=2*ns;
df=1/(N*dt);
xp=zeros(1,N);
nns=sum(t<0);
xp(1:ns-nns)=x(nns+1:ns);
xp(N nns+1:N)=x(1:nns);
-Xf=dt*fft(xp); n2=ceil(N/2);
ifn2==N/2; X(1:n2-1)=Xf(n2+2:N);
X(n2:N)=Xf(1:n2+1);
f=(-n2+1)*df:df:n2*df; no=n2;
else;
X(1:n2 1)=Xf(n2+1:N);
X(n2:N)=Xf(1:n2);
f=( n2+1)*df:df:(n2- -1)*df;
end;
b IFourierTransform
function [t, x] = IFourierTransform(f, X)
ns=length(X);
df=f(2) f(1);
-N=ns; dt=1/(N*df);
Xp=zeros(1,N);
Xp(1:ns)=X;
Trang 14Xpp(N nns+1:N)=Xp(1:nns);
-xf=N*df*ifft(Xpp);
n2=ceil(N/2);
if n2==N/2;
x(1:n2 1)=xf(n2+2:N);
x(n2:N)=xf(1:n2+1);
t=( n2+1)*dt:dt:n2*dt;
-else;
x(1:n2 1)=xf(n2+1:N);
x(n2:N)=xf(1:n2);
t=( n2+1)*dt:dt:(n2- -1)*dt;
end;
2 Lọc tín hi ệu điệ n tim
Câu 1:
Nhận xét:
- Đồ thị thời gian là m t hàm tu n hoàn có m ộ ầ ột đỉnh vượ t tr ội hơn phần còn lại trong một chu kì
Trang 15- Đồ thị phổ ta th ấy tín hi u t p trung ệ ậ ở miền t n s ầ ố 0 Hz đến
60 Hz , nhi u xu t hi ễ ấ ện ở các khu v c bên ngoài ự
Câu 2:
- Bộ l ọc đã dùng là bộ ọc thông th p l ấ
- Miền t n s l c là t 0-100Hz ầ ố ọ ừ
Câu 3:
Trang 16Nhận xét:
- Khi s d ng b l c, ta th y tín hi ử ụ ộ ọ ấ ệu đã trở nên liên t ục hơn, các nhi ễu đượ c lo i b trên mi n t n s ạ ỏ ề ầ ố
- Khi so sánh gi a hình 1 và hình 3, ta th y mi n t n s sau ữ ấ ề ầ ố khi l c ch còn l i vùng tín hi u c n thi ọ ỉ ạ ệ ầ ết đó là vùng khoả ng
từ 0 đế n 60 Hz b ởi vì đố ớ ộ ọ i v i b l c, các nhi u bên ngoài ễ vùng 0- 60Hz đã bị tri ệt tiêu và ơ ngoài vùng 100Hz nó đã bị triệt tiêu hoàn toàn