三角波

使用stm32产生三角波和正弦波

匿名 (未验证) 提交于 2019-12-03 00:18:01
与生成三角波相关的寄存器如下 MAMP1[3:0] 是用来设置通道1三角波的幅值的,如果设置为4096,那么产生的三角波就是0-3.3伏的,如果改为2047,那么产生的就是0-1.65伏的三角波,我一开始以为这个寄存器更改的只是三角波产生的精度,后来使用示波器测量后发现并不是这样。 WAVE1[1:0] 是用来设置通道1产生的波形的,可以设置为噪声波、三角波以及不生成。 TSEL1[2:0] 是用来设置通道1触发器的选择,可以使用定时器TRGO时间触发,也可以使用外部中断以及软件触发的方式,但后俩者我并没有尝试。 TEN1 是通道1触发使能, *注意* 这个必须首先置1否则波形设置以及触发器设置都是无法进行的。 //DAC通道1输出初始化 void Dac1_Init(void) { RCC->APB1ENR|=1<<29; //使能DAC时钟 RCC->AHB1ENR|=1<<0; //使能PORTA时钟 GPIO_Set(GPIOA,PIN4,GPIO_MODE_AIN,0,0,GPIO_PUPD_PU);//PA4,模拟输入,下拉 DAC->CR|=1<<2; //使能触发功能 TEN1=1 DAC->CR|=1<<1; //DAC1输出缓存不使能 BOFF1=1 DAC->CR|=4<<3; //DAC TIM2 TRGO,不过要TEN1=1才行 DAC->CR|=2<<6

自然采样法,规则采样法和不规则采样法原理与区别――基础补充

匿名 (未验证) 提交于 2019-12-02 23:36:01
自然采样法 按照SPWM控制的基本原理,在正弦波和三角波的交点时刻控制功率开关器件的通断,这种生成SPWM的方法称为自然采样法。自然采样法师最基本的采样方法,得到的SPWM波形也很接近正弦波。但此方法需要求解复杂的超越方程,采用微机控制时需花费大量的计算时间,难以实现实时控制,所以应用不多。 规则采样法SPWM 它由经过采样的正弦波(实质上是阶梯波)与三角波相交,由交点得出脉冲的宽度。这种方法只在三角波的顶点位置或底点位置对正弦波采样而形成阶梯波。此阶梯波与三角波的交点所确定的脉宽在一个采样周期(这里,Ts=Tt)内的位置是对称的,故称为对称规则采样。 如果即在三角波的顶点位置又在底点位置对正弦波进行采样,由采样值形成阶梯波,则此阶梯波与三角波的交点所确定的脉宽,在一个三角波的周期内的位置是不对称的,因此这样的方法称为不对称规则采样。这里采样周期是三角波周期的1/2, 文章来源: https://blog.csdn.net/sy243772901/article/details/89292923

numpy绘制锯齿波和三角波

﹥>﹥吖頭↗ 提交于 2019-11-28 08:55:36
锯齿波和三角波 三角波是对锯齿波取绝对值得到的 锯齿波的无穷级数展开: Code import numpy as np import matplotlib.pyplot as plt t = np.linspace(-np.pi, np.pi, 201) k = np.arange(1, 99) f = np.zeros_like(t) for i in range(len(t)): f[i] = np.sum(np.sin(2 * np.pi * k * t[i])/k) f = (-2 / np.pi) * f plt.plot(t, f, lw=1.0) plt.plot(t, np.abs(f), lw=2.0) plt.show() 来源: https://www.cnblogs.com/draven123/p/11403303.html