使用VC++输出调频波

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VC++输出调频波相关的知识,希望对你有一定的参考价值。

接此;

使用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 here

	CString 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;
        

运行如下;有一些效果;看上去还没完全对;有时间给它整好; 

 

以上是关于使用VC++输出调频波的主要内容,如果未能解决你的问题,请参考以下文章

实验5 振幅调制(集成乘法器幅度调制电路)

[Matlab]在信号调幅过程中用方波进行调幅还是正弦波?为啥?

数字信号调制基于matlab GUI数字信号调制系统含Matlab源码 1030期

[转] 模拟调制解调电路原理

数字信号调制基于matlab GUI 2ASK+2FSK+2PSK调制解调仿真含Matlab源码 1504期

毕业设计/Matlab项目调幅AM/调频FM/DPSK/FSK的调制解调matlab界面