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

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

?? transmit.m

?? 完整的OFDM鏈路程序并作了較為具體的解析從基本的bpsk,qpsk,qam到實際的ofdm系統
?? M
字號:
function BaseSignal = transmit(Datatx,ifftsize,carriers,...
		      wordsize,guardtype,guardtime,windowtype,DataAvg)
%TRANSMIT Generates a COFDM waveform from an input data.
%	  function BaseSignal = transmit(DataIn,ifftsize,carriers,...
%		    wordsize,guardtype,guardtime,windowtype,DataAvg)
%
%	  This function generates a COFDM time waveform based on the input parameters
%	  and the data given. The data is transmformed into a single frame COFDM signal. 
%	  This for the simulation of a COFDM phone system.
%	  INPUTS:
%	  ========
%	  Datatx     : Data to transmit in the wordsize given. eg. for wordsize = 2
%		       Data is from 0-3, for wordsize = 8, data is from 0-255
%		       The data should be a single row vector. See convbase.m to
%		       convert from 8bit data to the required wordsize.
%		       e.g. datatx = convbase(datain, 8, wordsize);
%	  ifftsize   : Size of ifft to use for generating the waveform
%	  carriers   : Which carriers to use for the transmission
%	  wordsize   : Number of bits to transmit on each carrier eg. 2 => QPSK
%		       1 => BPSK, 4 => 16PSK, 8 => 256PSK.
%		       Must be one of: 1,2,4 or 8
%	  guardtype  : What type of guard period to use
%		       Options:
%		       0 = No Guard period
%		       1 = zero level guard period
%		       2 = cyclic extension of end of symbols
%		       3 = same as 2 but with the first half of the guard period = zero
%	  guardtime  : Number of sample to use for the total guard time
%	  windowtype : Type of window to apply to the time waveform of the symbol
%		       Options: 
%		       0 = No windowing
%		       1 = Hamming window
%	  DataAvg    : Data Averaging. Number of repeats to send of each data word, so
%		       that the repeats can be combined at the receiver to reduce the 
%		       phase error, and thus to BER. DataAvg = 1 (No duplication)
%			
%	  OUTPUTS:
%	  ========
%	  BaseSignal : This is the output time signal for the COFDM waveform. The format
%		       of the output is a row vector.
%	  Datatx     : Data transmitted. This is the input data (DataIn) converted to 
%		       the number base used for transmission, based on wordsize.
%	  
%	  Copyright (c) Eric Lawrey 1997
%
%	  See:	RECEIVE, RDFILE.

%===============================
%	External Functions Used :
%	None

%===============================
%	Modifications:
%	8/6/97	Redo of the previous simulation script. (based on distort.m)
%	15/6/97	Continuing work on this function, currently not finished
%	16/6/97 Continued work on function, it is now finished and works, but not all 
%		the features have been tested.
%		I have tested the windowing and the zeroed guard period. The code has also
%		been optimized a bit and runs ~10 times faster then it used to, plus
%		it can handle much bigger files (tested upto 87kbytes, wordsize=4), in 35sec
%		It appears to work as a function.
%		The function needs to be changed so that it does not read the file directly
%		but instead get the data as input.
%	17/6/97	Modified the function so that it does read the input file from within 
%		the transmit function. This is so that the file can be read else where
%		then split up into smaller frames, then processed by transmit.
%		Fixed up some logical errors in the program, and removed the output phase
%		variable as it can be easily calculated from the data being transmitted.
%	12/8/97	Changed the input requirements for Datatx. It is now DataIn which is a 
%		serial vector of byte data. The base conversion, reshaping of the data
%		into symbols, and padding of the input data is done by transmit.m. I also
%		data averaging that send duplicates of the data words. The duplicates are
%		sent as the very next data word. (No the best spreading, but easy to do).

%====================
% Initialization
%====================

%rand('seed',3567);
NumCarr = length(carriers);	%find the number of carriers


%=====================
% Apply Data Averaging
%=====================
%Duplicate data to be transmitted, duplicate each dataword having the next carrier
%also transmitting the same data word. This will not give the best diversity
%performance but is the easiest to implement.
DataOut = zerohold(Datatx,DataAvg);

%=============
% Pad the Data
%=============
%Format the input serial data stream into symbols
%Reshape the data to fit the number of carriers
numsymb = ceil(length(DataOut)/NumCarr);

%If the data length is not a multiple of the number of carrier the pad the data
%with zeros
if length(DataOut)/NumCarr ~= numsymb,
	DataPad = zeros(1,numsymb*NumCarr);
	DataPad(1:length(DataOut)) = DataOut;
	DataOut = DataPad;
end

clear DataPad;

