NSUKit 1.4.0
板卡级统一交互接口
载入中...
搜索中...
未找到
stream_awg.cpp 文件参考
#include <complex>
#include <cmath>
#include <vector>
#include <iostream>
#include <numeric>
#include <queue>
#include <thread>
#include <condition_variable>
#include "NSUKit.h"

浏览源代码.

class  ThreadSafeQueue< T >
 
struct  Deque
 

宏定义

#define TIME_WIDTH   10e-6
 
#define CHANNEL_NUM   6
 
#define BLOCK   60000*CHANNEL_NUM*10
 

类型定义

typedef ThreadSafeQueue< void > memQueue
 

函数

template<typename T >
bool generate_signal_iq (float timeWidth, uint32_t freq, uint32_t fs, T *buffer)
 
template<typename T >
bool generate_signal_iq_reverse (float timeWidth, uint32_t freq, uint32_t fs, T *buffer)
 
void download_thread (nsukit::BaseKit *_kit, Deque *q, nsuSize_t block, nsuSize_t total, std::mutex *mu, nsuRegAddr_t total_DDR_depth)
 
void data_generate (nsukit::BaseKit *_kit, Deque *q, nsuSize_t block, std::mutex *mu, uint32_t total_sampling_points, uint32_t sampling_rate, uint32_t signal_frequency)
 
int main (int argc, char *argv[])
 

宏定义说明

◆ BLOCK

#define BLOCK   60000*CHANNEL_NUM*10

在文件 stream_awg.cpp48 行定义.

◆ CHANNEL_NUM

#define CHANNEL_NUM   6

在文件 stream_awg.cpp47 行定义.

◆ TIME_WIDTH

#define TIME_WIDTH   10e-6

在文件 stream_awg.cpp46 行定义.

类型定义说明

◆ memQueue

typedef ThreadSafeQueue<void> memQueue

在文件 stream_awg.cpp83 行定义.

函数说明

◆ data_generate()

void data_generate ( nsukit::BaseKit _kit,
Deque q,
nsuSize_t  block,
std::mutex *  mu,
uint32_t  total_sampling_points,
uint32_t  sampling_rate,
uint32_t  signal_frequency 
)

数据生成

参数
_kit
q
block
mu
total_sampling_points总采样点数
sampling_rate采样频率
signal_frequency信号频率

在文件 stream_awg.cpp218 行定义.

◆ download_thread()

void download_thread ( nsukit::BaseKit _kit,
Deque q,
nsuSize_t  block,
nsuSize_t  total,
std::mutex *  mu,
nsuRegAddr_t  total_DDR_depth 
)

数据下行线程,从板卡中按粒度捞出数据,将数据推入full队列

参数
_kitNSUSoc类的实例,与Soc进行数据流交互
q循环队列
block数据上行粒度
total全部数据
mu互斥锁
total_DDR_depth总DDR深度

在文件 stream_awg.cpp163 行定义.

◆ generate_signal_iq()

template<typename T >
bool generate_signal_iq ( float  timeWidth,
uint32_t  freq,
uint32_t  fs,
T *  buffer 
)

iq I in high digits, Q in low digits

模板参数
T
参数
timeWidth信号时宽
freq信号频率
fs采样率
buffer缓存
返回

在文件 stream_awg.cpp118 行定义.

◆ generate_signal_iq_reverse()

template<typename T >
bool generate_signal_iq_reverse ( float  timeWidth,
uint32_t  freq,
uint32_t  fs,
T *  buffer 
)

reverse iq I in low digits, Q in high digits

模板参数
T
参数
timeWidth信号时宽
freq信号频率
fs采样率
buffer缓存
返回

在文件 stream_awg.cpp141 行定义.

◆ main()

int main ( int  argc,
char *  argv[] 
)

在文件 stream_awg.cpp284 行定义.