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

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

?? receive.m

?? 完整的OFDM鏈路程序并作了較為具體的解析從基本的bpsk,qpsk,qam到實際的ofdm系統
?? M
字號:
function [Datarx, DiffPhRx] = receive(TimeSignal,ifftsize,carriers,...
		 wordsize,guardtype,guardtime,DataAvg,NoData,OutWordSize)
%RECEIVE Decodes a COFDM time waveform back into its data.
%	It decode the data from one data frame. This function requires
%	that the TimeSignal has the correct starting position.
%	function [Datarx, DataOut, DiffPh] = receive(TimeSignal,ifftsize,carriers,...
%		 wordsize,guardtype,guardtime,DataAvg,NoData)
%
%	INPUTS:
%	========
% 	TimeSignal : This is the input time signal for the COFDM waveform. The format
%		     of the output is a row vector.
%	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
%	DataAvg    : Data Averaging. Number of repeats sent of the same
%		     data word, so that it can be averaged at the receiver
%		     to help reduce the phase error.
%	NoData: is used for removing padding of the data. The padding is added
%		     by the transmitter on the last symbol if the number of data
%		     words doesn't fit into an integer number of symbols. NoData
%		     is the number of data words transmitted in the frame being
%		     decoded, e.g. if 10 bytes of data was sent and the DataOut
%		     format is byte format then NoData = 10.
%		     If padding hasn't been used set NoData to 0.
%	OutWordSize: This is the wordsize of the output data (DataOut). This will
%		     normally be set to 8, if the original data is in a byte format.
%		     However OutWordSize may be set to higher values (e.g. 16) if
%		     analog signal are being transmitted on the COFDM instead of
%		     digital data. The value of OutWordSize must match InWordSize
%		     on the transmitted. Note : OutWordSize is an optional
%		     parameter with a default of 8 bits.
%
%	OUTPUTS:
%	========
%	Datarx     : This is the output data that has been decoded from the 'TimeSignal'
%	      	     Its format is in words the same size as 'wordsize'. The output
%		     format of the data is a row vector.
%
%	DiffPhTx   : This is the actual phase difference between each symbol for the data
%		     This includes any noise or aborations due to the channel. It can be
%		     used for generating a histogram of the phase error. It has been adjusted
%		     so that the phase is centered around the phase locations of the data
%		     For Example for QPSK, the output phase is from -45 deg to 315 deg. This
%		     is for IQ locations at, 0, 90, 180, 270 deg.
%
%	Copyright (c) Eric Lawrey 1997
%
%	See:	TRANSMIT, WRFILE, CHANNEL

%	Modifications:
%	16/6/97	Started working on the function, it isn't finished yet.
%	17/6/97 Continued work on the receive function, it is now mostly finished
%		and has been partly tested.
%	18/6/97	Changed the way thay the DiffPhTx is generated, so that the phase out is based
%		on the phase locations. This was done so the phase error can be easily
%		calculated. Negative phase errors centered around the 0deg phasor are no
%		longer 359.6 deg for example but -0.4 deg. Fixed a bug due to having
%		guardtype = 0
%	3/8/97	Added data averaging allowing duplicate data to be sent to
%		reduce the error rate.
%	12/8/97	Updated to data averaging to the same method used by the transmitter
%		and added the ability to trim the data back to compensate for padding.
%		The padding doesn't work yet
%	13/8/97	The padding problem was fixed by rotating the transmitted data
%		which was incorrect, and clipping the DiffPhRx array to the
%		correct length.
%

% Required External Functions
%	subsamp.m

if nargin < 9,
	OutWordSize = 8;	%Set the default
end

%=========================================================================
%Strip back the number of samples to make it a multiple of the symbol size
%=========================================================================
if guardtype == 0,
	guardtime = 0;
end

SymbLen = length(TimeSignal)+guardtime;	%Find total number of samples
					%per symbol, including guard.
TimeSignal = TimeSignal(1:(SymbLen-rem(SymbLen,ifftsize+guardtime)));

					%Find the number of symbols in the input time waveform
numsymb = length(TimeSignal)/(ifftsize+guardtime);

%==========================================================================
%Reshape the linear time waveform into fft segments and remove guard period
%==========================================================================
if guardtype ~= 0,
	symbwaves = reshape(TimeSignal,ifftsize+guardtime,numsymb);
	symbwaves = symbwaves(guardtime+1:ifftsize+guardtime,:); %Strip off the guard period
else
	symbwaves = reshape(TimeSignal,ifftsize,numsymb);
end

fftspect = fft(symbwaves)';	%Find the spectrum of the symbols

