欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

使用VC++输出调幅波的数值和波形

发布时间:2025/4/14 c/c++ 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 使用VC++输出调幅波的数值和波形 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

幅度调制,调幅,就是使载波的振幅按照所需传送信号的变化规律而变化,但频率保持不变的调制方法。

其示意如下;

VC6;Win7;新建一个单文档项目,添加滚动条;添加滚动条见 https://blog.csdn.net/bcbobo21cn/article/details/112167653

现在设:采样率为10000,调制信号频率为100Hz,载波信号频率为1000Hz;

               调制信号是要传送的信号,载波是搭载有用信号的波形;载波就是上面等幅的这个,载波一般是高频的;

代码如下;其他VC生成的代码不用管;

void CAmView::OnDraw(CDC* pDC) {CAmDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;int r=0;double s,t;int i; //循环变量POINT pt;for (i=0; i<10000; i++){t=i/10000.0;s=(1+0.5*cos(2*pi*100*t))*cos(2*pi*1000*t);//信号的表达式//printf("%e\t%e\n",t,s);str1.Format("%f\t %f\n",t,s);pDC->TextOut(10,10+r*20,str1);pt.x=300+t*10000;pt.y=200+s*30;pDC->LineTo(pt);pDC->MoveTo(pt);r=r+1;}}void CAmView::OnInitialUpdate() {CScrollView::OnInitialUpdate();CSize sizeTotal;// TODO: calculate the total size of this viewsizeTotal.cx = sizeTotal.cy = 500;SetScrollSizes(MM_TEXT, sizeTotal); }

    程序还不完善,一个是输出double型数值时后面多了个l;一个是画线时,第一个点从(0,0)连过来了;有时间再改;

另外还要在视类cpp文件的头部包含<math.h>, #define pi,

 

总结

以上是生活随笔为你收集整理的使用VC++输出调幅波的数值和波形的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。