⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 调制解调.txt

📁 信号系统常用程序.卷积/傅立叶级数/频谱分析/调制解调等
💻 TXT
字号:

#include <graphics.h>
#include <conio.h>
#include <math.h>
#include "stdio.h"
#define E 30
#define N 320
#define PI 3.1415926

void backgd()
{
	setfillstyle(1,1);
	bar(0,0,getmaxx()/2,getmaxy()/2);
	setfillstyle(1,2);
	bar(getmaxx()/2,0,getmaxx(),getmaxy()/2);
	setfillstyle(1,3);
	bar(0,getmaxy()/2,getmaxx()/2,getmaxy());
	setfillstyle(1,4);
	bar(getmaxx()/2,getmaxy()/2,getmaxx(),getmaxy());
	setcolor(14);
	line(0,getmaxy()/2,getmaxx(),getmaxy()/2);
	line(getmaxx()/2,0,getmaxx()/2,getmaxy());
	line(0,getmaxy()/4,getmaxx(),getmaxy()/4);
	line(0,getmaxy()*3/4,getmaxx(),getmaxy()*3/4);
}

main()
{
	int i;
	double x[N],y[N],y1[N],z[N],j[N],jj[N];
	double dl;
	double u=1;
	double point;
	double zl=0;

	int gmode;
	int gdriver=DETECT;

	initgraph(&gdriver,&gmode,"\\tc\\bin");

	backgd();

	dl=(4*PI)/getmaxx();
	
	for(i=0;i<320;i++)
	{
		y[i]=0;
		y1[i]=0;
		z[i]=0;
		j[i]=0;
	}

	for(i=0;i<320;i++)
	{
		x[i]=i;
		y[i]=cos(i*dl);
		y1[i]=cos(20*i*dl);
		z[i]=(3+y[i])*y1[i];

	}

	moveto(x[0],getmaxy()/4-E*y[0]);
	for(i=1;i<N;i++)
	{
		lineto(x[i],getmaxy()/4-E*y[i]);
	}
	getch();

	moveto(x[0]+320,getmaxy()/4-E*y1[0]);
	for(i=1;i<N;i++)
		lineto(320+x[i],getmaxy()/4-E*y1[i]);
	getch();
	
	setfillstyle(1,2);
	bar(getmaxx()/2+1,0,getmaxx(),getmaxy()/2-1);
	line(getmaxx()/2,getmaxy()/4,getmaxx(),getmaxy()/4);
	moveto(x[0]+320,getmaxy()/4-E*(y[0]+3));
	for(i=0;i<320;i++)
		lineto(320+x[i],getmaxy()/4-E*(y[i]+3));
	getch();

	moveto(x[0]+320,getmaxy()/4-E*z[0]);
	for(i=1;i<N;i++)
	{
		lineto(x[i]+320,getmaxy()/4-E*z[i]);
	}
	j[0]=3.8;

	for(i=0;i<N-1;i++)
	{
		point=j[u]*(exp(-(dl*(i-u)/1.5)));
		if(point>=z[i]-0.2)
			j[i+1]=point;
		else
		{
			j[i+1]=z[i]-0.2;
			u=i;
		}
	}

	moveto(x[0]+320,getmaxy()*3/4-E*j[0]);
	for(i=1;i<N;i++)
	{
		lineto(x[i]+320,getmaxy()*3/4-E*j[i]);
	}

	getch();
		
	for(i=0;i<320;i++)
	{
		zl=zl+j[i];
	}
	zl=zl/320;
	
	for(i=0;i<320;i++)
	{
		jj[i]=j[i]-zl;
	}

	
	moveto(x[0],getmaxy()*3/4-E*jj[0]);
	for(i=1;i<N;i++)
	{
		lineto(x[i],getmaxy()*3/4-E*jj[i]);
	}

	
	moveto(x[0],getmaxy()*3/4-E*y[0]);
	for(i=1;i<N;i++)
	{
		lineto(x[i],getmaxy()*3/4-E*y[i]);
	}

	getch();

	closegraph();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -