我试图找到两个矩形脉冲的卷积。在

没有错误被抛出-我得到了一个适当形状的波形输出-然而,我的答案的大小似乎太大了,我也不确定如何将正确的x/时间轴与这个卷积相匹配。在

此外,卷积的大小似乎取决于两个脉冲中的采样数(基本上是采样频率)——这是不正确的。在

当我试图建立一个连续时间信号的模型,而不是离散的,我设置了非常高的采样频率。在

很明显,我做错了什么事——但这是什么,我该如何改正呢?

非常感谢-如果有些代码不是很“pythonic”(最近的Java转换),请道歉!在

编辑:当我试图用手来评估这一点时,我发现时间轴太小了,只有2倍;同样,我不知道为什么会这样import numpy as np

import matplotlib.pyplot as plt

from sympy.functions.special import delta_functions as dlta

def stepFunction(t): #create pulses below from step-functions

retval = 0

if t == 0:

retval = 1

else:

retval = dlta.Heaviside(t)

return retval

def hT (t=0, start=0, dur=8, samples=1000):

time = np.linspace(start, start + dur, samples, True)

data = np.zeros(len(time))

hTArray = np.column_stack((time, data))

for row in range(len(hTArray)):

hTArray[row][1] = 2 * (stepFunction(hTArray[row][0] - 4) - stepFunction(hTArray[row][0] - 6))

return hTArray

def xT (t=0, start=0, dur=8, samples=1000):

time = np.linspace(start, start + dur, samples, True)

data = np.zeros(len(time))

hTArray = np.column_stack((time, data))

for row in range(len(hTArray)):

hTArray[row][1] = (stepFunction(hTArray[row][0]) - stepFunction(hTArray[row][0] - 4))

return hTArray

hTArray = hT() #populate two arrays with functions

xTArray = xT()

resCon = np.convolve(hTArray[:, 1], xTArray[:, 1]) #convolute signals/array data

Xaxis = np.linspace(hTArray[0][0], hTArray[len(hTArray) - 1][0],

len(resCon), endpoint=True) # create time axis, with same intervals as original functions

#Plot the functions & convolution

plt.plot(hTArray[:, 0], hTArray[:, 1], label=r'$x1(t)$')

plt.plot(xTArray[:, 0], xTArray[:, 1], label=r'$x2(t)$')

plt.plot(Xaxis, resCon)

plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,

ncol=2, mode="expand", borderaxespad=0.)

ax = plt.gca()

ax.grid(True)

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.spines['bottom'].set_position(('data', 0))

ax.yaxis.set_ticks_position('left')

ax.spines['left'].set_position(('data', 0))

plt.show()

