码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C# 画参数可调调幅波


    参阅此,

    使用VC++输出调幅波的数值和波形_c++如何显示下位机传输过来的频谱信号 csdn_bcbobo21cn的博客-CSDN博客

    用winform做一下;

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. namespace amtest
    11. {
    12. public partial class Form1 : Form
    13. {
    14. private double pi = 3.14159;
    15. int tzh = 100;
    16. int zbh = 1000;
    17. public Form1()
    18. {
    19. InitializeComponent();
    20. }
    21. private void button1_Click(object sender, EventArgs e)
    22. {
    23. //Graphics g = pictureBox1.CreateGraphics();
    24. //g.Clear(this.BackColor);
    25. tzh = Convert.ToInt32(textBox2.Text);
    26. zbh = Convert.ToInt32(textBox3.Text);
    27. pictureBox1.Invalidate();
    28. }
    29. private void pictureBox1_Paint(object sender, PaintEventArgs e)
    30. {
    31. Graphics g = e.Graphics;
    32. Pen p1 = new Pen(Color.Blue, 1);
    33. int r = 0;
    34. double s, t;
    35. int i; //循环变量
    36. Point ptstart = new Point(0, 0);
    37. Point pt = new Point();
    38. for (i = 0; i < 10000; i++)
    39. {
    40. t = i / 10000.0;
    41. s = (1 + 0.5 * Math.Cos(2 * pi * tzh * t)) * Math.Cos(2 * pi * zbh * t);//信号的表达式
    42. pt.X = (int)(t * 10000);
    43. //pt.X = (int)t;
    44. pt.Y = 200 + (int)s * 60;
    45. g.DrawLine(p1, ptstart, pt);
    46. ptstart = pt;
    47. r = r + 1;
    48. }
    49. }
    50. }
    51. }

    2个代码是一样的;只是C#的参数可调;

     

     

     

    画了几个看上去不太像调幅波;

    s = (1 + 0.5 * Math.Cos(2 * pi * tzh * t)) * Math.Cos(2 * pi * zbh * t);//信号的表达式

    这是调幅波的表达式;当前是假定载波为余弦,调制信号也是余弦;tzh是调制信号频率,zbh是载波频率,单位Hz;算出来的s是调制后的信号幅度;zbh必须高于tzh;

    pt.X = (int)(t * 10000);

    横坐标是用t来算的; t * 10000,然后把结果转换为整型;如果写 pt.X = (int)t * 10000 将会出现错误,因为t非常小,先把t转为整型总是0,再乘以10000结果总是0;

    有时间再细看;

  • 相关阅读:
    B. Reverse Binary Strings
    信息化发展73
    Guli商城-商品服务-API-三级分类-配置网关路由与路径重写
    深入解析MySQL数据库存储数据的方式(上)
    如何使用VSCode将iPad Pro转化为功能强大的开发工具?
    JUC——AQS原理分析
    优先级反转那些事儿
    c++23中的新功能之十八新增的属性
    Python学习笔记--类的访问控制
    sql serve数据库基础入门(2)
  • 原文地址:https://blog.csdn.net/bcbobo21cn/article/details/133513332
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号