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... Thực hành 2: Viết một
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 withsubplot 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%DFT of the sequence
xlabel ('Time Index');
title('Input Sequence');
title('Magnitude Response');
% Find the phases of individual DFT points Xk_phase = angle(Xk);
Xk_2_phase = angle(Xk_2);
% plot the magnitude sequence
download by : skknchat@gmail.com
Trang 4title ('Phase Response');
legend('Computing', 'fft Matlab');
Đồ thị:
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%DFT of the 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 76 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.
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 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);
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
% frequency response with 256 points [h w] = freqz(cof,1,256);
% plot magnitude of the filter
plot(f * 5000,m, 'b'); hold on;
plot(w/pi*5000,abs(h), 'r-.');
Kết quả:
Trang 19[num, den] = yulewalk(n-1,f,m);
% frequency response with 256 points [h w] = freqz(num,den,256);
% plot magnitude of the filter
plot(f * 5000,m, 'b'); hold on;
plot(w/pi*5000,abs(h), 'r-.');
Kết quả:
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
% frequency response with 256 points [h w] = freqz(cof,1,256);
% plot magnitude of the filter
plot(f * 5000,m, 'b'); hold on;
plot(w/pi*5000,abs(h), 'r-.');
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 [h w] = freqz(num,den,256);
% plot magnitude of the filter
plot(f * 5000,m, 'b'); hold on;