两个相同矩形脉冲卷积_两个矩形脉冲的卷积相关推荐

  1. 两个圆公切线求法_两圆的公切线教案

    两圆的公切线教案 第一课时 两圆的公切线(一) 教学目标: (1)理解两圆相切长等有关概念,掌握两圆外公切线长的求法: (2)培养学生的归纳.总结能力: (3)通过两圆外公切线长的求法向学生渗透&qu ...

  2. 两个相同矩形脉冲卷积_两个相同的矩形脉冲的卷积是三角形脉冲,这是怎么计算得到的?...

    第一步: 第二步: 第三步: 高压脉冲发生器可调宽毫微秒组合高压脉冲发生器: 实用新型涉及一种毫微秒脉冲发生器,可用作超声波发生器震源.为改善余波及适应不同频率换能器而设计. 由中央控制.脉冲形成及电 ...

  3. 比较两个表格的不同_两表数据的核对,WPS表格似乎更加方便容易

    在EXCEL中的两个表格的数据对比,可能使用的方法会采用到查询语句,VBA之类的.显得在使用的过程显得有些复杂.在不经间发现WPS表格的功能处理此类的问题显得就比较的简单的多. 查看并标识出分数相同的 ...

  4. java两个长度不同数组_两组数组,长度不一样,如果其中一个数组的值在另一个中不存在,则不符合要求.怎么算?...

    思路一 先找到最长的数组,然后循环短的数组并判断元素是否在长数组中 public class Main { public static void main(String[] args) throws ...

  5. matlab两张图片合成一张_两张图片合成一幅画意作品的简单方法

    在<教你制作一幅画意摄影作品>的文章中,介绍了Snapseed(指划修图)和ToolWiz Photos(理理相册)两个App中用手机或平板制作画意摄影作品的基本方法,现在再来进一步试试用 ...

  6. 两个网段共享打印机_两个网段打印机共享

    方案 1 1 .把第二个路由器( 192.168.1.1 )设置成交换机,此路由下的电脑就可以和你 192.168.0.1 路由在同一个网络里了.同样可以共享第一个路由下的打印机了. 操作方法: 登陆 ...

  7. 一张图片放两个二维码_两个方法教你找到一张图片的高清版

    有时候,看到一张图片,很想要找到它的出处,或者是自己很喜欢,想要保存下来,可惜图片尺寸太小,不适合收藏,怎么办呢?喵叔有两个小办法~ 第三方网站无损放大 推荐一个网站 bigjpg.com 可以在线无 ...

  8. 两个摄像头合成一路_两个摄像头怎样用一个显示屏

    下载驱动精灵进行设置即可. 检查线路连接正常后,我们进入我的电脑设备管理器中查看电脑是否检测到USB视频设备.以下是摄像头已经被电脑识别在设备管理器中显示的截图: 设备管理中有USB摄像头设备 以上是 ...

  9. 两个苹果手机共享步数_两个苹果手机同一个id数据是否共享?

    展开全部 你好,完全可以62616964757a686964616fe58685e5aeb931333363396463的.一个apple id账号可以同时登陆在五台设备上呢. 不过需要注意的是,如果 ...

最新文章

  1. [IE]微软发布IE9预览版- 建议Web开发者开始研究SVG
  2. 恒驰机器人_机器人如何造恒驰?探秘最牛汽车生产基地
  3. matlab图像处理函数大全
  4. Silverlight C# 游戏开发:面向对象在游戏中的实例(一)
  5. vue slot的使用
  6. 依赖注入原理 php,PHP依赖注入原理与用法分析
  7. linux apache目录权限配置,Linux系统架构-----Apache的用户访问权限的设置
  8. 深入理解OAuth2.0协议
  9. Vue 3.0 Beta
  10. 博文视点大讲堂第45期——我们应该向魔兽世界学习什么 圆满结束
  11. centos7安装lnmp
  12. java 邮箱模板_Java:Spring同时集成JPA与Mybatis
  13. 研究下抓站开源项目simplecd的源代码吧
  14. [Matlab] norm函数用法(用于RMSE和R2)
  15. 隐藏窗口的任务栏图标
  16. linux下查看U盘文件
  17. cad卸载不干净_【实用】流氓软件卸载不干净?
  18. Mybatis-Plus根据时间段去查询数据
  19. python版局域网端口扫描
  20. vue使用echarts图表小结

热门文章

  1. RichEdit控件的使用(未完)
  2. linux虚拟arm环境环境,Ubuntu 模拟ARM开发环境
  3. 随想录(高质量代码开发)
  4. c语言中转义字符 0,【填空题】在C语言中,用“\\”开头的字符序列称为转义字符, 转义字符‘\\n’的功能是_____; 转义字符‘\\0’的功能是_____;...
  5. java修改请求url_spring cloud zuul修改请求url的方法
  6. 0 1背包问题 java_0-1背包问题,java的动态规划如题,代码如下public
  7. Tensorflow的快速安装(张量图例)
  8. mysql 使用update 1064错误的原因和解决方法
  9. 如何使用scss/sass
  10. Java 线程详解(一)线程的基础