亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rayleigh_doppler_multipath.m

?? OFDM瑞利衰落信道的建模仿真源程序代碼
?? M
字號:
function y = Rayleigh_Doppler_multiPath(fc,v,startT,endT,deltaT,fchip,delayTime,averagePower)
%He jian, 2005.3
%產生multipath Rayleigh分布(Doppler Shift),基于Clarke模型
%return 復變量

%fc=2000;%載頻(MHz)
%v=50;%絕對時速(km/h)
% startT,endT(s):分別表示信道仿真的開始時間、終止時間,通常startT=0,endT=1s,
% deltaT(ms):時間間隔,通常deltaT=1ms
%fchip=1.28;%chip速率(Mchip/s)
%delayTime=[0,781,1563,2344];%ns(10^-9s)
%averagePower=[0,-3,-6,-9];%dB

%method_flag = 3; %1,按ns delay,運算量大(目前不考慮該方法!)
                  %2,按chip delay,運算量較大,在path delay不是chip時間整數倍時有誤差
                  %3,直接在抽樣上delay,運算量小
if(fchip~=0)
	method_flag = 2;
else
	method_flag = 3;
end

if (method_flag==1)
	method_flag_str = '第1種方法,按ns delay';
elseif (method_flag==2)
	method_flag_str = '第2種方法,按chip delay';
elseif (method_flag==3)
	method_flag_str = '第3種方法,在抽樣上delay';
else
end

%tic;%Start timer of the simulation

averagePower=10.^(averagePower/10);
averagePower=averagePower/sum(averagePower);%將信道做歸一化!

%get number of all paths
Np=length(delayTime);%delayTime與averagePower維數必須一致

if (method_flag==1)%對Np條徑進行delay,1st method:按ns delay,運算量大
elseif (method_flag==2)%對Np條徑進行delay,2nd method:按chip delay,運算量小,在path delay不是chip時間整數倍時有誤差
	Tchip=1/(fchip*10^6);%一個chip占用時間(s)
	%將延時折算成延chip!!
	delayChip=round(delayTime*10^-9/Tchip)
	%get Np rayleigh path,deltaT按一個chip周期
	deltaT=Tchip*1000;%ms
	r0 = zeros(Np,length([startT:deltaT/1000:endT]));
	for n=1:1:Np
		['==========',method_flag_str,'==========',num2str(Np),'徑--- 第',num2str(n),'徑==========']
		
		%tic;
		tempr = sqrt(averagePower(n))*Rayleigh_Doppler_singlePath(fc,v,startT,endT,deltaT);
		%tempr = Rayleigh_Doppler_singlePath(fc,v,startT,endT,deltaT);
		
		%delay chip...
		r0(n,:) = [zeros(delayChip(n),1);tempr(1:length(tempr)-delayChip(n))]';
		%r0(n,:)=abs(r0(n,:)).^2 * averagePower(n);%Np條徑
		clear tempr;
		
		%disp(['one rayleigh channel time: ' num2str(toc) '秒']);
	end
	rm = sum(r0)';
	clear r0;
elseif (method_flag==3)
	%此時,delayTime以最晚一個徑為基準,條件參數中是以第一個徑為準的!
	for n=1:1:Np
		delayTime(n) = delayTime(Np) - delayTime(n);
	end
		
	for n=1:1:Np
		lenT(n) = length([startT+delayTime(n)*10^-9:deltaT/1000:endT]);
	end
	r0 = zeros(Np,min(lenT));
	for n=1:1:Np
		['==========',method_flag_str,'==========',num2str(Np),'徑--- 第',num2str(n),'徑==========']
		
		%tic;
		tempr = sqrt(averagePower(n))*Rayleigh_Doppler_singlePath(fc,v,startT+delayTime(n)*10^-9,endT,deltaT);
		%tempr = Rayleigh_Doppler_singlePath(fc,v,startT+delayTime(n)*10^-9,endT,deltaT);
		
		r0(n,:) = tempr([1:min(lenT)])';
		%r0(n,:)=abs(r0(n,:)).^2 * averagePower(n);%Np條徑
		clear tempr;
		
		%disp(['one rayleigh channel time: ' num2str(toc) '秒']);
	end
	rm = sum(r0)';
	clear r0;	
	
	startT = startT+max(delayTime)*10^-9;
	['起始時間 為 startT,',num2str(startT),' s!']
else
end

plot_flag = 0;   %1:需要plot,0:not plot

