Ricean 多路径信道模型实现

信息处理 Python OFDM 多路径
2022-02-06 08:41:06

我正在尝试实现多路径水稻通道模型。我找到了几个资源,但我有点迷失了太多的信息。从现在开始,我所拥有的是以下步骤:

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

我的问题是如何生成通道响应?据我了解,我必须使用 ntaps 生成一个ricean 分布式过滤器,其中每个抽头代表一条路径。

传输的数据是 BERxSNR 图的一系列 OFDM 符号。

信道模型是具有多径和多普勒频移的 Ricean。根据我的参考资料,我拥有所有参数,但我不明白如何将其转换为算法。

更新

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

其中 wgn 为高斯白噪声,此处省略。我必须改进此代码,添加多普勒扩展和多路径

[编辑] 上面的代码试图反映以下方程:

C=12(K+1)(X+jY)+KK+1

R=TxC+N

其中是发射信号(QPSK-OFDM),是高斯白噪声,是两个正态分布的伪随机变量。是水稻因子。TNXYK

作为参考,用作理论参考的方程为:

Pb=12erfc(KEbN0K+EbN0)

我的系统模拟的输出:

Rician 衰落模拟

正如你所看到的,我的结果与理论不同。模拟是使用 scipy fftpack 和上面的代码完成的。

绿色是理论 AWGN BER 曲线,蓝色是理论 rician fadin K=5,红色是我模拟系统的结果。

0个回答
没有发现任何回复~