Sorry for the long question, but I'm struggling to implement something related to this question. Your help would be appreciated.
Background
Notation: In the sequel, the uppercase letters represent frequency domain vectors, while lowercase represent time-domain.
Suppose I have two $N$-length hermitian symmetric DFT vectors $\mathbf{X}$ and $\mathbf{H}$, one representing a symbol and the other a channel through which the symbol goes. Thus, the received symbol in the time domain could be expressed as:
\begin{align} \mathbf{y} = \mathbf{h} * \mathbf{x} \end{align} where $\mathbf{h}$ is the channel impulse response, $\mathbf{x}$ is the IDFT of $\mathbf{X}$ and "$*$" denotes the circular convolution.
This result could also be obtained by:
\begin{align} \mathbf{y} = \tilde{H} \mathbf{x} \end{align} where $\tilde{H}$ is the circulant matrix.
Now, considering only the positive frequencies from both $\mathbf{X}$ and $\mathbf{H}$, that is, $\mathbf{X_+} = \{\mathbf{X(1), X(2), \cdots, X(N/2+1)}\}$ and $\mathbf{H_+} = \{\mathbf{H(1), H(2), \cdots, H(N/2+1)}\}$, it is possible to obtain $\mathbf{y_+}$:
\begin{align} \mathbf{y_+} = \mathbf{h_+} * \mathbf{x_+} \end{align} where $\mathbf{x_+}$ is the IDFT of $\mathbf{X_+}$ and $\mathbf{h_+}$ the IDFT of $\mathbf{H_+}$, both having size $(N/2 + 1)$.
Then, $\mathbf{y}$ could be perfectly reconstruced from $\mathbf{y_+}$, since its IDFT:
\begin{align} \mathbf{Y}_+ = \mathbf{H_+}\cdot\mathbf{X_+} \end{align}
The $\mathbf{y_+}$ vector can also be obtained by making a circulant matrix with the IDFT of $\mathbf{H_+}$, which is a complex vector (because $\mathbf{H_+}$ does not have hermitian symmetry), and multiplying the new circulant matrix by the IDFT of $\mathbf{X_+}$, which is also complex.
Goal:
The ideal received symbol $\mathbf{y}$ is of my interest. However, I also need to know the intersymbol interference occurring when $\mathbf{x}$ is linearly convolved (not circularly) with the channel. I want to know this using $\mathbf{x_+}$ and $\mathbf{h_+}$, since I want to pre-equalize the symbols and using $(N/2 +1)$ vectors requires less operations.
Question
Using the IDFT of the positive frequencies from the original hermitian symmetric DFT vectors as the actual transmit symbols, how could the result of a linear convolution be recovered perfectly? The circular convolution is perfectly recovered.
I currently think it is not possible, because the interference will be different.
Sample code
The circular convolution is perfectly recovered:
N=8;
x = rand(N,1); % Time-domain random symbol
h = rand(N,1); % Time-domain random channel
X = fft(x); % Symbol FFT
H = fft(h); % Channel FFT
Y = H.*X; % Ideal Received Symbol (Ideal because of circular convolution)
% Time-domain complex vectors from positive frequencies
x_plus = ifft(X(1:(N/2 +1)));
h_plus = ifft(H(1:(N/2 +1)));
% Time-domain complex received symbol
y_plus = cconv(x_plus,h_plus,(N/2 +1));
Y_plus = fft(y_plus); % FFT of the complex received yields positive freqs.
% Comparison
[Y_plus; flipud(conj(Y_plus(2:end-1)))]
% Should be equal to:
Y
It doesn't work for linear convolution:
N=8;
x = rand(N,1); % Time-domain random symbol
h = rand(N,1); % Time-domain random channel
X = fft(x); % Symbol FFT
H = fft(h); % Channel FFT
y = conv(h,x); % Linear convolution
y = y(1:N); % Remove convolution tail
Y = fft(y); % Ideal Received Symbol (Ideal because of circular convolution)
% Time-domain complex vectors from positive frequencies
x_plus = ifft(X(1:(N/2 +1)));
h_plus = ifft(H(1:(N/2 +1)));
% Time-domain complex received symbol
y_plus = conv(x_plus,h_plus); % Linear convolution
y_plus = y_plus(1:(N/2+1)); % Remove convolution tail
Y_plus = fft(y_plus); % FFT of the complex received yields positive freqs.
% Comparison
[Y_plus; flipud(conj(Y_plus(2:end-1)))]
% Should be equal to:
Y