矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2763|回复: 13

打发时间,折腾点理论图像

[复制链接]
     
发表于 2022-9-29 07:33:28 | 显示全部楼层 |阅读模式
       在学习理论知识时,公式能精准的定量分析,但很抽象,图像直观容易理解。所以,很多理论知识讲述,都是公式加图像论述。
   闲暇之余,编了简单的软件,能够通过输入公式,自动绘制出图像。
      1、调制调幅波:载波为调制波的8倍,调制量30%的波形。
调幅调制波.jpg
      2、当一个正弦波加到三极管的PN结上,输出ΔIc的峰峰值为Ic的二分之一的波形图。
非线性失真1.jpg
      3、当一个正弦波加到三极管的PN结上,输出ΔIc的峰峰值为Ic的六分之一的波形图。
非线性失真2.jpg
      4、一个六分之一的三倍谐波与基波相加波形图
基波与3次谐波合成.jpg

评分

9

查看全部评分

     
发表于 2022-9-29 07:50:59 | 显示全部楼层
会编程就是好,无聊了就写一个玩儿
回复 支持 反对

使用道具 举报

发表于 2022-9-29 08:59:23 | 显示全部楼层
本帖最后由 girlexplorer 于 2022-9-29 09:38 编辑

这些图像作为教学图像很好。
参数选择很合理,图像很直观、清晰。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-9-29 14:04:08 | 显示全部楼层
girlexplorer 发表于 2022-9-29 08:59
这些图像作为教学图像很好。
参数选择很合理,图像很直观、清晰。


一个非正弦波可以由基波和很多不同振幅的谐波组成,当非正弦波遇到与其谐波的频率相同的LC调谐回路时,会把谐波分离出来。
一个正弦波由放大电路放大时,由于输入阻抗的非线性,哪怕是回路中的电容充放电,都会把正弦波变成非正弦波。就会派生出很多谐波。下图是基波加2倍谐波加3倍谐波导致的正弦波变成了一个非正弦波。
非正弦波.jpg
回复 支持 反对

使用道具 举报

     
发表于 2022-9-29 17:22:06 | 显示全部楼层
我觉得常老师可以在波形失真方面花点工夫,很有趣的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-9-30 06:05:33 | 显示全部楼层
本帖最后由 changwanren 于 2022-9-30 06:10 编辑

乘法器能实现两个正弦波相乘,根据三角函数公式:
sinα×sinβ=1/2[cos(α+β)- cos(α-β)]
  根据公式可看出。两正弦波的乘积,会派生出两频率的和与两频率的差,幅值为两频率的一半。若经过软件计算,能看到两频率的和与差吗?
   将α=5  β=4的正弦函数进行乘积运算,从波形上还真的看到了和频α+β=9与差频α-β=1,有趣的是,差频α-β=1在包络线中,此包络线跟调幅调制波不同,调幅包络线与X轴对称,采用低通滤波器无法滤出。
角频率β=4.jpg
两正弦波乘积.jpg
和差.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-9-30 06:19:12 | 显示全部楼层
longshort 发表于 2022-9-29 17:22
我觉得常老师可以在波形失真方面花点工夫,很有趣的。

    进一步折腾,应该测量实际失真波形,采用频谱仪,测出谐波幅值比,然后再按频谱中的谐波幅值比合成通过软件计算,对比波形。但实际波形谐波频谱非常多,估计软件可能运行不了,得需相当长的时间才能得出结果。
回复 支持 反对

使用道具 举报

     
发表于 2022-9-30 06:24:18 | 显示全部楼层
请教下,表达式动态编译用的是怎样代码?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-9-30 06:32:08 | 显示全部楼层
t3486784401 发表于 2022-9-30 06:24
请教下,表达式动态编译用的是怎样代码?

软件采用VB6.0,截取其中一点运算代码:
For i = CDbl(txtMinX) To CDbl(txtMaxX) Step CDbl(Me.txtBC)

'通过脚本计算器来计算出结果

    Text1 = Replace(Text1, "x", "X")

    txtGS = Replace((Text1), "X", i)

    x2 = i

    On Error Resume Next

    y2 = scr.Eval(txtGS)

    On Error GoTo 0

    If i > CDbl(txtMinX) Then

      If y2 <= CDbl(txtMaxY) And y2 >= CDbl(txtMinY) Then

        Picture1.Line (x1, y1)-(x2, y2), QBColor(Combo1.ListIndex)

      End If

    End If

    x1 = x2

    y1 = y2

Next
回复 支持 反对

使用道具 举报

     
发表于 2022-9-30 07:44:32 | 显示全部楼层
changwanren 发表于 2022-9-30 06:32
软件采用VB6.0,截取其中一点运算代码:
For i = CDbl(txtMinX) To CDbl(txtMaxX) Step CDbl(Me.txtBC)
...

感谢!原来是 VB,用 eval 的确方便
回复 支持 反对

使用道具 举报

     
发表于 2022-9-30 10:47:10 | 显示全部楼层

例如这个图,如果两个正弦波的初始相位不同,例如不同角度差,出来的图像完全不同。
回复 支持 反对

使用道具 举报

     
发表于 2022-9-30 10:59:32 | 显示全部楼层
就二维散点图,也不一定要会编程,例如excle就可以
1.png
例如上面公式,但高频波增加了45度(Pi/4=0.785),出来的图像完全不同了。
6*SIN(2*A1)+SIN(6*A1+0.785)
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-9-30 12:37:40 | 显示全部楼层
本帖最后由 changwanren 于 2022-9-30 12:43 编辑
locky_z 发表于 2022-9-30 10:47
例如这个图,如果两个正弦波的初始相位不同,例如不同角度差,出来的图像完全不同。


对的,图像是由函数解析式生成,解析式不同,图像会跟着变化。
图1.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-10-1 11:20:59 | 显示全部楼层
小信号二极管检波图像
小信号检波.jpg
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-5-2 11:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表