def add_hermitian_half(m_data, data_type='mag'):
if (data_type == 'mag') or (data_type == 'magnitude'):
m_data = np.hstack((m_data , np.fliplr(m_data[:,1:-1])))
elif data_type == 'phase':
m_data[:,0] = 0
m_data[:,-1] = 0
m_data = np.hstack((m_data , -np.fliplr(m_data[:,1:-1])))
elif data_type == 'zeros':
nfrms, nFFThalf = m_data.shape
m_data = np.hstack((m_data , np.zeros((nfrms,nFFThalf-2))))
elif data_type == 'complex':
m_data_real = add_hermitian_half(m_data.real)
m_data_imag = add_hermitian_half(m_data.imag, data_type='phase')
m_data = m_data_real + m_data_imag * 1j
return m_data
# Remove hermitian half of fft-based data:-------------------------------------
# Works for either even or odd fft lenghts.
评论列表
文章目录