下面是一个用Python编写的圆周卷积时域演示系统代码:

import numpy as np
import matplotlib.pyplot as plt

def circular_convolution(x, h):
    N = len(x)
    y = np.zeros(N)
    
    for n in range(N):
        for k in range(N):
            y[n] += x[k] * h[(n-k) % N]
    
    return y

# 输入信号
x = np.array([1, 2, 3, 4])
# 冲激响应
h = np.array([1, 1, 1, 1])

# 进行圆周卷积
y = circular_convolution(x, h)

# 绘制输入信号、冲激响应和输出信号
plt.subplot(3, 1, 1)
plt.stem(x)
plt.title('Input Signal')
plt.xlabel('n')
plt.ylabel('x[n]')

plt.subplot(3, 1, 2)
plt.stem(h)
plt.title('Impulse Response')
plt.xlabel('n')
plt.ylabel('h[n]')

plt.subplot(3, 1, 3)
plt.stem(y)
plt.title('Output Signal')
plt.xlabel('n')
plt.ylabel('y[n]')

plt.tight_layout()
plt.show()

该代码实现了一个圆周卷积时域演示系统。首先定义了一个函数circular_convolution,该函数用于计算圆周卷积。然后,定义了输入信号x和冲激响应h。接下来,调用circular_convolution函数计算输出信号y。最后,使用Matplotlib库绘制输入信号、冲激响应和输出信号的图形。运行代码后,将会显示出绘制的图形。

用guide做圆周卷积时域演示系统代码

原文地址: https://www.cveoy.top/t/topic/i6d4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录