%==============================
% Reshape the data into symbols
%==============================
DataOut = reshape(DataOut,NumCarr,numsymb)';	%Reshape the data into symbols

numsymb = size(DataOut,1)+1;	%find the total number of symbols 
				%including the phase reference symbol
%========================================
% Convert to DQPSK & add phase reference
%========================================
PhaseRef = round(rand(1,NumCarr)*(2^wordsize)+0.5);	%generate random phase ref.
DPSKdata = zeros(size(DataOut,1)+1,size(DataOut,2));
DPSKdata(1,:) = PhaseRef;
for k = 1:numsymb-1
	DPSKdata(k+1,:)=rem((DataOut(k,:) + DPSKdata(k,:)-1),(2^wordsize))+1;
end
%clear DataOut;

%=====================================
%Find the required spectrums
%=====================================
[X,Y] = pol2cart(DPSKdata*(2*pi/(2^wordsize)),ones(size(DPSKdata)));
CarrCmplx = X+i*Y;

NegCarriers = ifftsize-carriers+2;	%find the bins for the negative frequency carriers
TxSpectrums = zeros(numsymb,ifftsize);

for k = 1:numsymb
	%Place the carriers used into the full spectrum
	TxSpectrums(k,carriers) = CarrCmplx(k,:);
	TxSpectrums(k,NegCarriers) = conj(CarrCmplx(k,:));
