- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
to_freq_channel.m
资源名称:444.zip [点击查看]
上传用户:gzcxg999
上传日期:2021-07-15
资源大小:190k
文件大小:1k
源码类别:
matlab例程
开发平台:
CHM
- function H_freq = to_freq_channel(h_time,ch ,N_subc,N_sym, N_Tx_ant, N_Rx_ant,N_tran_sym)
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % 得到频域信道响应,为自适应调制算法提供数据,也为接收机的信道估计器提供已知的频域信道响应.
- % 这两类算法,在我们的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_tran_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]中
- %H_freq = fftshift( 1/(sqrt(N_subc)) * fft( H_freq ), 1 ) ;
- H_freq = fftshift( fft( H_freq ), 1 ) ;
- % eps = 1e-9;
- % H_freq = fftshift( 1/(sqrt(N_subc)) * fft( H_freq ) ) + eps ;