// 디지털 통신 시스템 설계/실습 3주차 - DFT & IDFT
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>
using namespace std;
using std::ofstream;
void main() {
const int n = 2000+1; // number of size
const int nn = 2000;
const double dt = 0.001; // step size
const double Ts = 0.008; // sampling
const double N = nn+1; // number of sampled size;
const double pi = 3.141592;
double x[n] = {0};
double xs[nn] = {0}; // size = N
double Xkc[nn] = {0}; // size = N
double Xks[nn] = {0}; // size = N
double xnc[nn] = {0}; // size = N
double xns[nn] = {0}; // size = N
double t[n] = {0};
double Xkc1[nn] = {0}; // lobe 1
double Xks1[nn] = {0};
ofstream C;
C.open("original.txt");
for (int i=0; i<n; i++) {
if(i==0)
t[i] = -1;
else
t[i] = t[i-1]+dt;
}
for (i=0; i<n; i++) {
if((t[i]>=-0.01) && (t[i] <=0.01))
x[i] = 1;
C << x[i] << endl;
}
C.close();
/*ofstream D;
D.open("sampled.txt");
for (int j=0; j<N; j++) {
if(j==0)
t[j] = 0;
else
t[j] = t[j-1]+Ts;
xs[j] = sin(200*t[j]);
D<< xs[j] << endl;
}
D.close(); */
// DFT
ofstream A;
ofstream B;
A.open("DFTi.txt");
B.open("DFTq.txt");
Xks[0] = 0;
for (int k=0; k<N; k++) {
for (int ii=0; ii<N; ii++) {
Xkc[k] = Xkc[k]+x[ii]*cos((2*pi/N)*k*ii);
Xks[k] = Xks[k]+x[ii]*sin((2*pi/N)*k*ii);
}
A << Xkc[k] << endl;
B << Xks[k] << endl;
}
A.close();
B.close();
// IDFT
ofstream E;
ofstream F;
E.open("IDFTi.txt");
F.open("IDFTq.txt");
for (int jj=0; jj<N; jj++) {
for (int kk=0; kk<N; kk++) {
xnc[jj] = xnc[jj] + 1/N*(Xkc[kk]*cos((2*pi/N)*kk*jj));
xns[jj] = xns[jj] + 1/N*(Xks[kk]*sin((2*pi/N)*kk*jj));
}
E << xnc[jj] << endl;
F << xns[jj] << endl;
}
E.close();
F.close();
}
DFT.zip_DFT_made
版权申诉
122 浏览量
2022-07-14
13:53:46
上传
评论
收藏 3KB ZIP 举报
寒泊
- 粉丝: 77
- 资源: 1万+
最新资源
- 11111111111111111111111111111
- 京东网页html+css简单制作(素材)
- JavaScript 算法题
- 基于OpenCV实现双目视觉测距系统完整源码+全部数据.zip
- Python爬虫是一种自动从互联网上提取信息的程序 要开始使用Python进行爬虫,你需要了解以下基础知识
- JavaScript 使用技巧.md
- 一个简单的Python爬虫实例,使用requests和BeautifulSoup库爬取网页标题和链接 我们将以爬取豆瓣电影为例
- 一个python爬虫反爬机制及具体实例
- 背多分组-塔斯汀商业画布.pdf
- INTRODUCTION TO OPERATIONS RESEARCH 11th Edition
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