Hình 3.28: Hình ảnh kắt TMS320VC5416 DSK
TMS320VC5416 ựược trang bị bộ vi xử lý với tốc ựộ cao cho phép hoạt ựộng ở chế ựộ on time. Các phần mềm lập trình và biên dịch bao gồm trình biên dịch C, ngôn ngữ Assembly, TMS320 có nhiều ứng dụng cho xử lý tắn hiệu số (DSP) như: vocoding; filterning và error coding và rất nhiều các ứng dụng khác trong phân tắch và xử lý hình ảnh trong các thiết bị viễn thông và y tế
Học viên: Phạm Tuấn Diệu 88 KẾT LUẬN
Bài luận văn trên ựã thể hiện những kiến thức cơ bản của lý thuyết xử lý số nhiều nhịp và băng lọc số. Trình bày những ứng dụng cơ bản của băng lọc số nhiều nhịp, ựặc biệt là ứng dụng mã hóa băng con vào nén tắn hiệu âm thanh số.
Nội dung của ựề tài ựược trình bày trong 3 chương:
Chương 1: Trình bày các khái niệm, các phép toán và ký hiệu cơ bản áp dụng trong kỹ thuật xử lý số nhiều nhịp.
Chương 2: Giới thiệu về băng lọc số nhiều nhịp.
Chương 3: Trình bày các ứng dụng của băng lọc số, ựặc biệt là ứng dụng mã hóa băng con trong kỹ thuật nén tắn hiệu audio số và các chuẩn MPEG cho audio
Các hướng nghiên cứu tiếp theo:
Hiện nay lý thuyết về DSP ựã phát triển rất mạnh mẽ, ựặc biệt là sự xuất hiện và phát triển nhanh chóng của lý thuyết về biến ựổi Wavelet và sau Wavelet với rất nhiều ưu ựiểm khi ứng dụng trong xử lý tắn hiệu âm thanh, hình ảnh,.. Cùng với ựó là sự phát triển nhanh chóng của kỹ thuật 3D. Do ựó, tác giả xin mạnh dạn ựưa ra hướng phát triển của ựề tài như sau: Nghiên cứu phép biến ựổi Wavelet kết hợp SBC áp dụng trong nén ảnh 3D.
Học viên: Phạm Tuấn Diệu B
Phô lôc: Ch−ểng trừnh Mề pháng bé lảc sè Ch−ểng trừnh mề pháng 1: Minh hảa quị trừnh giờm tèc ệé mÉu hỷ sè M
%minh hoa qua trinh tang, giam toc do mau clf;
N=100;
M=input('thua so giam mau ='); f1=0.043;
f2=0.031; n=0:N-1;
%phat day loi vao
x=sin(2*pi*f1*n)+sin(2*pi*f2*n);
%phat day loi ra da duoc giam toc do mau y1=decimate(x,M,'fir');
figure(1); subplot(3,1,1); stem(n,x(1:N));
title('day loi vao');ylabel('bien do'); subplot(3,1,2);
m=0:N/M-1;
stem(m,y1(1:N/M));
title('day giam toc do mau');xlabel('n');ylabel('bien do');
Kạt quờ thùc hiỷn ch−ểng trừnh vắi M = 3:
Ch−ểng trừnh 2: Minh hảa quị trừnh tẽng tèc ệé mÉu hỷ sè L
%Minh hoa qua trinh tang toc do mau thua so nguyen L clf;
Học viên: Phạm Tuấn Diệu C n=0:50; x=sin(2*pi*0.12*n); y=zeros(1,L*length(x)); y([1:L:length(y)])=x; figure(1);
%Phat day loi vao subplot(2,1,1) stem(n,x);
title('Day mau loi vao');
xlabel('Chi so thoi gian n');ylabel('Bien do'); %Phat day loi ra da duoc tang toc do mau subplot(2,1,2)
stem(n,y(1:length(x))); title('Day mau loi ra');
xlabel('Chi so thoi gian n');ylabel('Bien do');
Kạt quờ thùc hiỷn ch−ểng trừnh vắi L = 4:
Ch−ểng trừnh 3: Minh hảa quị trừnh thay ệữi tèc ệé mÉu thõa sè L/M khềng nguyến
%Thay doi toc do mau bang thua so L/M khong nguyen clf;
L=input('thua so tang mau='); M=input('thua so giam mau='); n=0:29;
x=sin(2*pi*0.43*n)+sin(2*pi*0.31*n); y=resample(x,L,M);
subplot(2,1,1);
Học viên: Phạm Tuấn Diệu D
title('Day loi vao');
xlabel('Chi so thoi gian n');ylabel('Bien do'); subplot(2,1,2);
m=0:(30*L/M)-1;
stem(m,y(1:30*L/M));axis([0 (30*L/M)-1 -2.2 2.2]); title('Day loi ra');
xlabel('Chi so thoi gian n');ylabel('Bien do');
Kạt quờ thùc hiỷn ch−ểng trừnh vắi L/M = 5/3:
Ch−ểng trừnh 5: thiạt kạ bẽng lảc DFT ệăng nhÊt 4 kếnh.
MỰch lảc prototype lộ mỰch lảc thềng thÊp cã ωp = 0,15π vộ ωs = 0,25π.
%chuong trinh thiet ke bang loc DFT dong nhat 4 kenh clf;
%thiet ke mach loc prototype FIR thong thap b=remez(23,[0 0.20 0.25 1],[1 1 0 0],[10 1]); w=0:2*pi/255:2*pi; n=0:23; for k=1:4; c=exp(2*pi*(k-1)*n*i/4); FB=b.*c; HB(k,:)=freqz(FB,1,w); end
%ve dap ung bien do cua moi mach loc con figure(1)
subplot(5,1,1);
plot(w/pi,abs(HB(1,:)));
xlabel('\omega/pi'); ylabel('Amplitude'); title('Chanel No.1'); axis([0 2 0 1.1]); subplot(5,1,2);
Học viên: Phạm Tuấn Diệu E
xlabel('\omega/pi'); ylabel('Amplitude'); title('Chanel No.2'); axis([0 2 0 1.1]); subplot(5,1,3);
plot(w/pi,abs(HB(3,:)));
xlabel('\omega/pi'); ylabel('Amplitude'); title('Chanel No.3'); axis([0 2 0 1.1]); subplot(5,1,4);
plot(w/pi,abs(HB(4,:)));
xlabel('\omega/pi'); ylabel('Amplitude'); title('Chanel No.4'); axis([0 2 0 1.1]);
%ve dap ung bien do cua bang loc DFT dong nhat - 4 kenh subplot(5,1,5); plot(w/pi,abs(HB(1,:)),'r','LineWidth',1);hold on; plot(w/pi,abs(HB(2,:)),'b','LineWidth',1);hold on; plot(w/pi,abs(HB(3,:)),'k','LineWidth',1);hold on; plot(w/pi,abs(HB(4,:)),'m','LineWidth',1); xlabel('\Omega/pi'); axis([0 2 0 1.1]); Kạt quờ thùc hiỷn ch−ểng trừnh:
Ch−ểng trừnh 6: thiạt kạ bẽng lảc FIR QMF pha tuyạn tÝnh cho bẽng lảc QMF 2 kếnh khềng chăng phữ, mỰch lảc QMF Johnston.
%Dap ung tan so cua dan loc QMF Johnston
B1=[-0.006443977,0.02745539,-0.00758164,-0.0913825,0.09808552,0.4807962]; B1=[B1 fliplr(B1)];%tao ra cac he so doi xung cua mach loc H0
w=0:2*pi/255:2*pi; %phat mach thong cao bu L=length(B1);disp(L) for k=1:L
Học viên: Phạm Tuấn Diệu F
B2(k)=((-1)^k)*B1(k);%cac he so cua mach loc H1 end
%tinh dap ung bien do cua hai mach loc [H1z,w]=freqz(B1,1,256);
h1=abs(H1z); g1=20*log10(h1); [H2z,w]=freqz(B2,1,256); h2=abs(H2z); g2=20*log10(h2); %ve dap ung bien do cua 2 mach loc figure(1);
plot(w/pi,g1,'-',w/pi,g2,'r-','LineWidth',1); grid; xlabel('\omega/\pi'); ylabel('Bien do');
title('Dap ung tan so cua bo loc QMF Johnston'); legend('H0','H1');
%Tinh tong cac dap ung binh phuong bien do for i=1:256
sum(i)=(h1(i)*h1(i))+(h2(i)*h2(i)); end
d=10*log10(sum);
%ve su meo dang bien do figure(2)
plot(w/pi,d,'black'); grid;
xlabel('\omega/\pi'); ylabel('Su meo dang bien do, dB');
Kạt quờ thùc hiỷn ch−ểng trừnh:
Học viên: Phạm Tuấn Diệu G
Hừnh2. Sù mĐo dỰng biến ệé
Ch−ểng trừnh 7: Minh hảa tÝn hiỷu audio (.wav) ệi qua bẽng lảc ệa phẹn giời QMF 5 kếnh . ậẵu ra 5 bẽng con ẻ cịc vỉng tẵn sè 0-875Hz; 875-1750Hz; 1750-3500Hz; 3500-5250Hz; 5250-7000Hz sau ệã khềi phôc lỰi ẻ bẽng lảc tững hĩp.
%Minh hoa tin hieu audio qua bang loc QMF cau truc da phan giai clear;
clf;
%doc tep am thanh
[filename,path]=uigetfile('.wav','Hay chon tep am thanh'); %cd('c:/matlab701/work') cd(path);disp(path) [fid,mesage]=fopen(filename,'r'); disp(mesage) archive=fread(fid); archwr=archive; siz=wavread(filename,'size') if siz(1)>100000 [y,Fs,nbit]=wavread(filename,100000); else [y,Fs,nbit]=wavread(filename); end
disp('frequency of sampling [hz])');disp(Fs);%Tan so lay mau am thanh Fs tinh theo don vi Hz
disp(nbit);%So bit duoc ma hoa tren mot mau
length_original=length(y);size(y)%Kich thuoc cua file am thanh disp('length(bytes)=');disp(length(y));
figure(1); subplot(2,1,1);
Học viên: Phạm Tuấn Diệu H
plot(y); title('Tin hieu am thanh loi vao');%y la toan bo du lieu sau khi lay mau va ma hoa subplot(2,1,2); Yk=fft(y,256); k=0:255; stem(k,abs(Yk));grid; pxx=Yk.*conj(Yk)/256; f=Fs/256*(0:127);
plot(f,pxx(1:128));title('mat do pho cong suat'); pause(1);
sound(y,Fs)%chay file am thanh chua qua bo loc %Xay dung bo loc Prototype H0 > bo loc ban dai N=30;%Do dai cua bo loc prototype H0
div=0.1;%Buoc bat dau do tim tan so cat
eval=exp(j*pi*(0:N-1)/2);%luy thua duoc danh gia tai w=n*pi/2 freq=0.5;%tan so cat ban dau
target=1/sqrt(2);%bien do can dat duoc tai pi/2 diff=1;%gia tri sai khac ban dau
while diff>0.0001
h0=fir1(N-1,freq,blackman(N));%tim cac he so cua bo loc su dung cua so blackman meansure=abs(eval*h0'); diff=abs(target-meansure); if meansure<target freq=freq+div; else freq=freq-div; end div=div/2; end
%xay dung bo loc H1 for k=1:N
h1(k)=((-1)^k)*h0(k); end
%tinh toan tan so cua 5 bo loc phan tich tuong duong a0=zeros(1,2*length(h0)); a0([1:2:length(a0)])=h0; a1=zeros(1,2*length(h1)); a1([1:2:length(a1)])=h1; b0=zeros(1,4*length(h0)); b0([1:4:length(b0)])=h0; b1=zeros(1,4*length(h1)); b1([1:4:length(b1)])=h1; %cac bo loc tuong duong c0=conv(h0,a0);
d1=conv(c0,b0);%bo loc 1 d2=conv(c0,b1);%bo loc 2 d3=conv(h0,a1);%bo loc 3
Học viên: Phạm Tuấn Diệu I
d4=conv(h1,a0);%bo loc 4 d5=conv(h1,a1);%bo loc 5 %xay dung bo loc tong hop g0=h0;
g1=-h1;
%dap ung bien do tan so cua cac bo loc phan tich h0 va h1 [h0z,w]=freqz(h0,1,256); h00=abs(h0z); h00d=20*log10(h00); [h1z,w]=freqz(h1,1,256); h11=abs(h1z); h11d=20*log10(h11); figure(2); subplot(2,1,1); plot(w/pi,h00d,'-',w/pi,h11d,'m-'); grid; xlabel('Tan so:w/pi');ylabel('Bien do dB');
title('dap ung bien do cua mach loc QMF co so'); % loi khoi phuc cua dan loc QMF 2 kenh co so for i=1:256
sum(i)=(h00(i)*h00(i))+(h11(i)*h11(i)); end
k=10*log10(sum); % ve do thi loi khoi phuc subplot(2,1,2);
plot(w/pi,k); grid;
axis([0 1 -0.1 0.1]); xlabel('Tan so:w/pi'); ylabel('Bien do (dB)'); title('Meo bien do cua mach loc QMF co so');
pause(2);
% dap ung bien do cua cac bo loc phan tich tuong duong [e1z,w]=freqz(d1,1,256); e1=abs(e1z); e1=20*log10(e1); [e2z,w]=freqz(d2,1,256); e2=abs(e2z); e2=20*log10(e2); [e3z,w]=freqz(d3,1,256); e3=abs(e3z); e3=20*log10(e3); [e4z,w]=freqz(d4,1,256); e4=abs(e4z); e4=20*log10(e4); [e5z,w]=freqz(d5,1,256); e5=abs(e5z); e5=20*log10(e5); figure(3); plot(w/pi,e1,'-',w/pi,e2,'-',w/pi,e3,'-',w/pi,e4,'-',w/pi,e5,'-'); axis([0 1 -80 10]);
xlabel('Tan so:w/pi'); ylabel('Bien do (dB)');
title('Dap ung bien do cua bang loc QMF phan tich'); % cho tin hieu di qua bang loc QMF 5 kenh
x0=filter(h0,1,y); downsample(x0,2);
Học viên: Phạm Tuấn Diệu J
x00=filter(h0,1,x0); downsample(x00,2); x000=filter(h0,1,x00);
downsample(x000,2);% loi ra cua kenh 1 x001=filter(h1,1,x00);
downsample(x001,2);% loi ra cua kenh 2 x01=filter(h1,1,x0);
downsample(x01,2);% loi ra cua kenh 3 x1=filter(h1,1,y);
downsample(x1,2); x10=filter(h0,1,x1);
downsample(x10,2);% loi ra cua kenh 4 x11=filter(h1,1,x1);
downsample(x11,2);% loi ra cua kenh 5 pause(3);
figure(4);
subplot(5,1,1); plot(x000);title('tin hieu 5 bang con'); subplot(5,1,2); plot(x001);
subplot(5,1,3); plot(x01); subplot(5,1,4); plot(x10); subplot(5,1,5); plot(x11);
% tin hieu bat dau vao dan loc tong hop upsample(x000,2); y000=filter(g0,1,x000); upsample(x001,2); y001=filter(g1,1,x001); y00s=y000+y001; upsample(y00s,2); y00=filter(g0,1,y00s); upsample(x01,2); y01=filter(g1,1,x01); L=length(y00);
%doan ma nay can bang do tre giua tin hieu tong hop 1 va 2 voi cac nhanh con lai cua dan loc
D=N-1; % N la bac cua bo loc for i=1:(L-D) y00(i)=y00(i+D); end y0s=(y00+y01); upsample(y0s,2); y0=filter(g0,1,y0s); UPSAMPLE(x10,2); y10=filter(g0,1,x10); UPSAMPLE(x11,2); y11=filter(g1,1,x11); y1s=(y10+y11); UPSAMPLE(y1s,2); y1=filter(g1,1,y1s);
Học viên: Phạm Tuấn Diệu K
yout=y0+y1; % tin hieu tong hop dau ra % ket thuc
pause(3); figure(5); subplot(2,1,1);
plot(yout);axis([0 40000 -1 1]); title('tin hieu am thanh loi ra'); Yr=fft(yout,256);
pyy=Yr.*conj(Yr)/256; f=Fs/256*(0:127); subplot(2,1,2);
plot(f,pyy(1:128));title('mat do pho cong suat'); pause(4);
sound(yout,Fs);
Học viên: Phạm Tuấn Diệu II
Danh môc tội liỷu tham khờo
[1] NguyÔn Quèc Trung, Xỏ lý tÝn hiỷu vộ lảc sè (TẺp 1 + 2), NXB Khoa hảc vộ Kủ thuẺt, 2006.
[2] Hă Vẽn Sung, Xỏ lý sè tÝn hiỷu ệa tèc ệé vộ dộn lảc- Lý thuyạt vộ ụng dông, NXB Khoa hảc vộ Kủ thuẺt, 2007.
[3] Lế Tiạn Th−êng, Xỏ lý sè tÝn hiỷu vộ Wavelets, NXB Khoa hảc vộ Kủ thuẺt, 2004.
[4] PhỰm Th−ĩng Hộn, Xỏ lý sè tÝn hiỷu vộ ụng dông, NXB Giịo dôc, 2007. [5] Hă Vẽn Sung, Thùc hộnh xỏ lý sè tÝn hiỷu vắi Matlab, NXB Khoa hảc Kủ
thuẺt, 2008.
[6] L−ểng MỰnh Bị - NguyÔn Thanh Thựy, NhẺp mền xỏ lý ờnh sè, NXB Khoa hảc vộ Kủ thuẺt, 1999.
[7] Ali N. Akansu and Richard A. Haddad, Multiresolution signal decomposition: transforms, subbands, and wavelets, A Harcourt Science and Technology Company, 2001.
[8] Charles K. Chui and Jianzhong Wang, Shannon Wavelet Approach to Sub- Band Coding, Academic Press, 2001.
[9] Jerry D. Gibson, Handbook of Image and video processing, Academic Press, 2000.
[10] D.Koilpllai and P.P Vaidyanathan, New resuilts of cosine modulated FIR filter banks satisfying perfect reconstructionỢ in Proc. IEEE Int.Conf. ASSP. May 1991, pp 1793-1796.
[11] GĐrard Blanchet and Maurice Charbit, Digital Signal and Image Processing using MATLAB, ISTE Ltd, 2006.
[12] D.Koilpllai and P.P Vaidyanathan, New resuilts of cosine modulated FIR filter banks satisfying perfect reconstructionỢ in Proc. IEEE Int.Conf. ASSP. Nov 1990.
[13] Tinku Acharya and Ping-Sing Tsai, JPEG2000 Standard for Image Compression, A JOHN WILEY & SONS, INC., 2005.
[14] J. Proakis, D.Manolakis, Introduction to Digital Signal Processing, Macmillan Publishing Comp. 1989.
Học viên: Phạm Tuấn Diệu III
[15] S J. Orfanidis, Introduction to Signal Processing, Prentice - Hall Publisher 1996.
[16] Maurice Bellanger, Digital Processing of Signal: Theory and Practice, John Wiley & Son Ltd 1989.
[17] Athanasios Papoulis, Signal Analysis, McGraw-Hill Inc., 1977.
[18] E.C.Ifeachor, B.W.Jervis, Digital Signal Processing - A Practical Approach. Addition - Wesley Pulishers Ltd, 1993.
[19] Alfred Mertins, Signal Analysis Wavelets, Filter Banks, Time-Frequency Transforms and Applications, John Wiley & Sons Ltd, 1999.
[20] James S. Walker, A Primer on Wavelets and Their Scientific Applications, Taylor & Francis Group, LLC, 2008.
[21] Stephane Mallat, A wavelet tour of signal processing, Academic press, 1999. [22] Qian Tao, Vai Mang I and Xu Yuesheng, Wavelet Analysis and Applications,
Birkhảuser Verlag, 2007.
[23] Martin Vetterli and Jelena Kovacevic, Wavelet and Subband Coding, Prentice hall, 1995.
[24] V.K.Madisetti, D.B.Williams, The Digital Signal Processing Handbook, CRC Press IEEE, 1998.
[25] Subband and wavelet coding, [online]. Available:
www.stanford.edu/class/ee398a/handouts/lectures/09-SubbandCoding.pdf. [26] http://www.mathworks.com/matlabcentral/fileexchange/, truy cẺp cuèi cỉng
ngộy 25/9/2011.
[27] http://www.mpeg.org/, truy cẺp cuèi cỉng ngộy 15/10/2011.