(TIỂU LUẬN) báo cáo THÍ NGHIỆM xử lý số tín HIỆU bài 3THIẾT kế và THỰC HIỆN các bộ lọc FIRIIR TRÊN MATLAB

15 3 0
(TIỂU LUẬN) báo cáo THÍ NGHIỆM xử lý số tín HIỆU bài 3THIẾT kế và THỰC HIỆN các bộ lọc FIRIIR TRÊN MATLAB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA- ĐẠI HỌC QUỐC GIA TPHCM KHOA ĐIỆN- ĐIỆN TỬ Bộ môn Viễn Thông BÁO CÁO THÍ NGHIỆM XỬ LÝ SỐ TÍN HIỆU BÀI 3: THIẾT KẾ VÀ THỰC HIỆN CÁC BỘ LỌC FIR/IIR TRÊN MATLAB LỚP: L05 NHÓM: Giáo viên hướng dẫn: Thầy Nguyễn Xuân Xinh Thực bởi: Trương Minh Thiện Lê Mẫn Thịnh Vòng Khải Tuấn 1915301 1814164 1915791 TPHCM- THÁNG NĂM 2022 MỤC ĐÍCH THÍ NGHIỆM - Hiểu rõ bước từ thiết thực lọc FIR/IIR lên kit DSP - Quan sát đáp ứng xung đáp ứng tần số lọc - Kiểm tra đặc tính (thơng thấp, thông cao, thông dải, chắn dải) lọc - Khảo sát ngõ lọc ngõ vào tín hiệu xung vng Hệ thống lại lý thuyết học THIẾT BỊ THÍ NGHIỆM CƠ SỞ LÝ THUYẾT CHUẨN BỊ LÝ THUYẾT THÍ NGHIỆM TIẾN TRÌNH THÍ NGHIỆM 5.1 Các lọc FIR 5.1.1 Bộ lọc FIR chắn dải Kết thiết kế lọc FIR chắn dải Matlab: Thực ghi nhận lại: Tổng số giá trị là: 63 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1747,096 5456490 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 1688,725 701,8843 3149,138 1989046 9885381 3432,232 7117146 6369409 3 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 710,4214 8255348 4377,462 1841245 * Thực lọc Matlab Chương trình Matlab thực giải thuật xử lý mẫu cho lọc sau: clc; xn=input(' Nhap gia tri cua x: '); h= bs2700.tf.num; %tinh toan M=length(h); xn=[xn zeros(1,M-1)]; L=length(xn); w=zeros(1,L+M); y=zeros(1,L); for i=1:L w(1)=xn(i); for k=1:M y(i)=y(i)+h(k).*w(k); end for ii=L:-1:2 w(ii)=w(ii-1); end end y * Đánh giá kết thực hiện: Sử dụng chương trình vẽ đồ thị Matlab để vẽ đồ thị giá trị đáp ứng xung lọc Chương trình Matlab vẽ đồ thị đáp ứng xung lọc Fs = 8e3; % Sampling frequency kHz Ts = 1/Fs; % Sampling period F_xt = 300; % Frequency of signal 300 Hz T_sim = 0.01; % Signal duration in seconds 50 ms t = 1:63; hn=bs2700.tf.num; N = length(hn); % DFT length = signal length Hk = fft(hn, N); % DFT of signal Hk_Man = abs(Hk); Hk_Pha = angle(Hk); %% Signal plot figure(1) subplot(1,2,1) hold on plot(t, hn); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI BO LOC'); subplot(1,2,2) hold on plot(0:N-1, hn); xlabel('Sampling index - n'); ylabel('Amplitude'); title('LAY MAU'); %% Spectrum plot figure(2) subplot(121); plot((0:N/2-1)*Fs/N, Hk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO'); subplot(1,2,2) plot((0:N/2-1)*Fs/N, Hk_Pha(1:N/2) ); xlabel('Frequency (Hz)'); ylabel('Phase'); title('PHO PHA'); Ghi nhận lại dạng sóng đáp ứng xung lọc: Sử dụng chương trình Matlab tính FFT đáp ứng xung vẽ đồ thị đáp ứng biên pha miền tần số lọc Chương trình Matlab tính FFT vẽ đồ thị đáp ứng tần số lọc Code (Figure vẽ đồ thị đáp ứng tần số lọc) * Kiểm tra lọc: Thực tính phổ ngõ vào (x) ngõ (y) lọc, sau vẽ đồ thị phổ biên độ ngõ vào ngõ % Signal Genergating Fs = 8e3; % Sampling frequency kHz Ts = 1/Fs; % Sampling period T_sim = 0.05; % Signal duration in seconds 50 ms t = : Ts : T_sim - Ts; x1=cos(2400*pi*t); x2=cos(5400*pi*t); xn = x1+x2; hn=bs2700.tf.num; M=size(hn)-1; y=conv(xn,hn); y=y(1:400); N = length(xn); % DFT length = signal length Xk = fft(xn, N); % DFT of signal Xk_Man = abs(Xk); T = length(y); % DFT length = signal length Yk = fft(y, T); % DFT of signal Yk_Man = abs(Yk); %% Signal plot figure(1) subplot(121) hold on plot(t, xn); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO VAO'); subplot(122) hold on plot(t, y); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO RA'); %% Spectrum plot figure(2) subplot(121); plot((0:N/2-1)*Fs/N, Xk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO VAO'); subplot(1,2,2) plot((0:N/2-1)*Fs/N, Yk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO RA'); Kết mô phỏng: Nhận xét: Sau qua lọc, tín hiệu tần số 2700 Hz bị loại bỏ so với tín hiệu ngõ vào Tạo mẫu tín hiệu x(n) tổng tín hiệu sine có tần số từ 100 Hz đến 3900 Hz có bước nhảy 100Hz tần số lấy mẫu fs = 8000 Hz, sau cho tín hiệu xn qua lọc để tính giá trị ngõ y(n) Dùng chương trình Matlab để vẽ phổ biên độ tín hiệu ngõ vào ngõ Giải thích có dạng phổ này? Chương trình Matlab thực yêu cầu: % Signal Genergating Fs = 8e3; % Sampling frequency kHz Ts = 1/Fs; % Sampling period T_sim = 0.05; % Signal duration in seconds 50 ms t = : Ts : T_sim - Ts; for k=100:100:3900 xn=xn+sin(2*pi*k*t); end hn=bs2700.tf.num; M=size(hn)-1; y=conv(xn,hn); y=y(1:400); N = length(xn); % DFT length = signal length Xk = fft(xn, N); % DFT of signal Xk_Man = abs(Xk); T = length(y); % DFT length = signal length Yk = fft(y, T); % DFT of signal Yk_Man = abs(Yk); %% Signal plot figure(1) subplot(121) hold on plot(t, xn); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO VAO'); subplot(122) hold on plot(t, y); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO RA'); %% Spectrum plot figure(2) subplot(121); plot((0:N/2-1)*Fs/N, Xk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO VAO'); subplot(1,2,2) plot((0:N/2-1)*Fs/N, Yk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO RA'); Kết mô phỏng: Phổ tín hiệu ngõ vào ngõ ra: Nhận xét: Tại tần số 2700 Hz, tín hiệu ngõ bị chắn so với tín hiệu ngõ vào Giải thích: Vì lọc Fir chắn dải tần số trung tâm 2700 Hz, nên tín hiệu ngõ bị chắn phần 5.1.2 Bộ lọc FIR thơng dải 5.1.3 Bộ lọc FIR thông cao 5.1.4 Bộ lọc FIR multiband 5.2 Các lọc IIR 5.2.1 Bộ lọc IIR chắn dải Kết thiết kế lọc IIR chắn dải Matlab: Ma trận sos Matlab: Bảng giá trị a b: 0,852664231 745610 1 1 0,332949763 805227 0,361361789 197994 0,419430500 886727 0,346015666 422754 0,434549965 441228 0,85266422 7757881 1,00000000 405120 1,00000000 415031 0,99999999 8270147 0,99999999 8205132 * Thực lọc IIR Matlab Chương trình Matlab thực lọc sau: 0,348426502 844280 0,280872670 849935 0,483998057 104217 0,311928932 273612 0,465630397 889095 0,784598410 834170 0,963772074 662473 0,964510697 154120 0,994307551 374787 0,994395645 686169 ` Kết quả: *Kiểm tra lọc Kiểm tra lọc với tín hiệu sine đa tần có thành phần tần số 1000 Hz 1750 Hz: clc % Signal Genergating Fs = 8e3; % Sampling frequency kHz Ts = 1/Fs; % Sampling period T_sim = 0.1; % Signal duration in seconds 50 ms g = : Ts : T_sim - Ts; [z,p,k] = tf2zp(bs1750.tf.num, bs1750.tf.den); sos = zp2sos(z,p,k); K=5; B=sos(1:5,1:3); A=sos(1:5,4:6); w=zeros(K,3); x=cos(2000*pi*g)+cos(3500*pi*g); k=length(x); k1=length(g); y=zeros(1,k1); d=zeros(1,K); xn=zeros(1,k1); c=zeros(1,k1); t=k+1:1:k1; xn=[x zeros(size(t))]; for i=1:k1 c(1,1)=xn(1,i); for i1=1:K w(i1,1)=c(1,i1)-A(i1,2)*w(i1,2)-A(i1,3)*w(i1,3); d(1,i1)=B(i1,1)*w(i1,1)+B(i1,2)*w(i1,2)+B(i1,3)*w(i1,3); w(i1,3)=w(i1,2); w(i1,2)=w(i1,1); c(1,i1+1)=d(1,i1); end y(1,i)=d(1,K); end N = length(x); % DFT length = signal length Xk = fft(x, N); % DFT of signal Xk_Man = abs(Xk); T = length(y); % DFT length = signal length Yk = fft(y, T); % DFT of signal Yk_Man = abs(Yk); %% Signal plot figure(1) subplot(121) hold on plot(g, x); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO VAO'); subplot(122) hold on plot(g, y); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO RA'); %% Spectrum plot figure(2) subplot(121); plot((0:N/2-1)*Fs/N, Xk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO VAO'); subplot(1,2,2) plot((0:N/2-1)*Fs/N, Yk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO RA'); Kết mô phỏng: Kiểm tra lọc với ngõ vào tín hiệu tổng tín hiệu sin tần số 100 – 3900 Hz: Chương trình Matlab thực yêu cầu: clc % Signal Genergating Fs = 8e3; % Sampling frequency kHz Ts = 1/Fs; % Sampling period T_sim = 0.1; % Signal duration in seconds 50 ms g = : Ts : T_sim - Ts; [z,p,k] = tf2zp(bs1750.tf.num, bs1750.tf.den); sos = zp2sos(z,p,k); K=5; B=sos(1:5,1:3); A=sos(1:5,4:6); w=zeros(K,3); for k=100:100:3900 x=x+sin(2*pi*k*g); end k=length(x); k1=length(g); y=zeros(1,k1); d=zeros(1,K); xn=zeros(1,k1); c=zeros(1,k1); t=k+1:1:k1; xn=[x zeros(size(t))]; for i=1:k1 c(1,1)=xn(1,i); for i1=1:K w(i1,1)=c(1,i1)-A(i1,2)*w(i1,2)-A(i1,3)*w(i1,3); d(1,i1)=B(i1,1)*w(i1,1)+B(i1,2)*w(i1,2)+B(i1,3)*w(i1,3); w(i1,3)=w(i1,2); w(i1,2)=w(i1,1); c(1,i1+1)=d(1,i1); end y(1,i)=d(1,K); end N = length(x); % DFT length = signal length Xk = fft(x, N); % DFT of signal Xk_Man = abs(Xk); T = length(y); % DFT length = signal length Yk = fft(y, T); % DFT of signal Yk_Man = abs(Yk); %% Signal plot figure(1) subplot(121) hold on plot(g, x); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO VAO'); subplot(122) hold on plot(g, y); xlabel('Time (sec)'); ylabel('Amplitude'); title('GIA TRI NGO RA'); %% Spectrum plot figure(2) subplot(121); plot((0:N/2-1)*Fs/N, Xk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO VAO'); subplot(1,2,2) plot((0:N/2-1)*Fs/N, Yk_Man(1:N/2) / N); xlabel('Frequency (Hz)'); ylabel('Amplitude'); title('PHO BIEN DO NGO RA'); Kết mô phỏng: 5.2.2 Bộ lọc IIR thông thấp 5.2.3 Thực lọc IIR thông dải 5.2.4 Thiết kế lọc IIR multiband ... ngõ lọc ngõ vào tín hiệu xung vng Hệ thống lại lý thuyết học THIẾT BỊ THÍ NGHIỆM CƠ SỞ LÝ THUYẾT CHUẨN BỊ LÝ THUYẾT THÍ NGHIỆM TIẾN TRÌNH THÍ NGHIỆM 5.1 Các lọc FIR 5.1.1 Bộ lọc FIR chắn dải Kết... RA''); Kết mơ phỏng: Phổ tín hiệu ngõ vào ngõ ra: Nhận xét: Tại tần số 2700 Hz, tín hiệu ngõ bị chắn so với tín hiệu ngõ vào Giải thích: Vì lọc Fir chắn dải tần số trung tâm 2700 Hz, nên tín hiệu. .. chắn phần 5.1.2 Bộ lọc FIR thông dải 5.1.3 Bộ lọc FIR thông cao 5.1.4 Bộ lọc FIR multiband 5.2 Các lọc IIR 5.2.1 Bộ lọc IIR chắn dải Kết thiết kế lọc IIR chắn dải Matlab: Ma trận sos Matlab: Bảng

Ngày đăng: 02/12/2022, 06:08

Tài liệu cùng người dùng

Tài liệu liên quan