資源簡介
數字通信中PLL同步實現的MATLAB仿真代碼,具有較好參考學習價值

代碼片段和文件信息
function?[convert_para_sconvert_para_sourcesignal_sourcesource_phase]=create_signal_source(ifsfifdthetaTCNRBnconvert)
????global?convert_set;
????convert_para_s=0;
????convert_para_source=0;
????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%產生信號源%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
??M=T*fs;%采樣點數
??%n=((i-1)*T):1/fs:(i*T)-1/fs;%一次積分清除有T*fs=6000個采樣點
??n=((i-1)*M):(i*M)-1;%一次積分清除有T*fs=6000個采樣點
??%theta_org=mod(2*pi*((fi+fd-50*cos(0.16*0.001*i+pi/2))*n)/fs+theta2*pi);%采樣點對應的相位
??%varyphase?=?-pi*80*(n/fs).^2;
??%varyphase?=?-2*pi*3125*cos(0.16*n/fs-pi/2);
??varyphase?=?0;
??theta_org=mod(varyphase+2*pi*(fi+fd)*n/fs+theta2*pi);%采樣點對應的相位
??signal_source=cos(theta_org);%得到源信號
??
??
??source_phase?=?theta_org(M);%最后一個點的相位作為信號相位
??source_phase?=?mod(source_phase2*pi);%相位設到0~2*pi之間
??source_phase?=?source_phase*360/(2*pi);?%轉化為度數
??
?%%%%%%%%%%%%%%%%%%%%%%%%%%加入載噪比%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
?if?CNR?~=?888
?SNR?=?CNR?-?10*log10(Bn*2);%由載噪比計算信噪比
?SNR?=?SNR?+?10*log10(Bn*4/fs);?%?考慮現在加入的噪聲是平均加到整個采樣率范圍內的,之后信號會通過帶通濾波器,噪聲只通過了Bn*2,所以要減小信噪比,這樣才是對的
?SNR?=?10^(SNR/10);%?將噪聲轉化為十進制的比例
?std_noise?=?1;%?噪聲的標準差為?1
?A_signal?=?sqrt(2*SNR*(std_noise^2));%?計算信號幅度
?randn(‘state‘1);
?noise_org?=?std_noise*randn(1M);%?產生無限帶寬的噪聲序列
?
?%?信號源中FIR的帶通濾波器的參數
?global?bofsourceFIR;
?global?noise_sourceFIR;
?
?%%%%%%%%%%%%%%%%%%%%%%%%%對噪聲序列進行帶通濾波%%%%%%%%%%%%%%%%%%%%%%%%%%%%
?noise?=?zeros(1M);%?初始化矩陣提高運算速度
?sourceb_size?=?length(bofsourceFIR);%?濾波器級數
?for?m=1:M
?????%?循環得到新的輸入序列???
?????noise_sourceFIR(2:sourceb_size)?=?noise_sourceFIR(1:(sourceb_size-1));
?????noise_sourceFIR(1)?=?noise_org(m);
?????noise(m)?=?bofsourceFIR*noise_sourceFIR‘;%?與系數相乘得到本次濾波的輸出
?end%?結束本循環濾波
?
?%?將噪聲限制在?3sigma的范圍內
?noise(find(noise?>?3*std_noise))?=?3*std_noise;
?noise(find(noise?(-3)*std_noise))?=?-(3*std_noise);
?
?signal_source?=?A_signal*signal_source?+?noise;%?對信號添加噪聲
?else
?SNR?=?10^(CNR/10);
?A_signal?=?sqrt(2*SNR);
?signal_source?=?A_signal*signal_source;%?對信號添加噪聲
?end
?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
?
?%%%%%%%%%%%%%%%%%%%%%%%%%記錄信號源量化設置%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%???
???if?convert==1
???????convert_para_s=8;%量化為8位,1位符號位,2位整數位,5位小數位
???????convert_para_source?=?convert_para_s?-?3;
???????signal_source?=?round(signal_source*2^convert_para_source);
???????for?m=1:fs*T
???????????%因為量化范圍是-128~127,所以當出現128時要強制轉換為127
???????????if?signal_source(m)?==?128?
???????????????signal_source(m)?=?127;
???????????end
???????end
???????if?i?==?1
???????????fprintf(convert_set‘信號源量化為%dbit:1bit符號,%dbit整數,%dbit小數\r\n\r\n‘convert_para_sconvert_para_s-convert_para_source-1convert_para_source);
???????end
???end
?????
?
?
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????30967??2012-11-07?20:31??PLL_matlab\100Hz.jpg
?????文件??????35068??2012-11-07?16:14??PLL_matlab\350Hz_15Hz.jpg
?????文件??????35892??2012-11-07?16:45??PLL_matlab\352Hz_15Hz.jpg
?????文件??????35582??2012-11-07?16:50??PLL_matlab\355Hz_10Hz.jpg
?????文件??????34724??2012-11-07?16:56??PLL_matlab\355Hz_30Hz.jpg
?????文件??????39217??2012-11-07?17:00??PLL_matlab\355Hz_40Hz.jpg
?????文件??????38619??2012-11-07?17:04??PLL_matlab\355Hz_50Hz_1.203.jpg
?????文件??????34893??2012-11-07?16:34??PLL_matlab\360Hz_15Hz.jpg
?????文件??????36140??2012-11-07?16:20??PLL_matlab\370Hz_15Hz.jpg
?????文件??????13120??2012-11-08?19:28??PLL_matlab\500_std2.fig
?????文件???????3176??2012-11-14?10:18??PLL_matlab\create_signal_source.asv
?????文件???????3204??2012-11-14?20:45??PLL_matlab\create_signal_source.m
?????文件??????????0??2012-11-14?21:37??PLL_matlab\Data_Record\BitData_para_filter.txt
?????文件?????????31??2012-11-14?21:48??PLL_matlab\Data_Record\DecData_para_filter.txt
?????文件???????1010??2012-11-13?20:39??PLL_matlab\discriminator.m
?????文件???????2035??2012-11-13?16:21??PLL_matlab\NCO_process.asv
?????文件???????2033??2012-11-13?20:05??PLL_matlab\NCO_process.m
?????文件???????9770??2012-11-14?21:20??PLL_matlab\pll.asv
?????文件???????9777??2012-11-14?21:20??PLL_matlab\pll.m
?????文件???????2984??2012-11-13?00:25??PLL_matlab\Pll_loop_lockjudge.asv
?????文件???????2989??2012-11-13?14:04??PLL_matlab\Pll_loop_lockjudge.m
?????文件????????386??2012-11-05?20:53??PLL_matlab\RecordDec.m
?????文件???????2625??2012-11-14?20:09??PLL_matlab\set_para_filter.m
?????文件???????2397??2012-11-07?16:02??PLL_matlab\set_para_pll.asv
?????文件???????2402??2012-11-14?20:58??PLL_matlab\set_para_pll.m
?????文件????????103??2012-11-06?16:10??PLL_matlab\sum_signal_IQ.m
?????文件???10782517??2012-11-09?20:39??PLL_matlab\tixing.fig
?????文件??????41602??2012-11-09?21:05??PLL_matlab\zhexianxing.jpg
?????目錄??????????0??2012-11-12?22:48??PLL_matlab\Data_Record
?????目錄??????????0??2012-12-03?11:20??PLL_matlab
............此處省略3個文件信息
評論
共有 條評論