我正在尝试实现多路径水稻通道模型。我找到了几个资源,但我有点迷失了太多的信息。从现在开始,我所拥有的是以下步骤:
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 为高斯白噪声,此处省略。我必须改进此代码,添加多普勒扩展和多路径
[编辑] 上面的代码试图反映以下方程:
其中是发射信号(QPSK-OFDM),是高斯白噪声,和是两个正态分布的伪随机变量。是水稻因子。
作为参考,用作理论参考的方程为:
我的系统模拟的输出:
正如你所看到的,我的结果与理论不同。模拟是使用 scipy fftpack 和上面的代码完成的。
绿色是理论 AWGN BER 曲线,蓝色是理论 rician fadin K=5,红色是我模拟系统的结果。