Thực hành 1 : Viết file-M thực hiện chương trình trên và lưu với tên BAI1_NHOML07_PlotGraph.m.. Thực hành 2: Viết một file-M thực hiện chương trên và lưu với tên L = lengthxn; %find the
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
TP HỒ CHÍ MINH, THÁNG 1 NĂM 2022
Trang 21 Thực hành 1 : Viết file-M thực hiện chương trình trên và lưu với tên
BAI1_NHOML07_PlotGraph.m
Yêu cầu 1: Ghi nhớ các lệnh trong matlab trong chương trình trên
Bài làm:
Code:
x = 0:pi/20:2*pi; % Define vector x from 0 to 2pi with step size pi/100
y = sin(x); % Define vector y
subplot(1,2,1); % Create a graph with two sub-graphs in 1 row 2 column and with subplot position 1
plot(x,y,'b-'); % Plot x versus y
axis([0 2*pi -1 1]);
xlabel('x (pi)');
ylabel('y=sin(x)'); %Label of x-axis and y-axis
title('Graph of Continuous Sine from 0 to 2pi'); %Title of graph
subplot(1,2,2);stem(x,y,'r-') %Plot p versus q with subplot position 2
axis([0 2*pi -1 1]);
xlabel('x (pi)');
ylabel('y=sin(x)'); %Label of p-axis and q-axis
title('Graph of Discrete Sine from 0 to 2pi'); %Title of graph
Đồ thị:
Trang 32 Thực hành 2: Viết một file-M thực hiện chương trên và lưu với tên
L = length(xn); %find the length of the sequence
Xk = zeros(1,L); %initialize an array of same size as that
stem(t,Xk_magnitude,'bo-'); hold on;
stem(t,Xk_2_magnitude,'r* '); hold on;
Trang 4stem(t,Xk_phase,'bo-'); hold on;
stem(t,Xk_2_phase,'r* '); hold on;
3 Thực hành 3: Viết chương trình thực hiện biến đổi IDFT của chuỗi X(k) = 10, 2 2 ,
2, 2 2 theo 2 cách Lưu lại với tên Bai1_NHOML07_IDFT.m
L = length(Xk); %find the length of the sequence
xn = zeros(1,L); %initialize an array of same size as that of input sequence
Trang 5% Using IDFT Matlab
xn_2 = ifft(Xk,L);
disp(xn_2);
Kết quả:
4 Thực hành 4: Viết một file-M tìm ngõ ra y(n) của hệ thống nhân quả với ngõ vào
x(n) = [1, 3, 5, 3, 6, 3] và đáp ứng xung h(n) = [1, 4, 7, 2, 8] theo hai cách và lưu với tên Bai1_NHOML07_conv.m
Trang 7title('Amplitude Response');
subplot(2,2,2);
plot(omega,H_phase);
title('Phase Response');
% Sket frequency response of filter - way 2
6 Thực hành 6: Viết các chương trình Matlab thực hiện các yêu cầu sau:
1) Tạo 5 chu kỳ mẫu tín hiệu với Hz, tần số lẫy mẫu 8000 Hz
Trang 82) Tạo mẫu tín hiệu được lấy mẫu với 20 trong 1 chu kỳ T
3) Tạo tín hiệu sinc với Hz, (s) và được lấy mẫu ở tần số 500 Hz
Trang 10N = length(s2); % DFT length = signal length
Trang 113 Tạo tín hiệu sinc với Hz, (s) và được lấy mẫu ở tần số 500 Hz.
Trang 127 Thực hành 7: Thực hiện thiết kế bộ lọc FIR chắn dải với các thông số như trong VD
1 Lấy các hệ số của bộ và viết chương trình vẽ đáp ứng tần số của bộ lọc trên Lưu
Trang 13lại với tên Bai_1_NHOML07_bs2700_freqz Sử dụng hàm semiology thay cho plot đưa ra nhận xét về sự khác biệt.
Bài làm:
Trang 14title('dap ung tan so ham plot');
Trang 15H_matlab_manitude= abs (H_matlab);
H_matlab_phase = angle(H_matlab);
semilogy(w,H_matlab_manitude);
title('dap ung tan so ham plot');
Kết quả:
8 Thực hành 8: Thực hiện việc thiết kế bộ lọc FIR chắn dải với các thông số như trong
ví dụ 2 Lấy các hệ số của bộ và viết chương trình vẽ đáp ứng tần số của bộ lọc trên Lưu lại với tên BAI_1_NHOMx_bs2700_freqz.m
Sử dụng hàm semilogy thay cho plot
Bài làm :
Trang 17H_matlab_manitude= abs (H_matlab);H_matlab_phase = angle(H_matlab);plot(w,H_matlab_manitude);
title('dap ung tan so ham plot');
Kết quả ;
Trang 189 Thực hành 9 : Thực hiện các chương trình thiết kế bộ lọc thông dải đa dải và vẽ đáp
ứng tần số với các yêu cầu như trong ví dụ 1 và 2
Trang 19[num, den] = yulewalk(n-1,f,m);
% frequency response with 256 points
Trang 2010 Thực hành 10 : Thiết kế bộ lọc FIR chắn đa dải 1000-1500 và 2500-3000, có bậc 62,
tần số lấy mẫu là 10 kHz Sau đó vẽ đáp ứng tần số của bộ lọc
Trang 2111 Thực hành 11 : Thiết kế bộ lọc IIR chắn đa dải 1000-1500 và 2500-3000, có bậc 62, có tần
số lấy mẫu là 10 kHz Sau đó vẽ đáp ứng tần số của bộ lọc
Trang 22n = 62;
[num, den] = yulewalk(n-1,f,m);
% frequency response with 256 points