DataCarriers = fftspect(:,carriers);	%Extract the used carriers from the symbol spectrum.
clear fftspect;				%Save some memory

CarrPh = angle(DataCarriers);		%Find the phase angle of the data
NegCarrPh = find(CarrPh<0);		%Map the phase angle to 0 - 2pi radians
CarrPh(NegCarrPh) = rem(CarrPh(NegCarrPh)+2*pi,2*pi);

clear NegCarrPh;
%================================
%Apply DQPSK on the received data
%================================
DiffPh = diff(CarrPh);		 	%Compare phase of current to previous symbol

DiffPh = DiffPh*360/(2*pi);		%convert from radians to degrees

NegPh=find(DiffPh<0);			%Make all phases between 0 - 360 degrees
DiffPh(NegPh)=DiffPh(NegPh)+360;

DiffPh = reshape(DiffPh',1,size(DiffPh,1)*size(DiffPh,2)); %Convert back to a serial stream
DiffPh = subsamp(DiffPh,DataAvg,1,0);	%Average the phase for duplicate words
NegPh=find(DiffPh<0);			%Make all phases between 0 - 360 degrees
DiffPh(NegPh)=DiffPh(NegPh)+360;

%DiffPh = reshape(DiffPh,size(DiffPh,1)*DataAvg,size(DiffPh,2)/DataAvg);
Datarx = zeros(size(DiffPh));
PhInc = 360/(2^wordsize);		%Find the increment between the phase locations
DiffPhRx = rem(DiffPh/(PhInc)+0.5,(2^wordsize))*(PhInc)-(PhInc/2);

Datarx = floor(rem(DiffPh/(360/(2^wordsize))+0.5,(2^wordsize)));

if NoData == 0,
	%Stip back the length of Datarx so it is a multiple of the
	%OutWordSize/wordsize.
	Datarx = Datarx(1:floor(length(Datarx)/(OutWordSize/wordsize))*(OutWordSize/wordsize));
else
	if (NoData*(OutWordSize/wordsize) > length(Datarx)),
		disp('WARNING : Received Data Shorter than expected');
		disp(['Expected = ', num2str(NoData*(OutWordSize/wordsize))]);
		disp(['Received = ', num2str(length(Datarx))]);
		
	else
		Datarx = Datarx(1:NoData*(OutWordSize/wordsize));
		DiffPhRx = DiffPhRx(1:NoData*(OutWordSize/wordsize));
	end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va天堂va国产va久| 国产日产欧美精品一区二区三区| 国产精品99久久不卡二区| 亚洲成人先锋电影| 亚洲综合久久av| 亚洲va欧美va人人爽| 一区二区三区在线播放| 制服丝袜中文字幕亚洲| 精品一区二区三区欧美| 国产麻豆精品视频| 成人少妇影院yyyy| 色综合天天狠狠| 欧美中文字幕一区| 欧美一个色资源| 国产亚洲精品资源在线26u| 制服视频三区第一页精品| 制服丝袜国产精品| 国产精品卡一卡二卡三| 亚洲精品免费在线| 经典三级一区二区| 国产一区二区在线视频| 91啪亚洲精品| 久久天天做天天爱综合色| 亚洲最大的成人av| 丁香天五香天堂综合| 欧美精品 国产精品| 久久久精品蜜桃| 亚洲视频一区在线| 国产一区二区不卡| 日韩一区二区三区在线| 日韩一区在线免费观看| 国产精品一区二区x88av| 8v天堂国产在线一区二区| 最新不卡av在线| 成人在线综合网| 成人福利视频在线| eeuss国产一区二区三区| 欧美一区二区三区不卡| www激情久久| 一区二区三区欧美| va亚洲va日韩不卡在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲va中文字幕| 色综合天天狠狠| 99久久免费精品| 欧美一级久久久久久久大片| 欧美高清在线视频| 久草精品在线观看| 久久综合久久综合久久综合| 麻豆国产精品777777在线| 欧美日韩免费一区二区三区视频| 国产精品不卡一区二区三区| 极品美女销魂一区二区三区 | 粉嫩绯色av一区二区在线观看| 欧美日韩国产在线播放网站| 亚洲欧洲日韩一区二区三区| 七七婷婷婷婷精品国产| 91精品国产综合久久久蜜臀粉嫩| 亚洲最大的成人av| 欧美精品日日鲁夜夜添| 蜜乳av一区二区| 欧美成人三级在线| 国产91精品免费| 国产日韩精品一区二区三区| 99精品欧美一区二区三区综合在线| 一级日本不卡的影视| 国产精品系列在线| 日韩视频一区二区三区| 欧美区视频在线观看| 成人午夜在线播放| 亚洲一区二区黄色| 国产精品久久久99| 欧美日韩免费观看一区二区三区 | 久久国产精品99久久人人澡| 最近日韩中文字幕| 久久久久国产精品人| 欧美一区二区在线播放| 91福利在线导航| 国产成人亚洲精品狼色在线 | 亚洲制服欧美中文字幕中文字幕| 中文字幕电影一区| 久久综合色一综合色88| 欧美一区二区精品| av电影在线观看一区| 蜜桃av噜噜一区二区三区小说| 一区二区三区四区不卡在线| 国产精品少妇自拍| 国产精品久久久久久久岛一牛影视 | 不卡视频一二三| 粉嫩av一区二区三区| 风间由美中文字幕在线看视频国产欧美| 日本乱码高清不卡字幕| 国产精品一区二区在线观看不卡| 激情综合色播五月| 亚洲成人先锋电影| 亚洲444eee在线观看| 久久精品久久综合| 国产福利一区二区三区在线视频| 老司机精品视频线观看86| 韩国视频一区二区| 日韩av在线免费观看不卡| 国内精品久久久久影院薰衣草| 91网址在线看| 欧美日韩免费不卡视频一区二区三区| 欧美日韩在线免费视频| 日韩一区二区三免费高清| 中文字幕的久久| 天天综合天天综合色| 国产精品亚洲一区二区三区在线 | 国产一区二区免费视频| 99在线视频精品| 欧美一区二区三区视频在线观看| 2020国产精品自拍| 亚洲在线一区二区三区| 国产成人午夜精品影院观看视频| 日韩欧美资源站| 久久综合九色综合久久久精品综合| 亚洲无线码一区二区三区| 国产精品影视在线观看| 99视频在线观看一区三区| 91豆麻精品91久久久久久| 久久久久久97三级| 午夜精品福利一区二区三区蜜桃| 国产成人午夜视频| 亚洲国产精品ⅴa在线观看| 亚洲成a人v欧美综合天堂 | 国产精品一区2区| 制服丝袜中文字幕一区| av在线播放不卡| 国产精品水嫩水嫩| 成人爱爱电影网址| 亚洲国产精品久久久男人的天堂| 色综合天天综合网国产成人综合天 | 久久久综合视频| 天天射综合影视| 久久久久久电影| 欧美精品一区二区三区在线| 欧美一区日韩一区| 日韩欧美一区二区不卡| 欧美丰满少妇xxxxx高潮对白| 91电影在线观看| 欧美一区二区福利视频| 日韩女优av电影| 亚洲自拍偷拍欧美| 欧美性猛交xxxx黑人交 | 精品va天堂亚洲国产| 本田岬高潮一区二区三区| 在线视频国内自拍亚洲视频| 欧美精品亚洲二区| 国产视频一区在线观看| 亚洲女子a中天字幕| 全国精品久久少妇| 国产激情视频一区二区在线观看| 粉嫩av一区二区三区在线播放 | 韩国女主播一区| www.亚洲激情.com| 欧美日韩在线直播| 精品福利视频一区二区三区| 亚洲国产激情av| 青娱乐精品视频| 波多野结衣在线一区| 欧美性色综合网| 亚洲精品一区二区三区99| 亚洲免费看黄网站| 国产在线精品一区二区三区不卡| 成人动漫一区二区在线| 欧美日韩国产在线观看| 亚洲婷婷综合色高清在线| 国内精品视频666| 在线成人av网站| 天天操天天色综合| 欧美另类一区二区三区| 亚洲va欧美va国产va天堂影院| 91视频免费观看| 亚洲欧美一区二区久久| 老司机精品视频在线| 色先锋aa成人| 国产亚洲欧美日韩在线一区| 亚洲国产综合在线| 国产成人精品免费| 欧美乱妇23p| 中文字幕一区av| 亚洲成人资源在线| 91久久人澡人人添人人爽欧美| 精品国精品国产| 老司机精品视频线观看86 | 日韩欧美国产成人一区二区| 中文字幕中文字幕一区| 激情综合色播五月| 欧美天堂亚洲电影院在线播放| 欧美日本精品一区二区三区| 国产精品国产三级国产普通话99| 美国一区二区三区在线播放| 欧美色国产精品| 中文字幕亚洲一区二区av在线 | 国产丝袜在线精品| 久久成人免费日本黄色| 欧美一区二区三区视频免费播放| 亚洲一区二区三区三| 91在线视频播放地址|