2
$\begingroup$

I'm trying to implement a multipath ricean channel model. I had found several resources but I'm kind of lost with too much information. What I have from now is the following step:

1- Generate the signal without noise/channel
2- convolve with the channel response 
3- add white gaussian noise

My problem is how to generate the channel response? As far as I understand I have to generate a ricean distributed filter with ntaps, where each tap represent one path.

The transmitted data is a series of OFDM symbols for a BERxSNR plot.

The channel model is Ricean with multipath and doppler shift. From my references I have all the parameters but I didn't understand how to transform this into an algorithm.

update

def generate_rician(self,K,data):
    self.__rician_mu  = sqrt(K/(K+1))
    self.__rician_s   = sqrt(1/(2*(K+1)))
    self.__rician_chn = self.__rician_s*(random.standard_normal((data_size,)) + random.standard_normal((data_size,))*1j) + self.__rician_mu
    return self.__rician_chn*data + wgn

Where wgn is the white gaussian noise, omitted here. I have to improve this code adding doppler spread and multipath

[edited] The above code try to reflect the following equations: $$ C = \sqrt{\frac{1}{2*(K+1)}}*(X+j*Y) + \sqrt{\frac{K}{K+1}}$$

$$ R = TxC + N $$

Where $T$ is the transmited signal(QPSK-OFDM), $N$ is the white gaussian noise, $X$ and $Y$ are two pseudo random variables with normal distrubution. $K$ is the ricean factor.

As a reference the equation used as theoretical reference is:

$$ Pb = \frac{1}{2} {\rm erfc} \left (\sqrt{\frac{K*EbN0}{K + EbN0}} \right) $$

An output of my system simulation:

Rician fading simulation

As you can see my results are divergent from the theoretical. The simulation was done using scipy fftpack and the code above.

In green you see the theoretical AWGN BER curve, in blue theoretical rician fadin K=5 and in red the results from my simulated system.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.