燕山大學數字通信計算機仿真課程設計實用模板_第1頁
燕山大學數字通信計算機仿真課程設計實用模板_第2頁
燕山大學數字通信計算機仿真課程設計實用模板_第3頁
燕山大學數字通信計算機仿真課程設計實用模板_第4頁
燕山大學數字通信計算機仿真課程設計實用模板_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、窗函數法理想低通濾波器的傳輸函數應)為好。)=,相應的單位取樣響應也(為2乃 J-噸jr(n-a)其中截止聯率多 = 27r號、帶通濾波器:7T(-a)sifl(A( A?-Z7)-Sifl( (,24:1) :“其中截止頻率%=2萬1400c 600ax = 27rZa二鋁,濾波器長度N需要先設定.加窗截取其中一段,可以是各種窗函數w(刃)。其中截止頻率4 = 2萬”, Z載波產生MM=4cos2;r 岫其汨=1, /?= 0,1,2,-,N, N為基帶信號總點數(Z=8000/fc, N=64O)。A為常教一如果基帶信號用咖來表示,力二QL2,M調制過程為:z()二州),加),二(HZ風卷

2、積z(,?) = x()* 為(,)%(力):0,4-1力:0,1,,馬-1.產乙S)= Z x(mh(n-工 hrn)x(n- rnYE-8m,-8n 0 J .- 7 A +12 - 1 jm: 0)L Zj - I.x(/7 rn) = 0 r 當 n rn )+ Z2 -void convolutfondloat xlMLfloat h| I27htliat y|M J) (iiit 1;float bl(lO(IO|;l=VUN;for(i=0:il:i+Ibl i 0.0;for(尸*Nj3) (elsehl|i|4=h|j|*xli.j|;for(i=0;ivM;i+)y|i|=

3、hl|MX-lW2|;噪聲陷勻分布白底聲和高斯分布白噪聲rand()產生個隨機數.范圍為OR AND MAXRAND MAX、RANI) MAX2)/2 e如果產生一長為n的序列,則宜服從均勻分布,由大數定律可知:獨立同分布的隨機變靈枳匯服從高斯分布八取 N=12,=枝(0,46%口J見5控制球戶演展的大小-Visual C+ +版本void Noise_Gen(double * noise,double intenjnt n)(inten=sqrt(inten*fs/ 2000) / 8;for( int i= 0 ;i n ;i+ + )(noise i = 0;tor( int j= 0

4、;j 1 2;j + + )double r= rand();double ri= (2* r-32767)/ 32767; noisei + = ri;)noise i * = inten;) -)c語言版本 float GenWhiteNoise(float a)(float b,q,randi= 0.0;q=RAND_MAX;for(i=0;i 12;i+ + ) randi+ = rand()/q;b= a* (randi-6);return b;C語言繪圖畫圖操作int gdriver,gmode;gdriver= DETECT;initgraph(&gdriver,&gmode,H

5、 n);closegraph(); DFT特點:速度慢但是靈活。void Dft(float x M Jnt N1 Jloat y M)float arM,aiM;for( k = 0;k N1 ;k+ +)(ar k = 0.0;aik =0.0;for(n= 0;n-j節而取H科鐘的幽乩媽短 1則你西入冽/螭任領拒睡唯C沙那/。力。岫,533.、):,曲砰力懈W母Z物腦環瓏仁 資依Jc n/g. /行=叫* 格俯 7 2 k-3*+死 時 哪佯在心以七二斗海中v SkZ 12訛丁 i1f j 的。價叫積 產卬至彳丹心多邦與左力爺f x u 3)喧7我媵用卻1速并與在.施,汾黑斗.“我不缽儀

6、 侑*叔3.加4內斗砌,5mx.小心可明市g泌妙*字引,必問).M嫉豺孑汰.寸海潤刀木為力“垮切切.方得;J裱竹狗色,巧又心弋為*嚇察于;,6 XrM牛)二勺舊八 N-lNT4 莉 x K = - 丁N勺(/)=竹W#J多多士的=一力火卡) 內方向,6*5林樂.13”“呵:空m N,“). AK產*!)網嘛2市十6(b)小寸用0)II)/% I -7L.本 Hjg ., /J“ch6):工叫即可 。.碉有空也必響w$2Gy W 7L .0:淞戶圖本為七,皎).3” “九一 一件./ f 3匕.g.bWe /.一黑fk隆-固.心哈=4,丹一和婚、s兒中戔月打響a .快供格俸相海,工,一 .- -

7、 f陰),濾祖斯叼聲于L TOC o 1-5 h z C A - A )/,T*.*/”5耳】 M-*于”(NQW4 d焉工 Kw -,w吁:謂獨.X(nJ - A 無 A 人不不傳3篁.T?.數字通信計算機課設程序代碼/ SigTranmit.cpp: implementation of the SigTranmit class./#include stdafx.h#include ASK.h#include SigTranmit.h#include #ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE=_FILE_;#define new D

8、EBUG_NEW#endif/ Construction/Destruction/SigTranmit:SigTranmit() c=0;/* S016=0;float S116=0;Mod16*M=0;Sa16*M=0;Sal16*M=0;H116*M=0;H216*M=0;No16*M=0;HbN=0;PN=0;WnN=0;*/SigTranmit:SigTranmit()void SigTranmit:SetDigital(int ID,int Intensity)/ 賦值 myID=ID;myIntensity=Intensity;void SigTranmit:Basesignal(

9、)/ 基帶信號/ID變成int型數組int a4 = 0;int i=0;int k=15;int temp=0;a0=myID%10;a1=myID/10%10;a2=myID/100%10;a3=myID/1000;for(int j=0;j4;j+) i=0;temp=aj; TOC o 1-5 h z for(i;i1; k-; /采樣 k=0; for(i=0;i16;i+) for(j=0;jM;j+) Salk=S0i; k+; for(i=0;i16*M;i+) if(Sali = 0) Sai = -1; else Sai = Sali; Dft(Sa,16*M); void

10、 SigTranmit:Lpf()/ 低通 Conv(Sa,GetH1(); Dft(Sa,16*M); void SigTranmit:Dft(float x,int m)/DFT變換 for(int k=0;km;k+) ARk=0; AIk=0; for(int i=0;im;i+) ARk =ARk + xi*cos(2*PI*k*i/m); AIk =AIk + xi*sin(2*PI*k*i/m); Ak = sqrt(ARk*ARk + AI k*AIk); void SigTranmit:modulate()調制 float a=0.0; for(int i=0;i16*M;i

11、+) a=2.0*PI*i*0.15; Modi = Sai*cos(a); for(i=0;i16*M;i+) Sai = Modi; Dft(Sa,16*M);void SigTranmit:Channel()/信道 Noise(myIntensity); for(int i=0;i16*M;i+) Sai = Noi + Sai; Dft(Sa,16*M); void SigTranmit:Noise(int inten)/ 噪聲 int i,k; float r0=0.0; float r12;for(k=0; k16*M; k+) for(i=0; i12; i+) ri = (fl

12、oat)(2*rand()-RAND_MAX)/RAND_MAX; r0 += ri; r0 = float(inten*r0/12.0); Nok = r0; Dft(No,16*M); void SigTranmit:Bpf() 帶通 int i;float a=(N-1)生成理想帶通濾波器的單位取樣響 應 for(i=0;iN;i+) if(i=a) Hbi=(float)0.4; else Hbi=sin(0.7*PI*(i-a)/(float)(PI*(i-a)-sin(0.3*PI*(i-a)/(float)(PI*(i-a); switch(c) case 0: for(i=0;

13、iN;i+) Wni=0.5*(1.0-cos(2.0*PI*i/(N-1); break; case 1: for(i=0;iN;i+) Wni=0.54-0.46*cos(2.0*PI*i/(N-1); break; case 2: /生成布萊克曼窗 for(i=0;iN;i+)Wni=0.42-0.5*cos(2.0*PI*i/(N-1)+0.08*cos(4.0*PI*i/(N-1); ; for( i=0;iN;i+) Hbi=Hbi*Wni; Conv(Sa,GetHb(); Dft(Sa,16*M); TOC o 1-5 h z void SigTranmit:Demodulate()解調 float a=0.0; for(int i=0;i16*M;i+) a=2.0*PI*i*0.15; Modi = Sai*co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論