Matlab數(shù)字信號處理實驗報告
《Matlab數(shù)字信號處理實驗報告》由會員分享,可在線閱讀,更多相關(guān)《Matlab數(shù)字信號處理實驗報告(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 數(shù)字信號處理實驗報告 基礎(chǔ)實驗篇 實驗一 離散時間系統(tǒng)及離散卷積 一、 實驗原理 利用Matlab軟件計算出系統(tǒng)函數(shù)的零極點分布、單位脈沖響應(yīng)和系統(tǒng)頻率響應(yīng)等的圖像并于筆算結(jié)果進行比較,找出異同。編譯合適程序能計算取值范圍不同的離散卷積。 二、 實驗?zāi)康? (1)熟悉MATLAB軟件的使用方法。 (2)熟悉系統(tǒng)函數(shù)的零極點分布、單位脈沖響應(yīng)和系統(tǒng)頻率響應(yīng)等概念。 (3)利用MATLAB繪制系統(tǒng)函數(shù)的零極點分布圖、系統(tǒng)頻率響應(yīng)和單位脈沖響應(yīng)。 三、實驗步驟 (1)自編并調(diào)試實驗程序,并且,給實驗程序加注釋; (2)按照實驗內(nèi)容完成筆算結(jié)果; (3)驗證計算程序的正
2、確性,記錄實驗結(jié)果。 (4)至少要求一個除參考實例以外的實驗結(jié)果,在實驗報告中,要描述清楚實驗結(jié)果對應(yīng)的系統(tǒng),并對實驗結(jié)果進行解釋說明。 四、實驗源程序及實驗結(jié)果 實驗1-1 運行結(jié)果 xlabel(n); ylabel(h(n)); figure(2) [z,p,g]=tf2zp(b,a); zplane(z,p) title(零極點); 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)); 實驗1-2 運行結(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)); 實驗1-3 運行結(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、 實驗二 離散傅立葉變換與快速傅立葉變換 一、 實驗原理 對有限長序列使用離散Fouier變換(DFT)可以很好的反映序列的頻譜特性,而且易于用快速算法在計算機上實現(xiàn),當序列x(n)的長度為N時,它的DFT定義為 反變換為 有限長序列的DFT是其Z變換在單位圓上的等距采樣,或者說是序列Fourier變換的等距采樣,因此可以用于序列的譜分析。 FFT是為了減少DFT運算次數(shù)的一種快速算法。它是對變換式進行一次次分解,使其成為若干較短序列的組合,從而減少運算量。常用的FFT是以2為基數(shù)的,其長度 。它的效率高,程序簡單,使用非
7、常方便,當要變換的序列長度不等于2的整數(shù)次方時,為了使用以2為基數(shù)的FFT,可以用末位補零的方法,使其長度延長至2的整數(shù)次方。 用FFT可以實現(xiàn)兩個序列的圓周卷積。在一定的條件下,可以使圓周卷積等于線性卷積。一般情況,設(shè)兩個序列的長度分別為N1和N2,要使圓周卷積等于線性卷積的充要條件是FFT的長度 N≥N1+N2 對于長度不足N的兩個序列,分別將他們補零延長到N。 二、實驗?zāi)康? 1、 加深理解離散傅立葉變換及快速傅立葉變換概念; 2、 學會應(yīng)用FFT對典型信號進行頻譜分析的方法; 3、 研究如何利用FFT程序分析確定性時間連續(xù)信號; 4、 熟悉應(yīng)用FFT實現(xiàn)兩個序列的線性卷積
8、的方法。 三、實驗步驟 1、 調(diào)試實驗程序,并且,給參考程序加注釋; 2、 利用編制的計算卷積的計算程序,分別給出一下三組函數(shù)的卷積結(jié)果 三、 實驗源程序及結(jié)果 實驗2-1 運行結(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)); 實驗2-2 運行結(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)); 實驗2-3 運行結(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)); 實驗三 IIR數(shù)字濾波器設(shè)計 一、 實驗原理 (1)脈沖響應(yīng)不變法 用數(shù)字濾波器的單位脈沖響應(yīng)序列模仿模擬濾波器的沖激響應(yīng),讓正好等于的采樣值,即 其中T為采樣間隔,如果以及分別表示的拉氏變換及的Z變換,則 (2) 雙線性變換法
12、 s平面與z平面之間滿足以下映射關(guān)系: s平面的虛軸單值地映射于z平面的單位圓上,s平面的左半平面完全映射到z平面的單位圓內(nèi)。雙線性變換不存在混疊問題。雙線性變換時一種非線性變換 ,這種非線性引起的幅頻特性畸變可通過預(yù)畸而得到校正。 以低通數(shù)字濾波器為例,將設(shè)計步驟歸納如下: 1. 確定數(shù)字濾波器的性能指標:通帶臨界頻率fp、阻帶臨界頻率fs;通帶內(nèi)的最大衰減Rp;阻帶內(nèi)的最小衰減As;采樣周期T; 2. 確定相應(yīng)的數(shù)字角頻率,ωp=2πfpT;ωs=2πfrT; 3. 計算經(jīng)過預(yù)畸的相應(yīng)模擬低通原型的頻率, 根據(jù)Ωp和Ωs計算模擬
13、低通原型濾波器的階數(shù)N,并求得低通原型的傳遞函數(shù)Ha(s); 4. 用上面的雙線性變換公式代入Ha(s),求出所設(shè)計的傳遞函數(shù)H(z); 5. 分析濾波器特性,檢查其指標是否滿足要求。 二、 實驗?zāi)康? 1、 學習模擬-數(shù)字變換濾波器的設(shè)計方法; 2、 掌握雙線性變換數(shù)字濾波器設(shè)計方法; 3、 掌握實現(xiàn)數(shù)字濾波器的具體方法。 三、實驗步驟 1、 設(shè)計一個巴特沃思數(shù)字低通濾波器,設(shè)計指標如下: 通帶內(nèi)幅度衰減不大于1dB;阻帶幅度衰減不小于15dB; 2、 編制計算設(shè)計的數(shù)字濾波器幅度特性和相位特性的程序,并進行實驗驗證。 3、 編制實現(xiàn)該數(shù)字濾波器程序并且實現(xiàn)數(shù)字
14、濾波 (1) 分別讓滿足所設(shè)計的濾波器的通帶、過渡帶、阻帶頻率特性的正弦波通過濾波器,驗證濾波器性能; (2) 改變正弦抽樣時間,驗證數(shù)字低通濾波器的模擬截止頻率實抽樣時間的函數(shù)。 四、實驗源程序及結(jié)果 實驗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); 運行結(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; 實驗四 FIR數(shù)字濾波器設(shè)計 一、 實驗原理 窗函數(shù)法設(shè)計線性相位FIR濾波器步驟 確定數(shù)字濾波器的性能要求:臨界頻率{ωk},濾波器單位脈沖響應(yīng)長度N; 根據(jù)性能要求,合理選擇單位脈沖響應(yīng)的奇偶對稱性,從而確定理想頻率響應(yīng)的幅頻特性和相頻特性; 求理想單位脈沖響應(yīng),在實際計算中,可對按M(M遠大于N)點等距離采樣,并對其求IDFT得,用代替; 選擇適當?shù)拇昂瘮?shù),根據(jù)求所需設(shè)計的FIR濾波器單位脈沖響應(yīng)
19、; 求,分析其幅頻特性,若不滿足要求,可適當改變窗函數(shù)形式或長度N,重復上述設(shè)計過程,以得到滿意的結(jié)果。 窗函數(shù)的傅式變換的主瓣決定了過渡帶寬。的旁瓣大小和多少決定了在通帶和阻帶范圍內(nèi)波動幅度,常用的幾種窗函數(shù)有: 矩形窗 w(n)=RN(n) Hanning窗 Hamming窗 Blackmen窗 Kaiser窗 式中Io(x)為零階貝塞爾函數(shù)。 二、實驗?zāi)康? 1、 學習FIR數(shù)字濾波器窗口函數(shù)設(shè)計法; 2、 熟悉線性相位FIR濾波器的幅頻特性和相頻特性; 3、 了解各種不同窗函數(shù)對濾波器性能的影響 4、 進行FI
20、R、IIR濾波器的性能比較。 三、實驗步驟 1、 設(shè)計一個FIR數(shù)字濾波器,設(shè)計指標如下: 通帶內(nèi)幅度衰減不大于1dB; 阻帶幅度衰減不小于15dB; 2、 編制計算設(shè)計的數(shù)字濾波器幅度特性和相位特性的程序,并進行實驗驗證。 3、 分別用矩形窗、漢寧窗、海明窗、三角窗和Blackman窗設(shè)計一的線性相位帶通濾波器,觀察它們的3dB和20dB帶寬,并比較五種窗的特點。 四、實驗源程序及運行結(jié)果 實驗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(實際沖激響應(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]); 運行結(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); 加矩形窗 加漢明窗 加布萊克曼窗 綜合試驗篇 一、實驗?zāi)康? 借助基礎(chǔ)實驗篇編制的程序,對語音信號進行處理。 通過綜合實驗篇,使得學生能夠充分了解信號處理及數(shù)字信號處理的過程;使得學生能夠?qū)ψ约涸O(shè)計的頻譜分析程序與濾波器程序得到靈活的應(yīng)用;使得學生能夠綜合分析信號處理過程各個階段信號時域與頻域特性。
25、二、實驗內(nèi)容 1、錄制一段各人自己的語音信號。 2、對錄制的信號進行采樣;畫出采樣后語音信號的時域波形和頻譜圖; 3、給定濾波器的性能指標,采用窗函數(shù)法或雙線性變換設(shè)計濾波器,并畫出濾波器的頻率響 三、實驗要求 1、完成實驗內(nèi)容要求的各項內(nèi)容。寫明設(shè)計思路及其設(shè)計原理; 2、給出MATLAB代碼,并給編制的程序加注釋; 3、給出仿真測試結(jié)果并對測試結(jié)果進行分析; 4、對設(shè)計成果做出評價,說明本設(shè)計的特點和存在問題,提出改進設(shè)計意見 ; 四、實驗源程序及結(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 提高實驗篇 一、實驗?zāi)康? 借助數(shù)字信號處理課程中的快速傅立葉反變換(IFFT)和快速傅立葉變換(FFT)相關(guān)知識,實現(xiàn)基帶OFDM系統(tǒng)的調(diào)制和解調(diào)。 二、實驗內(nèi)容 1、信號源:首先產(chǎn)生二進制信號,經(jīng)星座映射為4PSK或16QAM。 2、OFDM調(diào)
49、制:借助IFFT變換,實現(xiàn)OFDM調(diào)制。 3、信道模塊。OFDM信號通過該模塊到達接收端。 4、OFDM解調(diào):借助FFT對信道輸出信號進行OFDM解調(diào)。 5、對OFDM解調(diào)得到的信號進行星座反映射,還原二進制信號。 初始化:子載波數(shù)為256,出入不同信噪比 進行誤碼率統(tǒng)計 16-QAM解調(diào) FFT 去掉循環(huán)前綴 加入高斯白噪聲 加入循環(huán)前綴 IFFT 16-QAM調(diào)制 產(chǎn)生隨機數(shù) 開始 結(jié)束 三、實驗流程圖 四、實驗原理框圖 符號定時 頻偏校正 輸入數(shù)據(jù) 信道編碼 交織 信號 映射 插入導頻 串/并交換
50、 IFFT 并/串變換 插保護間隔 載波調(diào)制 信道 載波解調(diào) 去保護間隔 串/并 變換 FFT 并/串 變換 信道估計 信道逆映射 解交織 信道解碼 輸出數(shù)據(jù) 定時和頻率同步 五、實驗源程序及運行結(jié)果 close all; clc; snr=input(請你輸入信號經(jīng)信道時的信噪比snr(以dBW為單位):); N=256;%N為載波數(shù),即一個OFDM符號的長度 for k=1:N X(k)=fix(rand()*16);%隨機產(chǎn)生256個[0,15]之間的整數(shù) X1(k)=QAM16_mod(X(k));%進行星座圖映射
51、,X 可以認為是已經(jīng)進行串/并轉(zhuǎn)換后的輸出信號 end figure(1) plot(real(X1),imag(X1),xr); title(隨機輸入數(shù)據(jù)的星座圖); xlabel(An(實部)); ylabel(Bn(虛部)); X2=ifft(X1,N);%對X進行傅里葉反變換 X3=[X2((N-0.25*N+1):N),X2];%在該OFDM符號中加入循環(huán)前綴 X4=awgn(X3,snr);%接收機最終接收的信號 figure(2) subplot(2,2,1) plot(1:numel(X3),real(X3),r); title(加入噪聲前的信號波形(
52、實部部分)); subplot(2,2,3) plot(1:numel(X4),real(X4),r); title(加入噪聲后的信號波形(實部部分)); subplot(2,2,2) plot(1:numel(X3),imag(X3),b); title(加入噪聲前的信號波形(虛部部分)); subplot(2,2,4) plot(1:numel(X4),imag(X4),b); title(加入噪聲后的信號波形(虛部部分)); figure(3) subplot(2,2,1) plot(1:numel(X3),abs(X3),r); title(加入噪聲前的信號幅
53、度); subplot(2,2,3) plot(1:numel(X4),abs(X4),r); title(加入噪聲后的信號幅度); subplot(2,2,2) plot(1:numel(X3),angle(X3),b); title(加入噪聲前的信號相角); subplot(2,2,4) plot(1:numel(X4),imag(X4),b); title(加入噪聲后的信號相角); figure(4) axis([0 700 -0.4 0.4]) subplot(2,2,1) plot(1:numel(X2),real(X2),r); title(未加入循環(huán)前
54、綴的信號波形(實部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,3) plot(1:numel(X3),real(X3),r); title(加入循環(huán)前綴(加在幀前)的信號波形(實部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,2) plot(1:numel(X2),imag(X2),b); title(未加入循環(huán)前綴的信號波形(虛部部分)); axis([0 700 -0.4 0.4]) subplot(2,2,4) plot(1:numel(X3),imag(X3),b); title(加入循環(huán)
55、前綴(加在幀前)的信號波形(虛部部分)); %------------------------------接收部分------------------------------ 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符號的星座圖) xlabel(An(實部)); ylabel(Bn(虛部)); for k=1:numel(Y1) [Y(k),Y3(k)]=QAM16_demod(Y2(k)); end error=0;%解調(diào)后錯誤的個數(shù) for k=1:N if X(k)~=Y(k) error=error+1; end end disp(解調(diào)后錯誤的個數(shù)為:) disp(error) disp(誤碼率為:) disp(error/N) 16QAM星座圖 加入噪聲前后信號對比 加入噪聲前后信號幅值和相位比較 接收的OFDM符號星座圖
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級上冊道德與法治第四單元家是最溫暖的地方教學ppt課件 (全套)
- 蘇教版小學科學三年級下冊《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級-數(shù)學下冊十幾減九人教版課件
- 電影膠片動態(tài)課件
- 高電壓技術(shù)課件第六章
- 項目采購管理(6)
- 四川省攀枝花市XX小學一年級數(shù)學下冊六100以內(nèi)的加法和減法二練習十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學七年級歷史下冊 15 明朝君權(quán)的加強課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機械行業(yè)唯物主義管理分析自然觀
- 全國科技創(chuàng)新大賽“科學幻想畫”獲獎作品ppt課件