#include <math.h>
#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>
void sine(double f,double ph,double fs,double x[],int n)
{
double PI;
int k;
PI=4*atan(1.0);
f=2*PI*f/fs;
ph=ph*PI/180;
FILE *fp;
fp=fopen("iirsin.dat","w");
if(fp==NULL)
{
printf("Cannot open the file!\n");
exit(0);
}
for(k=0;k<n;k++)
{
x[k]=sin(k*f+ph);
fprintf(fp,"%lf\n",x[k]);
if(-1<x[k]&x[k]<0)
x[k]=2+x[k];
}
fclose(fp);
}
main()
{
int n,result,i;
double f,fs,ph;
//double (*x) ;
//x= new double[n];
//n=10;
FILE *fp1;
ph=0;
printf("Please Input N:\n");
result=scanf("%d",&n);
double (*x) ;
x= new double[n];
int (*X);
X= new int[n];
printf("Please Input f:\n");
result=scanf("%lf",&f);
printf("Please Input fs:\n");
result=scanf("%lf",&fs);
sine(f,ph,fs,x,n);
for(i=0;i<n;i++)
{
X[i]=(int)(32768*x[i]);
if(x[i]==1)
X[i]=32767;
if(x[i]==-1)
X[i]=32768;
}
fp1=fopen("IN.dat","w");
if(fp1==NULL)
{
printf("Cannot open file !");
exit(0);
}
for(i=0;i<n;i++)
{
fprintf(fp1,"%x\n",X[i]);
}
fclose(fp1);
/*fp2=fopen("in.dat","w");
if(fp2==NULL)
{
printf("Cannot open file !");
exit(0);
}
double a;
a=0;
for(i=0;i<n;i++)
{
fprintf(fp2,"%x\n%x\n",X[i],a);
}
fclose(fp2);*/
delete[] x;
delete[] X;
return 1;
}
用C++ 生成的正弦波数据文件
5星 · 超过95%的资源 需积分: 47 22 浏览量
2011-03-13
13:47:32
上传
评论 7
收藏 39KB RAR 举报
adgjlmbcz
- 粉丝: 2
- 资源: 50
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