使用VC++输出调幅波的数值和波形
生活随笔
收集整理的这篇文章主要介绍了
使用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++输出调幅波的数值和波形的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: VC++ 实现自定义消息
- 下一篇: VC++更改鼠标指针为系统预定义形状和自