【正文】
時和混響,再分析其頻譜,并與原始信號頻譜進行比較;4) 設(shè)計幾種特殊類型的濾波器:單回聲濾波器,多重回聲濾波器,全通結(jié)構(gòu)的混響器,并畫出濾波器的頻域響應(yīng);5) 用自己設(shè)計的濾波器對采集的語音信號進行濾波;6) 分析得到信號的頻譜,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;7) 回放語音信號。用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數(shù)。 %對信號做2048點FFT變換f=fs*(0:2047)/n。原始語音信號頻譜39。t=(0:length(x)1)/22050。原始語音信號頻譜39。)。wp1=2/Ts*tan(wp/2)。figure(2)[x,fs,bits]=wavread(39。)。)。 %取整t=0:(size(x)1)。figure(3)y2=fft(x,1024)。)。~。*調(diào)制頻率(Freq),指主延時的調(diào)頻周期。若向量x的長度大于N,則函數(shù)截短x使之長度為N。用直接1型表示這個傳遞函數(shù)則為:y(n)=k*x(n)+x(nm)+k*y(nm)可見其實際上是一個簡單的IIR濾波器,時間n的輸出有時間n的輸入和m點之前的輸入與輸出計算而得。原始信號幅頻39。title(39。title(39。z=[zeros(3000,1)。subplot(2,2,4)。%單回聲濾波器系統(tǒng)函數(shù)分母y2=filter(Bz1,Az1,y)。單回聲濾波器時域圖 39。y]。subplot(3,2,2)。plot(angle(Y2))。Y2=fft(y2,6001)。)。z=[zeros(3000,1)。subplot(3,2,2)。plot(angle(YY2))。T=1/Fs。xlabel(39。xlabel(39。%濾波器軟件實現(xiàn)figure。plot(t,y1t)。ws=[2*fsl/Fs,2*fsu/Fs]。w39。高通濾波Fs=10000。plot(w/pi,20*log(m/max(m)))。xlabel(39。通帶截止頻率為:wp=*pi。目前比較成熟的IIR數(shù)字濾波器設(shè)計方法有兩種:1)直接法目前所用的方法主要是:零極點累試法、頻域幅度平方誤差最小法和時域單位脈沖響應(yīng)逼近法。xlabel(39。ylabel(39。)。(5) 工頻干擾(50Hz)用x表示加入工頻干擾后的信號,再對工頻信號的1000個頻率點進行FFT運算,在進行相關(guān)的運算后,通過調(diào)用plot函數(shù)直接繪出加入工頻干擾后的時域圖和頻譜圖。ylabel(39。k=x1+p。plot(wc/pi,abshc)。wp=(f1/fs)*2*pi。濾除工頻干擾后的時域圖39。頻率(Hz)39。Ws2=(f22/fs)*2*pi。[BT,AT]=lp2bp(B,A,W00,BW)。s3=fft(y,1000)。具體操作如下:figure(9)。幅值(A)39。設(shè)計心得 課程設(shè)計是培養(yǎng)我們綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓(xùn)練和考察過程,通過課程設(shè)計我們能夠比較系統(tǒng)的了解理論知識,把理論和實踐相結(jié)合,并且用到生活當中。,...) creates a new GUIDE or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before GUIDE_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to GUIDE_OpeningF via varargin.%% *See GUI Options on GUIDE39。amp。angy1=angle(y1)。Hz39。figure(1)subplot(2,1,1) ,plot(x)。)xlabel(39。wavwrite(x2,fs,39。)。X=fft(x)。原始信號的頻譜39。)。濾波前的時域波形39。)。% Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。原始信號相位39。y]。延時后相頻39。)。axis([0 4500 0 400])% Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[y,fs,bits]=wavread(39。title(39。)。title(39。f1=fftfilt(b,x)。Hz39。figure(3)sound(z,fs,bits)。h:\39。wp1=2/Ts*tan(wp/2)。ylabel(39。y2=fft(x2,N)。t=(0:length(x)1)/fs。)figure(3)plot(f,abs(y1(1:2048)))。N=length(x)fssound(x,fs,bits)。, [] , ... 39。,hObject,eventData,handles,...) calls the local% function named CALLBACK in with the given input arguments.%% GUIDE(39。ylabel(39。xlabel(39。)。)。)。f22=30。title(39。y=filter(bz,az,x2)。具體操作如下:figure(5)。ylabel(39。Hz39。)。ylabel(39。title(39。)。plot(t,b)。最后實現(xiàn)輸入輸出、幅頻特性、相頻特性的圖形。(4) 利用雙線性變換法將模擬濾波器Ha(s),從s平面轉(zhuǎn)換到z平面,得到數(shù)字低通濾波器系統(tǒng)函數(shù)H(z)。plot(t,y3t)。figure。)。title(39。fpu=560。ylabel(39。rs=60。grid。st=xt1+xt2+xt3。Tp=N*T。title(39。plot(abs(h))。 全通結(jié)構(gòu)濾波器程序設(shè)計[y,fs,bits]=wavread(39。subplot(3,2,3:4)。R=5000。title(39。plot(abs(h))。sound(y2,fs,bits)。)。a=。plot(abs(Y1))。)。y]。采樣信號時域波形39。)。(1)單回聲濾波器回音可以由簡單的延時單元產(chǎn)生。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法;否則fft執(zhí)行一種混合基的離散傅立葉變換算法,計算速度較慢。回音處理一般都是用于產(chǎn)生簡單的混響效果。二、混響與延遲(1)混響效果主要是用于增加音源的融合感。 %畫出濾波后的頻譜圖title(39。)。wp=*pi。subplot(212)。subplot(212)。title(39。Rp=1。Hz39。fudu39。)。)figure(2)freqz(x) %繪制原始語音信號的頻率響應(yīng)圖title(39。H:\39。脈沖響應(yīng)不變法法設(shè)計巴特沃斯濾波器進行 GUI 設(shè)計時,首先單擊GUI 面板左邊所需的控件,然后在右邊的圖形界面編輯區(qū)中再次單擊某一恰當?shù)奈恢?這時將在該位置上為圖形界面添加一相應(yīng)的控件,接下來,通過屬性編輯器和對齊編輯器對各控件設(shè)置相關(guān)屬性和進行界面布置,以完善界面功能。通過該課程的課程設(shè)計實踐,使學生對信號與信息的采集、處理、傳輸、顯示、存儲、分析和應(yīng)用等有一個系統(tǒng)的掌握和理解;鞏固和運用在《數(shù)字信號處理》課程中所學的理論知識和實驗技能,掌握數(shù)字信號處理的基礎(chǔ)理論和處理方法,提高分析和解決信號與信息處理相關(guān)問題的能力,為以后的工作和學習打下基礎(chǔ)。調(diào)用GUIDE 的方法有2 種,在MATLAB 命令窗口中輸入guide 命令,或在MATLAB 主菜單中點擊File →New →GUI 即可打開一個可編輯的新窗口。語音信號的采集(wavread函數(shù)),畫時域圖既然知道了該聲波的頻譜,按頻率就可以反演它的時域值,利用以上分析的主要峰值來重構(gòu)聲波。)subplot(3,1,3),plot(angy1)。由于原理相似這里以正弦干擾為例加以介紹。time n39。加噪語音信號頻譜39。fs = 22050。 %用雙線性變換法實現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換[h,w]=freqz(bd,ad)。title(39。Hz39。H:39。subplot(2,1,2)plot(t,f1)。fuzhi39。(2)采樣位數(shù)即采樣值或取樣值,用來衡量聲音波動變化的參數(shù),是指聲卡在采集和播放聲音文件時所使用數(shù)字聲音信號的二進制位數(shù)。依其延遲時間的不同,可分別產(chǎn)生合唱、鑲邊、回音等效果。函數(shù)的一種調(diào)用格式為 y=fft(x)其中,x是序列,y是序列的FFT,x可以為一向量或矩陣,若x為一向量,y是x的FFT。四、濾波器設(shè)計本次設(shè)計用IIR濾波器對信號進行濾波,函數(shù)名為filter函數(shù)filter的調(diào)用格式為 y=filter(b,a,x)該格式采用數(shù)字濾波器對數(shù)據(jù)進行濾波,既可以用于IIR濾波器,也可以用于FIR濾波器。plot(y)。%抽取6001點subplot(2,2,1:2)。%回放采樣信號對采樣后的信號延時[y,fs,bits]=wavread(39。plot(angle(Z))?;祉懙臅r域波形39。y]。 plot(angle(h))。title(39。Y2=fft(y2,6001)。)。y=[y。title(39。無限個回聲濾波器信號相頻 39。yy2=filter(Bz1,Az1,y)。)。 調(diào)用ellipord計算橢圓DF階數(shù)N和通帶截止頻率wp. 調(diào)用ellip計算橢圓帶通DF系統(tǒng)函數(shù)系數(shù)向量B和A.產(chǎn)生信號N=1600。xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t)。)subplot(2,1,2)stem(f,abs(fxt)/max(abs(fxt)),39。%fp必須大于250,fs必須小于500wp=2*fp/Fs。xlabel(39。)。m=abs(H2)。)。high39。H339??梢婋A數(shù)n越高,其幅頻特性越好,低頻檢測信號保真度越高,過渡帶變窄,即衰減加劇,但半功率點不變。滿足設(shè)計指標的最小階數(shù)和截止頻率:Wn[n,Wn]=cheb1ord(OmegaP,OmegaS,1,40,39。subplot(2,1,1)。plot(f1,abs(y1))。figure(2)。xlabel(39。plot(t,x)。幅度39。xlabel(39。)。)。f1=100*(0:999)/1000。f11=10。WS=WP*(W0^2Ws1^2)/(Ws1*BW)。)。)。title(39。xlabel(39。我們還能從設(shè)計中檢驗我們所學的理論知識到底有多少,鞏固我們已經(jīng)學會的,不斷學習我們所遺漏的新知識,把這門課學的扎實。gui_OutputF39。% Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。原始信號相位39。N=length(x)。ylabel(39。) xlabel(39。Rs=15。濾波器的性能分析39。title(39。濾波后的信號頻譜39。t=0:(size(x)1)。figure(3)y2=fft(x,1024)。)。title(39。ylabel(39。plot(abs(Z))。wavwrite(y,fs,39。subplot(2,2,1:2)。)figure(3)plot(f,abs(y1(1:2048)))。N=length(x)sound(x