📄 boucle_flt.cc
字号:
// boucle.cc// Pierre Bomel - LESTER/UBS - janvier 2005// Formation chez France Telecom R&D#include <systemc.h>#include "gen.h"#include "sense.h"#include "pack.h"#include "unpack.h"#include "fft_flt.h"#include "log2.h"int const points = NP;int const log2points = LOG2NP;int const sine_waves = NS;int const sampling_period_ns = 10;int const sampling_length = points * sampling_period_ns * 2;int sc_main(int argc, char * argv[]){ cout << "Points = " << points << endl; cout << "Log2p = " << log2points << endl; cout << "Waves = " << sine_waves << endl; gen<double, points, sine_waves, sampling_period_ns> GEN("gen"); sense<double, 0> SENSE0("sense0"); pack<double, points> PACK("pack"); fft_flt<points, log2points, false, false> FFT("fft"); fft_flt<points, log2points, true, false> IFFT("ifft"); unpack<double, points, sampling_period_ns> UNPACK("unpack"); sense<double, 1> SENSE1("sense1"); sc_signal<double> sreal_in, simag_in; sc_signal<double> sreal_out, simag_out; sc_signal<double> sreals_in[points], simags_in[points]; sc_signal<double> sreals_out[points], simags_out[points]; sc_signal<double> freals[points], fimags[points]; GEN.real(sreal_in); GEN.imag(simag_in); SENSE0.real(sreal_in); SENSE0.imag(simag_in); PACK.real(sreal_in); PACK.imag(simag_in); for(int i = 0; i < points; i++){ PACK.reals[i](sreals_in[i]); PACK.imags[i](simags_in[i]); FFT.sreals[i](sreals_in[i]); FFT.simags[i](simags_in[i]); FFT.freals[i](freals[i]); FFT.fimags[i](fimags[i]); IFFT.sreals[i](freals[i]); IFFT.simags[i](fimags[i]); IFFT.freals[i](sreals_out[i]); IFFT.fimags[i](simags_out[i]); UNPACK.reals[i](sreals_out[i]); UNPACK.imags[i](simags_out[i]); } UNPACK.real(sreal_out); UNPACK.imag(simag_out); SENSE1.real(sreal_out); SENSE1.imag(simag_out); sc_start(sampling_length, SC_NS); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -