Matlab數(shù)字信號(hào)處理實(shí)驗(yàn)報(bào)告
《Matlab數(shù)字信號(hào)處理實(shí)驗(yàn)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《Matlab數(shù)字信號(hào)處理實(shí)驗(yàn)報(bào)告(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 數(shù)字信號(hào)處理實(shí)驗(yàn)報(bào)告 基礎(chǔ)實(shí)驗(yàn)篇 實(shí)驗(yàn)一 離散時(shí)間系統(tǒng)及離散卷積 一、 實(shí)驗(yàn)原理 利用Matlab軟件計(jì)算出系統(tǒng)函數(shù)的零極點(diǎn)分布、單位脈沖響應(yīng)和系統(tǒng)頻率響應(yīng)等的圖像并于筆算結(jié)果進(jìn)行比較,找出異同。編譯合適程序能計(jì)算取值范圍不同的離散卷積。 二、 實(shí)驗(yàn)?zāi)康? (1)熟悉MATLAB軟件的使用方法。 (2)熟悉系統(tǒng)函數(shù)的零極點(diǎn)分布、單位脈沖響應(yīng)和系統(tǒng)頻率響應(yīng)等概念。 (3)利用MATLAB繪制系統(tǒng)函數(shù)的零極點(diǎn)分布圖、系統(tǒng)頻率響應(yīng)和單位脈沖響應(yīng)。 三、實(shí)驗(yàn)步驟 (1)自編并調(diào)試實(shí)驗(yàn)程序,并且,給實(shí)驗(yàn)程序加注釋; (2)按照實(shí)驗(yàn)內(nèi)容完成筆算結(jié)果; (3)驗(yàn)證計(jì)算程序的正
2、確性,記錄實(shí)驗(yàn)結(jié)果。 (4)至少要求一個(gè)除參考實(shí)例以外的實(shí)驗(yàn)結(jié)果,在實(shí)驗(yàn)報(bào)告中,要描述清楚實(shí)驗(yàn)結(jié)果對(duì)應(yīng)的系統(tǒng),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行解釋說明。 四、實(shí)驗(yàn)源程序及實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)1-1 運(yùn)行結(jié)果 xlabel(n); ylabel(h(n)); figure(2) [z,p,g]=tf2zp(b,a); zplane(z,p) title(零極點(diǎn)); function [x,n]=chongji(n1,n2) n=[n1:n2]; x=[n==0]; function shiyan1() a=[1,-1,0.9]; b=1; x=chongji(-20,120); n
3、=-20:120; h=filter(b,a,x); figure(1) stem(n,h); title(沖擊響應(yīng)); 實(shí)驗(yàn)1-2 運(yùn)行結(jié)果 b=[0.0181,0.0543, 0.0543,0.0181]; a=[1.000,-1.76, 1.1829,-0.2781]; w=pi*freqspace(500); H=freqz(b,a,w); MH=abs(H); AH=angle(H); subplot(2,1,1); plot(w/pi,MH); grid; axis([0,1,0,1]); xlabel(w(pi)); yl
4、abel(|H|); title(幅度、相位響應(yīng)); subplot(2,1,2); plot(w/pi,AH); grid; xlabel(w(pi)); ylabel(angle(H)); 實(shí)驗(yàn)1-3 運(yùn)行結(jié)果 n=0:30; %輸入x(n)和沖激響應(yīng)h(n) x=zeros(1,length(n)); h=zeros(1,length(n)); x([find((n>=0)&(n<=4))])=1; h([find((n>=0)&(n<=8))])=0.5; figure(1) subplot(3,1,1); stem(n,x); axi
5、s([0,30,0,2]); title(輸入序列); xlabel(n); ylabel(x(n)); subplot(3,1,2); stem(n,h); axis([0,30,0,2]); title(沖激響應(yīng)序列); xlabel(n); ylabel(h(n)); %輸出響應(yīng) y=conv(x,h); subplot(3,1,3); n=0:length(y)-1; stem(n,y); title(輸出響應(yīng)); xlabel(n); ylabel(y(n));
6、 實(shí)驗(yàn)二 離散傅立葉變換與快速傅立葉變換 一、 實(shí)驗(yàn)原理 對(duì)有限長(zhǎng)序列使用離散Fouier變換(DFT)可以很好的反映序列的頻譜特性,而且易于用快速算法在計(jì)算機(jī)上實(shí)現(xiàn),當(dāng)序列x(n)的長(zhǎng)度為N時(shí),它的DFT定義為 反變換為 有限長(zhǎng)序列的DFT是其Z變換在單位圓上的等距采樣,或者說是序列Fourier變換的等距采樣,因此可以用于序列的譜分析。 FFT是為了減少DFT運(yùn)算次數(shù)的一種快速算法。它是對(duì)變換式進(jìn)行一次次分解,使其成為若干較短序列的組合,從而減少運(yùn)算量。常用的FFT是以2為基數(shù)的,其長(zhǎng)度 。它的效率高,程序簡(jiǎn)單,使用非
7、常方便,當(dāng)要變換的序列長(zhǎng)度不等于2的整數(shù)次方時(shí),為了使用以2為基數(shù)的FFT,可以用末位補(bǔ)零的方法,使其長(zhǎng)度延長(zhǎng)至2的整數(shù)次方。 用FFT可以實(shí)現(xiàn)兩個(gè)序列的圓周卷積。在一定的條件下,可以使圓周卷積等于線性卷積。一般情況,設(shè)兩個(gè)序列的長(zhǎng)度分別為N1和N2,要使圓周卷積等于線性卷積的充要條件是FFT的長(zhǎng)度 N≥N1+N2 對(duì)于長(zhǎng)度不足N的兩個(gè)序列,分別將他們補(bǔ)零延長(zhǎng)到N。 二、實(shí)驗(yàn)?zāi)康? 1、 加深理解離散傅立葉變換及快速傅立葉變換概念; 2、 學(xué)會(huì)應(yīng)用FFT對(duì)典型信號(hào)進(jìn)行頻譜分析的方法; 3、 研究如何利用FFT程序分析確定性時(shí)間連續(xù)信號(hào); 4、 熟悉應(yīng)用FFT實(shí)現(xiàn)兩個(gè)序列的線性卷積
8、的方法。 三、實(shí)驗(yàn)步驟 1、 調(diào)試實(shí)驗(yàn)程序,并且,給參考程序加注釋; 2、 利用編制的計(jì)算卷積的計(jì)算程序,分別給出一下三組函數(shù)的卷積結(jié)果 三、 實(shí)驗(yàn)源程序及結(jié)果 實(shí)驗(yàn)2-1 運(yùn)行結(jié)果 b=[0.0181,0.0543, 0.0543,0.0181]; a=[1.000,-1.76, 1.1829,-0.2781]; w=pi*freqspace(500); H=freqz(b,a,w); MH=abs(H); AH=angle(H); subplot(2,1,1); plot(w/pi,MH); grid; axis([0,1,0,1]); xlabel
9、(w(pi)); ylabel(|H|); title(幅度、相位響應(yīng)); subplot(2,1,2); plot(w/pi,AH); grid; xlabel(w(pi)); ylabel(angle(H)); 實(shí)驗(yàn)2-2 運(yùn)行結(jié)果 function shiyan22() F=50; N=64; T=0.000625; n=1:N; x=cos(2*pi*F*n*T); subplot(2,1,1); plot(n,x); hold on title(x(n)); xla
10、bel(n); X=fft(x); subplot(2,1,2); plot(n,X); grid title(FFT|X|); xlabel(f(pi)); 實(shí)驗(yàn)2-3 運(yùn)行結(jié)果 n=0:30;%輸入x(n)和沖激響應(yīng)h(n) x=zeros(1,length(n)); h=zeros(1,length(n)); x([find((n>=0)&(n<=4))]) =1; h([find((n>=0)&(n<=8))]) =0.5; subplot(3,1,1); stem(x); title(x(n)); axis([0,30,0,2]); s
11、ubplot(3,1,2); stem(h); title(h(n)); axis([0,30,0,2]); X=fft(x); H=fft(h); Y=X.*H; y=ifft(Y); subplot(3,1,3); stem(abs(y)); title(y(n)); 實(shí)驗(yàn)三 IIR數(shù)字濾波器設(shè)計(jì) 一、 實(shí)驗(yàn)原理 (1)脈沖響應(yīng)不變法 用數(shù)字濾波器的單位脈沖響應(yīng)序列模仿模擬濾波器的沖激響應(yīng),讓正好等于的采樣值,即 其中T為采樣間隔,如果以及分別表示的拉氏變換及的Z變換,則 (2) 雙線性變換法
12、 s平面與z平面之間滿足以下映射關(guān)系: s平面的虛軸單值地映射于z平面的單位圓上,s平面的左半平面完全映射到z平面的單位圓內(nèi)。雙線性變換不存在混疊問題。雙線性變換時(shí)一種非線性變換 ,這種非線性引起的幅頻特性畸變可通過預(yù)畸而得到校正。 以低通數(shù)字濾波器為例,將設(shè)計(jì)步驟歸納如下: 1. 確定數(shù)字濾波器的性能指標(biāo):通帶臨界頻率fp、阻帶臨界頻率fs;通帶內(nèi)的最大衰減Rp;阻帶內(nèi)的最小衰減As;采樣周期T; 2. 確定相應(yīng)的數(shù)字角頻率,ωp=2πfpT;ωs=2πfrT; 3. 計(jì)算經(jīng)過預(yù)畸的相應(yīng)模擬低通原型的頻率, 根據(jù)Ωp和Ωs計(jì)算模擬
13、低通原型濾波器的階數(shù)N,并求得低通原型的傳遞函數(shù)Ha(s); 4. 用上面的雙線性變換公式代入Ha(s),求出所設(shè)計(jì)的傳遞函數(shù)H(z); 5. 分析濾波器特性,檢查其指標(biāo)是否滿足要求。 二、 實(shí)驗(yàn)?zāi)康? 1、 學(xué)習(xí)模擬-數(shù)字變換濾波器的設(shè)計(jì)方法; 2、 掌握雙線性變換數(shù)字濾波器設(shè)計(jì)方法; 3、 掌握實(shí)現(xiàn)數(shù)字濾波器的具體方法。 三、實(shí)驗(yàn)步驟 1、 設(shè)計(jì)一個(gè)巴特沃思數(shù)字低通濾波器,設(shè)計(jì)指標(biāo)如下: 通帶內(nèi)幅度衰減不大于1dB;阻帶幅度衰減不小于15dB; 2、 編制計(jì)算設(shè)計(jì)的數(shù)字濾波器幅度特性和相位特性的程序,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。 3、 編制實(shí)現(xiàn)該數(shù)字濾波器程序并且實(shí)現(xiàn)數(shù)字
14、濾波 (1) 分別讓滿足所設(shè)計(jì)的濾波器的通帶、過渡帶、阻帶頻率特性的正弦波通過濾波器,驗(yàn)證濾波器性能; (2) 改變正弦抽樣時(shí)間,驗(yàn)證數(shù)字低通濾波器的模擬截止頻率實(shí)抽樣時(shí)間的函數(shù)。 四、實(shí)驗(yàn)源程序及結(jié)果 實(shí)驗(yàn)3-1 function shiyan3() fp=200*pi; fs=300*pi; wp=0.2*pi; ws=0.3*pi; Rp=1; As=15; T=1; Fs=1000; [N,fc]=buttord(fp,fs,Rp, As,s); [b,a]=butter(N,fc,s); w=[0:1000*2*pi]; [hf,w]=f
15、reqs(b,a,1000); [d,c]=impinvar(b,a,Fs); wd=[0:512]*pi/512; hw1=freqz(d,c,wd); [f,e]=bilinear(b,a,Fs); hw2=freqz(f,e,wd); OmegaP=(2/T)*tan(wp/2); OmegaS=(2/T)*tan(ws/2); ep=sqrt(10^(Rp/10)-1); Ripple=sqrt(1/(1+ep.^2)); Attn=1/10^(As/20); subplot(3,1,1); plot(wd/pi,abs(hw1) /abs(hw1
16、(1))); title(幅度響應(yīng)(沖擊響應(yīng)不變法)); xlabel(w(pi)); ylabel(H); 運(yùn)行結(jié)果 ylabel(H); axis([0,1,0,1.1]); set(gca,XTickmode,manual,XTick,[0,0.2,0.35,1.1]); set(gca,YTickmode,manual,YTick,[0,Attn,Ripple,1]); grid; subplot(3,1,2); plot(wd/pi,20*log10((abs(hw2)+eps)/abs(hw2(1)))); title(幅度響應(yīng)(雙線性變換法(dB)))
17、; xlabel(w(pi)); ylabel(H); axis([0,1,-40,5]); set(gca,XTickmode,manual,XTick,[0,0.2,0.35,1.1]); set(gca,YTickmode,manual,YTick,[-50,-15,-1,0]); grid; subplot(3,1,3); plot(wd/pi,-angle(hw2)); title(相位響應(yīng)); xlabel(w(pi)); ylabel(pi unit); %axis([0,1,0,1.1]); set(gca,XTickmode,manual,XTi
18、ck,[0,0.2,0.35,1.1]); set(gca,YTickmode,manual,YTick,[-1,0,1]); grid; 實(shí)驗(yàn)四 FIR數(shù)字濾波器設(shè)計(jì) 一、 實(shí)驗(yàn)原理 窗函數(shù)法設(shè)計(jì)線性相位FIR濾波器步驟 確定數(shù)字濾波器的性能要求:臨界頻率{ωk},濾波器單位脈沖響應(yīng)長(zhǎng)度N; 根據(jù)性能要求,合理選擇單位脈沖響應(yīng)的奇偶對(duì)稱性,從而確定理想頻率響應(yīng)的幅頻特性和相頻特性; 求理想單位脈沖響應(yīng),在實(shí)際計(jì)算中,可對(duì)按M(M遠(yuǎn)大于N)點(diǎn)等距離采樣,并對(duì)其求IDFT得,用代替; 選擇適當(dāng)?shù)拇昂瘮?shù),根據(jù)求所需設(shè)計(jì)的FIR濾波器單位脈沖響應(yīng)
19、; 求,分析其幅頻特性,若不滿足要求,可適當(dāng)改變窗函數(shù)形式或長(zhǎng)度N,重復(fù)上述設(shè)計(jì)過程,以得到滿意的結(jié)果。 窗函數(shù)的傅式變換的主瓣決定了過渡帶寬。的旁瓣大小和多少?zèng)Q定了在通帶和阻帶范圍內(nèi)波動(dòng)幅度,常用的幾種窗函數(shù)有: 矩形窗 w(n)=RN(n) Hanning窗 Hamming窗 Blackmen窗 Kaiser窗 式中Io(x)為零階貝塞爾函數(shù)。 二、實(shí)驗(yàn)?zāi)康? 1、 學(xué)習(xí)FIR數(shù)字濾波器窗口函數(shù)設(shè)計(jì)法; 2、 熟悉線性相位FIR濾波器的幅頻特性和相頻特性; 3、 了解各種不同窗函數(shù)對(duì)濾波器性能的影響 4、 進(jìn)行FI
20、R、IIR濾波器的性能比較。 三、實(shí)驗(yàn)步驟 1、 設(shè)計(jì)一個(gè)FIR數(shù)字濾波器,設(shè)計(jì)指標(biāo)如下: 通帶內(nèi)幅度衰減不大于1dB; 阻帶幅度衰減不小于15dB; 2、 編制計(jì)算設(shè)計(jì)的數(shù)字濾波器幅度特性和相位特性的程序,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。 3、 分別用矩形窗、漢寧窗、海明窗、三角窗和Blackman窗設(shè)計(jì)一的線性相位帶通濾波器,觀察它們的3dB和20dB帶寬,并比較五種窗的特點(diǎn)。 四、實(shí)驗(yàn)源程序及運(yùn)行結(jié)果 實(shí)驗(yàn)3-1 function shiyan4() %41 FIR filter wp=0.2*pi; ws=0.3*pi; tr_width=ws-wp; M=ceil
21、(6.6*pi/tr_width)+1; n=0:M-1; wc=(ws+wp)/2; alpha=(M-1)/2; m=n-alpha+eps; hd=sin(wc*m)./(pi*m); w_ham=(hamming(M)); % h=hd.*w_ham;%加漢明窗 % h=hd;%加矩形窗 h=hd.*(blackman(M));%加布萊克曼窗 [mag,db,pha,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-(min(db(1:wp/delta_w+1))); As=-round(max(db(ws/delta_w+1
22、:501))); subplot(2,2,1); stem(n,hd); title(理想沖激響應(yīng)); axis([0,M-1,-0.1,0.3]); ylabel(hd(n)); subplot(2,2,2); stem(n,h); title(實(shí)際沖激響應(yīng)); axis([0,M-1,-0.1,0.3]); ylabel(h(n)); subplot(2,2,3); plot(w/pi,pha); title(濾波器相位響應(yīng)); axis([0,1,-pi,pi]); 運(yùn)行結(jié)果 ylabel(pha); set(gca,XTickmode,ma
23、nual,XTick,[0,0.2,0.3,1.1]); set(gca,YTickmode,manual,YTick,[-pi,0,pi]); grid; subplot(2,2,4); plot(w/pi,db); title(濾波器幅度響應(yīng)); axis([0,1,-100,10]); ylabel(H(db)); set(gca,XTickmode,manual,XTick,[0,0.2,0.3,1.1]); set(gca,YTickmode,manual,YTick,[-50,-15,0]); function [mag,db,pha,w]=freqz_
24、m(b,a) [H,w]=freqz(b,a,1000,whole); H=(H(1:501)); w=(w(1:501)); mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); 加矩形窗 加漢明窗 加布萊克曼窗 綜合試驗(yàn)篇 一、實(shí)驗(yàn)?zāi)康? 借助基礎(chǔ)實(shí)驗(yàn)篇編制的程序,對(duì)語音信號(hào)進(jìn)行處理。 通過綜合實(shí)驗(yàn)篇,使得學(xué)生能夠充分了解信號(hào)處理及數(shù)字信號(hào)處理的過程;使得學(xué)生能夠?qū)ψ约涸O(shè)計(jì)的頻譜分析程序與濾波器程序得到靈活的應(yīng)用;使得學(xué)生能夠綜合分析信號(hào)處理過程各個(gè)階段信號(hào)時(shí)域與頻域特性。
25、二、實(shí)驗(yàn)內(nèi)容 1、錄制一段各人自己的語音信號(hào)。 2、對(duì)錄制的信號(hào)進(jìn)行采樣;畫出采樣后語音信號(hào)的時(shí)域波形和頻譜圖; 3、給定濾波器的性能指標(biāo),采用窗函數(shù)法或雙線性變換設(shè)計(jì)濾波器,并畫出濾波器的頻率響 三、實(shí)驗(yàn)要求 1、完成實(shí)驗(yàn)內(nèi)容要求的各項(xiàng)內(nèi)容。寫明設(shè)計(jì)思路及其設(shè)計(jì)原理; 2、給出MATLAB代碼,并給編制的程序加注釋; 3、給出仿真測(cè)試結(jié)果并對(duì)測(cè)試結(jié)果進(jìn)行分析; 4、對(duì)設(shè)計(jì)成果做出評(píng)價(jià),說明本設(shè)計(jì)的特點(diǎn)和存在問題,提出改進(jìn)設(shè)計(jì)意見 ; 四、實(shí)驗(yàn)源程序及結(jié)果 ([0,1,-pi,pi]); function varargout = untitled1(varargin)
26、% UNTITLED1 M-file for untitled1.fig % UNTITLED1, by itself, creates a new UNTITLED1 or raises the existing % singleton*. % % H = UNTITLED1 returns the handle to a new UNTITLED1 or the handle to % the existing singleton*. % % UNTITLED1(CALLBACK,hObject,eventData,handl
27、es,...) calls the local % function named CALLBACK in UNTITLED1.M with the given input arguments. % % UNTITLED1(Property,Value,...) creates a new UNTITLED1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before untit
28、led1_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to untitled1_OpeningFcn via varargin. % % *See GUI Options on GUIDEs Tools menu. Choose "GUI allows only one % instance to run (sing
29、leton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help untitled1 % Last Modified by GUIDE v2.5 24-Oct-2012 22:23:01 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct(gui_Name, mfilename, ...
30、 gui_Singleton, gui_Singleton, ... gui_OpeningFcn, @untitled1_OpeningFcn, ... gui_OutputFcn, @untitled1_OutputFcn, ... gui_LayoutFcn, [] , ... gui_Callback, []); if nargin & isstr(varargin{1}) gui_St
31、ate.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before untitled1 is made visible. function untitl
32、ed1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % 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 command line ar
33、guments to untitled1 (see VARARGIN) % Choose default command line output for untitled1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes untitled1 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from th
34、is function are returned to the command line. function varargout = untitled1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles s
35、tructure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) z1= wavread(d:\wei.wav); plot(z1); sound
36、(z1); % 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) % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles)
37、 z1=wavread(d:\wei.wav); y1=z1(1:8192); Y1=fft(y1); n=0:8191; plot(n,Y1); % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in
38、 pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) clear; global fp; global fc; [z1,fs,bits]=wavread(d:\wei.wav) y1=z1(1:8192); Y1=fft(y1); As=100;Ap=1;Fs=8000; wc=2*atan(fc/(2*Fs)); wp=2*atan(fp/(2*Fs)); wdel=wc-wp; beta=0.112*(As-8.7); N=ceil((As-8)/2.285/wdel);
39、wn= kaiser(N+1,beta); ws=(wp+wc)/2/pi; b=fir1(N,ws,wn); figure(1); freqz(b,1); x=fftfilt(b,z1); X=fft(x,8192); figure(2); subplot(2,2,1);plot(abs(Y1)); % axis([0,1000,0,1.0]); title(); subplot(2,2,2);plot(abs(X)); % axis([0,1000,0,1.0]); title(); subplot(2,2,3);plot(z1); title(
40、); subplot(2,2,4);plot(x); title(); sound(x,fs,bits); % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton4. functio
41、n pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes during object creation, after setting all p
42、roperties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white b
43、ackground on Windows. % See ISPC and COMPUTER. if ispc set(hObject,BackgroundColor,white); else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor)); end function edit1_Callback(hObject, eventdata, handles) global fp; get(hObject,String); fp=str2num(ge
44、t(hObject,String)); % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,String) returns contents of edit1 as text % str2double(get(hObject,Strin
45、g)) returns contents of edit1 as a double % --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles emp
46、ty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,BackgroundColor,white); else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor)); end
47、 function edit2_Callback(hObject, eventdata, handles) global fc; get(hObject,String); fc=str2num(get(hObject,String)); % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA
48、) % Hints: get(hObject,String) returns contents of edit2 as text % str2double(get(hObject,String)) returns contents of edit2 as a double 提高實(shí)驗(yàn)篇 一、實(shí)驗(yàn)?zāi)康? 借助數(shù)字信號(hào)處理課程中的快速傅立葉反變換(IFFT)和快速傅立葉變換(FFT)相關(guān)知識(shí),實(shí)現(xiàn)基帶OFDM系統(tǒng)的調(diào)制和解調(diào)。 二、實(shí)驗(yàn)內(nèi)容 1、信號(hào)源:首先產(chǎn)生二進(jìn)制信號(hào),經(jīng)星座映射為4PSK或16QAM。 2、OFDM調(diào)
49、制:借助IFFT變換,實(shí)現(xiàn)OFDM調(diào)制。 3、信道模塊。OFDM信號(hào)通過該模塊到達(dá)接收端。 4、OFDM解調(diào):借助FFT對(duì)信道輸出信號(hào)進(jìn)行OFDM解調(diào)。 5、對(duì)OFDM解調(diào)得到的信號(hào)進(jìn)行星座反映射,還原二進(jìn)制信號(hào)。 初始化:子載波數(shù)為256,出入不同信噪比 進(jìn)行誤碼率統(tǒng)計(jì) 16-QAM解調(diào) FFT 去掉循環(huán)前綴 加入高斯白噪聲 加入循環(huán)前綴 IFFT 16-QAM調(diào)制 產(chǎn)生隨機(jī)數(shù) 開始 結(jié)束 三、實(shí)驗(yàn)流程圖 四、實(shí)驗(yàn)原理框圖 符號(hào)定時(shí) 頻偏校正 輸入數(shù)據(jù) 信道編碼 交織 信號(hào) 映射 插入導(dǎo)頻 串/并交換
50、 IFFT 并/串變換 插保護(hù)間隔 載波調(diào)制 信道 載波解調(diào) 去保護(hù)間隔 串/并 變換 FFT 并/串 變換 信道估計(jì) 信道逆映射 解交織 信道解碼 輸出數(shù)據(jù) 定時(shí)和頻率同步 五、實(shí)驗(yàn)源程序及運(yùn)行結(jié)果 close all; clc; snr=input(請(qǐng)你輸入信號(hào)經(jīng)信道時(shí)的信噪比snr(以dBW為單位):); N=256;%N為載波數(shù),即一個(gè)OFDM符號(hào)的長(zhǎng)度 for k=1:N X(k)=fix(rand()*16);%隨機(jī)產(chǎn)生256個(gè)[0,15]之間的整數(shù) X1(k)=QAM16_mod(X(k));%進(jìn)行星座圖映射
51、,X 可以認(rèn)為是已經(jīng)進(jìn)行串/并轉(zhuǎn)換后的輸出信號(hào) end figure(1) plot(real(X1),imag(X1),xr); title(隨機(jī)輸入數(shù)據(jù)的星座圖); xlabel(An(實(shí)部)); ylabel(Bn(虛部)); X2=ifft(X1,N);%對(duì)X進(jìn)行傅里葉反變換 X3=[X2((N-0.25*N+1):N),X2];%在該OFDM符號(hào)中加入循環(huán)前綴 X4=awgn(X3,snr);%接收機(jī)最終接收的信號(hào) figure(2) subplot(2,2,1) plot(1:numel(X3),real(X3),r); title(加入噪聲前的信號(hào)波形(
52、實(shí)部部分)); subplot(2,2,3) plot(1:numel(X4),real(X4),r); title(加入噪聲后的信號(hào)波形(實(shí)部部分)); subplot(2,2,2) plot(1:numel(X3),imag(X3),b); title(加入噪聲前的信號(hào)波形(虛部部分)); subplot(2,2,4) plot(1:numel(X4),imag(X4),b); title(加入噪聲后的信號(hào)波形(虛部部分)); figure(3) subplot(2,2,1) plot(1:numel(X3),abs(X3),r); title(加入噪聲前的信號(hào)幅
53、度); subplot(2,2,3) plot(1:numel(X4),abs(X4),r); title(加入噪聲后的信號(hào)幅度); subplot(2,2,2) plot(1:numel(X3),angle(X3),b); title(加入噪聲前的信號(hào)相角); subplot(2,2,4) plot(1:numel(X4),imag(X4),b); title(加入噪聲后的信號(hào)相角); figure(4) axis([0 700 -0.4 0.4]) subplot(2,2,1) plot(1:numel(X2),real(X2),r); title(未加入循環(huán)前
54、綴的信號(hào)波形(實(shí)部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,3) plot(1:numel(X3),real(X3),r); title(加入循環(huán)前綴(加在幀前)的信號(hào)波形(實(shí)部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,2) plot(1:numel(X2),imag(X2),b); title(未加入循環(huán)前綴的信號(hào)波形(虛部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,4) plot(1:numel(X3),imag(X3),b); title(加入循環(huán)
55、前綴(加在幀前)的信號(hào)波形(虛部部分)); %------------------------------接收部分------------------------------ Y1=X4(0.25*N+1:N+0.25*N); Y2=fft(Y1,N); figure(5) plot(real(X1),imag(X1),xr,real(Y2),imag(Y2),ob); title(接收的OFDM符號(hào)的星座圖) xlabel(An(實(shí)部)); ylabel(Bn(虛部)); for k=1:numel(Y1) [Y(k),Y3(k)]=QAM16_demod(Y2(k)); end error=0;%解調(diào)后錯(cuò)誤的個(gè)數(shù) for k=1:N if X(k)~=Y(k) error=error+1; end end disp(解調(diào)后錯(cuò)誤的個(gè)數(shù)為:) disp(error) disp(誤碼率為:) disp(error/N) 16QAM星座圖 加入噪聲前后信號(hào)對(duì)比 加入噪聲前后信號(hào)幅值和相位比較 接收的OFDM符號(hào)星座圖
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級(jí)上冊(cè)道德與法治第四單元家是最溫暖的地方教學(xué)ppt課件 (全套)
- 蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級(jí)-數(shù)學(xué)下冊(cè)十幾減九人教版課件
- 電影膠片動(dòng)態(tài)課件
- 高電壓技術(shù)課件第六章
- 項(xiàng)目采購(gòu)管理(6)
- 四川省攀枝花市XX小學(xué)一年級(jí)數(shù)學(xué)下冊(cè)六100以內(nèi)的加法和減法二練習(xí)十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學(xué)七年級(jí)歷史下冊(cè) 15 明朝君權(quán)的加強(qiáng)課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級(jí)物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機(jī)械行業(yè)唯物主義管理分析自然觀
- 全國(guó)科技創(chuàng)新大賽“科學(xué)幻想畫”獲獎(jiǎng)作品ppt課件