![]() |
NSUKit
1.4.0
板卡级统一交互接口
|
#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[]) |
| #define BLOCK 60000*CHANNEL_NUM*10 |
在文件 stream_awg.cpp 第 48 行定义.
| #define CHANNEL_NUM 6 |
在文件 stream_awg.cpp 第 47 行定义.
| #define TIME_WIDTH 10e-6 |
在文件 stream_awg.cpp 第 46 行定义.
| typedef ThreadSafeQueue<void> memQueue |
在文件 stream_awg.cpp 第 83 行定义.
| 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.cpp 第 218 行定义.
| void download_thread | ( | nsukit::BaseKit * | _kit, |
| Deque * | q, | ||
| nsuSize_t | block, | ||
| nsuSize_t | total, | ||
| std::mutex * | mu, | ||
| nsuRegAddr_t | total_DDR_depth | ||
| ) |
数据下行线程,从板卡中按粒度捞出数据,将数据推入full队列
| _kit | NSUSoc类的实例,与Soc进行数据流交互 |
| q | 循环队列 |
| block | 数据上行粒度 |
| total | 全部数据 |
| mu | 互斥锁 |
| total_DDR_depth | 总DDR深度 |
在文件 stream_awg.cpp 第 163 行定义.
| 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.cpp 第 118 行定义.
| 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.cpp 第 141 行定义.
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
在文件 stream_awg.cpp 第 284 行定义.