end
clear NegCarriers;
%==================================
%Find the time waveform using IFFT
%==================================
BaseSignal = real(ifft(TxSpectrums'));

clear TxSpectrums;	%Save Memory

%=================================
%Window the signal
%=================================
if windowtype==1
	window = hamming(ifftsize);		%make window
	window2 = zeros(ifftsize,numsymb);
	for k = 1:numsymb-1
		window2(:,k) = window;
	end
	
	BaseSignal = window2.*BaseSignal;	%window the waveform
	clear window2;				%save memory	
	clear window;
end

%=================================
%Add a Guard Period
%=================================
if guardtype~=0
	if guardtype == 1 			%if guard period is just a zero transmission
		BaseSignal=[zeros(guardtime,numsymb);BaseSignal];
	elseif guardtype == 2
		EndSignal = size(BaseSignal,1);	%Find the number of columns in the BaseSignal
		BaseSignal=[BaseSignal((EndSignal-guardtime+1):EndSignal,:); BaseSignal];
	elseif guardtype == 3
		EndSignal = size(BaseSignal,1);	%Find the number of columns in the BaseSignal
		BaseSignal=[zeros(guardtime/2,numsymb); ...
			BaseSignal((EndSignal-guardtime/2+1):EndSignal,:); BaseSignal];
	end	
end

BaseSignal = reshape(BaseSignal,1,size(BaseSignal,1)*size(BaseSignal,2));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美肥胖老妇做爰| 制服丝袜中文字幕亚洲| 日韩美女主播在线视频一区二区三区 | 日日骚欧美日韩| 不卡的看片网站| 欧美mv日韩mv| 午夜视频久久久久久| 色综合夜色一区| 国产精品丝袜久久久久久app| 卡一卡二国产精品| 欧美日韩二区三区| 亚洲欧美激情视频在线观看一区二区三区| 黑人精品欧美一区二区蜜桃| 69p69国产精品| 夜夜爽夜夜爽精品视频| 99免费精品在线| 国产目拍亚洲精品99久久精品| 久久99深爱久久99精品| 欧美一区二区精美| 视频一区中文字幕| 欧美日韩国产综合视频在线观看| 亚洲视频中文字幕| 成人动漫一区二区| 国产精品人成在线观看免费| 国产精品1024| 国产欧美精品一区二区色综合朱莉| 蜜桃久久久久久久| 91精品一区二区三区在线观看| 一区二区三区在线高清| 色综合久久中文综合久久97| 国产精品高清亚洲| 成人美女在线视频| 中文一区二区在线观看| 国产成人av电影在线| 国产肉丝袜一区二区| 国产河南妇女毛片精品久久久 | 欧美精品一级二级三级| 亚洲主播在线观看| 欧美视频中文字幕| 性做久久久久久久久| 欧美视频一区在线观看| 亚洲观看高清完整版在线观看| 欧美色爱综合网| 五月激情丁香一区二区三区| 91精品国产综合久久久久久久| 水野朝阳av一区二区三区| 欧美日韩一区二区电影| 奇米一区二区三区av| 日韩视频在线一区二区| 久久99精品久久久久久国产越南| 精品福利av导航| 国产成人亚洲综合色影视| 日本一区二区三区在线观看| 99久久精品免费看| 亚洲自拍偷拍综合| 51久久夜色精品国产麻豆| 老司机精品视频在线| 国产夜色精品一区二区av| 成人在线一区二区三区| 亚洲欧美另类在线| 欧美人与性动xxxx| 久久国产夜色精品鲁鲁99| 国产色产综合产在线视频| av亚洲精华国产精华| 亚洲综合一区在线| 日韩免费看的电影| 不卡的av在线| 亚洲国产成人av网| 欧美变态tickling挠脚心| 国产成人8x视频一区二区| 亚洲激情网站免费观看| 91精品国产黑色紧身裤美女| 国产精品一区二区在线播放 | 精品国产不卡一区二区三区| 夫妻av一区二区| 亚洲图片欧美一区| 26uuu精品一区二区| 99久久婷婷国产精品综合| 亚洲bt欧美bt精品777| 精品88久久久久88久久久| 97精品久久久午夜一区二区三区 | 亚洲欧洲综合另类| 91精品国产综合久久福利软件 | av中文字幕在线不卡| 亚洲成人午夜影院| 久久久久久久免费视频了| 91黄色在线观看| 久久精品99国产精品| 亚洲人亚洲人成电影网站色| 欧美一区二区啪啪| 99久久国产综合精品色伊| 日韩av电影免费观看高清完整版在线观看| 久久久久国产精品厨房| 欧美亚洲动漫制服丝袜| 国模大尺度一区二区三区| 亚洲人吸女人奶水| 2020国产精品自拍| 欧美色手机在线观看| 国产成人av资源| 日韩精品成人一区二区在线| 国产精品日产欧美久久久久| 91 com成人网| caoporen国产精品视频| 久久精品国产99国产| 亚洲一本大道在线| 国产精品全国免费观看高清| 91精品国产91久久综合桃花 | 精品一区精品二区高清| 一区二区三区成人| 久久精品欧美日韩| 欧美一二三四区在线| 日本高清不卡视频| 国产福利视频一区二区三区| 免费在线看一区| 亚洲在线视频一区| 国产精品国产自产拍高清av| 精品国产免费视频| 欧美老女人在线| 色94色欧美sute亚洲线路一久| 国产精品一区二区久激情瑜伽| 日本免费在线视频不卡一不卡二| 亚洲同性gay激情无套| 国产夜色精品一区二区av| 欧美一区二区三区视频| 在线视频综合导航| 色综合久久综合网欧美综合网| 国产精品 欧美精品| 精品一区免费av| 男人的天堂亚洲一区| 亚洲国产中文字幕| 亚洲一区视频在线| 亚洲黄色av一区| 中文字幕亚洲视频| 国产精品美女久久久久久| 国产日本亚洲高清| 2023国产精品自拍| 欧美va日韩va| 日韩一区二区三区精品视频| 欧美精品日韩精品| 欧美日韩国产综合视频在线观看| 色综合天天做天天爱| 91丨九色丨蝌蚪丨老版| 99这里只有精品| av一区二区三区黑人| 99re亚洲国产精品| 成人app网站| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲午夜激情网站| 亚洲成人动漫精品| 午夜一区二区三区视频| 亚洲高清免费在线| 五月激情六月综合| 日本午夜一本久久久综合| 日韩精品一级二级| 三级欧美在线一区| 蜜臀精品久久久久久蜜臀| 老色鬼精品视频在线观看播放| 蜜桃精品视频在线| 国产原创一区二区三区| 国产一区福利在线| 国产成a人无v码亚洲福利| 成人免费毛片片v| 99精品黄色片免费大全| 色婷婷av一区二区三区之一色屋| 91麻豆视频网站| 在线免费av一区| 欧美精品日韩一本| 欧美mv和日韩mv国产网站| 久久久久久久久久电影| 国产精品狼人久久影院观看方式| 国产精品久久久久aaaa| 亚洲欧美另类综合偷拍| 亚洲成a天堂v人片| 久久99精品久久久久久久久久久久| 国产一区二区三区免费看| 成人亚洲一区二区一| 色一情一伦一子一伦一区| 欧美日韩精品综合在线| 日韩一区二区免费视频| 久久久五月婷婷| 日韩美女久久久| 日韩精品乱码av一区二区| 激情综合色综合久久| 成人国产一区二区三区精品| 一本色道**综合亚洲精品蜜桃冫| 欧美午夜精品一区二区蜜桃 | 成人性生交大合| 91精品办公室少妇高潮对白| 91精品国产色综合久久ai换脸| 精品第一国产综合精品aⅴ| 国产精品理伦片| 天堂午夜影视日韩欧美一区二区| 国内精品久久久久影院薰衣草| 99久久国产免费看| 欧美日韩久久不卡| 国产日韩av一区| 亚洲成人激情av| 懂色中文一区二区在线播放| 欧美少妇一区二区| 久久婷婷国产综合精品青草|