⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tx_chunk.asv

📁 关于MIMO-OFDM的matlab和simulink仿真程序或模型(有OFDM的simulink仿真模型
💻 ASV
字号:
% tx_chunk

data_length = length(data_in_pol)				%number of symbols in original input
num_carriers
num_chunks = ceil(data_length/(2*num_carriers))	%2 data on each carrier (real and imaginary)
r = rem(data_length,2*num_carriers)             %remainer of 

if r ~= 0
	for i = 1:num_carriers*2-r
		data_in_pol(data_length+i) = 0;	%pad input with zeros to complete last data set
	end							%speed improve possible
end

% break data into chunks
chunks = zeros(num_chunks,num_carriers);	% for speed
for i = 1:num_chunks
	% *********************chunk done
	for k = 1:num_carriers
		chunks(i,k) = data_in_pol(2*num_carriers*(i-1)+k) + data_in_pol(2*num_carriers*(i-1)+k+num_carriers)*j;
	end
end

chunks;%2005_05_23----------------------------------------------------
% Padding chunks with zeros so num_carriers and fft_size are compatible
% Once compatible, further spacing is simplified
num_desired_carriers = num_carriers;
num_zeros = 0;
thinking = 1;
fft_size
while thinking == 1 % Continue if num_carriers and fft_size are not compatible
	if rem(fft_size/2,num_desired_carriers) == 0
		thinking = 0;
	else
		num_desired_carriers = num_desired_carriers + 1;
		num_zeros = num_zeros + 1;
	end
end

padded_chunks = zeros(num_chunks,num_carriers + num_zeros);% for speed
padded_chunks(1:num_chunks,num_zeros + 1:num_carriers + num_zeros) = chunks;

%compute zeros_between

zeros_between = ((fft_size/2) - (num_carriers + num_zeros))/(num_carriers + num_zeros);

spaced_chunks = zeros(num_chunks,fft_size); % for speed - extra room for folding later
%add zeros_between
i = 1;
for k = zeros_between +1:zeros_between +1:fft_size/2
	spaced_chunks(1:num_chunks,k) = padded_chunks(1:num_chunks,i);
	i = i+1;
end

% folding data to produce an odd function for ifft input
for i = 1:num_chunks
	% Note: index = 1 is actually DC freq for ifft -> it does not get copied over y-axis
	spaced_chunks(i,fft_size:-1:fft_size/2+2) = conj(spaced_chunks(i,2:fft_size/2));
end
spaced_chunks;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -