?? to_freq_channel.m
字號:
function H_freq = to_freq_channel(h_time,ch ,N_subc,N_sym, N_Tx_ant, N_Rx_ant,ChannelEffectTest)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 得到頻域信道響應,為自適應調制算法提供數據,也為接收機的信道估計器提供已知的頻域信道響應.
% 這兩類算法,在我們的B3G系統設計中,都是假設一幀/數據包中信道不變進行的. 因此我們只需要提供
% 第一個OFDM符號內的信道響應即可.
% 然而在頻域加信道響應時, 最好把時變也考慮進去, 所以此處還是產生了所有OFDM符號內的頻域響應.
% 時域信道響應H_freq的產生方法如下:
% 1) 按照ch.Delay_sample調整列元素的位置,并使得列長為N_subc
% 2) 矩陣第三維仍然表示不同天線對之間的信道參數, 共N_Tx_ant * N_Rx_ant個
% 3) 把列變換到頻域, 并按照頻域信道位置, 用fftshift進行重排, 得到頻移信道響應
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
H_freq = zeros(N_subc ,N_sym , N_Tx_ant * N_Rx_ant );
H_freq(ch.Delay_sample + 1,:,:) = h_time;
% 我們假設頻域的樣點是在[-fs/2 fs/2]中的, fs是采樣頻率
% fftshift目的是使得變換后的頻域樣點在[-fs/2 fs/2]中,而不是[0 2*pi]中
% 以保證頻域信道響應的零頻率點,對應OFDM的零號(中心)子載波
H_freq = fftshift( fft( H_freq ), 1 ) ;
if ChannelEffectTest == 2
H_freq = ones(size(H_freq));
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -