接此;
使用VC++输出调幅波的数值和波形_bcbobo21cn的博客-CSDN博客
前面是基本的调幅;下面来看一下基本的调频;
调频就是使载波的频率随调制信号的频率改变;载波是一个等幅的高频振荡;调制信号就是要传递的信息,外形一般是幅度不等的杂波,示意的话也可以用正弦波;
调频的表达式如下;这是时域,就是横轴是时间,纵轴是幅度;
载波的频率是Wc;调频之后,调制信号的变化加到了载波的频率上;Ω 是调制信号的频率;
前文的信号表达式是,s=(1+0.5*cos(2*pi*100*t))*cos(2*pi*1000*t);
cos(2*pi*1000*t),这是载波,这是高频的;
cos(2*pi*100*t),这是调制信号,这是低频的;0.5是幅度,1算是系数;
先单独输出载波看一下,如下图;

然后把调制信号的变化加到载波的频率上,为了好看把载波的幅度乘2;
void CFmtestView::OnDraw(CDC* pDC)
{CFmtestDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;int r=0;double s,t,t2;int i; //循环变量POINT pt;for (i=0; i<10000; i++){t=i/10000.0;t2 = 0.5*cos(2*pi*100*t);s=2*cos((2*pi*1000*t2)*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;}
}
运行如下;有一些效果;看上去还没完全对;有时间给它整好;
