📄 multipath_channel_v.m
字号:
function [OutData,Fading_Weight]=Multipath_Channel_V(InData,LengthOfBurst,NumOfTaps,Path_Delay,Path_Average_Amp,NumOfAntennas);
%%-------------------------------------------------------------------------
%% Function discription:
%%-------------------------------------------------------------------------
%% This module is used to generate the Rayleigh multiplied coeffecients for each channel
%% The main channel characteristics are included such as multipath,amplitude , phase and
%% delay. Due to ignoring the doppler frequency offset, the amplitude of data in a frame
%% is not changed. The coeffecients are updataed each frame.
%%-------------------------------------------------------------------------
%% Created by Kan Zheng Version: 1.0 2002-11-23
%% Modified by Kan Zheng Version: 1.1 2002-11-26
%% Use the parameter "Path_Average_Amp" instead of "Path_Average_Power"
%%-------------------------------------------------------------------------
%%-------------------------------------------------------------------------
%%-------------------------------------------------------------------------
%% Reference:
%%-------------------------------------------------------------------------
%% Ove Edfors,Magnus Sandell,Jan-Jaap van de Beek, Sarah Kate Wilson and Per Ola B¨ orjesson,
%% "OFDM channel estimation by singular Value Decomposition",
%% IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 46, NO. 7, pp. 931-939, JULY 1998
%%-------------------------------------------------------------------------
%% Note:
%%-------------------------------------------------------------------------
%%
%%
%%-------------------------------------------------------------------------
%% Input:
%%-------------------------------------------------------------------------
%% InData: the Tx signal
%% LengthOfBurst: the length of one processing period depend on not only
%% frame length but only oversamping rate
%% NumOfTaps:Length of channel impulse response
%% Path_Delay: Channel taps' delay
%% Path_Average_Power:Channel taps'average power
%% NumOfAntennas: Number of transmission antennas
%%-------------------------------------------------------------------------
%%-------------------------------------------------------------------------
%% Output:
%% OutData: the siganl which has passed through the multipath channel
%% Fading_Weight: Channel Impulse Response
%%-------------------------------------------------------------------------
Path_Length = length(Path_Delay);
Max_Delay=4;
for ant=1:NumOfAntennas,
%% Generate fading weight
Init_Fading_Weight= (randn(1,NumOfTaps) + j * randn(1,NumOfTaps)) .* Path_Average_Amp/ sqrt(2);
%% Re-sorted according to the path delay
Fading_Weight(ant,:) = zeros(1,Max_Delay);
for Path_N=1:Path_Length
Fading_Weight(ant,Path_Delay(Path_N)+1) = Init_Fading_Weight(Path_N);
end
% get the output data of each independent channel
Output_Each_Channel=conv(InData,Fading_Weight(ant,:));
%Truc
Truc_Output_Each_Channel=Output_Each_Channel(1:LengthOfBurst);
%% Generate the output at the nth antenna
OutData(ant,:)=Truc_Output_Each_Channel;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -