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
->> 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
plot(t,((t+4).*ustep(t,4)-2*t.*ustep(t,0)+(t-/2) >> grid on
Trang 5Hình 2:
>> t=-10:.01:10;
>> 6).*ustep(t, 4)) -
plot(t,((t+6).*ustep(t,4)-2*t.*ustep(t,0)+(t-/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Ω02 = 5(s)
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 = 13(s) Chu kì hàm 0.6cos(4 t) là TΩ02 = 5(s)
T1T2=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 11-Bà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];
>> 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];
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 14-Xpp(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;
Trang 15