卷积python代码| numpy卷积,np卷积
本页包括卷积python代码.它涵盖了numpy卷积使用np卷积python函数和卷积使用蛮力方法之间的比较。
简介:两个向量序列的卷积可以实现为两个矩阵的乘法。它用于OFDM/OFDMA波形等时域传输序列的信道损伤仿真。对于LTI(线性时不变)系统,信道脉冲响应(h[n])和输入序列(x[n])可以卷积得到输出序列(y[n])。
➨h[n]*x[n]的卷积可表示为:
Convolution Python脚本
下面的python脚本可以使用两种不同的方法来模拟卷积函数,即numpy和np。卷积函数和蛮力法。在python脚本开始时,开发人员必须根据实数或复数卷积的需要更改输入向量。
将numpy导入为np
进口matplotlib。Pyplot作为PLT
#输入为复数
#x = np.random.normal(size=3) + 1j * np.random.normal(size=3) #普通随机复向量
#h = np.random.normal(size=4) + 1j * np.random.normal(size=4) #普通随机复向量
#输入为实数
x = [20,31,56] # OFDM发射机中的时域序列
h =[10,2,5,8] #时域通道脉冲响应
L = len(x) + len(h) - 1 #卷积输出长度
#方法1:NumPy模块中的Python卷积函数
Y3 = np。卷积(h, x)
打印(“y3 = ", y3)
#方法2:使用蛮力方法进行卷积
N = len(x)
M = len(h)
y = np.zeros(L) #用零填充的数组
对于np.arange(0,N)中的i:
对于np.arange(0,M)中的j:
Y [i + j] = Y [i + j] + x[i] * h[j]
打印(“y = y)
# NumPy模块和蛮力方法的区别
Y2 = y-y3
使用行数和列数初始化subplot函数
图,轴= plt。次要情节(2,2)
#用于内置卷积
轴(0,0).plot (y3)
轴(0,0)。set_title("方法# 1:np.convolve")
为我们自己的函数
轴[0,1].plot (y)
轴[0,1]。set_title("方法# 2:暴力方法")
#两者的区别
轴(1,0).plot (y2)
轴(1,0)。set_title("两种方法的区别")
plt.show ()
实数的输入
下面是实数卷积的输入向量。
x = [20,31,56] # OFDM发射机中的时域序列
h =[10,2,5,8] #时域通道脉冲响应
h =[10,2,5,8] #时域通道脉冲响应
输出卷积的python实数代码
复杂随机数的输入
以下是用于复数的卷积python代码的输入向量。
#x = np.random.normal(size=3) + 1j * np.random.normal(size=3) #普通随机复向量
#h = np.random.normal(size=4) + 1j * np.random.normal(size=4) #普通随机复向量
#h = np.random.normal(size=4) + 1j * np.random.normal(size=4) #普通随机复向量
复数卷积的输出
在这个python代码片段中,我们已经看到了内置numpy卷积函数,即np卷积和使用蛮力方法的实数和复数卷积之间的比较。
Python中其他有用的DSP代码
相关python脚本
Python编程教程
Convolution python脚本
BPSK QPSK 16QAM 64QAM调制
16点FFT代码
OFDM发射机仿真代码
瑞利衰落信道
瑞尔斯衰落信道
ASK调制python代码
FSK调制python代码
PSK调制python代码
MATLAB代码的有用链接
OFDM前导信号的产生
时间偏差估计
频率估计
信道估计
11a WLAN信道
PN序列生成
OFDMA Tx Rx
AES DES
载波聚合
CCDF
冷杉过滤器
IIR滤波器
低通FIR
维特比译码器
CRC8 CRC32