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

没有错误被抛出-我得到了一个适当形状的波形输出-然而,我的答案的大小似乎太大了,我也不确定如何将正确的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. 系分考试论文实例12篇
  2. OpenCV-文档扫描OCR识别-04
  3. [学习笔记] 初次见面,请多关照 (公式推导+题集)——杜教筛
  4. c语言翻译时为0运行为2,高级语言程序设计:、二章习题解答
  5. iOS-高仿通讯录之商品索引排序搜索
  6. 微课|中学生可以这样学Python(7.3.1节):私有成员与公有成员
  7. 机器学习4/100-Logistic回归
  8. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
  9. html 空间扭曲效果,3DS MAX空间扭曲工具基础教程
  10. ERROR: invalid byte sequence for encoding UTF8: 0xe5 0xb7 CONTEXT: COPY news_article, line 32973
  11. emacs+cedet解析源码定义位置
  12. 【Multisim】关于Multisim仿真“过零比较器”出现的问题以及解决方法
  13. Cisco 防火墙 SSH配置
  14. 典型相关分析CCA计算过程
  15. 如何把Word文件设置成不能编辑
  16. Java 给PDF文件添加水印
  17. 什么是Apache Isis
  18. openFeign夺命连环9问
  19. 学生管理系统(链表)
  20. 火车票二维码获取身份证号

热门文章

  1. BUFF 在C++ 中取其中一部分 并且写到固定的目录下
  2. 表单中enctype=multipart/form-data的意思
  3. js 跳转传递汉字参数
  4. linux c++编译问题和虚拟机网络通信
  5. vue 多点触控手势_移动端手势事件(多指操作)
  6. python开发每月工资_做python开发想要月薪20K不会这些怎么行?
  7. curl查看swift状态命令_微服务之——docker高级命令
  8. 台达plc读取变频器电流案例_PLC模拟量信号数据转换过程
  9. 30余种加密编码类型的密文特征分析
  10. DocumentFragment文档片段示例