

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MATLAB通信系統仿真實驗報告專業年級姓名學號指導教師實驗學時實驗時間實驗地占八、實驗一、MATLAB的基本使用與數學運算目的:學習MATLAB的基本操作,實現簡單的數學運算程序。內容:1-1要求在閉區間0,2n上產生具有10個等間距采樣點的一維數組。試用兩種不同的指令實現。運行代碼:x二0:2*pi/9:2*pi運行結果:I|*“HWWWWlW-1I23456789lfl00.69811.39632.09442.79253/19074.18884.88&95.58516283201-2用M文件建立大矩陣xx=1.1 1.21.3
2、2.1 3.83.9代碼:x=m_mat運行結果:>matCoIujiuie1tticough3口.10右02009Qr30000.4000o.5oao0.60000.70000.000l10右01,2009lr30001.40001.50301,6
3、0001."0001SdOO2.10W2*20002.300024-OOC2,60002-.7000益8000呂1ooo頭2QOO3.300Q3.3-50003.60003-7OQQ3-SOOO'CoIujtux.9Q.1. 90002. 90003. POg1-3已知A=5,6;7,8,B=9,10;11,12,試用MATLAB分別計算A+B,A*B,A.*B,A"3,A.3A/B,AB.代碼:A=56;78B=910;1112x1=A+BX2=A-BX3=A*BX4=A.*BX5=A"3X6二A3X7=A/BX8=AB運行結果:田:'14J6;
4、L8,20A5,&7rEWU21X2卜仆4;-4廠4X3111,122:151,166X445,60:7A96X5881J026;1197,1394X612521隊43,512X73J00Q,-2皿0;2九X8-3,-4.00005.00001- 4任意建立矩陣A,然后找出在10,20區間的元素位置。程序代碼及運行結果:代碼:A=1252221417;111024030;552315865c=A>=10&A<=20運行結果:二二100L111000001001- 5總結:實驗過程中,因為對軟件太過生疏遇到了些許困難,不過最后通過查書與同學交流都解決了。例如第二題中,
5、將文件保存在了D盤,而導致頻頻出錯,最后發現必須保存在MATLAB文件之下才可以。第四題中,邏輯語言運用到了ij,也出現問題,雖然自己糾正了問題,卻也不明白錯在哪了,在老師的講解下知道位置定位上不能用ij而應該用具體的整數??傊谝还潓嶒炇斋@頗多。實驗二、MATLAB程序的編寫目的:掌握順序結構、選擇結構、循環結構程序設計方法。學會編寫函數。內容:2-1編寫程序,建立向量N=l,2,3,4,5,然后利用向量N產生下列向量;(1) 2,4,6,8,10(2) 1/2,1,3/2,2,5/2(3) 1,1/2,1/3,1/4,1/5(4) 1,1/4,1/9,1/16,1/25代碼:N=1,2,3
6、,4,5X1=N*2X2=N/2X3=1./NX4=X3*X3運行結果:NameValue-N-XI尊昭10-X20.5000,1,1.5000,2,2.5000-X31,0.5000,0.3333,0.2500,0.2000X41,0.2500.0.1111,0.0625;0.04002-2從鍵盤輸入一個三位整數,將他反向輸出,如輸入為639,輸出為936輸入一個百分制成績,要求輸出成績等級A,B,C,D,E。其中90100分為A,8089分為B,7079分為C,6069分為D,60分以下為E。要求:(1) 分別用if語句代碼:clearm=input('請輸入一個三位數:'
7、)m1=fix(m/100);m2二rem(fix(m/10),10);m3=rem(m,10);n=m1+m2*10+m3*100;disp(n);Name*ValueMinMaxm35535&356ml333m2555m3666n653653653(2) clear;Mark二input('請輸入成績:');Rank=cell(1,5);S=struct('Marks',Mark,'Rank',Rank);fori=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;ei=0+i;qi=9+i;gi=19+i;h
8、i=29+i;mi=39+i;ni=49+i;end;fori=1:5;switchS(i).Markscase100S(i).Rank='A'caseaS(i).Rank='A'casebS(i).Rank='B'casecS(i).Rank='C'casedS(i).Rank='D'caseeS(i).Rank='E'caseqS(i).Rank='E'casegS(i).Rank='E'casehS(i).Rank='E'casemS(i).Ra
9、nk二'E'casenS(i).Rank='E'otherwiseS(i).Rank='成績輸入錯誤';endenddisp(num2str(S(i).Marks),blanks(3),S(i).Rank);disp('');運行結果:>>st諳輸入成績:8989E»st請輸入咸績:108108成篦輸入錯誤I2 3輸入20個兩位隨機數,求其中的最大數最小數。要求分別用循環結構和調用MATLAB的max函數、min函數實現。(1)a=fix(rand(1,20)*100)ma=max(a)mi=min(a)運行
10、結果:>>a=fiic(raiLd(lJ20)w100)Coluimis1"through1016793152166026653874Columns11through2046822Snna99C0mi7(2)a二fix(rand(1,20)*100);fori=1:20;max=a(1);min=a(1);ifmax<a(i);max二a(i);endifmin>a(i);min=a(i);endendmaxmin運行結果:Name企ValueMinM曰<1x20double99711202020may955595mm81818
11、12- 6寫出下列程序輸出結果(1) s=0;a=12,13,14;15,16,17;l8,19,20;21,22,23;fork二aforj=l:4ifrem(k(j),2)=0s=s+k(j);endendends運行結果:田g(2) globalxx=1:2:5;y=2:2:6;sub(y);xy(3) functionfun二sub(z)globalxz=3*x;x=x+z;運行結果:亠田320112614耳Pdoubledouble(global)double總結:第二次實驗,對軟件的使用比較熟練了,但還是遇到了些許問題。在運算符號的使用中,應當注意“*”的使用,在最初因為不太會運用
12、遇到了些困難,后來通過同學討論和翻閱課本找到了答案。22中的第二種方法是按照課本例題改編的,有些啰嗦,不多至少是結果正確。還有26中剛開始沒能正常輸出,在老師的指導下知道(2)(3)是一起使用,算是運用到了函數調用。好在最后所有題目都得到了滿意的結果。實驗三、MATLAB圖形處理目的:能夠根據數據繪制各種形狀的二、三維圖形。3- 1繪制曲線y=x"+x+l,x的取值范圍為-5,5代碼:x=-5:0.01:5y=x.3+x+1plot(x,y)運行結果:3- 4有一組測量數據滿足y=exp(-a*t),t的變化范圍為010,用不同的線性和標記點畫出a=0.1,a=0.2和a=0.5三種
13、情況下的曲線。代碼:t=0:0.1:10;y1=exp(-0.1*t);y2=exp(-0.2*t);y3=exp(-0.5*t);title('tfrom0to10');plot(t,y1,t,y2,t,y3);xlabel('Variablet');ylabel('Variabley');text(0.8,1.5,'曲線y1二exp"-0.11');text(2.5,1.1,'曲線y1二exp"-0.21');text(0.8,1.5,'曲線y1二exp"-0.51'
14、;);legend(,y1,,,y2,,,y3,)運行結果:3-7繪制餅圖,x=6649715638,并將第五個切塊分離出來。代碼:x=6649715638;subplot(1,2,1);pie(x);subplot(1,2,2);pie(x,0,0,0,0,1);運行結果:穆Not?newtcolbdrbuttons:datahmihinfl&li廠ikrdpin乜銘包Pby曾id匕口5總結:這次實驗,比較有成就感,并沒有遇到什么太復雜的困難,但是軟件操作上出現了寫麻煩,一不小心將軟件頁面的各個功能窗口關上了,頗費周折終于找到了那些功能窗口,但是整個頁面都有些混亂。好在還是將題目做了
15、出來,圖出現的時候感覺特別有成就感。真的說明一件事情,英語學不好很麻煩啊。實驗四、MATLAB仿真模擬調制目的:能用MATLAB仿真調幅信號和調角信號。5-1用在區間0,2內的信號m(t)=t0<=t<=1;m(t)=-t+21<=t<=2;以DSB-AM方式調制一個載波頻率為25HZ、幅度為1的載波產生已調信號u(t)。寫一個Matlab的M文件,并用該文件作下面的題:(1) 畫出已調信號;(2) 求已調信號的功率;(3) 求已調信號的振頻譜,并與消息信號m(t)的頻譜作比較。程序代碼:dt=0.01;%時間采樣間隔fc=25;T=1;N=floor(T/dt);t1
16、=0:N*dt;t2=t1+1;%t=t1t2;mt1=t1;%信源mt2=-t2+2;%DSB-AMmodulationdsb1=mt1.*cos(2*pi*fc*t1);dsb2=mt2.*cos(2*pi*fc*t2);subplot(2,2,1);plot(t1,dsb1);holdon;plot(t2,dsb2);pwr1=mtl2;pwr2=mt22;subplot(2,2,2);plot(t1,pwr1);holdon;plot(t2,pwr2);mtf1,mtfft1=FFT_SHIFT(t1,mt1);mtf2,mtfft2=FFT_SHIFT(t2,mt2);subplot
17、(2,2,3);plot(mtf1,abs(mtfft1);holdon;plot(mtf2,abs(mtfft2);運行結果:5-2設AM調整時,輸入信號為沒(t)=0.2sinl000pi*t+0.5cosl000exp2*pi*t,A=1,載波中心頻率fc=10khz(1) 用MATLAB畫出AM信號的波形及其頻譜程序代碼:1、functionf,sf二FFT_SHIFT(t,st)df=t(2)-1(1);T二t(end);df=1/T;N=length(t);f二-N/2:N/2-1*df;sf=fft(st);sf=fftshift(sf);2、dt=0.00001;fm1=500
18、;fm2=500*1.414;fc=10000;%時間采樣間隔%信源頻率%載波中心頻率T=0.01;N=floor(T/dt);t=0:N-1*dt;mt=0.2*sin(2*pi*fm1*t)+0.5*cos(2*pi*fm2*t);%信源%AMmodulationA=1;am=(A+mt).*cos(2*pi*fc*t);f,AMf=FFT_SHIFT(t,am);subplot(311);plot(t,mt);subplot(312);plot(t,am);subplot(313);plot(f,AMf);運行結果:5- 3設FM調制時,調頻器的輸入信號為一個周期性的鋸齒波,鋸齒波的一個
19、周期為信號g(t)=tO二t<l,g(t)=0其他,FM的中心頻率fc=100hz,Kfm=10hz,試做(1) 畫出調頻后的信號波形及其振幅譜(2) 若接收端采用鑒頻器進行解調,且AWGN信道的功率密度譜為N0/2,試畫出當解調器輸入信噪比0dB,10Db,20dB時的解調輸出信號,并與原信號進行比較。程序代碼:1、functionf,sf二FFT_SHIFT(t,st)df=t(2)-1(1);T二t(end);df=1/T;N=length(t);f=-N/2:N/2-1*df;sf=fft(st);2.dt=0.001;%時間采樣間隔fc=100;T=1;N=floor(T/dt
20、);t=0:N*dt;kf=10;mt=t;mti二t."2/2;fmt=cos(2*pi*fc*t+2*pi*kf*mti);figure(1);subplot(2,1,1);plot(t,fmt);holdon;plot(t,mt,'r');f,ft=FFT_SHIFT(t,fmt);subplot(2,1,2);plot(f,abs(ft);s=l/2;%調制信號功率是A"2/2;sn=100;db二s/(10八(sn/10);%求白噪聲的方差。noisel二sqrt(db)*randn(size(t);%產生高斯白噪聲。fmt1=fmt+noise1
21、;figure(2);subplot(2,l,l);plot(t,fmtl);N=length(fmt);dfmt=zeros(l,N);fork=1:N-1%已調信號微分dfmt(k)=(fmtl(k+l)-fmtl(k)/dt;endenvlp=abs(hilbert(dfmt);%求瞬時幅度,即包絡subplot(2,l,2);plot(t,envlp);運行結果:INotenewtoolbarbuttons:cistsbrusshi門g&li門k亡d感凰Plsy訐i日呂口x總結:這一次實驗遇到的問題是花費了兩節課解決的。第一個題目很快的完成后,第二個跟第三個題目都遇到了問題。第
22、二題不出圖,第三題圖不正確,反復檢查修改了好多遍程序還是不對,一直提示f,ft=FFT_SHIFT(t,fmt)程序這句話有問題,就在打算放棄的時候,終于在老師的提醒下知道,是因為沒有調用函數,講課本后面附錄中的函數體加上之后,圖就順利的出來了。說明對程序的理解還不夠到位,需要繼續學習和努力。實驗五、MATLAB仿真模擬信號的數字傳輸目的:能用MATLAB仿真函數的抽樣、量化過程,掌握信號編碼方法。6- 1設低通信號s(t)二sin2*pi*t+0.5cos4*pi*t(1) 畫出該低通信號的波形;(2) 畫出抽樣速率為fs=4Hz的抽樣序列;(3) 從抽樣序列恢復出原始信號;(4) 當抽樣速
23、率fs=2hz時,畫出恢復出的抽樣信號。運行代碼:1.clearall;closeall;dt=0.01;t=0:dt:10;xt=sin(2*pi*t)+0.5*cos(4*pi*t);f,xf=FFT_SHIFT(t,xt);fs=4;sdt=1/fs;t1=0:sdt:10;st=sin(2*pi*t1)+0.5*cos(4*pi*t1);f1,sf=FFT_SHIFT(t1,st);t2=-50:dt:50;gt=sinc(fs*t2);stt=INSERT0(st,sdt/dt);xt_t=conv(stt,gt);figure(1)subplot(3,1,1);plot(t,xt)
24、;title('原始信號');subplot(3,1,2);stem(t1,st);title('扌由樣信號');subplot(3,1,3);t3=-50:dt:60+sdt-dt;plot(t3,xt_t);title('抽樣信號恢復');axis(010-11)2. functionout=INSERT0(d,M)N=length(d);out=zeros(1,M*N);fori=0:N-1out(i*M+1)=d(i+1);end;3. functionf,sf=FFT_SHIFT(t,st)df=t(2)-t(1);T=t(end);d
25、f=1/T;N=length(t);f=-N/2:N/2-1*df;sf=fft(st);運行結果:FileEdi七ViToolstopJnfind.owHelp6-2用一個均勻量化器對零均值、單位方差的高斯源進行量化,這個量化器在區間-10,10內均勻量化。假定量化電平設在各量化區域的中間點,求出并畫出量化電平數為N=.0時,量化產生的均方失真作為量化電平數N的函數。t二0:0.01:1;s二normrnd(0,1,size(t);err二zeros(1,8);fori=1:8err(i),x_qtz=myquantizer(s,i+2,10.10);endN=3
26、,4,5,6,7,8,9,10;Plot(n,err);functionerr,x_qtz=myquantizer(x,n,l,h)xmax=max(l,h);x_qtz=x/xmax;delta=2/n;q=delat*0:n-1-(n-1)/2*delat;fori=1:nindex=find(q(i)-delat/2<=x_qtz)&(x_qtz<=q(i)+delta/2);x_qtz(index)=q(i)*ones(1,length(index);endx_qtz=x_qtz*xmax;err=sum(x-x_qtz)/2)/length(x);function
27、sqnr,x_qtz,code=UniPcm(x,n)xmax=max(abs(x);x_qtz=x/xmax;b_qtz=x_qtz;delta=2/n;q=delat*0:n-1-(n-1)/2*delta;fori=1:n;index=delat=find(q(i)-delta/2<=x_qtz)&x_qtz<=q(i)+delta/2);x_qtz(index)=(q(i)*ones(1,length(index);b_qtz(find(x_qtz=q(i)=(i-1)*ones(1,length(find(x_qtz=q(i);endx_qtz=x_qtz*xma
28、x;nu=ceil(log2(n);code=zeros(length(x),nu);fori=1:length(x)forj=nu:-1:0if(fix(b_qtz(i)/W)=1)code(i,nu-j)=1;b_qtz(i)=b_qtz(i)-2j;endendend6-6試編寫A律13折線近似法的編碼與解碼程序。functioncode=myAcode(x)iw=01632641282565121024實驗六、MATLAB仿真數字信號的基帶傳輸目的:能夠繪制常用碼型,碼型功率譜和眼圖。7- 1設二進制符號序列為1011010010,以矩形脈沖為例,利用Matlab分別畫出相應的單極性不歸零、雙極性不歸零、單極性歸零和雙極性歸零波形。程序代碼:1、單極性不歸零functiony=snrz(x);t0=200;t=0:1/t0:length(x);fori=1:length(x)ifx(i)=1forj=1:t0y=(i-1)*t0+j)=1;endelseforj=1:t0y=(i-1)*t0+j)=0;endendendy=y,x(i);plot(t,y);title(1011010010');axis(0,i,-0.1,1.1);2、雙極性不歸零:將程序1中的y=(i-1)*t0+j)=0改為y=(i-1)*t0+j)=-13、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 混凝土攪拌站代加工的合同范本(3篇)
- 2025人才租賃合同協議樣本
- 全新停車場地租賃協議合同二零二五年
- 業務提成協議合同
- 二零二五版離婚申請書范例
- 舉升機設備采購合同樣本
- 二零二五國際貨物運輸的項目六租船合同
- 擔保個人借款合同范例
- 建筑工程設計終止協議模板二零二五年
- 代持股協議書合同范例
- 學前兒童游戲自考復習資料考綱
- 兒童抽動癥的診斷與治療
- 《村居》獲獎版 教學課件
- 無菌技術操作PPT
- 周版正身圖動作詳解定稿201503剖析
- 第6章工廠布局設計課件
- 叉車定期檢驗研究分析報告
- 雷達生命探測儀培訓-PPT課件
- 光纜和管道的施工規范標準
- (高清版)建筑工程裂縫防治技術規程JGJ_T 317-2014
- 陜西沉積釩礦勘查規范(1)
評論
0/150
提交評論