gnrom128.cpp
来自「8-1024可变点数FFT/IFFT变换,VHDL语言设计, 仿真通过,可以很」· C++ 代码 · 共 73 行
CPP
73 行
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <math.h>void main(){ const numbits = 32; int i,k;
long stmp;
long scale;
FILE *sintext; FILE *costext; char quote; float pi,w; long cosdata[128]; long sindata[128]; char data[32+1];//32 bits + /0 pi = 3.141592653589; w = 2*pi*1/256; quote = '"'; scale = pow(2,numbits-1); sintext = fopen("sin128.txt","w+");
costext = fopen("cos128.txt","w+"); // generate the first half wave cosine for (i=0;i<=127;i++){ cosdata[i] = (long) ((scale-1) * cos(i*w)); };
// generate the sine half wave from the middle for (i=0;i<=127;i++){
sindata[i] = (long) ((scale-1) * sin(i*w));
};
for (i=0;i<=127;i++){ stmp = sindata[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(sintext,"\t\tROMWORD'(%c",quote); fprintf(sintext,"%s",data); fprintf(sintext,"%c),--address=%d\n",quote,i); }; fclose(sintext); for (i=0;i<=127;i++){ stmp = cosdata[i]; for (k=0;k<=numbits-1;k++){ if ((stmp & 0x0001) != 0){ data[numbits-1-k]='1'; }else{ data[numbits-1-k]='0'; }; stmp = stmp >> 1; }; data[numbits]='\0'; fprintf(costext,"\t\tROMWORD'(%c",quote); fprintf(costext,"%s",data); fprintf(costext,"%c),--address=%d\n",quote,i); }; fclose(costext);};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?