【正文】
H:\39。延時后相頻39。)。subplot(2,2,3)。plot(z)。y]。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。原始信號相位39。title(39。subplot(3,1,1),plot(x)。y1=fft(x,N)。% 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。)。Hz39。subplot(2,1,2)F1=plot(f,abs(F0(1:512)))。)。title(39。f=fs*(0:511)/1024。濾波后的時域波形39。濾波前的時域波形39。f1=fftfilt(b,x)。N=ceil(*pi/wdelta)。)。)。Hz39。title(39。)。原始信號的頻譜39。figure(3)sound(z,fs,bits)。plot(z)。title(39。X=fft(x)。h:\39。title(39。[bd,ad]=bilinear(b,a,Fs)。)。wp1=2/Ts*tan(wp/2)。Rp=1。fc=1200。wavwrite(x2,fs,39。ylabel(39。加噪語音信號頻譜39。fudu39。)xlabel(39。y2=fft(x2,N)。)。title(39。figure(1)subplot(2,1,1) ,plot(x)。t=(0:length(x)1)/fs。)。)。Hz39。)figure(3)plot(f,abs(y1(1:2048)))。title(39。)subplot(3,1,2),plot(magy1)。angy1=angle(y1)。N=length(x)fssound(x,fs,bits)。% hObject handle to figure% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default mand line output from handles structurevarargout{1} = 。end% End initialization code DO NOT EDIT% Executes just before GUIDE is made visible.function GUIDE_OpeningF(hObject, eventdata, handles, varargin)% This function has no output args, see OutputF.% hObject handle to figure% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin mand line arguments to GUIDE (see VARARGIN)% Choose default mand line output for GUIDE = hObject。amp。, [] , ... 39。, GUIDE_OpeningF, ... 39。, mfilename, ... 39。,...) 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。,hObject,eventData,handles,...) calls the local% function named CALLBACK in with the given input arguments.%% GUIDE(39。課程設(shè)計主要是我們理論知識的延伸,它的目的主要是要在設(shè)計中發(fā)現(xiàn)問題,并且自己要能找到解決問題的方案,形成一種獨立的意識。在以前的實驗中沒有接觸過GUI界面的問題,根本不知道從哪入手,在查閱了資料,看視頻,有了一定的了解,但是由于初次接觸,出現(xiàn)問題的時候還是很難解決,經(jīng)過和同學(xué)討論,終于解決了這些問題。設(shè)計心得 課程設(shè)計是培養(yǎng)我們綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓(xùn)練和考察過程,通過課程設(shè)計我們能夠比較系統(tǒng)的了解理論知識,把理論和實踐相結(jié)合,并且用到生活當(dāng)中。ylabel(39。)。f1=100*(0:999)/1000。幅值(A)39。xlabel(39。plot(y4)。freqz(d,512)。具體操作如下:figure(9)。)。頻率(Hz)39。title(39。s3=fft(y,1000)。)。濾除白噪聲后的時域圖39。figure(8)。[BT,AT]=lp2bp(B,A,W00,BW)。)。WP=1。Omegas2=2*fs*tan(Wp2/2)。Ws2=(f22/fs)*2*pi。f22=30。fs=100。)。頻率(Hz)39。title(39。y3=fft(y,1000)。)。濾除工頻干擾后的時域圖39。y=filter(bz,az,x2)。s39。[n1,Wn]=buttord(Omegap,Omegas,1,50,39。wp=(f1/fs)*2*pi。具體操作如下:figure(5)。Hz39。xlabel(39。plot(wc/pi,abshc)。ylabel(39。)。subplot(2,1,1)。k=x1+p。Hz39。xlabel(39。plot(f2,abs(y2))。ylabel(39。)。subplot(2,1,1)。x=x1+x2。(5) 工頻干擾(50Hz)用x表示加入工頻干擾后的信號,再對工頻信號的1000個頻率點進行FFT運算,在進行相關(guān)的運算后,通過調(diào)用plot函數(shù)直接繪出加入工頻干擾后的時域圖和頻譜圖。ylabel(39。)。subplot(2,1,2)。)。title(39。abshs=abs(hs)。(3) 加入噪聲干擾這里我加入的噪聲是:白噪聲,50Hz的工頻噪聲,帶限chirp噪聲。ylabel(39。)。 subplot(2,1,2)。幅值(A)39。xlabel(39。plot(t,b)。 (2)繪出心電信號的時域圖和頻譜圖將導(dǎo)入的兩行數(shù)據(jù)分別用t,b來替換,然后通過調(diào)用plot函數(shù)來畫出時域圖,然后通過對1000個心電數(shù)據(jù)的幅值進行FFT運算,再次調(diào)用plot函數(shù)來繪出頻域圖,具體設(shè)計如下:figure(1)。 由于直接法設(shè)計巴特沃思濾波器相對復(fù)雜,在不需要任意幅頻特征的情況下,一般采用問接法,同時由于沖激響應(yīng)不變法和脈沖響應(yīng)不變法,從s平面轉(zhuǎn)換到z平面的映射為多值映射,容易造成頻譜混疊,故而本文采用不會產(chǎn)生頻譜混疊的雙線性變換法。目前比較成熟的IIR數(shù)字濾波器設(shè)計方法有兩種:1)直接法目前所用的方法主要是:零極點累試法、頻域幅度平方誤差最小法和時域單位脈沖響應(yīng)逼近法。最后實現(xiàn)輸入輸出、幅頻特性、相頻特性的圖形。)。設(shè)定周期為1s;模擬低通濾波器的生成:[b,a]=cheby1(n,1,Wn,39。通帶截止頻率為:wp=*pi。(4) 利用雙線性變換法將模擬濾波器Ha(s),從s平面轉(zhuǎn)換到z平面,得到數(shù)字低通濾波器系統(tǒng)函數(shù)H(z)。 圖1展示了2階、4階、8階巴特沃斯低通濾波器的幅頻特性。y3t39。xlabel(39。plot(t,y3t)。ylabel(39。)。plot(w/pi,20*log(m/max(m)))。figure。[B,A]=ellip(N,rp,rs,wp0,39。ws=2*fs/Fs。高通濾波Fs=10000。)。帶通濾波后的波形39。)。w39。title(39。[H2,w]=freqz(B,A,1000)。[B,A]=ellip(N,rp,rs,wp0)。ws=[2*fsl/Fs,2*fsu/Fs]。fpu=560。y1t39。xlabel(39。plot(t,y1t)。ylabel(39。)。plot(w/pi,20*log(m/max(m)))。%濾波器軟件實現(xiàn)figure。rs=60。fs=450。幅度39。xlabel(39。grid。(a) s(t)的波形39。s(t)39。xlabel(39。st=xt1+xt2+xt3。fm3=fc3/10。fm1=fc1/10。T=1/Fs。Tp=N*T。高通濾波器的截至頻率500Wc1000。sound(yy2,fs,bits)。plot(angle(YY2))。title(39。全通結(jié)構(gòu)時域圖 39。)。subplot(3,2,2)。plot(abs(h))。%全通濾波器系統(tǒng)函數(shù)分母[h,w]=freqz(Bz1,Az1)。a=。z=[zeros(3000,1)。 全通結(jié)構(gòu)濾波器程序設(shè)計[y,fs,bits]=wavread(39。title(39。無限個回聲濾波器信號幅頻 39。)。subplot(3,2,3:4)。 plot(angle(h))。title(39。Y2=fft(y2,6001)。R=5000。y]。sound(y2,fs,bits)。plot(angle(Y2))。title(39。多重回聲濾波器時域圖 39。)。subplot(3,2,2)。plot(abs(h))。%多重回聲濾波器系統(tǒng)函數(shù)分母y2=filter(Bz1,Az1,y)。N=5。y]。sound(y2,fs,bits)。plot(angle(Y2))。title(39。單回聲濾波器時域圖 39。)。subplot(3,2,2)。plot(abs(h))。%單回聲濾波器系統(tǒng)函數(shù)分母y2=filter(Bz1,Az1,y)。a=。z=[zeros(3000,1)。)。subplot(2,2,4)。plot(abs(Y1))。title(39。%補3000y1=y+z。z=[zeros(3000,1)。)。subplot(2,2,4)。plot(abs(Z))。title(39。y]。sound(y,fs,bits)。plot(angle(Y))。title(39。采樣信號時域波形39。Y=fft(y,6001)。title(39。原始信號幅頻39。)。%對原始信號取傅里葉變換subplot(2,2,1:2)。)。用直接1型表示這個傳遞函數(shù)則為:y(n)=k*x(n)+x(nm)+k*y(nm)可見其實際上是一個簡單的IIR濾波器,時間n的輸出有時間n的輸入和m點之前的輸入與輸出計算而得。(1)單回聲濾波器回音可以由簡單的延時單元產(chǎn)生。(3) 作FFT分析時,幅值大小與FFT選擇點數(shù)有關(guān),但不影響分析結(jié)果。函數(shù)abs(x)用于計算復(fù)向量x的幅值,函數(shù)angle(x)用于計算復(fù)向量的相角,介于 和 之間,以弧度表示。若向量x的長度大于N,則函數(shù)截短x使之長度為N。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法;否則fft執(zhí)行一種混合基的離散傅立葉變換算法,計算速度較慢。函數(shù)FFT用于序列快速傅立葉變換。*均衡頻率(EQ F),這里的頻率均衡用于音色調(diào)整,此為均衡的中點頻率選擇。*調(diào)制頻率(Freq),指主延時的調(diào)頻周期?;匾籼幚硪话愣际怯糜诋a(chǎn)生簡單的混響效果。(2)延時就是將音源延遲一段時間后,再欲播放的效果處理。聲陣密度:此項參數(shù)可調(diào)整聲陣的密度,其值較高時,混響效果較為溫暖,但有明顯的聲染色;其值較低時,混響效果較深邃