if plot_flag==1
	fs = 1000/deltaT; %fs = fchip*10^6;	
	c=3*10^8;%光速(m/s)
	fmax = (fc*10^6)*(v*10^3/3600)/c; % Max Doppler Shift (Hz)
	
	f_lim_range = [-fmax*2,fmax*2];

	%功率譜估計
	Nfft = 2^4;
	while(Nfft)
		if (Nfft < length(rm))
			Nfft = 2*Nfft;
		else
			break;
		end
	end
	Nfft = Nfft/2;%讓數據長度為2的冪,又不超出采樣長度
	r2 = rm(1:Nfft);
	
	Power_dB = 20*log10(abs(r2));% to dB!
	
	figure;
	subplot(2,2,1);
	plot([startT*1000:deltaT:startT*1000+deltaT*(Nfft-1)],Power_dB);grid;axis tight;title([num2str(fc), 'MHz,',num2str(v), 'km/h,Max Doppler=',num2str(fmax,'%.2f'),'Hz,',num2str(Np),'條徑']);xlabel('ms');ylabel('dB值');
	%plot([startT*1000:deltaT:endT*1000],Power_dB);grid;axis tight;title([num2str(fc), 'MHz,',num2str(v), 'km/h,Max Doppler=',num2str(fmax,'%.2f'),'Hz,',num2str(Np),'條徑']);xlabel('ms');ylabel('dB值');
	legend(['E(r^2)=',num2str(10*log10(sum(abs(r2).^2)/length(r2)),'%.2f'),' dB']);
	clear Power_dB;
	
	subplot(2,2,2);
	clear psd_matlab;clear f_matlab;
	[psd_matlab,f_matlab] = pwelch(r2,[],[],'twosided',Nfft,fs);%pwelch(x,window,noverlap,nfft,fs)
	psd_matlab = fftshift(psd_matlab);
	len = length(f_matlab);
	plot([-flipud(f_matlab(2:len/2+1));f_matlab(1:len/2)],10*log10(psd_matlab));
	%doppler shift
	hold on;
	sigma_u4 = sqrt(1/2);fm4 = [-fmax*0.999:fmax/100:fmax*0.999];fc4 = 0;
	Sf4 = 1.5*sigma_u4/(pi*fmax).*1./(sqrt(1-((fm4-fc4)./fmax).^2));	
	plot(fm4,10*log10(Sf4),'-.r',min(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r',max(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r','LineWidth',1.5);
	legend('仿真值','單徑理論值');
	xlim(f_lim_range);grid;
	title('pwelch(),Welch Method');xlabel('Hz');ylabel('dB/Hz');

	subplot(2,2,3);
	clear psd_matlab;clear f_matlab;
	[psd_matlab,f_matlab] = pmtm(r2,4,'twosided',Nfft,fs);
	psd_matlab = fftshift(psd_matlab);
	len = length(f_matlab);
	plot([-flipud(f_matlab(2:len/2+1));f_matlab(1:len/2)],10*log10(psd_matlab));
	%doppler shift
	hold on;
	plot(fm4,10*log10(Sf4),'-.r',min(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r',max(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r','LineWidth',1.5);
	legend('仿真值','單徑理論值');
	xlim(f_lim_range);grid;
	title('pmtm(),Multitaper method(MTM)');xlabel('Hz');ylabel('dB/Hz');
	
	subplot(2,2,4);
	clear psd_matlab;clear f_matlab;
	[psd_matlab,f_matlab] = pyulear(r2,round(Nfft/20),'twosided',Nfft,fs);
	psd_matlab = fftshift(psd_matlab);
	len = length(f_matlab);
	plot([-flipud(f_matlab(2:len/2+1));f_matlab(1:len/2)],10*log10(psd_matlab));
	%doppler shift
	hold on;
	plot(fm4,10*log10(Sf4),'-.r',min(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r',max(fm4).*ones(1,2),[min(10*log10(psd_matlab)),max(10*log10(Sf4))],'-.r','LineWidth',1.5);
	legend('仿真值','單徑理論值');
	xlim(f_lim_range);grid;
	title('pyulear(),Yule-Walker AR Method');xlabel('Hz');ylabel('dB/Hz');

	clear r2;	
% 	yw = abs(fftshift(fft(r2))).^2/length(r2);
% 	clear r2;
% 
% 	len = length(yw);
% 	f_range = (-len/2:len/2-1)/len*fs; %[-fs/2:1/(endT-startT):fs/2];%(0:len-1)/len*fs;
% 	subplot(2,2,2);plot(f_range,10*log10(yw));grid;xlim([-fmax*1.2,fmax*1.2]);title('周期圖法 功率譜');xlabel('頻率(Hz)');ylabel('功率譜(dB)');
% 	yw2=yw;f_less=find(f_range<0);f_more=find(f_range>fmax);yw2([f_less,f_more])=[];
% 	%legend(['(0,fmax)積分功率=',num2str(10*log10(sum(yw2)*fs/len/fmax),'%.2f'),' dB/Hz']);
% 	legend(['(0,fmax)積分功率=',num2str(10*log10(mean(yw2)),'%.2f'),' dB/Hz']);
% 	clear yw2;
% 	
% 	subplot(2,2,3);plot(f_range,10*log10(yw));xlim([-fmax*4,fmax*4]);grid;title(['周期圖法 功率譜']);
% 	xlabel('頻率(Hz)');ylabel('功率譜(dB)');
% 	clear yw;
% 		
% 	%======= Welch K from 2 to 5 使頻域不至于展開過寬,而分辨不清!=======
% 	Kmax = 3; K=Kmax+1;
% 	
% 	L = 2^4; %每段數據長度,2的冪
% 	if (1.5*L>=length(rm))
% 		'Welch: 數據總長度應> 1.5*L!'
% 		return;
% 	end
% 	
% 	while (K>Kmax)
% 		Lmax = floor(length(rm)*2/L)/2*L; %需要從rm中提取的數據總長度
% 		K = Lmax*2/L-1; %數據分段數
% 		if (K <= Kmax)
% 			break;
% 		else
% 			L = 2*L;
% 		end
% 	end
% 	
% 	w_hn = hanning(L); 
% 	Pw = [];
% 	for k=1:1:K
% 		Pw(k,:) = (abs(fftshift(fft(w_hn.*rm(1+(k-1)*L/2:L+(k-1)*L/2)))).^2)';
% 	end
% 	Pw = sum(Pw)/(norm(w_hn)^2*K);
% 	f_range = (-L/2:L/2-1)/L*fs;
% 		
% 	subplot(2,2,4);plot(f_range,10*log10(Pw));grid;title(['Welch法 功率譜,K=',num2str(K),',L=2\^',num2str(log2(L))]);xlim([-fmax*1.2,fmax*1.2]);xlabel('頻率(Hz)');ylabel('功率譜(dB)');
% 	f_less=find(f_range<0);f_more=find(f_range>fmax);Pw([f_less,f_more])=[];
% 	%legend(['(0,fmax)積分功率=',num2str(10*log10(sum(Pw)*fs/L/fmax),'%.2f'),' dB/Hz']);
% 	legend(['(0,fmax)積分功率=',num2str(10*log10(mean(Pw)),'%.2f'),' dB/Hz']);
% 	clear Pw;	
end

y=rm(:);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲精品| 午夜精品福利在线| 日韩欧美一区二区免费| 欧美理论片在线| 欧美三级视频在线| 欧美三区在线视频| 欧美日本一区二区三区四区| 欧美日韩情趣电影| 欧美一区二区三区日韩| 在线播放日韩导航| 日韩一区二区三区四区| 日韩欧美黄色影院| 久久这里只有精品首页| 中文字幕一区二区三区在线观看| 国产精品污网站| ...av二区三区久久精品| 亚洲小说欧美激情另类| 亚洲国产综合色| 老司机精品视频一区二区三区| 男女性色大片免费观看一区二区 | 久久久久久影视| 国产午夜精品理论片a级大结局| 国产偷v国产偷v亚洲高清| 国产精品卡一卡二| 亚洲成人av电影在线| 蜜桃久久久久久久| 丰满放荡岳乱妇91ww| 97久久超碰国产精品电影| 欧美无砖砖区免费| 久久综合九色综合97婷婷 | 欧美中文字幕一区二区三区亚洲| 欧美日韩中文字幕一区二区| 精品国产乱码久久久久久久久| 国产精品午夜免费| 日本欧美在线观看| eeuss鲁一区二区三区| 欧美一区二区三区成人| 国产欧美日本一区视频| 午夜精彩视频在线观看不卡| 国产在线播精品第三| 在线观看视频一区| 久久亚洲一区二区三区四区| 亚洲国产一区在线观看| 波多野结衣中文字幕一区二区三区| 欧美三级午夜理伦三级中视频| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品国久久99热| 国精品**一区二区三区在线蜜桃| 欧美这里有精品| 中文字幕不卡在线| 免费成人美女在线观看| 91福利在线导航| 国产欧美一区视频| 麻豆精品蜜桃视频网站| 欧美日韩精品专区| 中文字幕在线观看不卡| 国产在线视视频有精品| 欧美精品高清视频| 亚洲国产一区二区a毛片| 成人91在线观看| 久久精品欧美日韩| 久久国产视频网| 欧美精品tushy高清| 亚洲国产乱码最新视频| 日本二三区不卡| 亚洲黄色av一区| 91福利社在线观看| 亚洲综合一区二区精品导航| 色噜噜久久综合| 一区二区成人在线| 91老师国产黑色丝袜在线| 国产精品嫩草影院av蜜臀| 国产一区二区看久久| 精品日韩99亚洲| 另类小说图片综合网| 91精品国产综合久久久久久久久久| 亚洲成人一二三| 欧美性xxxxxx少妇| 视频在线观看一区| 欧美一卡2卡3卡4卡| 久久成人麻豆午夜电影| 精品久久一区二区三区| 国产精品99久久久久久久vr | 在线观看视频一区二区 | 日韩午夜小视频| 免费在线观看视频一区| 精品免费国产二区三区| 国产福利精品一区二区| 日本一区二区三区国色天香 | 自拍偷拍欧美激情| 99精品国产91久久久久久| 国产精品国产三级国产三级人妇| a4yy欧美一区二区三区| 亚洲成人免费影院| 精品捆绑美女sm三区| 国产99久久久国产精品| 一区二区在线观看视频在线观看| 欧美精品亚洲二区| 韩国精品一区二区| 亚洲欧美日韩在线不卡| 欧美日本韩国一区二区三区视频 | 国产亚洲污的网站| 99re这里只有精品6| 亚洲一区二区三区视频在线| 精品国产凹凸成av人导航| 丁香一区二区三区| 亚洲综合一区二区三区| 精品国产乱子伦一区| 91亚洲国产成人精品一区二三| 天天影视色香欲综合网老头| 久久久久久久久久久久久夜| 在线观看国产日韩| 国产精一区二区三区| 亚洲制服丝袜一区| 国产日产欧美一区| 欧美日韩亚洲综合| 成人av在线看| 美女尤物国产一区| 亚洲综合精品自拍| 欧美国产乱子伦 | 国产精品不卡一区| 91精品国产91热久久久做人人| 波多野结衣亚洲一区| 美女视频黄久久| 久久精品国产免费看久久精品| 亚洲激情六月丁香| 欧美国产精品久久| 欧美精品一区二区久久婷婷 | 26uuu精品一区二区在线观看| 色狠狠色噜噜噜综合网| 国产激情视频一区二区三区欧美| 午夜精品久久一牛影视| 一区在线观看免费| 国产亚洲婷婷免费| 3atv在线一区二区三区| 在线免费观看日韩欧美| 色综合久久久久综合99| 国产精品18久久久久久vr| 蜜桃av一区二区三区电影| 午夜久久久久久电影| 一区二区三区不卡在线观看 | 成人av午夜电影| 国产高清视频一区| 韩国女主播一区| 国内外成人在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 美女诱惑一区二区| 九九精品视频在线看| 美女视频黄a大片欧美| 久久99热国产| 国产精品自拍网站| 国产精品99久| 国产91丝袜在线播放| 国产成人自拍网| 成人网男人的天堂| 99热这里都是精品| 色偷偷久久人人79超碰人人澡| 91在线一区二区| 成人国产免费视频| 91一区二区在线| 欧美自拍偷拍一区| 日韩欧美国产高清| www国产精品av| 日本一区二区三区免费乱视频 | 国产乱码精品一区二区三| 国产一区久久久| 成人黄色av电影| 91麻豆6部合集magnet| 欧美色综合网站| 日韩你懂的在线观看| 亚洲精品一区二区三区精华液| 国产精品麻豆欧美日韩ww| 一级日本不卡的影视| 日韩不卡一区二区| 国产精品亚洲第一区在线暖暖韩国| 成人18视频日本| 欧美蜜桃一区二区三区| 国产午夜亚洲精品理论片色戒| 中文字幕av不卡| 亚洲午夜电影在线观看| 麻豆精品国产传媒mv男同| 成人黄色电影在线 | 国产一区二区三区精品欧美日韩一区二区三区| 欧美aa在线视频| av男人天堂一区| 884aa四虎影成人精品一区| 国产丝袜在线精品| 亚洲一二三专区| 国产黄色精品视频| 欧美亚洲高清一区| 精品日韩在线观看| 亚洲综合一区二区三区| 国产麻豆成人精品| 欧美日韩一本到| 国产精品国产三级国产aⅴ入口| 亚洲一区二区美女| 成人av动漫在线| 日韩精品一区二区三区蜜臀| 亚洲私人影院在线观看| 国产在线一区二区|